PLC是通过程序对系统实现控制的,因此某一系统的指令在一定程度上表明控制功能的强弱。本节以FX1S系列PLC常用指令的功能及使用方法为例进行叙述。实践证明,掌握一种PLC的指令和编程方法对学习其他机型的PLC具有极大的帮助作用。
基本指令的概念:编写应用程序时,使用频率最高的指令叫做基本指令。
(一)LD取指令
1)意义:接在逻辑母线上以常开触头开始的操作指令。
2)符号:如图1-22所示。
3)指令格式:LD××,其中××代表继电器号。
4)LD指令可使用的继电器号:
①输入继电器X;②输出继电器Y;③内部辅助继电器M;④状态继电器S;⑤定时器T;⑥计数器C。
图1-22 LD取指令
(二)LDI取反指令
1)意义:接在逻辑母线上的以常闭触头开始的操作数指令。
2)符号:如图1-23所示。
3)指令格式:LDI××,其中××代表继电器号。
4)LDI指令可使用的继电器号与LD指令相同。
图1-23 LDI取反指令
(三)AND与指令
1)意义:与其他程序段相串联的常开触头指令。
2)符号:如图1-24所示。
3)指令格式:AND××,其中××代表继电器号。
4)AND指令可使用的继电器号与LD指令相同。
(四)ANI与非指令
1)意义:与其他程序段相串联的常闭触头指令。
2)符号:如图1-25所示。
图1-24 AND与指令
图1-25 ANI与非指令
3)指令格式:ANI××,其中××代表继电器号。
4)ANI指令可使用的继电器号与LD指令相同。
(五)OR或指令
1)意义:与其他程序段相并联的常开触头指令。
2)符号:如图1-26所示。
3)指令格式:OR××,其中××代表继电器号。
4)OR指令可使用的继电器号与AND指令相同。
(六)ORI或非指令
1)意义:与其他程序段相并联的常闭触头指令。
2)符号:如图1-27所示。
图1-26 OR或指令
图1-27 ORI或非指令
3)指令格式:ORI××,其中××代表继电器号。
4)ORI指令可使用的继电器号与OR指令相同。
(七)OUT输出指令
1)意义:该指令将相应电路的操作结果输出到给定的继电器。指令出现在每个梯级的最右端。
2)符号:如图1-28所示。
3)指令格式:OUT××,其中××代表继电器号。
4)OUT指令可使用的继电器号为:
①输出继电器Y;②内部辅助继电器M;③状态继电器S;④定时器T;⑤计数器C。
图1-28 OUT输出指令
图1-29~图1-32所示是上面七条指令应用的举例。
图1-31 基本指令例3
图1-32 基本指令例4
(八)ANB指令
1)意义:并联电路的串联连接的指令,即两个或两个以上触头并联的电路,称为并联电路块。
图1-33 ANB指令例1
2)指令格式:ANB。
3)注意:该指令没有操作数,仅有指令格式。如图1-33~图1-35所示。
图1-34 ANB指令例2
图1-35 ANB指令例3
(九)ORB指令
1)意义:串联电路块的并联连接的指令,即两个或两个以上触头串联的电路称为串联电路块。
2)指令格式:ORB。
3)注意:该指令没有操作数,仅有指令格式。如图1-36、图1-37所示。
图1-36 ORB指令例1
图1-37 ORB指令例2
(十)ANB、ORB指令应用的方法
图1-38是并联电路的串联电路块ANB指令使用的两种方法(方法1、方法2)的编程指令形式。
图1-39是串联电路的并联电路块ORB指令使用的两种方法(方法1方法2)的编程指令形式。
图1-38 ANB的两种使用方法
图1-39 ORB的两种使用方法
采用图1-38和图1-39中的方法1则ANB指令、ORB指令更具可读性、连续性,直观易懂,所以建议采用方法1的编程形式,最好不采用方法2的连续使用ANB指令、ORB指令的方法。
另外,在实际编制程序时,应注意ANB、ORB指令和AND、OR指令的区别,若能首先考虑采用AND和OR指令,则尽量少使用ANB、ORB指令。图1-40所示的是使用ANB和ORB指令的程序。
图1-40 使用ANB和ORB指令的程序
而图1-41~图1-44所示的是减少ANB、ORB使用的实例(将图1-40变换后不采用ANB、ORB指令后的程序)。
图1-41 减少ANB、ORB使用的实例1
图1-42 减少ANB、ORB的使用的实例2
图1-43 减少ANB、ORB的使用的实例3
图1-44 减少ANB、ORB使用的实例4
(十一)主控MC指令和主控复位MCR指令
在实际的编程过程中经常会遇到多个线圈或多个支路同时受一个或一组触头控制的情况,如果在每个线圈或每个支路都串入同样的触头,如图1-45所示,在每条支路中串入了X0的触头,将会多占用存储单元。对于图1-46所示的程序,可将其指令变换成同等功能的梯形图。而如图1-47所示的程序就不能用同样的方法将梯形图变换为其右侧语句表所表示的同等功能的程序。
图1-45 未使用主控指令的程序1
图1-46 未使用主控指令的程序2
图1-47 不等效的梯形图和语句表程序
根据图1-47的指令,变换成梯形图的形式如图1-48所示。
图1-48 与图1-47的语句表等效的梯形图
变换后的形式很显然与图1-47梯形图的功能完全不一样了。图1-48的程序是一种纵接输出的方式。所以在实际的编程过程中,经常会编制多个线圈或多支路同时受一个或多个触头控制的问题,就像图1-47所示的那样。如果在每个线圈或支路中都串入同样的触头,它将会多占用存储器的单元,同时也增加了指令的数量。即将图1-47变换成的同等功能的梯形图,如图1-49所示。(www.xing528.com)
使用FX1S系列PLC中提供的主控指令、主控复位指令就可以解决上述的问题。
1.MC指令(主控指令)
(1)功能 通过MC指令,操作元件M的常开触头将产生一个新的临时母线,使得梯形图简化,便于编程。
图1-49 程序变换梯形图举例
(2)MC主控指令的形式 它的形式由两部分组成。其中一部分是主控指令的次数或称为主控指令嵌套层数,在FX1S系列PLC中规定为N0~N7;另一部分是由操作数用辅助继电器M或输出继电器Y构成。
(3)MC主控指令的表达方式 如图1-50所示。
图1-50 主控指令
(4)应用的要求
1)嵌套次数的使用一定按照数字从小到大顺序排列。
2)操作数元件最好使用辅助继电器的代号,不能使用特殊继电器。
2.MCR指令(主控复位指令)
(1)功能 取消新的临时母线,将左逻辑母线返回到原来位置,结束主控指令。
(2)MCR主控复位指令的形式 只有主控复位MCR指令和嵌套次数N0~N7,没有操作数。
(3)MCR主控指令的使用方式,如图1-51所示。
(4)应用的要求
1)嵌套次数的使用一定要与MC主控指令中嵌套数一致。
2)如果是多级嵌套,则主控返回时,一定要从大到小按顺序返回。MC主控指令和MCR主控复位指令的使用方法如图1-51所示。
图1-51 主控指令的使用方法
3)由图1-51分析可知:
①当常开触头X0闭合时,嵌套为N0的主控指令执行。
②辅助继电器M0线圈被接通,辅助继电器M0的触头闭合,此时常开触头M0称为主控触头。
③规定主控触头只能画在垂直方向,用于区别于其他的触头。
④当主控触头M0闭合后,左母线由A的位置临时移到B的位置,可理解为:形成一个新的临时逻辑母线,并进入到主控电路块。此时可以用基本指令的方式写出指令表,PLC进行逻辑扫描。
⑤当执行到主控复位MCR N0指令时,嵌套层数为N0的主控结束临时母线B,返回到A。
⑥如果PLC判断X0常开触头是断开的,则主控电路块这一段程序不执行。
主控指令使用举例如图1-52所示。
4)MC、MCR指令的使用说明:
①在执行MC指令后,因为已形成了新的逻辑母线,在主控电路内必须用LD指令或LDI指令开始写指令。主控电路内触头之间的逻辑关系应用触头连接的基本指令完成。
图1-52 主控指令使用举例
②MC指令的操作数元件可以是输出继电器Y或辅助继电器M,在实际编程时,一般都使用辅助继电器M,但不能用特殊继电器。
③MC指令后,必须用MCR指令使左逻辑母线由临时位置返回到原来母线的位置。
④MC、MCR指令可以嵌套使用。即MC指令内可以再使用MC指令,这时嵌套编号应从N0到N7按顺序增加,顺序不能颠倒。最后主控指令返回用MCR指令,必须从大的编号返回,也就是按N7到N0的顺序返回,不能颠倒。注意最后返回的一定是MCR N0指令。
⑤带有定时器的梯形图如图1-53所示。当X0常开触头接通时,执行MC与MCR之间指令。当X0断开时,定时器T1和OUT指令驱动器元件不会保持当前状态。
⑥计数器C、积算定时器T和SET指令驱动的元件保持当前状态时,只能用复位指令才能使其复位断开。
图1-53 带有定时器的梯形图
(十二)置位和复位指令
1.置位指令(SET)
(1)功能SET为置位指令,使其动作保持。即当输入信号为接通时,输出Y0保持接通;当输入信号再变成断开时,Y0继续保持接通状态。
(2)SET指令的操作数输出继电器(Y),辅助继电器(M),状态继电器(S)。
(3)SET指令的表示方法及动作波形图 如图1-54所示。
图1-54 SET指令的表示方法 及动作波形
2.复位指令(RST)
(1)功能 当有输入复位信号时,输出Y0断开,即使输入X1变成断开,Y0输出也将保持断开状态。
(2)RST指令的操作数 输出继电器(Y),辅助继电器(M),状态继电器(S),定时器(T),计数器(C),数据存储器(D、V、Z、)。
(3)RST指令的表示方法及动作波形 如图1-55所示。
例:采用置位复位指令的起-保-停电路 如图1-56所示。
(十三)脉冲微分指令
脉冲微分指令主要用于检测输入脉冲的上升沿或下降沿,当条件满足时产生一个很窄的脉冲信号输出。脉冲微分指令分为上升沿脉冲微分指令和下降沿脉冲微分指令两种。
图1-55 RST指令的表示方法 及动作波形
图1-56 采用置位、复位指令的 起-保-停电路
1.上升沿脉冲微分指令(PLS)
(1)功能 当检测到输入脉冲的上升沿时,PLS指令的操作数线圈,产生宽度为一个扫描周期的脉冲。
(2)PLS指令的操作数 输出继电器(Y),辅助继电器(M)。
(3)PLS指令的表示方法 如图1-57所示。
(4)PLS指令的应用原理 如图1-58所示。
图1-57 PLS指令的表示方法
图1-58 PLS指令的应用原理
2.下降沿脉冲微分指令(PLF)
(1)功能 当检测到输入脉冲的下降沿时,PLF指令的操作数线圈产生宽度为一个扫描周期的脉冲信号输出。
(2)PLF指令的操作数 输出继电器(Y),辅助继电器(M)。
(3)PLF指令的表示方法 如图1-59所示。
(4)应用原理 如图1-60所示。
图1-59 PLF指令的表示方法
图1-60 PLF指令的应用原理
(十四)MPS(进栈)、MRD(读栈)、和MPP(出栈)指令
在FX1S系列的PLC中,有11个存储运算中间结果的存储器,总称为栈存储器。栈存储器将触头之间的逻辑运算结果存储后,就可以用指令将这个结果读出,再参与其他触头之间的逻辑运算。
1.MPS指令(进栈指令)
(1)功能 MPS指令将触头的逻辑运算结果放入存储器单元中(共有1~11个单元),存储器原来每个单元中的数据依次向下移动一位。执行一次MPS指令要完成两个工作内容。
第一个工作内容:栈存储器中每个单元数据依次向下一个单元推移,而栈存储器中第11号单元的结果移出存储器,而10号单元内容移到11号单元中……依次类推,这时便腾出了1号单元。
第二个工作内容:将新得到的逻辑运算结果存入1号单元中,完成了进栈的逻辑运算工作。
(2)操作数MPS指令没有操作数。
2.MRD指令(读栈指令)
(1)功能 将栈存储器中1号单元的内容读出。在执行MRD指令时,栈存储器中每个单元中的内容不发生变化,即不会数据下移或数据上移。
(2)操作数 MRD指令没有操作数。
3.MPP指令(出栈指令)
(1)功能 将栈存储器1号单元结果取出,存储器中其他单元得到的数据依次向上推移。当使用MPP指令时完成两个工作内容。
第一个工作:将栈存储器中1号单元结果取出。
第二个工作:将2号单元中的结果移到1号单元中,依次类推,称为数据上移。
(2)操作数 MPP指令没有操作数。
栈指令使用举例如图1-61和图1-62所示。在图1-61中,当使用MPS进栈指令后,将X0的当前值存入栈存储器1号单元。然后再与其他的触头进行逻辑运算。
图1-61 栈指令使用例1
4.MPS、MRD和MPP指令使用说明
1)MPS指令和MPP指令必须成对使用,缺一不可。而MRD指令有时可以不用。
2)MPS指令连续使用的次数最多不能超过11次。
3)MPS指令、MRD指令或MPP指令之后,若有单个常闭触头或常开触头串联,则应该使用ANI、AND指令。
4)MPS指令、MRD指令或MPP指令之后,若有触头组成的电路块时,则应使用ANB、ORB指令。
5)MPS指令、MRD指令或MPP指令之后,若没有触头串联时,则应用OUT指令。
(十五)空操作指令(NOP)
功能:在调试程序时,用于取代一些不必要的指令,即删除由这些指令构成的程序。但是编程器的功能已越来越强,修改程序时可直接删除指令而很少使用NOP指令。其次,程序中用NOP指令可延长扫描周期。
(十六)结束指令(END)
功能:执行到END指令后,END指令后面的程序不再执行。在调试程序时,插入END指令,可以逐段调试程序,提高程序调试速度。
注意:END并不是PLC的停机指令。该指令仅说明程序结束。
图1-62 栈指令使用例2
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。