4.2 位逻辑指令
位逻辑指令是对存储器或寄存器的“位”进行操作的指令,其基础是触点和线圈。触点用于读取二进制位的状态,其值0或1用于位逻辑运算;线圈用来改变二进制位的状态,其状态取决于它前面的触点逻辑运算的结果。
4.2.1 触点指令与输出指令
1.逻辑取及输出指令
1)指令
逻辑取及输出指令为LD、LDN和=。
(1)LD(load):取指令,用于网络块逻辑运算开始的常开触点与左母线的连接。
(2)LDN(load not):取反指令,用于网络块逻辑运算开始的常闭触点与左母线的连接。
(3)=(out):输出指令或线圈驱动指令。
2)指令使用说明
(1)LD、LDN指令用于与左母线相连的触点,也可以与OLD、ALD指令配合完成块电路的编程。
(2)=指令用于输出映像寄存器Q、位存储器M和顺序控制继电器S等,但不能用于输入映像寄存器I。
(3)并联的=指令可以连续使用任意次。
(4)LD、LDN的操作数为:I、Q、M、SM、T、C、V、S和L;=的操作数为:Q、M、SM、V、S和L。
图4-4所示的是上述三条基本指令的用法。
图4-4 LD、LDN、=指令的使用
2.触点串联指令
1)指令
触点串联指令为A、AN。
(1)A(and):“与”指令,用于单个常开触点的串联连接。
(2)AN(and not):取反后“与”指令,用于单个常闭触点的串联连接。
图4-5所示的为上述两条指令的用法。
图4-5 A、AN指令的使用
2)指令使用说明
(1)A、AN是单个触点串联连接指令,可连续使用。
(2)图4-5网络2所示的连续输出电路可以多次使用=指令,但次序必须正确,不能颠倒。例如,Q0.1所在的支路不能和M0.0所在的支路上下位置互换。
(3)A、AN的操作数为:I、Q、M、SM、T、C、V、S和L。
3.触点并联指令
1)指令
触点并联指令为O、ON。
(1)O(or):“或”指令,用于单个常开触点的并联连接。
(2)ON(or not):取反后“或”指令,用于单个常闭触点的并联连接。
图4-6所示的为上述两条指令的用法。为简化作图,本章后面的梯形图不再写网络编号。
图4-6 O、ON指令的使用
2)指令使用说明
(1)单个触点的O、ON指令可连续使用。
(2)O、ON的操作数为:I、Q、M、SM、T、C、V、S和L。
4.2.2 置位和复位指令
S(set)是置位指令,R(reset)是复位指令。置位和复位指令的STL和LAD形式及功能如表4-1所示。
表4-1 置位和复位指令的功能
图4-7所示的为S、R指令的应用示例,I0.0的上升沿使Q0.0接通并保持,即使I0.0断开也不再影响Q0.0状态。I0.1的上升沿使Q0.0断开并保持,直到I0.0的下一个上升沿脉冲到来为止。
使用说明如下。
图4-7 S、R指令的使用
(1)对于位元件来说,一旦被置位就保持接通状态,直到对它复位为止。而一旦被复位就保持断开状态,直到对它置位为止。
(2)由于PLC的工作方式是扫描工作方式,故写在后面的指令有优先权。在图4-7所示梯形图中,当I0.0和I0.1同时为1时,R指令写在后,因而有优先权,则Q0.0 为0。
(3)S、R指令必须成对使用,而且使用的器件号应相同,它可将位存储区从某一位开始的N个同类存储器位置1或置0。N=1~255,N可以是常数,在图4-7所示梯形图中,N=1,也可以是VB、IB、QB、MB、SMB、SB、LB、AC、*VD、*AC或*LD中的数据,一般情况下使用常数。
(4)S、R指令的操作数为:Q、M、SM、V、S和L。
4.2.3 正跳变和负跳变检测指令
正跳变指令(EU)和负跳变指令(ED)用于检测脉冲的正跳变(触点的输入信号从0变为1)或负跳变(触点的输入信号从1变为0)。它们在梯形图中以触点形式使用,触点符号中间的“P”和“N”分别表示正跳变(positive transition)和负跳变(negative transition)。利用跳变能让触点接通一个扫描周期,即可产生一个扫描周期长度的微分脉冲,用于驱动后面的输出线圈。
(1)EU(edge up):正跳变指令(检测上升沿指令)。正跳变触点检测到脉冲的每一次正跳变后,产生一个微分脉冲。
指令格式:
EU(无操作数)
(2)ED(edge down):负跳变指令(检测下降沿指令)。负跳变触点检测到脉冲的每一次负跳变后,产生一个微分脉冲。
指令格式:
ED(无操作数)
图4-8所示的是正、负跳变触点指令的编程举例。
图4-8所示线圈M0.0在输入信号I0.0的上升沿后接通一个扫描周期,这个脉冲可以使输出线圈Q0.0置1;线圈M0.1则在输入信号I0.1的下降沿后产生一个扫描周期的脉冲,这个脉冲使输出线圈Q0.0复位。
图4-8 正、负跳变触点指令编程
4.2.4 立即指令
立即指令是为了提高PLC对I/O的响应速度而设置的,它可以不受PLC循环扫描工作方式的影响,允许对I/O点进行快速和直接的存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的数值并未发生更新;用立即指令访问输出点时,相应的输出映像寄存器和物理输出点的内容同时被刷新。立即指令只能用于输入量I和输出量Q。
1.立即触点指令
在每个标准触点的后面加“I”,表示立即(immediate)。立即指令执行时,立即读取物理输入点的值,但是不刷新相应输入映像寄存器的值。
这类指令的名称、指令格式和使用说明如表4-2所示。
表4-2 立即触点指令
图4-9所示的为立即触点指令的用法。
图4-9 立即触点指令电路
2.立即输出指令
执行立即输出指令时,将新值同时写到物理输出点和相应的输出过程映像寄存器中。该指令只能用于输出位Q,线圈中的符号“I”用来表示立即输出,如图4-10所示。该指令的格式和使用说明如表4-3所示。
图4-10 立即输出指令电路
表4-3 立即输出类指令
3.立即置位和立即复位指令
用立即置位指令(SI)或立即复位指令(RI)访问输出点时,从指令所指出的位(bit)开始的N个物理输出点被立即置位或立即复位,同时相应的输出映像寄存器的内容也被刷新。这两条指令的格式和使用说明如表4-3所示。
图4-11所示的是SI和RI指令的用法。
说明:在执行应用程序时,通常从整个系统的稳定性和程序执行的快速性等方面考虑,使用过程映像寄存器比使用立即指令直接访问I/O更具优越性。所以,一般情况下不使用立即指令。
图4-11 SI和RI指令电路
4.2.5 取“非”指令
取“非”指令为NOT。它将复杂逻辑结果取反,为用户使用反逻辑提供方便,其实质是改变最新的堆栈顶的逻辑值。
该指令无操作数,STL和LAD指令格式如下。
STL指令格式:
NOT
LAD指令格式:
—|NOT|—
图4-12所示的是NOT指令的使用举例,在该例中,Q0.1的输出和Q0.0正好相反。
4.2.6 空操作指令
空操作指令不影响用户程序的执行,起增加程序容量的作用。该指令操作数为标号N,N=0~255。STL和LAD指令格式如下。
STL指令格式:
NOP N
LAD指令格式:
图4-13 所示的是空操作指令的使用举例。
图4-12 NOT指令的使用
图4-13 NOP指令的使用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。