第3章 PLC的结构与工作原理
3.1 PLC的硬件组成
PLC的硬件部分由中央处理单元(CPU模块)、存储模块、输入/输出(I/O)模块、电源模块、通信模块、编程器等部分组成。如图3-1所示。
图3-1 PLC的硬件组成
3.1.1 CPU模块
1.CPU的作用
CPU含有和个人计算机内部同样类型的微处理器,CPU是PLC的核心部件,相当于人的大脑。CPU能够执行系统的操作、信息存储、输入监控、用户逻辑(梯形图)评价和正确的输出信号,并对整机进行控制。
2.CPU的构成
PLC常用的CPU主要有通用微处理器、单片机或位片式微处理器。
(1)用通用微处理器作CPU
在小型PLC中,常用8位通用微处理器作CPU。例如Intel 8080、Motorola 6800、Z80等。但这种8位微处理器的指令执行速度太慢,不适应高速、高精度、复杂的运算系统,没有浮点运算,对24位以上运算很难实现。因此,对于高速、高精度的中、小型计算机或专用计算机都不能使用这种8位微处理器。
为了提高扫描速度,一些中、小型PLC使用双极型的8位CPU,如MODICON公司的484型PLC使用的N8×3001。
大、中型PLC除了使用位片式微处理器外,几乎都使用16位或32位的通用微处理器。如三菱公司的A系列使用的是美国Intel公司的8086。
通用微处理器的价格便宜,通用性强,还可以使用微机成熟的实时操作系统和丰富的软、硬件资源。例如,用微机的通信软件很容易构成PLC的通信网络,PLC也易于与其他计算机连网通信。
(2)用单片机作CPU
单片机是只用一片大规模集成电路构成的微机,即把微机的CPU、ROM、RAM、I/O接口电路、时钟电路,甚至A-D和D-A电路等全部部件集成在一块很小的芯片上,组成一个小的微处理系统。由于它具有体积小、集成度高、价兼、可靠性高和扩充性好等优点,早已广泛用作小型PLC的CPU。也广泛用于PLC的智能模块。例如日本三菱公司的F型系列PLC就是采用美国Intel公司的MCS-48系列的8039和8049单片机作CPU。
随着微电子技术的发展,出现集成度更高、功能更强的16位单片机。PLC采用16位单片机作CPU后,其体积更加减小,运算速度和精度大大提高,逻辑运算、数值运算和通信动能也得到加强,极大地方便了用户。
(3)用位片式微处理器作CPU
位片式微处理器只是由几位ALU为核心的位片,并不包括运算控制器。控制器由外部的微程序控制逻辑实现,用微程序中的微指令指挥位片进行相应的操作。由于位片式微处理器毕竟是构成CPU的主要部件,因而习惯上称为位片式微处理器。大型PLC的CPU常常使用AMD2900系列的4位的双极型位片式微处理器芯片。如美国AB公司的PLC-3型、德国西门子公司的S5-150U型、美国西屋公司的HPPC-1500型等,都是采用AMD2900芯片构成。
一般来说,在小型PLC中,大多采用8位微处理器或单片机,如Z80A、8031、8085等,价格低、普及通用好。在中型PLC中,大多采用16位微处理器或单片机,如8086、80286、80386、8096,具有集成度高、运算速度快、可靠性高。在大型PLC中,大多采用高速位片式微处理器。如AMD 2900,灵活性强、速度快、效率高。
3.1.2 电源模块
PLC电源有交、直流两种,但一般都采用交流电源,有115V/230V两档(用户可通过跨接线或短路片来选择。在接线时,一定要十分注意厂商提供的电源接线图,以免损坏设备)。通过开关电源降压整流提供CPU、存储器、I/O接口等所需要的内部供电电源(如±5V、±15V等)。为输入电路和少量的外部电子检测装置(如接近开关)提供24V直流电源。另外还有独立的锂电池作为存储器的备用电源。
3.1.3 存储器模块
1.存储器的作用
存储器是CPU用来存储和处理程序文件、数据文件的一块物理空间。它用来存储系统程序和用户程序,分为系统程序存储器和用户程序存储器。
系统程序存储器用来存储不需要用户干预的系统程序。例如,PLC的操作系统程序、用户逻辑解释程序、系统诊断程序、通信管理程序以及各种系统参数等。系统程序用来告诉PLC“怎么做”,它使PLC具备了基本的智能,能够完成PLC设计者所要求的各种工作。PLC产品在出厂时,厂家已经把这些系统程序固化在ROM或EPROM存储器内,用户不需要了解这些程序,也不能更改这些程序。
用户程序存储器用来存储通过编程器输入的用户程序。通常将用户程序存储器分为程序存储区和数据存储区,程序存储区用来存储用户程序,数据存储区用来存储运算数据、中间运算结果和各种软元件的状态等。PLC的用户程序用来告诉CPU“做什么”,是用户根据现场的各种控制要求,用PLC的编程语言编制程序,通常存储在CPU模块的RAM中。
程序的复杂性决定了所需要的存储量。存储单元以位(二制数)为单元对信息进行存储。规定存储量以1000K为增量,1KB=1024B(1B=8bit)。
2.存储器类型
常用的程序存储器有只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)四种。各自性能见表3-1。
表3-1 常用的程序存储器性能
3.1.4 输入/输出(I/O)模块
1.I/O模块的作用
I/O模块是CPU与现场I/O设备或其他外部设备之间连接的桥梁。PLC的对外功能主要是通过各类I/O模块的外接线,实现对工业设备或生产过程的检测或控制。在实际生产过程中,输入信号的电平多种多样,外部执行机构所需要的电平也多种多样,而PLC的CPU所处理的只能是标准电平,正是通过各种不同的I/O模块除了传递信号外,还具有电平转换的作用。输出信号有交流和直流开关量信号、脉冲信号、模拟量信号。图3-2为现场I/O连接示意图。
图3-2 PLC连接各种不同I/O设备
输入模块的作用是接收和采集现场设备的各种输入信号,比如按钮、数字拔码开关、限位开关、接近开关、选择开关、光电开关、压力继电器等各种开关量信号和热电偶、电位器、测速发电机以及各种变送器提供的模拟量输入信号,并将这些信号转换为CPU能够接收和处理的数字信号。
输出模块的作用是接收经CPU处理过的数字信号,并把这些数字信号转换为被控设备所能接收的电压或电流信号,以控制接触器、电磁阀、电磁铁、调节阀、调速装置等执行器,或控制指示灯、数字显示装置和报警装置等设备。
由于PLC的I/O信号电压一般较高,比如直流24V,而CPU模块的工作电压较低,一般为5V。因而从外部引入的尖峰电压和诸如电力线、电气噪声等各种干扰很可能损坏CPU模块,使PLC不能正常工作。为此,I/O模块还要具有隔离的作用。
2.I/O模块基本性能要求
由于I/O模块是与现场设备直接相连,因此对I/O模块的基本要求如下:
1)抗干扰性能好,要能可靠地在干扰较大的场合工作;
2)输入模块要能直接接收现场的直流或交流电压信号;
3)输出模块要能直接驱动诸如接触器、电磁阀、调节阀等执行机构;
4)可靠性和安全性要求高,除了能在恶劣的环境下可靠地工作外,还要能在发生故障时,保证设备的安全,使故障的影响减到最小。
3.输入模块及接口电路
PLC为了提高抗干扰能力,输入接口都采用光耦合器来隔离输入信号与内部处理电路的传输。因此,输入端的信号只是驱动光耦合器的内部LED导通,被光耦合器的光敏管接收,即可使外部输入信号可靠传输。
输入信号有开关量信号、数字信号、脉冲信号和各种模拟量信号,这里仅阐述开关量信号的相关知识。
(1)输入接口电路构成
通常输入有两种形式。一种是直流输入,其输入器件可以是无源触点或传感器的集电极开路晶体管。它又进一步分为源型(SOURCE共[+]端)和漏型(SINK共[-]端);另一种是交流输入,这实际上是将交流信号经整流、限流后,再光耦传入CPU。源型和漏型PLC属性见表3-2。
表3-2 源型和漏型PLC属性表
图3-3所示是FX系列PLC的输入电路直流源型的原理图。图中开关量直流输入模块主要由二极管VD、光耦合器和发光二极管等部分组成,各个输入点所对应的输入电路均相同。利用二极管VD的单向导电性来禁止反极性的直流输入。1.5kΩ的电阻起限流作用,150Ω电阻和1.5kΩ电阻构成分压器,150Ω电阻起分压作用。
输入电路包括以下几个部分的内容:
1)输入端子:当电流通过输入端子时,输入信号接通。对于源型机,将[S/S]端与[0V]相连;对于漏型机,将[S/S]端与[24V]连接。输入信号为ON时输入指示灯亮。所有输入的公共端是[S/S]端子(而不是接地端)。
2)输入电路:输入电路的1次电路与2次电路用光耦合器隔离。2次电路中设有RC滤波器,这是为防止由于输入触点的抖振、输入线混入的噪声引起误动作而设计的。因此,外部输入从ON→OFF或OFF→ON变化时,PLC内部有约10ms的响应滞后。
图3-3 开关量直流输入模块原理电路
3)输入灵敏度:PLC的输入电流为DC 24V 7mA。引起输入动作的最小电流为2.5~3mA,但为了保证能起动,输入电流必须大于1.5mA。为了保证切断,必须小于1.5mA。
4)传感器用外部电路:PLC的输入电源是由PLC内部的DC 24V电源提供给。对于光电开关等传感器用外部电源驱动时,建议用外部电源须为DC24V±4V,传感器的输出晶体管须为PNP型晶体管集电极开路型(对于源型)或NPN型晶体管集电极开路型(对于漏型)。
(2)开关量输入模块
开关量输入模块若按照使用的电源不同可分为直流输入模块、交流输入模块和交、直流输入模块三种;若按照输入端与用户输入设备的接线方式的不同又可分为汇点式输入、分组式和分隔输入(也称分割式)三种。
1)汇点式输入就是全部或几个输入回路共享一个COM公共端,如图3-4所示。出汇点式输入接线方式既可以用于直流模块,也可以用于交流模块。直流输入端模块的电源一般由PLC自身的电源供给,而交流输入端的模块的电源一般由用户提供。通常情况下,采用汇点输入接线方式,当要求避免每个回路之间的信号发生干扰时,才采用分组输入接线方式。
2)分组式输入就是将全部输入分成几组输入,每组输入回路共享一个COM公共端。如图3-5所示。
3)分隔式输入端就是每个输入回路有两个接线端,由单独的一个电源供电,相对于电源来说,各个输入点之间是互相隔离的。如图3-6所示。
(3)输入接口电路接线
1)PLC与按钮、开关等输入元件的连接:PLC基本单元的输入与按钮、开关、限位开关等的接线方法,图3-7所示为三菱FX系列漏型连接图。图3-8所示为三菱FX系列源型连接图。按钮(或开关)的两头,一头接到PLC的输入端(例如X0、X1…),另一头连在一起接到输入公共端上(COM端)。
图3-4 汇点式输入接线图
图3-5 分组式输入接线
图3-6 分隔式输入接线
图3-7 漏型PLC与按钮、开关等连接图
图3-8 源型PLC与按钮、开关等连接图
2)PLC与拨码开关的接线:拨码开关在PLC控制系统中常常用到,如图3-9所示为一位拨码开关的示意图。拨码开关有两种:一种是BCD码拨码开关,即从0~9,输出为8421BCD码;另一种是十六进制拨码开关,即从0~F,输出为二进制码。
拨码开关可以方便地进行数据变更,直观明了。如控制系统中需要经常修改数据,可使用4位拨码开关组成一组拨码器与PLC相连,其接口电路如图3-10所示。
图3-10中,4位拨码器的COM端连在一起接到电源的正极或负极,电源的负极(或正极)与PLC的COM端相连。每位拨码开关的4条数据线按一定顺序接到PLC的4个输入点上。电源的+、-极连接取决于PLC输入的内部电路。这种方法PLC的输入点较多,因此若不是十分必要的场合,一般不要采用这种方法。
3)PLC与旋转编码器的接线:旋转编码器可以提供高速脉冲信号,在数控机床及工业控制中经常用到。不同型号的旋转编码器,其输出的频率也不同,相数也不一样。有的编码器输出A、B、C三相脉冲,有的只有两相脉冲,也有的只是一相脉冲(如A相),频率有100Hz、200Hz、1kHz、2kHz、…频率相对低时,PLC可以响应,频率高时,PLC就不能响应。此时,编码器的输出信号要接到特殊功能模块上,如采用FX2N-1HC高速计数模块。图3-11所示为FX2N系列PLC与E6A2-C系列旋转编码器的接口示意图。
图3-9 一位拨码开关示意图
图3-10 拨码器与PLC连接示意图
图3-11 FX2N系列PLC与旋转编码器的接口示意图
4)PLC与传感器元件的接口电路:传感器的种类很多,其输出方式也各不相同,接近开关、光电开关、磁性开关等为两线式传感器。图3-12所示为传感器与FX系列PLC的接口电路。图3-13为源型PLC与传感器连接图,图3-14为漏型PLC与传感器连接图。
PNP与NPN型传感器其实就是利用晶体管的饱和和截止输出两种不同的状态,属于开关型传感器,但二者输出信号是相反的,即高电平和低电平。PNP型输出的是低电平0,NPN型输出的是高电平1。
图3-12 FX系列PLC与传感器的接口电路
图3-13 源型PLC与传感器连接图
图3-14 漏型PLC与传感器连接图
传感器一般有三条引出线,即电源线UCC、0V、OUT信号输出线(少数有四条线的可能是传感器的校验线,校验线不与PLC输入端连接)。
NPN型指当有信号触发时,信号输出线OUT和电源线UCC连接,相当于输出高电平的电源线。PNP型指当有信号触发时,信号输出线OUT和0V连接,相当于输出低电平0V。
通常接近开关有三根和四根引出线,一般的标记方法基本都是:橙色电源+;蓝色电源-;黑色输出;白色也是输出(只有常开+常闭的才有)。PNP型的输出电压信号为+;NPN型的输出电压信号为-;而常开+常闭的有四根线,黑色是常开输出,白色是常闭输出,输出电压信号正负和前面叙述的PNP、NPN型的接近开关一致。特殊情况也有颜色标记不一样的,但是极少数厂家。
一般常用的传感器是NPN型,即高电平为有效状态,PNP型传感器很少使用。
4.输出接口电路
(1)输出接口输出方式
输出接口按照输出方式的不同分三种形式:一种是继电器输出型(交/直流输出模块),CPU接通继电器的线圈,继而吸合触点,而触点与外线路构成回路;第二种是晶体管输出型(直流输出模块),它是通过光耦合使开关管通断以控制外电路;第三种就是晶闸管输出型(交流输出模块),这里的可控硅是采用光触发型的。三种输出方式的电路如图3-15~图3-17所示。三种输出方式的性能比较见表3-3。
图3-15 继电器输出结构
图3-16 晶体管输出结构
图3-17 晶闸管输出结构
表3-3 三种输出方式性能比较
使用时,应根据不同的的要求选用不同的输出方式。若需要大电流输出,则应选继电器输出方式或晶闸管输出方式;若电路需要快速通断或需要频繁动作,则应选用晶体管输出方式或晶闸管输出方式。
(2)输出电路的接线
输出模块与外部用户设备的接线分为汇点式和分隔式,其基本接线图如图3-18所示。
图3-18 输出电路的接线形式
3.1.5 通信模块
通信模块是用来使CPU与外部设备或其他PLC或上位计算机进行开关量I/O、模拟量I/O、各种寄存器数值、用户程序和诊断信息的串行通信,使操作人员可以通过外部设备或上位计算机监控PLC的工作状态、为PLC输入程序、改变PLC的工作方式或某些参数,或者将PLC的程序或状态送到外部设备或上位机。
与通信模块相连的外部设备,可以是计算机、编程器、调制解调器、其他通信模块或者是高档的PLC。
通过通信模块,使PLC与各种外部设备之间建立了一个数据通道,利用这个通道可实现编程、检查程序、控制工作方式、监控运行状态、改变I/O状态和图示与操作等功能。
当然,在进行这一系列功能之前,还必须根据所选PLC的型号和协议要求配备一根通信线。图3-19所示为FX系列PLC的通信编程口事物图。
图3-19 FX系列PLC的通信编程口事物图
3.1.6 特殊功能I/O模块
(1)模拟量I/O模块
模拟量I/O模块在工业控制中的应用十分广泛。例如,若要将温度、压力、流量、位移、速度、酸碱度等模拟量参数送入PLC进行控制,则必须通过模拟量输入模块将这些模拟量参数转换成数字量,才能被PLC所接收,继而进行运算或处理。同样,若要对电动调节阀、液压电磁阀等之类的执行机构进行连续控制,也必须通过模拟量输出模块把PLC输出的数字量转换成模拟量,才能满足这类执行机构的动作要求。因此,模拟量I/O模块实际上就是实现A-D和D-A转换的模块。
在使用模拟量I/O模块时,应考虑I/O通道数、I/O信号种类、分辨率等。
所谓I/O通道数就是指每个模块有多少点模拟量输入、输出。常用的有每个模块4点隔离I/O、8点I/O或16点I/O,16点的常用多路切换器输入,构成多路数据采集系统。
模拟量I/O信号有电压和电流两种。电压信号电平有-10~+10V、0~10V、-5~+5V、0~5V等几种。电流信号有4~20mA、0~20mA、0~10mA等几种。常用的模拟I/O信号为0~5V或4~20mA。
在进行A-D或D-A转换时,使用的数字位数越多,能识别的模拟信号值越小,即分辨率越高。
1)模拟量输入模块:模拟量输入信号大多是从传感器经过变换后得到的,按照国际电工委员会(IEC)的标准,模拟量输入信号为4~20mA电流信号,或-10~+10V、0~10V的直流电压信号。输入模块接收这种模拟信号后,把它转换成8位或10位或12位的二进制数字信号(最大值别为255、1023、4095),经过光电隔离,送给PLC的中央处理器(CPU)进行运算和处理。因此,模拟量输入模块又叫A-D转换输入模块。
2)模拟量输出模块:模拟量输出模块是将中央处理器(CPU)的二进制数字信号(如4095等)转换成4~20mA的电流信号,或1~5V、0~10V的直流电压信号,以提供给执行机构。因此模拟输出模块又叫D-A转换输出模块。
通常,模拟输出模块有2、4、8、16路输出通道,这些通道既可设置为单端输出模式,也可设置为差分输出模式。当要求每个通道隔离输出时,常采用差分输出模式。
每个模拟输出通道与CPU之间,或每个模拟输出通道之间都有电隔离,从而防止由于输出过电压而损坏系统。
模拟输出模块是否需要外部电源(或用户电源),这取决于用户设备的类型。现在大多数模块都由PLC自身的电源系统提供电源,因而在计算电流负载时,要予以考虑。
(2)特殊功能模块(或称智能模块)
根据各种特殊功能的需要,PLC智能模块的种类也越来越多,如BCD码模块、语言模块、步进电动机模块、PID控制模块、高速计数模块、热电偶输入模块、热电阻输入模块、中断控制模块、BASIC模块、语音模块等。相关模块内容将在后面有关章节进行介绍。
3.1.7 编程器
编程器顾名思义就是编写程序用的设备器件。编程器的作用是输入、修改、检查程序;显示计数器/定时器的当前值和设定值、PLC的工作状态、编程错误码;监视线圈和触点的状态;在程序运行中,修改定时器/计数器的设定值和其他一些常数等。
编程器可以永久地连接在PLC上,当程序调试结束后,也可将它从PLC上取下来,此时PLC仍可继续运行。一般只在程序输入和调试阶段使用它,所以一台编程器可供多台PLC共享。
编程器按其功能和体积的大小可分为简易编程器、图形编程器和计算机编程器三种。
(1)简易编程器
简易编程器的外形与计算器相似,由显示器和键盘组成,显示器大多采用液晶或发光二极管,一般只能显示一行或几行,显示内容有步序号、指令助记符和软元件号等;键盘包括数字键、编程指令键以及特殊功能键。
图3-20 FX-20P手持编程器
简易编程器的优点是体积小、价格便宜、使用简单、携带方便,因而在小型PLC的编程中得到了广泛的应用。但由于这种编程器通常是单行显示,显示的内容和信息十分有限。此外,它只能用指令编程,而且只能联机编程。因而在大中型PLC控制系统中,采用简易编程器编程感到十分不便。三菱便携式编程器有FX-10P和FX-20P。图3-20为FX-20P手持编程器实物外形,该编程器具有4行显示,比FX-10P多两行显示。
(2)图形编程器
由于简易编程器的显示和操作功能有限,只能用于小型PLC,或用于中型以上PLC的维护和检查。为了扩大编程器的功能,特别是扩大显示范围,各生产厂家都为自己的PLC配置了专用的图形编程器。
图形编程器一般用于中、大型PLC。这种编程器就像一台便携式计算机,本身带有CRT、键盘、软盘驱动器,还有许多接口(如打印机接口、串行接口等),程序编辑功能也很强,功能较多。它还可以作为工作站使用,即把它挂在PLC网络上,对各站进行监控、管理和调试等工作。
三菱智能图形编程器有A7PHP和A7HGP。
(3)计算机编程
计算机编程既可脱机编程,也可联机编程。其功能较强,除了编程外,还能显示某些信息(如提示某些错误等)。一般中、大型PLC的编程都采用计算机,此时,计算机除用作编程器外,还兼有上位管理和操作指导等功能。
使用个人计算机,配上编程软件MELSEC、MEDOC、FX-PCS/WIN、GPP for Windows、GX-Developer可方便地编写PLC程序、监视PLC的运行情况、显示故障信息、打印程序等。