广东西门子S7-1500PLC模块代理(量大从优)

西门子S7-200型PLC的暂停指令
STOP为暂停指令,见图6-251。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。

图6-251 暂停指令
STOP指令在梯形图中以线圈形式编程,指令不含操作数。STOP和END指令在程序中通常用来对突发紧急事件进行处理,可以有效避免实际生产中的重大损失。
STOP指令可以用在主程序、子程式序和中断程序中。如果在中断程序中执行STOP指令,则中断处理立即终止,并忽略所有挂起的中断,继续向前扫描程序的剩余部分。本周期结束,将主机CPU的工作方式由RUN切换到STOP方式。
指令格式:STOP(无操作数)。
结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。指令不含操作数。结束指令的执行不考虑对特殊标志寄存器位和“能流”的影响。
END为条件结束指令,见图6-250。使能输入有效时,终止用户主程序。
MEND为无条件结束指令。无条件终止用户程序的执行,返回主程序的条指令。
注意:可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用条件结束指令,使程序结束。
结束指令只能用在主程序中,不能在子程序和中断程序中使用。END指令通常用在主程序的内部,MEND用在程序的结束。
用Micro/Win32编程时,编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。指令格式:MEND(无操作数)。
图6-250 结束指令
NOP为空操作指令,见图6-248。使能输入有效时,执行空操作指令。空操作指令不影响用户程序的执行,操作数N是标号,是一个0~255的常数。
NOP指令对运算结果及程序执行无影响,但略微增加了程序容量,因而程序扫描的周期也略微延长。使用NOP指令主要是为方便对程序检查及修改。
指令格式:NOP N
例:NOP 30
程序见图6-249。
图6-248 空操作指令
图6-249 空操作指令程序
(1)整数与BCD码的转换
IBCD指令将输入的整数(IN)转换为BCD码,并将结果送入OUT指定的变量中。IN的范围是整数0~9999。
(2)四舍五入取整指令
四舍五入取整(ROUND)指令将实数(IN)转换成双字整数后送入OUT指定的变量中。如果小数部分大于等于0.5,整数部分加1,小数部分删除。
(3)段译码指令
段( Segment)译码指令SEG根据输入字节(IN)低4位确定的十六进制数(16#0~F)产生点亮7段显示器各段的代码,并送到输出字节OUT。图6-247中7段显示器的D0~D6段分别对应于输出字节的位(第0位~第6位),某段点亮时输出字节中对应的位为1,反之为0。例如显示数字“1”时,仅D1和D2为1,其余位为0。
图6-247 段译码指令
移位寄存器指令SHR_ B将DATA端输入的数值移入移位寄存器。S_BIT指定移位寄存器的位,N指定移位寄存器的长度和移位方向,正向移位时N为正,反向移位时N为负,字节型变量N= -64~+64。N为正时,在数字量输入(EN)的上升沿时,寄存器中的各位由低位向高位移一位,DATA输入的二进制数从位移入,位数被移到溢出位。N为负时,从位移入,位移出。DATA和S_BIT为BOOL变量。移位寄存器指令见图6-246。

图6-246 移位寄存器指令
字节循环右移位指令ROR_B和字节循环左移位指令ROL_B将输入的字节(IN)的数值向右或向左循环移N位,并将结果装入输出字节(OUT)。移位次数N为字节变量,如果N≥8,执行循环之前先对N进行模8操作(N除以8后取余数),因此实际移位次数在0~7之间。如果N为8的整倍数,则不进行循环移位操作。
字循环右移位指令ROR_W和字循环左移位指令ROL_W将输入字(IN)的数值向右或向左循环侈N位,并将结果装入输出字(OUT)。如果移位次数N≥16,执行循环之前先对N进行模16操作(N除以16后取余数),因此实际移位次数在0~ 15之间。如果N为16的整倍数,则不进行循环移位操作。
广东西门子S7-1500PLC模块代理(量大从优)