您现在的位置是:首页 > 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)中,分别用LDLoad,装载)、ANDand,与)和ORor,或)指令来表示开始、串联和并联的常开触点(见表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)指令时,将指令指定的位地址中的二进制数和栈顶中的二进制数相或,结果存入栈顶。    执行常闭触点对应的LDNANDN (AN)ORN (ON)指令时,取出指令指定的位地址中的二进制数据后,将它取反(0变为11变为0),然后再做对应的装载、与、或操作。    需要特别注意的是,由于提供的工作堆栈有9级,LD和(或)LDN指令在同一网络(一个梯形图网络)连续出现超过8次时再执行LDLDN指令,将丢失数据,而且这样做上位机进行编译时也会报错(不允许用户这样使用),下一节将介绍其他与堆栈有关的指令的实现。