1.常用的应用指令
应用指令共有128条,因篇幅有限,本节共介绍9条,其余可详见FX系列PLC的编程手册。
应用指令的操作码有一个统一的格式,如图6-24所示。图中,1、2、3为操作码,4为操作数。操作数有两种:通过执行指令不改变其内容的操作数称为源,用S·表示;通过执行指令改其内容的操作数称为目标,用D·表示。源和目标的用法将在后面结合实例进行说明。
(1)条件跳转指令CJ CJ指令的功能号为00。其功能是在条件成立时,跳过不执行的部分程序。条件跳转指令的应用如图6-25所示。图中,P8为操作数,它表示当条件成立时,所要跳转到的位置。
图6-24 应用指令的格式
1—D表示使用32位指令 2—应用指令的功能号及指令符号 3—P表示脉冲执行指令 4—操作数
在触点X000未闭合时,梯形图中的输出线圈Y000、Y001、定时器、计数器都分别受到触点X001、X002、X003、X004、X005的控制。当触点X000闭合时,跳转条件成立,在跳转指令到标号间的梯形图都不被执行。具体表现为:输出线圈Y000不论触点X001的闭合与否,都保持触点X000闭合前的状态;定时器T0停止计时,即触点X002闭合,定时器不计时,触点X002断开,定时器也不复位;计数器C0停止计数,触点X003闭合不能复位计数器,触点X004的通断也不能使计数器计数。由于线类Y001在标号P8后面,所以不受CJ指令的影响。若采用CJP指令,则表示为执行条件跳转的脉冲指令,在X000由断开到闭合变化之后,只有一次跳转有效。
图6-25 条件跳转指令的应用
a)梯形图 b)指令表
当跳转指令和主控指令一起使用时,应遵循如下规则:
1)当要求由MC外跳转到MC外时,可随意跳转。
2)当要求由MC外跳转到MC内时,跳转与MC的动作有关。
3)当要求由MC内跳转到MC内时,若主控断开,则不跳转。
4)当要求由MC内跳转到MC外时,若主控断开,不跳转;若主控接通,则跳转,但MCR无效。
(2)比较指令CMP CMP指令的功能号为10。其功能是将两个源数据字进行比较,所有的源数据均按二进制处理,并将比较的结果存放于目标软元件中。其中两个数据字可以是以K为标志的常数,也可以是计数器、定时器的当前值,还可以是数据寄存器中存放的数据。目标软元件为Y、M、S。比较指令的应用如图6-26所示。在图中,当触点X000闭合时,将常数10和计数器C20中的当前值进行比较。目标软元件选定为M0,则M1、M2即被自动占用。当常数10大于C20的当前值时,触点M0闭合;当常数10等于C20的当前值时,触点M1闭合;当常数10小于C20的当前值时,触点M2闭合。当触点X000断开时,不执行CMP指令,但以前的比较结果被保存,可用RST指令复位清零。
图6-26 比较指令的应用
(3)传送指令MOV MOV指令的功能号为12。其功能是将源内容传送到目标软元件。作为源的软元件可以是输入、输出继电器X、Y,辅助继电器M,定时器T,计数器C(当前值)和数据寄存器D。以上软元件除输入继电器X外,都可以作为目标软元件。传送指令的应用如图6-27所示。
图6-27 传送指令的应用
a)利用MOV指令间接设定定时器的值 b)利用MOV指令读出计数器的当前值
在图6-27a中,当触点X000闭合时,MOV指令将常数100传送到数据寄存器D1,作为定时器T0的设定值。在图6-27b中,当触点X000闭合时,MOV指令将计数器的当前值送到输出继电器Y000~Y007输出。图6-27b中,K2Y000是将位元件组合成字元件的一种表示方法。在PLC中,像X、Y、M、S这些只处理闭合/断开信号的软元件称为位元件;把T、C、D处理数值的软元件称为字元件。位元件可通过组合来处理数据,它以Kn与开头的软元件地址号的组合来表示。当采用4位单位时,n=1表示4个连续的位元件来代表4位二进制数,即一个字。图6-27b中的K2Y000表示Y000~Y007,即将计数器C0的当前值在Y000~Y007上以二进制的形式输出。
(4)二进制加法指令ADD和减法指令SUB ADD指令的功能号为20。其功能是将两个源数据进行代数加法,将相加结果送入目标所指定的软元件中。各数据的最高位为符号位,0表示正,1表示负。16位加法运算时,运算结果大于32767时,进位继电器M8022动作;运算结果小于等于-32768时,借位继电器M8021动作。加法指令的应用如图6-28所示,当触点X000闭合时,常数K120和数据寄存器D0中存储的数据相加,并把结果送入目标数据寄存器D1。
图6-28 加法和减法指令的应用
SUB指令的功能号为21。其功能是将两个源数据进行代数减法,将相减结果送入目标所指定的软元件中。数据符号和进位、借位标志与二进制加法指令相同。减法指令的应用如图6-28所示。当触点X001闭合时,数据寄存器D2中存储的数减去常数180,并把结果送入目标数据寄存器D3。
(5)位右移指令SFTR和位左移指令SFTL SFTR指令的功能号34,SFTL指令的功能号为35。其功能是对n1位(目标移位寄存器的长度)的位元件进行n2位的位左移或位右移。其功能可以用图6-29形象地表示。(www.daowen.com)
图6-29 SFTR指令的应用
在图6-29中,指令SFTRP中的“P”表示脉冲执行指令,当触点X010闭合一次,执行一次位右移指令。若使用SFTR,则为连续执行指令,在每个扫描周期内,都执行一次右移指令。图中,n1=16,表示被移位的目标寄存器的长度为16位,即M0~M15;n2=4,表示在移位中移入的源数据为4位,即X000~X003。位右移时,M0~M3中的低4位首先被移出,M4~M7、M8~M11、M12~M15、X000~X003以4位为一组依次向右移动。
位左移也有相同的功能,所不同的是在移位时,最高的n2位首先被移出,低位的数据以n2位为一组向左移动,最后源数据数从低n2位移入。
(6)特殊功能模块读出指令FROM和特殊功能模块写入指令TO FROM指令的功能号为78。其功能是将特殊单元(用m1编号)中第m2号缓冲存储器(BFM)的内容读到PLC,如图6-30所示。它的作用是在触点X000闭合时,从特殊单元(模块)No.1的缓冲存储器(BFM)#29中读出16位数据传送到PLC的K4M0中。
图6-30 FROM指令的应用
图6-31 T0指令的应用
m1表示特殊单元或模块的编号,它由靠近基本单元开始,以No.1、No.2、No.3……顺序排列,图中所示K1即为No.1。
m2表示缓冲存储器号码,其号码为#0~#31,其内容根据各设备的控制目的决定,图中K29即为#29。
D.表示目标地址,图中K4M0如MOV指令中所述,为位元件的组合,K4M0为M0~M15,共16位,即16位数据的存放空间。
n表示传送点数,图中K1表示传送点数为1。
T0指令的功能号为79,其功能是由PLC对特殊单元的缓冲存储器写入数据。如图6-31所示,它的作用是在触点X000闭合时,由PLC的数据寄存器D0对特殊单元(模块)No.1的缓冲存储器(BFM)#12写入数据。图中,m1、m2的表示方法同FROM指令,S.表示源数据地址,图中为数据寄存器D0。
2.步进指令STL和返回指令RET
步进指令(STL)是利用内部软元件进行工序步进式控制的指令。返回指令(RET)是状态(S)流程结束,用于返回主程序(母线)的指令。按一定规则编写的步进梯形图(STL图)也可作为状态转移图(SFC图)处理,从状态转移图反过来也可形成步进梯形图。
1)步进状态的地址号不能重复,如图6-32中的S0、S1、S2。
2)如果某状态的STL触点闭合,则与其相连的电路动作;如果该STL触点断开,则与其相连的电路停止动作。
3)在状态转移的过程中,有一个扫描周期的时间内,两个相邻状态会同时接通。为了避免不能同时接通的一对触点同时输出,可在程序上设置互锁触点,如图6-32中的常闭触点Y000、Y001。也因为这个原因,同一个定时器不能使用在相邻状态中。因为两个相邻状态在状态转移时,有一个同时接通的时间,致使定时器线圈不能断开,当前值不能复位。
图6-32 步进指令的应用
4)在步进梯形图中,可使用双重线圈,不会出现第三节中同名双线圈输出的问题。如图6-33所示,状态S1时,线圈Y001得电;状态S2时,线圈Y001也得电。
5)状态的转移可使用SET指令。如图6-32中的SET S1,触点X001是状态转移条件。
实际的STL图和SFC图如图6-33所示。SFC图形如机械控制的状态流程图。在SFC图中,方框表示一个状态,起始状态用双线框表示;方框右侧表示在该状态中被驱动的输出继电器;方框与方框之间的短横线表示状态转移条件;不属于SFC图的电路采用助记符LAD 0和LAD1。
图6-33 实际的STL图和SFC图
a)STL图 b)SFC图
至此,已经介绍了FX2N系列PLC的大部分基本指令和部分应用指令、步进指令。这些指令是工业控制中的常用指令。各厂家生产的PLC,虽然编程指令不一样,但这些指令却基本相同,具有很强的通用性,读者在上述指令的基础上,很容易掌握其他PLC的指令和编程方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。