PLC是一种工业计算机,不光要有硬件,软件也是必不可少的。
1.FX系列PLC的工作模式
PLC有运行(RUN)与停止(STOP)两种基本的工作模式。当系统断电或运行开关拨到STOP状态时,PLC停止工作。PLC工作过程分为以下几个阶段:
1)内部处理阶段;
2)通信服务阶段;
3)输入处理阶段;
4)程序处理阶段;
5)输出处理阶段。
用户程序的运行过程为循环扫描方式,PLC扫描输入、程序运算、实时输出如此循环工作。PLC完成一个工作周期所需时间称为扫描时间,如图1-7所示。
循环扫描的工作方式是PLC的一大特点,也可以说PLC是“串行”工作的,这和传统的继电器控制系统“并行”工作有质的区别,PLC的串行工作方式避免了继电器控制系统中触点竞争和时序失配的问题。
2.PLC的软元件概述
PLC内部有许多具有不同功能的软元件,实际上这些元件是由电子电路和存储器组成的。
图1-7 PLC的扫描工作过程
FX系列PLC中几种常用型号PLC的内部软继电器及编号见表1-8。FX系列PLC编程元件的编号由字母和数字组成,其中输入继电器和输出继电器用八进制数字编号,其他均采用十进制数字编号。为了能全面地了解FX系列PLC的内部软继电器,本节以FX2N为背景进行介绍。
表1-8 FX系列PLC的内部软继电器及编号
(续)
(1)输入继电器(X)输入继电器与输入端相连,它是专门用来接收PLC外部开关信号的元件。PLC通过输入接口将外部输入信号状态(接通时为“1”,断开时为“0”)读入并存储在输入映象寄存器中。如图1-3b所示为输入继电器X的等效电路。
输入继电器必须由外部信号驱动,不能用程序驱动,所以在程序中不可能出现其线圈。由于输入继电器(X)为输入映象寄存器中的状态,所以其触点的使用次数不限。
FX系列PLC的输入继电器以八进制进行编号,FX2N输入继电器的编号范围为X000~X267(184点)。注意,基本单元输入继电器的编号是固定的,扩展单元和扩展模块是按与基本单元最靠近开始,顺序进行编号。例如:基本单元FX2N-64M的输入继电器编号为X000~X037(32点),如果接有扩展单元或扩展模块,则扩展的输入继电器从X040开始编号。
(2)输出继电器(Y)输出继电器是用来将PLC内部信号输出传送给外部负载(用户输出设备)。输出继电器线圈是由PLC内部程序的指令驱动,其线圈状态传送给输出单元,再由输出单元对应的硬触点来驱动外部负载。如图1-4b所示为输出继电器Y的等效电路。
每个输出继电器在输出单元中都对应有唯一一个常开硬触点,但在程序中供编程的输出继电器,不管是常开还是常闭触点,都可以无数次地使用。
FX系列PLC的输出继电器也是八进制编号,其中FX2N编号范围为Y000~Y267(184点)。与输入继电器一样,基本单元的输出继电器编号是固定的,扩展单元和扩展模块的编号也是按与基本单元最靠近开始,顺序进行编号。
在实际使用中,输入/输出继电器的数量,要看具体系统的配置情况。
(3)辅助继电器(M)辅助继电器是PLC中数量最多的一种继电器,一般的辅助继电器与继电器控制系统中的中间继电器相似。
辅助继电器不能直接驱动外部负载,负载只能由输出继电器的外部触点驱动。辅助继电器的常开与常闭触点在PLC内部编程时可无限次地使用。
辅助继电器采用M与十进制数共同组成编号(只有输入/输出继电器才用八进制数)。
1)通用辅助继电器(M0~M499)。FX2N系列共有500点通用辅助继电器。通用辅助继电器在PLC运行时,如果电源突然断电,则全部线圈均“OFF”。当电源再次接通时,除了因外部输入信号而变为“ON”的以外,其余的仍将保持“OFF”状态,它们没有断电保护功能。通用辅助继电器常在逻辑运算中作为辅助运算、状态暂存、移位等。
根据需要可通过程序设定,将M0~M499变为断电保持辅助继电器。
2)断电保持辅助继电器(M500~M3071)。FX2N系列有M500~M3071共2572个断电保持辅助继电器。它与普通辅助继电器不同的是具有断电保护功能,即能记忆电源中断瞬时的状态,并在重新通电后再现其状态。它之所以能在电源断电时保持其原有的状态,是因为电源中断时用PLC中的锂电池保持它们映像寄存器中的内容。其中M500~M1023可由软件将其设定为通用辅助继电器。
3)特殊辅助继电器。PLC内有大量的特殊辅助继电器,它们都有各自的特殊功能。FX2N系列中有256个特殊辅助继电器,可分成触点型和线圈型两大类
①触点型。其线圈由PLC自动驱动,用户只可使用其触点。例如:
M8000:运行监视器(在PLC运行中接通),M8001与M8000相反逻辑。
M8002:初始脉冲(仅在运行开始时瞬间接通),M8003与M8002相反逻辑。
M8011、M8012、M8013和M8014分别是产生10ms、100ms、1s和1min时钟脉冲的特殊辅助继电器。
②线圈型。由用户程序驱动线圈后PLC执行特定的动作。例如:
M8033:若使其线圈得电,则PLC停止时保持输出映象存储器和数据寄存器内容。
M8034:若使其线圈得电,则将PLC的输出全部禁止。
M8039:若使其线圈得电,则PLC按D8039中指定的扫描时间工作。
(4)状态器(S)状态器用来纪录系统运行中的状态,是编制顺序控制程序的重要编程元件,它与后述的步进顺控指令STL配合应用。
状态器有五种类型:初始状态器S0~S9共10点;回零状态器S10~S19共10点;通用状态器S20~S499共480点;具有状态断电保持的状态器有S500~S899共400点;供报警用的状态器(可用作外部故障诊断输出)S900~S999共100点。
在使用状态器时应注意:
1)状态器与辅助继电器一样有无数的常开和常闭触点;
2)状态器不与步进顺控指令STL配合使用时,可作为辅助继电器M使用;
3)FX2N系列PLC可通过程序设定将S0~S499设置为有断电保持功能的状态器。
(5)定时器(T)PLC中的定时器(T)相当于继电器控制系统中的通电型时间继电器。它可以提供无限对常开常闭延时触点。定时器中有一个设定值寄存器(一个字长)、一个当前值寄存器(一个字长)和一个用来存储其输出触点的映象寄存器(一个二进制位),这3个量使用同一地址编号。但使用场合不一样,意义也不同。
FX2N系列中定时器可分为通用定时器、积算定时器两种。它们是通过对一定周期的时钟脉冲进行累计而实现定时的,时钟脉冲周期有1ms、10ms、100ms三种,当所计数达到设定值时触点动作。设定值可用常数K或数据寄存器D的内容来设置。
1)通用定时器。通用定时器的特点是不具备断电的保持功能,即当输入电路断开或停电时定时器复位。通用定时器有100ms和10ms通用定时器两种。
①100ms通用定时器(T0~T199)。共200点,其中T192~T199为子程序和中断服务程序专用定时器。这类定时器是对100ms时钟累积计数,设定值为1~32767,所以其定时范围为0.1~3276.7s。
②10ms通用定时器(T200~T245)。共46点。这类定时器是对10ms时钟累积计数,设定值为1~32767,所以其定时范围为0.01~327.67s。
2)积算定时器。积算定时器具有计数累积的功能。在定时过程中如果断电或定时器线圈“OFF”,积算定时器将保持当前的计数值(当前值),通电或定时器线圈“ON”后继续累积,即其当前值具有保持功能,只有将积算定时器复位,当前值才变为0。
①1ms积算定时器(T246~T249)。共4点,是对1ms时钟脉冲进行累积计数的,定时的时间范围为0.001~32.767s。
②100ms积算定时器(T250~T255)。共6点,是对100ms时钟脉冲进行累积计数的,定时的时间范围为0.1~3276.7s。
(6)计数器(C)FX2N系列计数器分为内部计数器和高速计数器两类。
1)内部计数器。内部计数器是在执行扫描操作时对内部信号(如X、Y、M、S、T等)进行计数。内部输入信号的接通和断开时间应比PLC的扫描周期稍长。
①16位增计数器(C0~C199)。共200点,其中C0~C99为通用型,C100~C199共100点为断电保持型(断电保持型即断电后能保持当前值待通电后继续计数)。这类计数器为递加计数,应用前先对其设置一设定值,当输入信号(上升沿)个数累加到设定值时,计数器动作,其常开触点闭合、常闭触点断开。计数器的设定值为1~32767(16位二进制),设定值除了用常数K设定外,还可间接通过指定数据寄存器设定。
②32位增/减计数器(C200~C234)。共有35点32位加/减计数器,其中C200~C219(共20点)为通用型,C220~C234(共15点)为断电保持型。这类计数器与16位增计数器除位数不同外,还在于它能通过控制实现加/减双向计数。设定值范围均为-214783648~+214783647(32位)。
C200~C234是增计数还是减计数,分别由特殊辅助继电器M8200~M8234设定。对应的特殊辅助继电器被置为“ON”时为减计数,置为“OFF”时为增计数。
计数器的设定值与16位计数器一样,可直接用常数K或间接用数据寄存器D的内容作为设定值。在间接设定时,要用编号紧连在一起的两个数据计数器。
2)高速计数器(C235~C255)。高速计数器与内部计数器相比除允许输入频率高之外,应用也更为灵活。高速计数器均有断电保持功能,通过参数设定也可变成非断电保持。FX2N有C235~C255共21点高速计数器。适合用来做高速计数器输入的PLC输入端口有X0~X7。X0~X7不能重复使用,即某一个输入端已被某个高速计数器占用,它就不能再用于其他高速计数器,也不能用作它用。各高速计数器对应的输入端见表1-9。
高速计数器可分为三类:
①单相单计数输入高速计数器(C235~C245)。其触点动作与32位增/减计数器相同,可进行增或减计数(取决于M8235~M8245的状态)。
表1-9 高速计数器对应的输入端
(续)
表1-9中:U表示加计数输入,D为减计数输入,B表示B相输入,A为A相输入,R为复位输入,S为启动输入。X6、X7只能用作启动信号,而不能用作计数信号。
②单相双计数输入高速计数器(C246~C250)。这类高速计数器具有两个输入端,一个为增计数输入端,另一个为减计数输入端。利用M8246~M8250的“ON/OFF”动作可监控C246~C250的增记数/减计数动作。
③双相高速计数器(C251~C255)。A相和B相信号决定计数器是增计数还是减计数。当A相为“ON”时,B相由“OFF”到“ON”,则为增计数;当A相为“ON”时,若B相由“ON”到“OFF”,则为减计数。
注意:高速计数器的计数频率较高,它们的输入信号的频率受两方面的限制。一是全部高速计数器的处理时间。因它们采用中断方式,所以计数器用的越少,则可计数频率就越高;二是输入端的响应速度,其中X0、X2、X3最高频率为10kHz,X1、X4、X5最高频率为7 kHz。
(7)数据寄存器(D)PLC在进行输入/输出处理、模拟量控制、位置控制时,需要许多数据寄存器存储数据和参数。数据寄存器为16位,最高位为符号位。可用两个数据寄存器来存储32位数据,最高位仍为符号位。数据寄存器有以下几种类型:
1)通用数据寄存器(D0~D199)。共200点。当M8033为“ON”时,D0~D199有断电保护功能;当M8033为“OFF”时,则它们无断电保护,在这种情况下PLC由“RUN”→“STOP”,或停电时,数据全部清零。
2)断电保持数据寄存器(D200~D7999)。共7800点,其中D200~D511(共12点)有断电保持功能,可以利用外部设备的参数设定改变通用数据寄存器与有断电保持功能数据寄存器的分配;D490~D509供通信用;D512~D7999的断电保持功能不能用软件改变,但可用指令清除它们的内容。根据参数设定可以将D1000以上作为文件寄存器。
3)特殊数据寄存器(D8000~D8255)。共256点。特殊数据寄存器的作用是用来监控PLC的运行状态。如扫描时间、电池电压等。未加定义的特殊数据寄存器,用户不能使用。具体可参见用户手册。
4)变址寄存器(V/Z)。FX2N系列PLC有V0~V7和Z0~Z7共16个变址寄存器,它们都是16位的寄存器。变址寄存器V/Z实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器,用于改变元件的编号(变址),例如V0=5,则执行D20V0时,被执行的编号为D25(D20+5)。变址寄存器可以像其他数据寄存器一样进行读写,需要进行32位操作时,可将V、Z串联使用(Z为低位,V为高位),如图1-8所示。
图1-8 变址寄存器应用实例
(8)指针(P、I)在FX系列中,指针用来指示分支指令的跳转目标和中断程序的入口标号。分为分支用指针、输入中断指针及定时中断指针和记数中断指针。
1)分支用指针(P0~P127)。FX2N有P0~P127共128点分支用指针。分支指针用来指示跳转指令(CJ)的跳转目标或子程序调用指令(CALL)调用子程序的入口地址。
2)中断指针(I0□□~I8□□)。
中断指针是用来指示某一中断程序的入口位置。执行中断后遇到IRET(中断返回)指令,则返回主程序。中断用指针有以下三种类型:
①输入中断用指针(I00□~I50□)。共6点。它是用来指示由特定输入端的输入信号而产生中断的中断服务程序的入口位置,这类中断不受PLC扫描周期的影响,可以及时处理外界信息。输入中断用指针的编号格式如下:
例如:I101为当输入X1从“OFF→ON”变化时,执行以I101为标号后面的中断程序,并根据IRET指令返回。
②定时器中断用指针(I6□□~I8□□)。共3点。它是用来指示周期定时中断的中断服务程序的入口位置,这类中断的作用是PLC以指定的周期定时执行中断服务程序,定时循环处理某些任务。处理的时间也不受PLC扫描周期的限制。□□表示定时范围,可在10~99ms中选取。
③计数器中断用指针(I010~I060)。共6点。它用在PLC内置的高速计数器中。根据高速计数器的计数当前值与计数设定值之关系确定是否执行中断服务程序。它常用于利用高速计数器优先处理计数结果的场合。
(9)常数(K、H)K是表示十进制整数的符号,主要用来指定定时器或计数器的设定值及应用功能指令操作数中的数值。H是表示十六进制数,主要用来表示应用功能指令的操作数值。例如20用十进制表示为K20,用十六进制则表示为H14。
FX2N系列PLC有基本逻辑指令27条、步进指令2条、功能指令100多条,其中包含了有些子系列PLC的20条基本逻辑指令。
第一部分:逻辑指令27条
(1)取指令与输出指令(LD/LDI/LDP/LDF/OUT)
1)LD(取指令)。一个常开触点与左母线连接的指令,每一个以常开触点开始的逻辑行都用此指令。
2)LDI(取反指令)。一个常闭触点与左母线连接指令,每一个以常闭触点开始的逻辑行都用此指令。
3)LDP(取上升沿指令)。与左母线连接的常开触点的上升沿检测指令,仅在指定位元件的上升沿(由“OFF→ON”)时接通一个扫描周期。
4)LDF(取下降沿指令)。与左母线连接的常闭触点的下降沿检测指令。
5)OUT(输出指令)。对线圈进行驱动的指令,也称为输出指令。
取指令与输出指令的使用说明:
①LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现块逻辑运算。
②LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通。
③LD、LDI、LDP、LDF指令的目标元件为X、Y、M、T、C、S。
④OUT指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在OUT指令之后应设置常数K或数据寄存器。
⑤OUT指令目标元件为Y、M、T、C和S,但不能用于X。
(2)触点串联指令(AND/ANI/ANDP/ANDF)
1)AND(与指令)。一个常开触点串联连接指令,完成逻辑“与”运算。
2)ANI(与反指令)。一个常闭触点串联连接指令,完成逻辑“与非”运算。
3)ANDP。上升沿检测串联连接指令。
4)ANDF。下降沿检测串联连接指令。
触点串联指令的使用说明:
①AND、ANI、ANDP、ANDF都是指单个触点串联的指令,串联次数没有限制,可反复使用。
②AND、ANI、ANDP、ANDF的目标元件为X、Y、M、T、C和S。
(3)触点并联指令(OR/ORI/ORP/ORF)
1)OR(或指令)。用于单个常开触点的并联,实现逻辑“或”运算。
2)ORI(或非指令)。用于单个常闭触点的并联,实现逻辑“或非”运算。
3)ORP。上升沿检测并联连接指令。
4)ORF。下降沿检测并联连接指令。
触点并联指令的使用说明:
①OR、ORI、ORP、ORF指令都是指单个触点的并联,并联触点的左端接到LD、LDI、LDP或LPF处,右端与前一条指令对应触点的右端相连。触点并联指令连续使用的次数不限。(www.xing528.com)
②OR、ORI、ORP、ORF指令的目标元件为X、Y、M、T、C、S。
(4)块操作指令(ORB/ANB)
1)ORB(块或指令)。用于两个或两个以上的触点串联连接的电路之间的并联。
ORB指令的使用说明:
①几个串联电路块并联连接时,每个串联电路块开始时应该用LD或LDI指令。
②有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制。
③ORB指令也可以连续使用,但这种程序写法不推荐使用,LD或LDI指令的使用次数不得超过8次,也就是ORB只能连续使用8次以下。
2)ANB(块与指令)。用于两个或两个以上触点并联连接的电路之间的串联。
ANB指令的使用说明:
①并联电路块串联连接时,并联电路块的开始均用LD或LDI指令。
②多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下。
(5)置位与复位指令(SET/RST)
1)SET(置位指令)。它的作用是使被操作的目标元件置位并保持。
2)RST(复位指令)。使被操作的目标元件复位并保持清零状态。
SET、RST指令的使用说明:
①SET指令的目标元件为Y、M、S,RST指令的目标元件为Y、M、S、T、C、D、V、Z。RST指令常被用来对D、Z、V的内容清零,还用来复位积算定时器和计数器。
②对于同一目标元件,SET、RST可多次使用,顺序也可随意,但最后执行者有效。
(6)微分指令(PLS/PLF)
1)PLS(上升沿微分指令)。在输入信号上升沿产生一个扫描周期的脉冲输出。
2)PLF(下降沿微分指令)。在输入信号下降沿产生一个扫描周期的脉冲输出。
PLS、PLF指令的使用说明:
①PLS、PLF指令的目标元件为Y和M。
②使用PLS时,仅在驱动输入为“ON”后的一个扫描周期内目标元件为“ON”;使用PLF指令时只是利用输入信号的下降沿驱动,其他与PLS相同。
(7)主控指令(MC/MCR)
1)MC(主控指令)。用于公共串联触点的连接。执行MC后,左母线移到MC触点的后面。
2)MCR(主控复位指令)。它是MC指令的复位指令,即利用MCR指令恢复原左母线的位置。
在编程时常会出现这样的情况,多个线圈同时受一个或一组触点的控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,使用主控指令就可以解决这一问题。
MC、MCR指令的使用说明:
①MC、MCR指令的目标元件为Y和M,但不能用特殊辅助继电器。MC占3个程序步,MCR占两个程序步。
②主控触点在梯形图中与一般触点垂直,主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LD或LDI指令。
③MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的元件将复位。
④在一个MC指令区内若再使用MC指令称为嵌套。嵌套级数最多为8级,编号按N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位。
(8)堆栈指令(MPS/MRD/MPP)堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。
1)MPS(进栈指令)。将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段。
2)MRD(读栈指令)。将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。
3)MPP(出栈指令)。将栈存储器的第一段数据(最后进栈的数据)读出且该数据从栈中消失,同时将栈中其他数据依次上移。
堆栈指令的使用说明:
①堆栈指令没有目标元件。
②MPS和MPP必须配对使用。
③由于栈存储单元只有11个,所以栈的层次最多为11层。
(9)逻辑反、空操作与结束指令(INV/NOP/END)
1)INV(逻辑反指令)。执行该指令后将原来的运算结果取反。
2)NOP(空操作指令)。不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。
3)END(结束指令)。表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在调试程序时,可在程序中插入若干END指令,将程序划分成若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。
第二部分:步进指令
(1)步进指令(STL/RET) 步进指令是专为顺序控制而设计的指令。在工业控制领域里,许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读、修改。
FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。
STL和RET指令只有与状态器S配合才能具有步进功能。如STL S200表示状态常开触点,称为STL触点,它在梯形图中的符号为,它没有常闭触点。我们用每个状态器S记录一个工步,例STL S200有效(为“ON”),则进入S200表示的一步(类似于本步的总开关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为“ON”,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。
(2)状态转移图 一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。
状态转移图中的每一步包含3个内容:本步驱动的内容、转移条件及指令的转换目标。
步进指令的使用说明:
1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动步。
2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线。
3)STL触点可直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈。
4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺控程序在不同的步可多次驱动同一线圈)。
5)STL触点驱动的电路块中不能使用MC和MCR指令,但可以用CJ指令。
6)在中断程序和子程序内,不能使用STL指令。
第三部分:功能指令
本章以FX2N为例,介绍功能指令的应用。
(1)功能指令分类表
功能指令分类表见表1-10。
表1-10 功能指令分类表
(2)功能指令的基本规则
1)功能指令的表示形式(见图1-9)。
图1-9 功能指令示例
[S.]叫做源操作数,其内容不随指令执行而变化,在可利用变址修改软元件的情况下,用加“.”符号的[S.]表示,源的数量多时,用[S1.]、[S2.]等表示。
[D.]叫做目标操作数,其内容随指令执行而改变,如果需要变址操作时,用加“.”符号的[D.]表示,目标的数量多时,用[D1.]、[D2.]等表示。
[n.]叫做其他操作数,既不作源操作数,又不作目标操作数,常用来表示常数或者作为源操作数或目标操作数的补充说明。可用十进制的K、十六进制的H和数据寄存器D来表示。在需要表示多个这类操作数时,可用[n1]、[n2]等表示,若具有变址功能,则用加“.”符号的[n.]表示。此外其他操作数还可用[m]来表示。
2)数据长度和指令类型。
①数据长度。功能指令可处理16位数据和32位数据,如1-10所示。
图1-10 功能指令示例
②指令类型。FX系列PLC的功能指令有连续执行型和脉冲执行型两种形式。连续执行型功能指令如图1-11所示。
图1-11 连续执行型功能指令
脉冲执行型功能指令如图1-12所示。
图1-12 脉冲执行型功能指令
3)操作数。操作数按功能分为源操作数、目标操作数和其他操作数;按组成形式分为位元件、字元件和常数。
①软元件
位软元件:只处理开关(“ON/OFF”)信息的元件,如X、Y、M、S;
字软元件:处理数据的元件,如D。
②位软元件的组合
位软元件组合表示数据:4个位元件一组,代表4位BCD码,也表示1位十进制数;用KnMm表示,K为十进制,n为十进制位数,也是位元件的组数,M为位元件,m为位元件的首地址。
(3)功能指令介绍
1)程序流程指令。程序流程指令是与程序流程控制相关的指令,程序流程指令见表1-11。
表1-11程序流程指令
2)传送与比较指令。传送与比较指令见表1-12。
表1-12 传送与比较指令
3)算术与逻辑运算指令。算术与逻辑运算指令包括算术运算和逻辑运算,共有10条指令,见表1-13。
表1-13 算术与逻辑运算指令
4)循环与移位指令。循环与移位指令是使字数据、位组合的字数据向指定方向循环、移位的指令,见表1-14。
表1-14循环与移位指令
5)数据处理指令。数据处理指令是可以进行复杂的数据处理和实现特殊用途的指令,见表1-15。
表1-15 数据处理指令
6)高速处理指令。高速处理指令能充分利用PLC的高速处理能力进行中断处理,达到利用最新的输入/输出信息进行控制。高速处理指令见表1-16。
表1-16 高速处理指令
7)方便指令。方便指令是利用最简单的指令完成较为复杂的控制指令,见表1-17。
表1-17 方便指令
8)外部设备I/O指令(见表1-18)。
表1-18 外部设备I/O指令
9)外部设备SER指令。在本小节中仅介绍RS、ASCI、HEX、CCD、PID指令。外部设备SER指令见表1-19。
表1-19 外部设备SER指令
10)触点比较指令。它使用LD、AND、OR与关系运算符组合而成,是通过对两个数值的关系运算来实现触点通和断的指令,总共有18个,见表1-20。
表1-20 触点比较指令
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。