S7-200程序控制指令及应用.ppt
文本预览下载声明
S7-200程序控制类指令及应用; 跳转指令、循环指令、子程序指令、中断指令统称为程序控制类指令。
程序控制类指令用于程序执行流程的控制。对一个扫描周期而言,跳转指令可以使程序出现跨越或跳跃以实现程序段的选择;子程序指令可调用某段子程序;循环指令可多次重复执行指定的程序段;中断指令则用于中断信号引起的子程序调用。
程序控制类指令可以影响程序执行的流向及内容,对合理安排程序的结构,提高程序功能以及实现某些技巧性运算,具有重要的意义。
;第一节 跳转指令; 左图是跳转指令在梯形图中应用的例子。Network 4中的跳转指令使程序流程跨过一些程序分支(Network5~15)跳转到标号3处继续运行。跳转指令中的“N”与标号指令中的“N”值相同。
;可以有多条跳转指令使用同一标号,但不允许一个跳转指令对应两个标号,即在同一程序中不允许存在两个相同的标号。
可以在主程序、子程序或者中断服务程序中使用跳转指令,跳转与之相应的标号必须位于同一段程序中。一般将标号指令设在相关跳转指令之后,这样可以减少程序的执行时间。
在跳转条件中引入上升沿或下降沿脉冲指令时,跳转只执行一个扫描周期,但若用特殊辅助继电器SM0.0作为跳转指令的工作条件,跳转就成为无条件跳转。;二、跳转指令的应用实例;*;第二节 循环指令;;二、循环指令的应用实例;第三节 子程序指令; 子程序是为一些特定的控制要求编制的相对独立的程序。
为了和主程序区别,S7—200规定子程序与中断子程序分区排列在主程序的后边,且当子程序或中断子程序数量多于1时,分序列编号加以区别。
如子程序中没有安排CRET指令,子程序将在子程序运行完毕后返回。
;二、子程序的执行过程及子程序的嵌套
当有一个子程序被调用时,系统会保存当前的逻辑堆栈,置栈顶值为1,堆栈的其他值为零,把控制权交给被调用的子程序。当子程序完成后,恢复逻辑堆栈,把控制权交还给调用程序。
S7-200具有子程序嵌套调用功能,嵌套可以达到8层。但在中断子程序中仅能有一次子程序调用。
;子程序举例:;子程序的嵌套举例:;第四节 中断指令;表9—5 S7—200系列CPU支持的中断(事件)源:;*;1.通讯口中断
通讯口中断含端口0及端口1接收及发送相关中断。PLC的串行通讯口可由梯形图或指令表程序来控制,这种通讯口的操作模式称为自由端口模式。在自由端口模式下,可由用户程序设置波特率、字符的位数、奇偶校验及通信协议。接收及发送中断可以简化程序对中断的控制。;2.I/O中断
I/O中断包括上升沿中断及下降沿中断、高速计数器中断和脉冲串输出中断。S7-200CPU可用输入I0.0~I0.3的上升沿或下降沿产生中断,并可用这些上升沿或下降沿信号来表示某些需要及时响应的故障状态。
;3.时基中断
时间中断包括定时中断及定时器T32/96中断,S7-200 CPU可支持2个定时中断。定时中断按周期时间反复执行。周期时间范围为5ms~255ms,增量为lms。定时中断0的周期时间应写入SMB34,定时中断1的周期时间应写入SMB35。每当定时器溢出时,定时中断事件把控制权交给相应的中断程序,通常可用定时中断以固定的时间间隔去控制模拟量输入的采样或者去执行一个PID回路。
定时器T32/96中断允许及时地响应一个给定的时间间隔。这些中断只支持1ms分辨率的延时接通定时器(TON)和延时断开定时器(TOF)T32和T96。T32和T96的工作方式与普通定时器相同。中断允许时且定时器的当前值等于预置值时,执行被连接的中断程序。
;二、中断优先级及中断队列
由于中断控制是脱离于程序的扫描执行机制的,如有多个突发事件出现时处理也必须有个秩序,这就是中断优先级。S7—200 PLC中断优先组别从大的方面按下列顺序分级:
通信(最高级);
I/O(含HSC和脉冲列输出)(中极);
定时(最低级)。
在每一级中又可分别分级。
优先级还有以下约定。
;中断事件的优先级顺序:;*;三、中断指令及中断程序
中断是计算机为应对紧急事件而设立的一种运行机制,但是并不一定在计算机的任何运行时间点上都可以允许中断的发生。对于PLC应用程序的运行来说,任何时候都响应内部及外部的所有中断称为全局开中断,任何时候都不响应各种中断称为全局禁止中断。
当PLC进入RUN状态时,自动进入全局禁止中断状态,如需在适当的时候开放全局中断时,可在用户程序中使用全局中断允许指令(ENI),反之,如需全局禁止中断时,可在应用程序中的适当位置使用全局中断禁止指令(DISI)
显示全部