您好,欢迎访问三七文档
•第5章应用指令第5章应用指令5.1程序控制类指令5.2特殊指令•第5章应用指令5.1程序控制类指令5.1.1空操作5.1.2结束及暂停5.1.3看门狗5.1.4跳转5.1.5子程序指令5.1.6程序循环5.1.7顺序控制继电器5.1.8与ENO指令返回本章首页•第5章应用指令5.1.1空操作NOP,空操作指令。使能输入有效时,执行空操作指令。空操作指令不影响用户程序的执行,操作数N是标号,是一个0~255的常数。指令格式:NOPN例:NOP30程序如下图5.1所示。LDI0.0//使能输入NOP30//空操作指令//标号为30返回本节•第5章应用指令5.1.2结束及暂停1.结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。END,条件结束指令。使能输入有效时,终止用户主程序。MEND无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。用Micro/Win32编程时,编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。指令格式:END(无操作数)•第5章应用指令2.暂停指令STOP,暂停指令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。指令的执行不考虑对特殊标志寄存器位和能流的影响。指令格式:STOP(无操作数)返回本节•第5章应用指令5.1.3看门狗WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR(无操作数)程序实例:指令STOP、END、WDR的应用如图5.2所示。•第5章应用指令LDSM5.0//检查I/O错误OSM4.3//运行时刻检查编程OI0.3//外部切换开关STOP//条件满足,由RUN//切换到STOP方式////LDI0.5//外部停止控制END//停止程序执行////LDM0.4//用触点重新触发WDR//看门狗定时器AI0.2//•图5.2停止、结束、看门狗指令返回本节•第5章应用指令5.1.4跳转1.跳转指令与跳转相关的指令有下面两条:(1)跳转指令JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。执行跳转指令时,逻辑堆栈的栈顶值总是1。(2)标号指令LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0~255的字型数据。•第5章应用指令程序实例:如右图5.3所示。用增减计数器进行计数,如果当前值小于500,则程序按原顺序执行,若当前值超过500,则跳转到从标号10开始的程序执行。返回本节•第5章应用指令LDI0.0//增计数输入端LDI0.1//减计数输入端LDI0.2//复位输入端CTUDC30,VW100//增减计数//设定脉冲数//存于VW100LDI=C30,+500//判断计数器//当前值是否//大于500JMP10//条件满足,跳转//到标号10开始//的程序段LBL10//标志程序段LDI0.3//SQ1.0,3//把从Q1.0开始的//3个输出点置1•图5.3程序跳转实例•第5章应用指令5.1.5子程序指令1.建立子程序2.子程序调用3.带参数的子程序调用•第5章应用指令1.建立子程序可用编程软件Edit菜单中的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。•第5章应用指令2.子程序调用(1)子程序调用和返回指令子程序调用子程序条件返回(2)注意事项(3)应用实例•第5章应用指令图5.4所示的程序实现用外部控制条件分别调用两个子程序。LDI0.0//使能输入CALLS2//调用子程序S2//LDI0.0//使能输入CALLSBR_1//调用子程序//SBR_1•图5.4子程序调用举例•第5章应用指令(1)子程序参数变量名变量类型数据类型(2)参数子程序调用的规则(3)变量表使用(4)程序实例3.带参数的子程序调用•第5章应用指令以上面指令为例,局部变量表分配如表5.1所示,程序段如图5.5所示。•表5.1局部变量表例•第5章应用指令LDI0.0//装入常开触点CALLSBR_0,I0.2,VB20,VD30////调用子程序SBR_0//含有3个参数://分别为布尔、字节//和双字型•图5.5带参数的子程序调用返回本节•第5章应用指令5.1.6程序循环1.循环开始2.循环结束3.程序实例•第5章应用指令LDM0.0//使能输入FORVW10,+1,+20//循环开始//与第2个NEXT//之间为一级循环体LDM0.1//使能输入FORVW20,+1,+5//循环开始//与第1个NEXT//之间为二级循环体•图5.6程序循环(1)•第5章应用指令返回本节LDI0.0//使能输入CALLSBR_0//调用子程序0//本梯级为二级//循环体的功能段NEXT//循环结束指令LDSM0.0//使能输入INCWVW100//字增指令//每执行一次一级//循环体,VW100//的值增1NEXT//循环结束指令•图5.6程序循环(2)•第5章应用指令5.1.7顺序控制继电器1.顺序继电器指令(1)定义顺序段(2)段开始(3)段结束(4)段转移2.注意事项3.顺序结构4.程序实例•第5章应用指令本例是用顺序继电器实现的顺序控制中的一个步的程序段,这一步实现的功能是使两个电机M1和M2起动运行20秒后停止,切换到下一步。程序如图5.7所示。LSCRS0.5//由S0.5控制的//顺序步的开始//LDSM0.0//装入常开触点SQ1.2,2//将Q1.2和Q1.3//置1TONT50,+200//通电延时//本步的持续时间//为20sLDT50//延时时间到//作为切换条件SCRTS0.6//步转移//切换到下一步//同时关本步//SCRE//本步结束标志返回本节•第5章应用指令5.1.8与ENO指令AENO,与ENO指令。ENO是梯形图和功能框图编程时指令盒的布尔能流输出端。如果指令盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,语句表语言中用AENO指令描述。指令格式:AENO(无操作数)•第5章应用指令LDI0.0//使能输入+IVW200,VW204//整数加法指令,VW200+VW204=VW204AENO//与ENO指令,判断整数加法指令执行是否出错ATCHINT_0,10//如果加法指令执行正确,则调用中断程序INT_0//中断事件号为10•图5.8与ENO指令•AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图5.8所示。返回本节•第5章应用指令5.2特殊指令5.2.1时钟指令5.2.2中断5.2.3通信5.2.4高速计数5.2.5高速脉冲输出5.2.6PID回路指令返回本章首页•第5章应用指令5.2.1时钟指令1.读实时时钟TODR,读实时时钟指令。当使能输入有效时,系统读当前时间和日期,并把它装入一个8字节的缓冲区。2.写实时时钟TODW,写实时时钟指令。用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日期,一个8字节的缓冲区将装入时钟。•第5章应用指令时钟缓冲区的格式如表5.2所示。•表5.2时钟缓冲区•第5章应用指令程序实例控制要求:编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时钟缓冲区从VB100开始。程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读写时钟程序如图5.9所示。•第5章应用指令LDI0.4//装入触点EU//上跳沿触发CALLSBR_0//调用子程序//子程序SBR_0//作用为写时钟LDSM0.0//运行有效TODRVB100//从VB100//读时钟值////MOVBVB104,QB0//传送指令//将分钟值//从QB0输出•图5.9读写时钟返回本节•第5章应用指令5.2.2中断1.中断源(1)中断源及种类中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有最多可达34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。•第5章应用指令(2)中断优先级中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。主机中的所有中断事件及优先级如表5.4所示。•第5章应用指令•表5.4中断事件及优先级•第5章应用指令•第5章应用指令2.中断调用即调用中断程序,使系统对特殊的内部或外部事件作出响应。系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保护现场。中断处理完成时,又自动恢复这些单元原来的状态,即恢复现场。(1)中断调用指令(2)注意事项(3)程序实例•第5章应用指令(3)程序实例控制要求:程序实现的功能是调用I0.1输入点的上升沿中断,若发现I/O错误,则禁止本中断,用外部条件可以禁止全局中断。程序实现:本程序如图5.10所示。LDI0.4//使能输入ATCHINT_1,2//中断调用//中断程序//为INT_1//事件号为2ENI//全局开中断//LDSM5.0//检查I/O错DTCH2//若I/O有错//断开本中//断连接LDI0.5//外部条件DISI//全局中断//禁止•图5.10中断调用程序•第5章应用指令3.中断程序(1)构成中断程序必须由三部分构成:中断程序标号、中断程序指令和无条件返回指令。(2)要求(3)编制方法(4)注意事项返回本节•第5章应用指令5.2.3通信通信指令包括:XMT,自由口发送指令RCV,自由口接收指令NETR,网络读指令NETW,网络写指令GPA,获取口地址指令•第5章应用指令5.2.4高速计数1.高速计数器介绍2.高速计数指令3.高速计数器的使用方法4.应用实例•第5章应用指令1.高速计数器介绍(1)数量及编号(2)中断事件类型(3)工作模式及输入点•第5章应用指令(1)数量及编号高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号。HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值。编程时,从所用的指令可以看出是位还是当前值。不同型号的PLC主机,高速计数器的数量对应如表5.7所示。•第5章应用指令(2)中断事件类型高速计数器的计数和动作可采用中断方式进行控制,与CPU的扫描周期关系不大,各种型号的PLC可用的高速计数器的中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。每个高速计数器的3种中断的优先级由高到低,不同高速计数器之间的优先级又按编号顺序由高到低。具体对应关系如表5.8所示。•第5章应用指令(3)工作模式及输入点工作模式输入端连接高速计数器的工作模式共有12种。以模式4为例,时序如图5.11所示。•第5章应用指令ABCDEFGHI时钟方向当前值012345654•图5.11模式4操作时序•第5章应用指令•选用某个高速计数器在某种工作模式下工作,高速计数器的输入端不是任意选择,必须按系统指定的输入点。如表5.9所示。•第5章应用指令2.高速计数指令高速计数器指令有两条:HDEF和HSC。(1)HDEF指令HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;MODE,工作模式,为0~1
本文标题:自动化基础教材4
链接地址:https://www.777doc.com/doc-20319 .html