PLC是在继电器控制电路基础上发展起来的,继电器控制电路中包含有时间继电器、中间继电器等,而PLC内部也有类似的器件,由于这些器件以软件形式存在,故称为软元件。 PLC程序由指令和软元件组成,指令的功能是发出命令,软元件是指令的执行对象, 比如,SET为置1指令,Y000是PLC的一种软元件(输出继电器),“SET Y000”就是命令PLC的输出继电器Y000的状态变为1。由此可见,编写PLC程序必须要了解PLC的指令和软元件。
PLC的软元件很多,主要有输入继电器、输出继电器、辅助继电器、定时器、计数器、数据寄存器和常数等。三菱FX系列PLC分很多子系列,越高档的子系列,其支持指令和软元件数量越多。
1.输入继电器 (X)
输入继电器用于接收PLC输入端子送入的外部开关信号,它与PLC的输入端子有关联,其表示符号为X,按八进制方式编号,输入继电器与外部对应的输入端子编号是相同的。三菱FX 3U -48M型PLC外部有24个输入端子,其编号为X000~X007、X010~X017、X020~X027,内部有24个相同编号的输入继电器来接收端子输入的开关信号。
一个输入继电器可以有无数个编号相同的常闭触点和常开触点, 当某个输入端子(如X000)外接开关闭合时,PLC内部相同编号输入继电器(X000)状态变为ON,那么程序中相同编号的常开触点处于闭合,常闭触点处于断开。
2.输出继电器 (Y)
输出继电器(常称输出线圈)用于将PLC内部开关信号送出,它与PLC输出端子有关联, 其表示符号为Y,也按八进制方式编号,输出继电器与外部对应的输出端子编号是相同的。三菱FX 3U -48M型PLC外部有24个输出端子,其编号为Y000~Y007、Y010~Y017、Y020~Y027,相应内部有24个相同编号的输出继电器,这些输出继电器的状态由相同编号的外部输出端子送出。
一个输出继电器只有一个与输出端子关联的硬件常开触点(又称物理触点),但在编程时可使用无数个编号相同的软件常开触点和常闭触点。 当某个输出继电器(如Y000)状态为ON时,它除了会使相同编号的输出端子内部的硬件常开触点闭合外,还会使程序中的相同编号的软件常开触点闭合、常闭触点断开。
三菱FX系列PLC支持的输入继电器、输出继电器如下:
辅助继电器是PLC内部继电器,它与输入、输出继电器不同,不能接收输入端子送来的信号,也不能驱动输出端子。辅助继电器表示符号为M,按十进制方式编号,如M0~M499、M500~M1023等。一个辅助继电器可以有无数个编号相同的常闭触点和常开触点。
辅助继电器分为四类:一般型、停电保持型、停电保持专用型和特殊用途型。 三菱FX系列PLC支持的辅助继电器如下:
1.一般型辅助继电器
一般型(又称通用型)辅助继电器在PLC运行时,如果电源突然停电,则全部线圈状态均变为OFF。 当电源再次接通时,除了因其他信号而变为ON的以外,其余线圈仍将保持OFF状态,它们没有停电保持功能。
三菱FX 3U 系列PLC的一般型辅助继电器点数默认为M0~M499,也可以用编程软件将一般型设为停电保持型, 设置方法如图2-20所示,在三菱PLC编程软件GX Developer的工程列表区双击参数项中的“PLC参数”,弹出参数设置对话框,切换到“软元件”选项卡,从辅助继电器一栏可以看出,系统默认M500(起始)~M1023(结束)范围内的辅助继电器具有锁存(停电保持)功能,如果将起始值改为550,结束值仍为1023,那么M0~M550范围内的都是一般型辅助继电器。
从图2-20中不难看出,不但可以设置辅助继电器停电保持点数,还可以设置状态继电器、定时器、计数器和数据寄存器的停电保持点数,编程时选择的PLC类型不同,该对话框的内容有所不同。
图2-20软元件停电保持(锁存)点数设置
2.停电保持型辅助继电器
停电保持型辅助继电器与一般型辅助继电器的区别主要在于,前者具有停电保持功能,即能记忆停电前的状态,并在重新通电后保持停电前的状态。FX 3U 系列PLC的停电保持型辅助继电器可分为停电保持型(M500~M1023)和停电保持专用型(M1024~M7679),停电保持专用型辅助继电器无法设成一般型。
下面以图2-21来说明一般型和停电保持型辅助继电器的区别。
图2-21一般型和停电保持型辅助继电器的区别说明
图2-21a程序采用了一般型辅助继电器,在通电时,如果X000常开触点闭合,辅助继电器M0状态变为ON(或称M0线圈得电),M0常开触点闭合,在X000触点断开后锁住M0继电器的状态值,如果PLC出现停电,M0继电器状态值变为OFF,在PLC重新恢复供电时,M0继电器状态仍为OFF,M0常开触点处于断开。
图2-21b程序采用了停电保持型辅助继电器,在通电时,如果X000常开触点闭合,辅助继电器M600状态变为ON,M600常开触点闭合,如果PLC出现停电,M600继电器状态值保持为ON,在PLC重新恢复供电时,M600继电器状态仍为ON,M600常开触点仍处于闭合。若重新供电时X001触点处于开路,则M600继电器状态为OFF。
3.特殊用途型辅助继电器
FX 3U 系列中有512个特殊辅助继电器,可分成触点型和线圈型两大类。
(1)触点型特殊用途辅助继电器
触点型特殊用途辅助继电器的线圈由PLC自动驱动,用户只可使用其触点,即在编写程序时,只能使用这种继电器的触点,不能使用其线圈。 常用的触点型特殊用途辅助继电器如下:
M8000:运行监视a触点(常开触点)。在PLC运行中,M8000触点始终处于接通状态,M8001为运行监视b触点(常闭触点),它与M8000触点逻辑相反,在PLC运行时,M8001触点始终断开。
M8002:初始脉冲a触点。该触点仅在PLC运行开始的一个扫描周期内接通,以后周期断开,M8003为初始脉冲b触点,它与M8002逻辑相反。
M8011、M8012、M8013和M8014分别是产生10ms、100ms、1s和1min时钟脉冲的特殊辅助继电器触点。
M8000、M8002、M8012的时序关系如图2-22所示。
图2-22M8000、M8002、M8012的时序关系图
(2)线圈型特殊用途辅助继电器
线圈型特殊用途辅助继电器由用户程序驱动其线圈,使PLC执行特定的动作。 常用的线圈型特殊用途辅助继电器如下:
M8030:电池LED熄灯。当M8030线圈得电(M8030继电器状态为ON)时,电池电压降低,发光二极管熄灭。
M8033:存储器保持停止。若M8033线圈得电(M8033继电器状态值为ON),在PLC由RUN→STOP时,输出映像存储器(即输出继电器)和数据寄存器的内容仍保持RUN状态时的值。
M8034:所有输出禁止。若M8034线圈得电(即M8034继电器状态为ON),PLC的输出全部禁止。M8034使用如图2-23所示。
M8039:恒定扫描模式。若M8039线圈得电(即M8039继电器状态为ON),PLC按数据寄存器D8039中指定的扫描时间工作。
更多特殊用途型辅助继电器的功能可查阅三菱FX系列PLC的编程手册。
图2-23线圈型特殊用途辅助继电器的使用举例
状态继电器是编制步进程序的重要软元件,与辅助继电器一样,可以有无数个常开触点和常闭触点, 其表示符号为S,按十进制方式编号,如S0~S9、S10~S19、S20~S499等。
状态器继电器可分为初始状态型、一般型和报警用途型。 对于未在步进程序中使用的状态继电器,可以当成辅助继电器使用,如图2-24所示。状态器继电器主要用在步进顺序程序中。
图2-24未使用的状态继电器可以当成辅助继电器使用
三菱FX系列PLC支持的状态继电器如下:
定时器又称计时器,是用于计算时间的继电器,它可以有无数个常开触点和常闭触点,其定时单位有1ms、10ms、100ms三种。定时器表示符号为T,编号也按十进制,定时器分为普通型定时器(又称一般型)和停电保持型定时器(又称累计型或积算型定时器)。
三菱FX系列PLC支持的定时器如下:
普通型定时器和停电保持型定时器的区别说明如图2-25所示。
图2-25普通型定时器和停电保持型定时器的区别说明
图2-25a梯形图中的定时器T0为100ms普通型定时器,其设定计时值为123(123×0.1s=12.3s)。当X000触点闭合时,T0定时器输入为ON,开始计时,如果当前计时值未到123时,T0定时器输入变为OFF(X000触点断开),定时器T0马上停止计时,并且当前计时值复位为0,当X000触点再闭合时,T0定时器重新开始计时,当计时值到达123时,定时器T0的状态值变为ON,T0常开触点闭合,Y000线圈得电。普通型定时器的计时值到达设定值时,如果其输入仍为ON,定时器的计时值保持设定值不变,当输入变为OFF时,其状态值变为OFF,同时当前计时变为0。
图2-25b所示梯形图中的定时器T250为100ms停电保持型定时器,其设定计时值为123(123×0.1s=12.3s)。当X000触点闭合时,T250定时器开始计时,如果当前计时值未到123时出现X000触点断开或PLC断电,定时器T250停止计时,但当前计时值保持,当X000触点再闭合或PLC恢复供电时,定时器T250在先前保持的计时值基础上继续计时,直到累积计时值到达123时,定时器T250的状态值变为ON,T250常开触点闭合,Y000线圈得电。停电保持型定时器的计时值到达设定值时,不管其输入是否为ON,其状态值仍保持为ON,当前计时值也保持设定值不变,直到用RST指令对其进行复位,状态值才变为OFF,当前计时值才复位为0。
计数器是一种具有计数功能的继电器,它可以有无数个常开触点和常闭触点。计数器可分为加计数器和加/减双向计数器。计数器表示符号为C,编号按十进制方式,计数器可分为普通型计数器和停电保持型计数器。
三菱FX系列PLC支持的计数器如下:
1.加计数器的使用
加计数器的使用如图2-26所示,C0是一个普通型的16位加计数器。当X010触点闭合时,RST指令将C0计数器复位(状态值变为OFF,当前计数值变为0),X010触点断开后,X011触点每闭合断开一次(产生一个脉冲),计数器C0的当前计数值就递增1,X011触点第10次闭合时,C0计数器的当前计数值达到设定计数值10,其状态值马上变为ON,C0常开触点闭合,Y000线圈得电。当计数器的计数值达到设定值后,即使再输入脉冲,其状态值和当前计数值都保持不变,直到用RST指令将计数器复位。
图2-26加计数器的使用说明
停电保持型计数器的使用方法与普通型计数器基本相似,两者的区别主要在于:普通型计数器在PLC停电时状态值和当前计数值会被复位,上电后重新开始计数,而停电保持型计数器在PLC停电时会保持停电前的状态值和计数值,上电后会在先前保持的计数值基础上继续计数。
2.加/减计数器的使用
三菱FX系列PLC的C200~C234为加/减计数器,这些计数器既可以进行加计数,也可以进行减计数,进行何种计数方式分别受特殊辅助继电器M8200~M8234控制。 比如C200计数器的计数方式受M8200辅助继电器控制,M8200=1(M8200状态为ON)时,C200计数器进行减计数,M8200=0时,C200计数器进行加计数。
加/减计数器在计数值达到设定值后,如果仍有脉冲输入,其计数值会继续增加或减少,在加计数达到最大值2147483647时,再来一个脉冲,计数值会变为最小值-2147483648,在减计数达到最小值-2147483648时,再来一个脉冲,计数值会变为最大值2147483647,所以加/减计数器是环形计数器。 在计数时,不管加/减计数器进行的是加计数或是减计数,只要其当前计数值小于设定计数值,计数器的状态就为OFF;若当前计数值大于或等于设定计数值,计数器的状态为ON。
加/减计数器的使用如图2-27所示。
图2-27加/减计数器的使用说明
当X012触点闭合时,M8200继电器状态为ON,C200计数器工作方式为减计数,X012触点断开时,M8200继电器状态为OFF,C200计数器工作方式为加计数。当X013触点闭合时,RST指令对C200计数器进行复位,其状态变为OFF,当前计数值也变为0。
C200计数器复位后,将X013触点断开,X014触点每通断一次(产生一个脉冲),C200计数器的计数值就加1或减1。在进行加计数时,当C200计数器的当前计数值达到设定值时,其状态变为ON;在进行减计数时,当C200计数器的当前计数值减到小于设定值时,其状态变为OFF。
3.计数值的设定方式
计数器的计数值可以直接用常数设定(直接设定),也可以将数据寄存器中的数值设为计数值(间接设定)。 计数器的计数值设定如图2-28所示。
16位计数器的计数值设定如图2-28a所示,C0计数器的计数值采用直接设定方式,直接将常数6设为计数值,C1计数器的计数值采用间接设定方式,先用MOV指令将常数10传送到数据寄存器D5中,然后将D5中的值指定为计数值。
32位计数器的计数值设定如图2-28b所示,C200计数器的计数值采用直接设定方式,直接将常数43210设为计数值,C201计数器的计数值采用间接设定方式,由于计数值为32位,故需要先用DMOV指令(32位数据传送指令)将常数68000传送到2个16位数据寄存器D6、D5(两个)中,然后将D6、D5中的值指定为计数值,在编程时只需输入低编号数据寄存器,相邻高编号数据寄存器会自动占用。
图2-28计数器的计数值设定
数据寄存器是用来存放数据的软元件,其表示符号为D,按十进制编号。一个数据寄存器可以存放16位二进制数,其最高位为符号位(符号位:0表示正数,1表示负数),一个数据寄存器可存放-32768~+32767范围的数据。 16位数据寄存器的结构如下:
两个相邻的数据寄存器组合起来可以构成一个32位数据寄存器,能存放32位二进制数,其最高位为符号位(0表示正数;1表示负数),两个数据寄存器组合构成的32位数据寄存器可存放-2147483648~+2147483647范围的数据。 32位数据寄存器的结构如下:
三菱FX系列PLC的数据寄存器可分为一般型、停电保持型、文件型和特殊型数据寄存器。 三菱FX系列PLC支持的数据寄存器点数如下:
(1)一般型数据寄存器
当PLC从RUN模式进入STOP模式时,所有一般型数据寄存器的数据全部清0,如果特殊辅助继电器M8033为ON,则PLC从RUN模式进入STOP模式时,一般型数据寄存器的值保持不变。程序中未用的定时器和计数器可以作为数据寄存器使用。
(2)停电保持型数据寄存器
停电保持型数据寄存器具有停电保持功能,当PLC从RUN模式进入STOP模式时,停电保持型寄存器的值保持不变。在编程软件中可以设置停电保持型数据寄存器的范围。
(3)文件型数据寄存器
文件寄存器用来设置具有相同软元件编号的数据寄存器的初始值。PLC上电时和由STOP转换至RUN模式时,文件寄存器中的数据被传送到系统的RAM的数据寄存器区。
(4)特殊型数据寄存器
特殊型数据寄存器的作用是用来控制和监视PLC内部的各种工作方式和软元件,如扫描时间、电池电压等。在PLC上电和由STOP转换至RUN模式时,这些数据寄存器会被写入默认值。更多特殊型数据寄存器的功能可查阅三菱FX系列PLC的编程手册。
扩展寄存器和扩展文件寄存器是扩展数据寄存器的软元件,只有FX 3GA 、FX 3G 、FX 3GE 、FX 3GC 、FX 3U 和FX 3UC 系列PLC才有这两种寄存器。
对于FX 3GA 、FX 3G 、FX 3GE 、FX 3GC 系列PLC,扩展寄存器有R0~R23999共24000个(位于内置RAM中),扩展文件寄存器有ER0~ER23999共24000个(位于内置EEPROM或安装存储盒的EEPROM中)。
对于FX 3U 、FX 3UC 系列PLC,扩展寄存器有R0~R32767共32768个(位于内置电池保持的RAM区域),扩展文件寄存器有ER0~ER32767共32768个(位于安装存储盒的EEPROM中)。
扩展寄存器、扩展文件寄存器与数据寄存器一样,都是16位,相邻的两个寄存器可组成32位。扩展寄存器可用普通指令访问,扩展文件寄存器需要用专用指令访问。
三菱FX系列PLC有V0~V7和Z0~Z7共16个变址寄存器,它们都是16位寄存器。 变址寄存器V、Z实际上是一种特殊用途的数据寄存器,其作用是改变元件的编号(变址), 例如V0=5,若执行D20V0,则实际被执行的元件为D25(D20+5)。变址寄存器可以像其他数据寄存器一样进行读写,需要进行32位操作时,可将V、Z串联使用(Z为低位,V为高位)。
三菱FX系列PLC的常数主要有三种类型:十进制常数、十六进制常数和实数常数。
十进制常数表示符号为K,如K234表示十进制数234,数值范围为-32768~+32767(16位),-2147483648~+2147483647(32位)。
十六进制常数表示符号为H,如H2C4表示十六进制数2C4,数值范围为H0~HFFFF(16位),H0~HFFFFFFFF(32位)。
实数常数表示符号为E,如E1.234、E1.234+2分别表示实数1.234和1.234×10 2 ,数值范围为-1.0×2 128 ~-1.0×2 -126 、0、1.0×2 -126 ~1.0×2 128 。