第3章 了解三菱系列PLC的主要软件资源
3.1 FX系列PLC的软件资源
3.1.1 FX系列PLC的编程元件说明
3.1.1.1 编程元件总览
PLC用于工业控制,其实质是用程序表达控制过程中事物和事物之间的逻辑或控制关系。就程序而言,这种关系和控制过程必须借助于PLC内部器件来表达,这就要求在PLC内部必须设置具有各种各样功能的、能够方便地代表控制过程中各种事物的元器件。这就是编程元件。
FX系列PLC根据使用的CPU不同,所适用的编程元件也有所差异,参见表3-1。
表3-1 编程元件一览表
3.1.1.2 编程元件说明
(1)继电器类
①输入继电器(X) PLC输入接口的一个接线点对应一个输入继电器。输入继电器是接收外部信号的窗口,在梯形图和指令表中都不能看到和使用输入继电器的线圈,只能看到和使用其常开或常闭触点,并可以无限制地使用,程序中用字母X表。
②输出继电器(Y) PLC输出接口的一个接线点对应一个输出继电器,用字母Y表示。输出继电器是唯一具有外部输出触点的继电器。输出继电器可以通过外部接点接通该输出口上连接的负载或执行元件。输出继电器的内部常开、常闭触点可以作为其他元件的工作条件,并可以无限制地使用。
③内部继电器(M) 内部继电器是编写程序过程中的辅助元件,用字母M表示。这类元件的线圈与输出继电器的线圈一样,由PLC内的各种编程元件的触点驱动,在程序中,内部继电器的常开和常闭触点可无限使用,但是不能直接连接外部负载。内部继电器可分为一般用途、停电保持用和特殊功能用三类。
一般用途的内部继电器也就是人们常说的通用型内部继电器,它用于逻辑运算的中间状态存储及信号类型的变换,相当于继电器控制中的中间继电器。
停电保持用的内部继电器具有停电保持的功能,它利用PLC内装的备用电池或EEPROM进行停电保持,当停电后重新运行时,能再现停电前的状态。
特殊功能用途的内部继电器是指具有特定功能的内部继电器,根据使用方式可以分为只读和可读写可驱动线圈型特殊内部继电器两类。前者为状态标志或专用控制元件,如M8000,运行监控;M8002,初始脉冲;M8011,10ms时钟脉冲等。后者在用户驱动线圈后,PLC可进行特定的动作,如M8030,使电池LED灯熄灭;M8033,PLC停止时输出保持;M8036,强制运行等。PLC的特殊内部继电器的含义及用法详见三菱公司《FX1S、FX1N、FX2N、FX3UC编程手册》。
④状态继电器(S) 状态继电器是用于步进梯形图的编程元件,用字母S表示。状态继电器经常与步进梯形图指令STL结合使用,状态继电器和内部继电器一样,常开触点和常闭触点在程序中可以无限次使用。在一般的PLC程序中,状态继电器也可以与内部继电器一样使用。
(2)定时计数类
①定时器(T) 定时器是定时指令的基本编程元件,它相当于继电器控制电路中的时间继电器,它由一个设定值寄存器(字)、一个当前值寄存器(字)和无数个触点(位)组成。
在程序编写过程中,常用常数K或数据寄存器(D)的内容作为设置值。在PLC内部,常用的定时单位有1ms、10ms和100ms三种,此三种定时器的具体分配根据PLC的型号不同有所区别,见表3-1。
当定时器的线圈被驱动,定时器以增计数方式对PLC内的时钟脉冲进行累积计时,若当前值寄存器内的累积值和设置值寄存器中设置的预定值相等,则定时器触点动作;当执行条件不满足,定时器线圈失电时,其触点断开。
在图3-1中,如果T200的驱动条件X22为ON,并持续到T200的当前值与设置相等时,T200动作,并将Y1置“1”;当X22断开时,Y1也断开。
图3-1 一般性定时器说明
在常用的定时器中,定时值不可以累积。在FX系列PLC中,还有一种定时值可以累积的定时器,其特点是当执行条件满足的时间达不到定时器设置值时断开,当前定时器可保留。应用实例如图3-2所示。
图3-2 累积型定时器应用实例
在图3-2(a)中,如果T250的驱动条件X22为ON,当定时器值与设置值相等时,T250动作,并将Y1置“1”。在图3-2(b)中,如果定时过程中X22断开或PLC停电时,在下次X22重新ON时,当前计时值继续增加,直到定时时间到。累积型定时器要通过其他触点,如X21执行定时器复位操作进行复位。
②一般计数器(C) 计数器用于对PLC内部编程元件的信号进行计数,当计数值达到设定值时,其触点动作。一般计数器可分为16位增计数器和32位增/减计数器两类。
16位增计数器的计数设定范围为1~32767(十进制常数),其设定值可由常数K或数据寄存器进行设定。16位增计数器共有200点,其中C00~C99为普通型,C100~C199为停电保持型。当计数过程中出现停电时,普通型计数器的计数值被清除,计数器触点复位,而停电保持型计数器的计数值和触点的状态都被保持。当PLC重新接通电源时,停电保持型计数器的计数值从停电前的计数值开始累加。
如图3-3所示,当X0断开时,计数输入X1每接通一次,计数器C0就计一次数,其计数当前值增加1,当计数当前值等于设定值5时,其触点动作,之后即使X1再接通,计数器C0的当前值也不会改变。而当X0接通时,计数器C0复位,输出触点也立即复位。
图3-3 一般计数指令说明
32位计数器的计数设定范围为-2147483648~+2147483647(十进制常数),其设定值可由常数K或数据寄存器进行设定。普通型32位计数器共有20点,其地址为C200~C219。停电保持型32位计数器有15点,其地址编号为C220~C234。32位计数器可以有增、减两种计数方式,并用特殊内部继电器M8200~M8234控制,当M82**(**表示00~34的数)为ON时,对应的计数器C2**按减计数方式计数;当M82**为OFF时,对应的计数器C2**按增计数方式计数。当32位计数器的计数当前值增计数等于设定值时,其触点动作并保持;当计数当前值减计数等于设定值时则复位。
如图3-4所示,在C200计数前用X0短脉冲信号先对C200进行复位,然后X0断开,C200便可开始计数。当X2断开时,M8200为OFF,C200为增计数,输入X1每接通一次,计数器C200就增计一次数,其计数当前值增加1;当计数当前值等于5时,X2闭合,M8200为ON,C200变为减计数,输入X1每接通一次,计数器C200就减计一次数,其计数当前值就减少1;当计数当前值减少到-7时,X2断开时,M8200为OFF,C200又变为增计数,输入X1每接通一次,计数器C200就增计一次数,其计数当前值增加1;当计数当前值等于设定值-5时,计数器C200的触点动作,Y0接通;之后即使X1再接通.计数器C200的当前值也不会发生改变。而当X0接通时或当减计数当前值等于设定值-5时,计数器C200复位,输出触点也立即复位。
图3-4 32位增/减计数指令说明
③内置高速计数器 一般计数器不但可以对来自输入端的信号进行计数,而且可以对PLC内部其他元件Y、M、S、T、C的触点信号进行计数。但高速计数器只能对输入端的信号进行计数,而且输入信号的开关频率可以高达几千赫兹。此外,高速计数器还可用输入端直接进行复位或置位。
高速计数器均为32位双向计数器,其增/减计数方式由指定的特殊内部继电器或由指定的输入端进行选择。
在FX系列PLC中,高速计数器的编号为C235~C255共21点,但只能使用其中的8点。高速计数器根据不同的增/减计数切换方式,可分为单相单计数输入、单相双计数输入、双相双计数输入三类。其具体分类以及计数器本身与PLC输入端子之间的约定见表3-2。
表3-2 高速计数器的分类
注:U—增计数输入;D—减计数输入;A—A相输入;B—B相输入;R—复位输入;S—启动输入。
表中,X6、X7也是高速输入,但只能用作启动信号而不能用于高速计数。单相单计数输入、单相双计数输入、双相双计数输入三类计数器的使用实例如图3-5所示。
图3-5 三类计数器的使用实例
在图3-5(a)中,C235在X22为ON时,对输入X0的断开→接通进行计数,但当X21接通时,执行RST指令复位。X20用于指定计数方向,当X20为ON时为减计数方式,当X20为OFF时为增计数方式。
在图3-5(b)中,C246在X22为ON时,通过输入X0的断开→接通执行增计数,通过输入X1的断开→接通执行减计数,但当X21接通时,执行RST指令复位。
在图3-5(c)中,当X22为ON时,C251通过中断,对输入X0(A相)、X1(B相)的动作计数;当X21为ON时,执行RST指令复位;如果当前值超过设定值,则Y1为ON,反之Y1为OFF;通过Y2的状态可选择计数的增/减方式。
(3)寄存器类
①数据寄存器(D) 数据寄存器是用来存储数值数据的编程元件,用字母D表示。如D0表示一个16位的数据寄存据,其中最高位表示正负符号,一个16位的数据寄存器处理的数值范围为-32768~+32767。将两个相邻数据寄存器组合,可存储32位的数值数据。当指定32位数据寄存器时,则高位为随后的编号。在程序中可以利用数据寄存器设定定时器与计数器的值,也可以用它来改变计数器的当前值,参见表3-3。数据寄存器通常可以分为一般用途、停电保持用和特殊用途三类。
表3-3 数据寄存器赋值表
②文件寄存器 文件寄存器是一种专用的数据寄存器,主要用于存储大容量的数据。其数量由CPU的监控软件决定,但可以通过扩充存储卡的方法加以扩充。在使用过程中,可以通过FNC15(BMOV)指令将文件寄存器中的数据读到通用数据寄存器中。
③变址寄存器(V、Z) 变址寄存器与普通的数据寄存器相同,也是用来进行数值数据的读入、写出的16位数据寄存器,用字母V和Z表示。这种变址寄存器除了和普通的数据寄存器有相同的功用外,在应用指令中,还可以与其他的编程元件或数值组合使用,并实现改变编程元件或数值内容的目的。此外,也可以用变址寄存器来变更常数值。
例如:V0=K5,当执行D20V0时,被执行的编程元件编号为D25。
V0=K5,当执行K30V0时,被执行的数值为K35。
(4)嵌套指针类
①嵌套级(N) 嵌套级是用来指定嵌套的级数的编程元件,用字母N表示。该指令与主控指令MC和MCR配合使用,在FX系列PLC中,该指令的使用范围为N0~N7。
②指针(P、I) 指针与应用指令一起使用,可用来改变程序运行流向,它可分为分支用指针和中断用指针两类。分支用指针用字母P表示,根据PLC型号的不同,可使用的点数有所不同,在FX系列PLC中,P63规定用于程序结束跳转,指针常与指令FNC00(CJ)、FNC01(CALL)、END等配合使用。
中断用指针用字母I表示,根据PLC型号的不同,可用的点数有所不同。中断用指针根据功能可以分为输入中断用、定时器中断用和计数器中断用三种类型,分别用于输入信号、定时器和计数器信号的中断。
(5)常数(K、H、E)
常数是程序进行数值处理时必不可少的编程元件,分别用字母K、H和E表示。其中K表示10进制整数,可用于指定定时器或计数器的设定值或应用指令操作数中的数值;H是16进制数的表示符号,主要用于指定应用指令的操作数的数值。
实数E常在FX3U系列PLC中使用,主要用于指定应用数的操作数的数值,实数的指定范围为-1.0×2128~-1.0×2-128,0,1.0×2128~1.0×2-128。在PLC程序中,实数可以指定“普通表示”和“指数表示”两种。普通表示时就将设定的数值直接表示,如10.1234表示为E10.1234。指数表示时设定的数值以(数值)×10n指定,如1234以E1.234×103来指定。