1.4 PLC的编程元件
1.4.1 PLC的型号
三菱PLC典型的有两大类型:FX系列和Q系列。
(1)三菱PLC发展历程
①1980~1990年:三菱PLC主要有F/F1/F2系列小型PLC,K/A系列中、大型PLC。
②1990~2000年:三菱PLC主要分为FX系列小型PLC,A系列(A2S/A2US/Q2A)中大型PLC。
③2000年以后:三菱PLC主要分为FX系列小型PLC,Q系列(Qn/QnPH)中大型PLC。
(2)FX系列PLC
①型号 在PLC的正面,一般都有表示该PLC型号的铭牌,通过阅读该铭牌即可以获得该PLC的基本信息。FX系列PLC的型号命名基本格式与含义如下。
序列号:0、0S、0N、2、2C、1S、2N、2NC、3U、3UC等。
I/O总点数:10~256。
单元类型:M——基本单元;E—输入输出混合扩展单元及扩展模块;
EX——输入专用扩展模块;EY——输出专用扩展模块。
输出形式:R——继电器输出;T——晶体管输出;S——晶闸管输出。
特殊品种:D——DC电源,DC输入;A1——AC电源,AC输入;
H——大电流输出扩展模块(1A/点);V——立式端子排的扩展模块;
C——接插口输入输出方式;F——输入滤波器1ms的扩展模块;
L——TTL输入扩展模块;S——独立端子(无公共端)扩展模块。
若特殊品种一项无符号,说明通指AC电源、DC输入、横排端子排;继电器输出为2A/点;晶体管输出为0.5A/点;晶闸管输出为0.3A/点。
【例1-1】FX2N-48MRD含义为FX2N系列,输入输出总点数为48点,继电器输出,DC电源,DC输入的基本单元。
【例1-2】FX-4EYSH的含义为FX系列,输入点数为0点,输出4点,晶闸管输出,大电流输出扩展模块。
FX还有一些特殊的功能模块,如模拟量输入输出模块、通信接口模块及外围设备等,使用时可以参照FX系列PLC产品手册。
②FX系列PLC FX系列PLC包括FX1S、FX1N、FX2N、FX3U四种基本类型的PLC,早期还有FX0系列。
a.FX1S系列:整体固定I/O结构,最大I/O点数为40,I/O点数不可扩展。
b.FX1N、FX2N、FX3U系列:基本单元加扩展的结构形式,可以通过I/O扩展模块增加I/O。FX1N最大的I/O点数是128点。
c.FX2N系列:最大的I/O点数是256点。
d.FX3U系列:最大的I/O点数是384点(包括CC-Link连接的远程I/O)。
e.FX1NC/FX2NC/FX3UC系列:为变形系列,主要区别是端子的连接方式和PLC的电源输入,变形系列的端子采用的插入式,输入电源只能24V DC,较普通系列便宜。普通系列的端子是接线端子连接,电压允许使用AC电源。
FX1S系列PLC只能通过RS-232、RS-422/RS-485等标准接口与外部设备、计算机以及PLC之间通信,而FX1N/FX2N/FX3U增加了AS-i/CC-Link网络通信功能。
(3)Q系列PLC Q系列PLC是三菱公司从原A系列PLC基础上发展起来的中大型PLC模块化系列产品。按性能Q系列PLC的CPU可以分为基本型、高性能型、过程控制型、运动控制型、计算机型、冗余型等多种系列。
①基本型CPU 有Q00J、Q00、Q01共三种基本型号。Q00J型为结构紧凑、功能精简型PLC,最大的I/O点数为256点,程序容量为8K,可以适用于小规模控制系统。
Q01系列CPU在基本型中功能最强,最大的I/O点数可以达到1024点。
②高性能CPU 有Q02、Q02H、Q06H、Q12H、Q25H等品种,Q25H系列的功能最强,最大的I/O点数为4096点,程序容量为252K,可以适用于中大规模的控制系统。
③过程控制CPU 有Q12PH、Q25PH两种基本型号,可以用于小型DCS系统的控制。过程控制CPU构成的PLC系统,使用的编程软件与通用PLC系统(DX Develop)不同,使用的是PX Develop软件。它可以使用过程控制专用编程语言FBD进行编程,过程控制CPU增强了PID调节功能。
④运动CPU 有Q172、Q173两种基本型号,分别可以用于8轴与32轴的定位控制。
⑤冗余CPU 有Q12PRH与Q25PRH两种规格,冗余系统用于对控制系统可靠性要求极高,不允许控制系统出现停机的控制场合。
1.4.2 PLC的硬件
PLC的组成基本同微机一样,由电源、中央处理器(CPU)、存储器、输入/输出接口及外围设备接口等构成。图1-8是其硬件系统的简化框图。
图1-8 PLC硬件系统的简化框图
(1)CPU CPU是整个PLC系统的核心,指挥PLC有条不紊地进行各种工作。
①CPU类型
a.通用微处理器(8080、8086、80286、80386等)。
b.单片机(8031、8096等)。
c.位片式微处理器(AM2900、AM2901、AM2903等)。
小型PLC采用单CPU系统,中、大型PLC采用双CPU系统(字处理器、位处理器)。
②CPU的作用 CPU是PLC系统的核心,有如下主要功能。
a.接收并存储用户程序和数据。
b.检查、校验用户程序。
对正在输入的用户程序进行检查,发现语法错误立即报警,并停止输入;在程序运行过程中若发现错误,则立即报警或停止程序的执行。
c.接收现场的状态或数据并存储。
将接收到现场输入的数据保存起来,在需要修改数据时将其调出并送到需要该数据处。
d.PLC进入运行后,执行用户程序,存储执行结果,并将执行结果输出。
当PLC进入运行状态,CPU根据用户程序存放的先后顺序,逐条读取、解释和执行程序,完成用户程序中规定的各种操作,并将程序执行的结果送至输出端口,以驱动可编程控制器的外部负载。
e.诊断电源、PLC内部电路的工作故障。
诊断电源、可编程控制器内部电路的故障,根据故障或错误的类型,通过显示器显示出相应的信息,以提示用户及时排除故障或纠正错误。
(2)ROM 系统程序存储器(ROM)用以存放系统工作程序(监控程序)、模块化应用功能子程序、命令解释功能子程序的调用管理程序,以及对应定义(I/O、内部继电器、定时器、计数器、移位寄存器等存储系统)与参数等功能。
(3)RAM 用户存储器(RAM)用以存放用户程序即存放通过编程器输入的用户程序。PLC的用户存储器通常以“字”为单位来表示存储容量。同时系统程序不能由用户直接存取,因而通常PLC产品资料中所指的存储器形式或存储方式及容量,是对用户程序存储器而言。
常用的用户存储方式及容量形式或存储方式有CMOSRAM、EPROM和EE-PROM。
特别说明一下可电擦除可编程的只读存储器(EEPROM)。它是非易失性的,但可以用编程装置对它编程,兼有ROM的非易失性和RAM的随机存取的优点,但是将信息写入它需要的时间比RAM长得多。EEPROM用来存放用户程序和需要长期保存的重要数据。用户信息储存常用盒式磁带和磁盘等。
(4)输入接口电路 按可接纳的外部信号电源的类型不同分为直流输入接口电路和交流输入接口电路。如图1-9所示。
图1-9 输入接口电路的形式
(5)输出接口电路 输出接口电路接收主机的输出信息,并进行功率放大和隔离,经过输出接线端子向现场的输出部分输出相应的控制信号。它一般由微电脑输出接口和隔离电路、功率放大电路组成。
①PLC的三种输出形式
a.继电器(R)输出(电磁隔离):用于交流、直流负载,但接通断开的频率低。
b.晶体管(T)输出(光电隔离):用于直流负载,有较高的接通断开频率。
c.晶闸管(S)输出(光触发型进行电气隔离):仅适用于交流负载。
第一种的最大触点容量2A,后两种分别为0.5A与0.3A。
②输出端子两种接线方式 如图1-10所示。
图1-10 输出端子两种接线方式
a.分隔输出的接线方式:输出各自独立(无公共点)。
b.分组输出的接线方式:每4~8个输出点构成一组,共用一个公共点。
(6)编程器 编程器作为用户程序的编制、编辑、调试检查和监视等,还可以通过其键盘去调用和显示PLC的一些内部状态和系统参数。它通过通信端口与CPU联系,完成人机对话连接。编程器上有供编程用的各种功能键和显示灯以及编程、监控转换开关。编程器的键盘采用梯形图语言键符式命令语言助记符,也可以采用软件指定的功能键符,通过屏幕对话方式进行编程。编程器分为简易型和智能型两类。前者只能联机编程,而后者既可联机编程又可脱机编程。同时前者输入梯形图的语言键符,后者可以直接输入梯形图。
(7)外部设备 一般PLC都配有盒式录音机、打印机、EPR0M写入器、高分辨率屏幕彩色图形监控系统等外部设备。
(8)电源 根据PLC的设计特点,它对电源并无特别要求,可使用一般工业电源。
电源一般为单相交流电源(AC 100~240V,50/60Hz),也有用直流24V供电的。
对电源的稳定性要求不是太高,允许在额定电源电压值的±(10%~15%)范围波动。
小型PLC的电源与CPU合为一体,中大型PLC用单独的电源模块。
1.4.3 PLC的软件
(1)软元件(编程元件、操作数)
①软元件概念 PLC内部具有一定功能的器件(输入/输出单元、存储器的存储单元)。
②软元件分类 PLC应用指令中,内容不随指令执行而变化的操作数为源操作数,内容随执行指令而改变的操作数为目标操作数。
a.位元件 三菱PLC的编程中,位元件是只处理ON/OFF(1/0)信息的软元件,如X、Y、M、S等。
X:输入继电器,用于输入给PLC的物理信号;Y:输出继电器,从PLC输出的物理信号;M(辅助继电器)和S(状态继电器):PLC内部的运算标志。
说明:
•位单元只有ON和OFF两种状态,用“0”和“1”表示。
•元件可通过组合使用,4个位元件为一个单元,表示方法是由Kn加起始软元件号(首元)组成,n为单元数。
例如K4M0表示M15~M0组成4个位元件组(K4表示4个单元),它是一个16位数据,M0为最低位。又如K4Y0表示Y17~Y0组成4个位元件组(注意Y为八进制)。
b.字元件 字元件是处理数值的软元件,如T、C、D等。
数据寄存器D是模拟量检测以及位置控制等场合存储数据和参数。
源操作数Kn+首元件是三菱PLC编程中把位元件通过组合使用来处理数据的一种使用方法,其标准表达是以位数Kn和起始的软元件号的组合。
最关键的是记住这种组合是以4位为单位的。比如K2M0里K2就表示是2个4位的组合,即有8位,这8位的起始元件号是M0,那么这8位组合(K2M0)就是M7、M6、M5、M4、M3、M2、M1、M0的组合。我们知道M0~M7这些单个的位元件的值只能为0或者1,可把M7~M0组合起来后,就可以用来处理一个8位的数据,而一个8位的数据就相当于一个字了。
字(WORD)为8位二进制;字节(BYTE)为4位;双字(DOUBLE WORD)为16位。
附注:西门子PLC字为16位二进制;字节为8位;半字节为4位;双字节为32位。
(2)FX系列PLC的编程软元件 FX系列PLC的编程软元件框图如图1-11所示。
图1-11 FX系列PLC内部软件框图
①输入继电器(X)
a.作用:用来接收外部输入的开关量信号。输入端通常外接常开触点或常闭触点。
b.编号:采用八进制,如X000~X007,X010~X017,…。
c.说明:
•输入继电器以八进制编号。FX2N系列带扩展时最多有184点输入继电器(X0~X267)。
•输入继电器只能外部输入信号驱动,不能程序驱动。
•可以有无数的常开触点和常闭触点。
•输入信号(ON、OFF)至少要维持一个扫描周期。
②输出继电器(Y)
a.作用:程序运行的结果,驱动执行机构控制外部负载。
b.编号:Y000~Y007,Y010~Y017,…。
c.说明:
•输出继电器以八进制编号。FX2N系列PLC带扩展时最多184点输出继电器(Y0~Y267)。
•输出继电器可以程序驱动,也可以外部输入信号驱动。
•输出模块的硬件继电器只有一个常开触点,梯形图中输出继电器的常开触点和常闭触点可以多次使用。
③辅助继电器(M) 辅助继电器也叫中间继电器,用软件实现,是一种内部的状态标志,相当于继电控制系统中的中间继电器。
a.说明
•辅助继电器以十进制编号。
•辅助继电器只能程序驱动,不能接收外部信号,也不能驱动外部负载。
•可以有无数的常开触点和常闭触点。
b.种类 辅助继电器又分为通用型、掉电保持型和特殊辅助继电器三种。
•通用型辅助继电器:M0~M499,共500个。
特点:通用辅助继电器和输出继电器一样,在PLC电源断开后,其状态将变为OFF。当电源恢复后,除因程序使其变为ON外,否则它仍保持OFF。
用途:逻辑运算的中间状态存储、信号类型的变换。
•停电保持型辅助继电器:M500~M1023,共524个。
特点:在PLC电源断开后,保持用辅助继电器具有保持断电前瞬间状态的功能,并在恢复供电后继续断电前的状态。掉电保持由PLC机内电池支持。
•特殊辅助继电器:M8000~M8255,共256个。
特点:特殊辅助继电器是具有某项特定功能的辅助继电器。
分类:触点利用型和线圈驱动型。
触点利用型特殊辅助继电器:其线圈由PLC自动驱动,用户只可以利用其触点。
线圈驱动型特殊辅助继电器:由用户驱动线圈,PLC将做出特定动作。
i.运行监视继电器:如图1-12所示。
图1-12 运行监视继电器的时序图
M8000——当PLC处于RUN时,其线圈一直得电;
M8001——当PLC处于STOP时,其线圈一直得电。
ii.初始化继电器:如图1-13所示。
图1-13 初始化继电器的时序图
M8002——当PLC开始运行到第一个扫描周期其得电;
M8003——当PLC开始运行到第一个扫描周期其失电(对计数器、移位寄存器、状态寄存器等进行初始化)。
iii.出错指示继电器:
M8004——当PLC有错误时,其线圈得电;
M8005——当PLC锂电池电压下降至规定值时,其线圈得电;
M8061——PLC硬件出错,D8061(出错代码);
M8064——参数出错,D8064;
M8065——语法出错,D8065;
M8066——电路出错,D8066;
M8067——运算出错,D8067;
M8068——当线圈得电,锁存错误运算结果。
iv.时钟继电器:如图1-14所示。
图1-14 时钟继电器的时序图
M8011——产生周期为10ms脉冲;
M8012——产生周期为100ms脉冲;
M8013——产生周期为1s脉冲;
M8014——产生周期为1min脉冲。
v.标志继电器
M8020——零标志。当运算结果为0时,其线圈得电。
M8021——借位标志。减法运算的结果为负的最大值以下时,其线圈得电。
M8022——进位标志。加法运算或移位操作的结果发生进位时,其线圈得电。
vi.模式继电器:
M8034——禁止全部输出。当M8034线圈被接通时,则PLC的所有输出自动断开。
M8039——恒定扫描周期方式。当M8039线圈被接通时,则PLC以恒定的扫描方式运行,恒定扫描周期值由D8039决定。
M8031——非保持型继电器、寄存器状态清除。
M8032——保持型继电器、寄存器状态清除。
M8033——RUN→STOP时,输出保持RUN前状态。
M8035——强制运行(RUN)监视。
M8036——强制运行(RUN)。
M8037——强制停止(STOP)。
④状态寄存器(S)
a.作用:用于编制顺序控制程序的状态标志。
b.分类:
•初始状态 S0~S9 (10点);
•回零 S10~S19 (10点);
•通用 S20~S499 (480点);
•锁存 S500~S899 (400点);
•信号报警 S900~S999 (100点)。
注:不使用步进指令时,状态寄存器也可当作辅助继电器使用。
⑤定时器(T)
a.作用:相当于时间继电器。
b.分类:
•普通定时器。输入断开或发生断电时,计数器和输出触点复位。
100ms定时器:T0~T199,共200个,定时范围0.1~3276.7s。
10ms定时器:T200~T245,共46个,定时范围0.01~327.67s。
如图1-15所示。
图1-15 普通定时器的程序及其时序图
•积算定时器。输入断开或发生断电时,当前值保持,只有复位接通时,计数器和触点复位。
复位指令:RST,如[RST T250]。
1ms积算定时器:T246~T249,共4个(中断动作),定时范围0.001~32.767s。
100ms积算定时器:T250~255,共6个,定时范围0.1~3276.7s。
图1-16中普通定时器的定时为t. =0.1×100=10(s)。
图1-16 积算定时器的程序及其时序图
c.工作原理:当定时器线圈得电时,定时器对相应的时钟脉冲(100ms、10ms、1ms)从0开始计数,当计数值等于设定值时,定时器的触点接通。
d.组成:初值寄存器(16位)、当前值寄存器(16位)、输出状态的映像寄存器(1位),元件号T。
e.定时器的设定值:可用常数K,也可用数据寄存器D中的参数。K的范围1~32767。
注意:若定时器线圈中途断电,则定时器的计数值复位。
⑥计数器(C)
a.作用:对内部元件X、Y、M、T、C的信号进行计数(计数值达到设定值时计数动作)。
b.分类:
•普通计数器(计数范围:K1~K32767)。
16位通用加法计数器:C0~C15,16位增计数器。
16位掉电保持计数器:C16~C31,16位增计数器。
•双向计数器(计数范围:-2147483648~2147483647)。
32位通用双向计数器:C200~C219,共20个。
32位掉电保持计数器:C220~C234,共15个。
双向计数器的计数方向(增/减计数)由特殊辅助继电器M8200~M8234设定。当M82xx接通(置1)时,对应的计数器C2xx为减计数;当M82xx断开(置0)时为增计数。
•高速计数器:C235~C254为32位增/减计数器。
采用中断方式对特定的输入进行计数(FX2N为X0~X5),与PLC的扫描周期无关。具有掉电保持功能。高速计数器设定值范围:-2147483648~+2147483647。图1-17为计数器的程序及其时序图。
图1-17 计数器的程序及其时序图
c.工作原理:计数器从0开始计数,计数端每来一个脉冲当前值加1,当当前值(计数值)与设定值相等时,计数器触点动作。
d.计数器的设定值:可用常数K,也可用数据寄存器D中的参数。计数值设定范围1~32767。32位通用双向计数器的设定值可直接用常数K或间接用数据寄存器D的内容。间接设定时,要用编号紧连在一起的两个数据寄存器。
e.注意事项:RST端一接通,计数器立即复位。
⑦数据寄存器(D) 用来存储PLC进行输入输出处理、模拟量控制、位置量控制时的数据和参数。
数据寄存器为16位,最高位是符号位。32位数据可用两个数据寄存器存储。
a.通用数据寄存器:D0~D127。
通用数据寄存器在PLC由RUN→STOP时,其数据全部清零。
如果将特殊继电器M8033置1,则PLC由RUN→STOP时,数据可以保持。
b.保持数据寄存器:D128~D255。
保持数据寄存器只要不被改写,原有数据就不会丢失,不论电源接通与否,PLC运行与否,都不会改变寄存器的内容。
c.特殊数据寄存器:D8000~D8255。
d.文件寄存器:D1000~D2499。
⑧变址寄存器(V、Z) 一种特殊用途的数据寄存器,相当于微机中的变址寄存器,用于改变元件编号(变址)。
V与Z都是16位数据寄存器,V0~V7,Z0~Z7。V用于32位的PLC系统。
⑨指针(P、I)
a.跳转用指针:P0~P63,共64点。
它作为一种标号,用来指定跳转指令或子程序调用指令等分支指令的跳转目标。
b.中断用指针:Ⅰ0~Ⅰ8,共9点。
作为中断程序的入口地址标号。分为输入中断、定时器中断和计数器中断三种。
•输入中断:I00□~I50□(上升沿中断为1,下降沿中断为0)共6个。
•定时器中断:I6□□~I8□□(定时中断时间10~99ms)共3个。
•计数器中断:I010、I020、I030、I040、I050、I060共6个。