您现在的位置是:首页 > PLC技术 > PLC技术
PLC标准触点指令实现
来源:艾特贸易2017-06-05
简介在 IEC61131-3 的指令表语言 (instruction list) 中,分别用 LD ( Load ,装载)、 AND ( and ,与)和 OR ( or ,或)指令来表示开始、串联和并联的常开触点(见表 1-2 );分别用 LDN (load Not) 、
在IEC61131-3的指令表语言(instruction list)中,分别用LD(Load,装载)、AND(and,与)和OR(or,或)指令来表示开始、串联和并联的常开触点(见表1-2);分别用LDN (load Not)、ANDN (and not)和ORN (or not)来表示开始、串联和并联的常闭触点(见表1-3,助记符中括号里面的是相应S7-200的指令)。触点指令中所有操作数变量X的数据类型为BIT型。触点指令的操作数主要包括输入点I、输出点O,中间继电器(位存储器)M、定时器(T)的线圈状态以及计数器(C)的线圈状态等。 标准触点指令实现简单的逻辑关系式的运算。S7-200为实现逻辑指令,在PLC运行系统中采用了一个9位的工作堆栈STACK,利用C51实现时,使用一个位变量来作栈顶,在位寻址空间定义一个char类型(8位)的变量作为实际意义上的堆栈。栈顶用来存储逻辑运算的结果,下面的8位用来存储中间运算结果,堆栈中的数据一般按“先进后出”的原则存取。标准触点指令如表1-2所示。 表1-2 标准触点指令 执行LD指令时,将指令指定的位地址(或变量)中的二进制数据装载入栈顶。 执行AND (A)指令时,将指令指定的位地址中的二进制数和栈顶中的二进制数相与,结果存入栈顶。 执行OR (O)指令时,将指令指定的位地址中的二进制数和栈顶中的二进制数相或,结果存入栈顶。 执行常闭触点对应的LDN、ANDN (AN)和ORN (ON)指令时,取出指令指定的位地址中的二进制数据后,将它取反(0变为1,1变为0),然后再做对应的装载、与、或操作。 需要特别注意的是,由于提供的工作堆栈有9级,LD和(或)LDN指令在同一网络(一个梯形图网络)连续出现超过8次时再执行LD或LDN指令,将丢失数据,而且这样做上位机进行编译时也会报错(不允许用户这样使用),下一节将介绍其他与堆栈有关的指令的实现。
点击排行
