第2章 PLC原理与应用
2.1 PLC组成与原理
2.1.1 PLC特点与功能
PLC是通用型可编程序控制器(programmable logic controller)的简称,PMC是FANUC数控系统集成可编程机床控制器(programmable machine controller)的简称,两者除了结构稍有不同外,在原理、组成、功能、程序设计等方面并无区别。可以认为,PMC只是一种专门用于数控机床控制的PLC,它同样属于PLC的范畴。
为了全面介绍可编程序控制器的基本使用方法与要求,本章将对PLC的工作原理、结构组成、功能用途、电路设计、编程语言等基本知识进行简要说明,为此,在本章中将统一使用PLC通用代号(地址)I、Q、M及常用的触点、线圈符号,来表示PLC的开关量输入信号、开关量输出信号、内部继电器等常用编程元件。以上编程元件在FANUC数控PMC的表示方法,将在第5章进行具体说明。
(1)PLC的产生与发展
PLC是随着科学技术的进步与生产方式的转变,为适应多品种、小批量生产的需要,而产生、发展起来的一种新型工业控制装置。PLC从1969年问世以来,虽然只有40多年时间,但由于其通用性好、可靠性高、使用简单,因而在工业自动化的各领域得到了广泛的应用。曾经有人将PLC技术、CNC(数控)技术、IR(工业机器人)技术称为现代工业自动化技术的支柱技术。
PLC最初是为了解决传统的继电器接点控制系统存在的体积大、可靠性低、灵活性差、功能弱等问题,而开发的一种自动控制装置。这一设想最早由美国最大的汽车制造商——通用汽车公司(GM公司)于1968年提出,1969年由美国数字设备公司(DEC公司)率先研制出样机并获成功;接着,由美国GOULD公司在当年将其商品化并推向市场。1971年,通过引进美国技术,日本研制出了第一台PLC;1973年,德国SIEMENS公司也研制出了欧洲第一台PLC;1974年,法国随后也研制出了PLC。从此,PLC得到了快速发展,并被广泛用于各种工业控制的场合。
PLC的发展大致经历了以下5个阶段。
①1970—1980年:标准化、实用化阶段。在这一阶段,各种类型的顺序控制器不断出现(如逻辑电路型、1位机型、通用计算机型、单板机型等),但被迅速淘汰,最终以微处理器为核心的现有PLC结构形式取得了市场认可,并得以迅速推广;PLC的原理、结构、软件、硬件趋向统一与成熟;其应用也开始向机床、生产线等领域拓展。
在该阶段,先进的数控系统已经逐步使用PLC作为系统辅助控制装置,例如,1979—1982年SIEMENS公司和FANUC公司联合开发的FANUC-SIEMENS SYSTEM 6(FS 6)数控系统上,已配套有外置式SIMATIC S5-130WB中型通用型PLC。
②1980—1990年:普及化、系列化阶段。在这一阶段,PLC的生产规模日益扩大,价格不断下降,应用被迅速普及。各PLC生产厂家的产品开始形成系列,相继出现了固定型、可扩展型、模块化这3种延续至今的基本结构,其应用范围开始遍及顺序控制的全部领域。
在该阶段,数控系统已经全面采用集成PMC或通用型PLC,作为数控系统的辅助控制装置,大大增强了数控系统的功能。例如,FANUC公司的FS 10/11/12数控系统的集成PMC采用了光缆连接的分布式I/O单元,SIEMENS公司的SINUMERK 850/880数控系统采用了外置式SIMATIC S5-150大型通用PLC等。
③1990—2000年:高性能、小型化阶段。在这一阶段,随着微电子技术的进步,CPU的运算速度大幅度上升、位数不断增加、用于各种特殊控制的功能模块被不断开发,PLC的功能日益增强,应用范围由最初的顺序控制向现场控制领域延伸,现场总线、触摸屏等技术在PLC上开始应用。同时,PLC的体积大幅度缩小,出现了各种小型化、微型化PLC。
在该阶段,先进数控系统的集成PMC或外置式PLC已开始使用现场总线控制技术。例如,FANUC公司的高性能FS 15系列数控系统的集成PMC采用了I/O-Link总线;SIEMENS公司的高性能SINUMERK 840C数控系统采用了PROFIBUS总线连接的外置式SIMATIC S7-300大型通用PLC等。
④2000—2010年:网络化、集成化阶段。在这一阶段,为了适应工厂自动化的需要,一方面,PLC的功能得到不断开发与完善,PLC在CPU运算速度、位数大幅度提高的同时,开发了大量适用于过程控制、运动控制的特殊功能与模块,其应用范围开始遍及到工业自动化的全部领域;另一方面,为了适应网络技术的发展,PLC的通信功能得到迅速完善,PLC不仅可通过现场总线连接本身的I/O装置,且可与变频器、伺服驱动器、温度控制器等自动控制装置连接,构成完整的设备控制网络,此外,还可进行PLC与PLC、CNC、DCS(distributed control system,集散控制系统,见后述)等各类自动化控制器之间的互联,集成为大型工厂自动化网络控制系统。
在该阶段,几乎所有数控系统的集成PMC或外置式PLC都使用网络总线连接技术。例如,FANUC公司的简约型FS 0i系列数控系统、SIEMENS公司的简约型SINUMERK 802D数控系统的集成PMC也都采用了I/O-Link、PROFIBUS总线连接等。
⑤2010年至今:智能化、远程化阶段。在这一阶段,为了适应互联网技术(IT)的发展与智能化控制的需要,条形码、二维码识别与视频监控技术,利用互联网的远程诊断与维修服务技术等智能化、远程化技术,已经在PLC上大量应用,PLC已深入到现在社会的工业生产、人们生活的各个领域。
在该阶段,数控系统的集成PMC或外置式PLC主要以五轴与复合加工、FMC等现代数控设备控制为主要发展方向,增加了多路径控制、多程序同步运行、冗余控制等功能。例如,FANUC公司的高性能FS 30i系列数控系统最大可控制5路径、进行5个程序的同步运行,以满足复合加工中心、FMC的数控机床及工业机器人、机械手、输送线等各种辅助控制设备的控制要求,构成完整的自动化加工单元。
(2)PLC的特点
PLC虽然生产厂家众多,功能相差较大,但与其他类型的工业控制装置相比,它们都具有如下共同的特点。
①可靠性高。作为一种通用的工业控制器,PLC必须能够在各种不同的工业环境中正常工作。对工作环境的要求低,抗干扰能力强,平均无故障工作时间(MTBF)长是PLC在各行业得到广泛应用的重要原因之一。PLC的可靠性与生产制造过程的质量控制及硬件、软件设计密切相关。
首先,国外PLC的主要生产厂家通常都是大型、著名企业,其技术力量雄厚、生产设备先进、工艺要求严格,企业的质量控制与保证体系健全,可保证PLC的生产制造质量。其次,在硬件上,PLC的输入/输出接口电路基本都采用光耦器件,PLC的内部电路与外部电路完全隔离,可有效防止线路干扰对PLC的影响,大幅度提高了工作可靠性。再者,在软件设计上,PLC采用了独特的循环扫描工作方式,大大提高了程序执行的可靠性;加上其用户程序与操作系统相对独立,用户程序不能影响操作系统运行,而且操作系统还可预先对用户程序进行语法等编程错误的自动检测,故一般不会出现计算机常见的死机等故障。
②通用性好。在硬件上,绝大多数PLC都采用了可扩展型或模块化的结构,其I/O信号数量和形式、动作控制要求等都可根据实际控制要求选择与确定,此外,还有大量用于不同的控制要求的特殊功能模块可供选择,其使用灵活多变,程序调整与修改、状态监控与维修均非常方便。在软件方面,PLC采用了独特的面向广大工程设计人员的梯形图、指令表、逻辑功能图、顺序功能图等形象、直观的编程语言,适合各类技术人员使用,对使用者的要求比其他工业计算机控制装置更低。
(3)PLC、工业PC与DCS
PLC、工业PC、DCS都是用于工业自动化设备控制的控制装置,其结构、功能相似,用途相近,在某些场合容易混淆,现将三者的主要区别简介如下。
①PLC与工业PC。工业计算机(industrial personal computer,简称工业PC)是以个人计算机、STD总线(standard data bus)为基础的工业现场控制设备,它具有标准化的总线结构(STD总线),不同机型间的兼容性好,与外部设备的通信容易,其兼容性、通信性能优于PLC。此外,工业PC可像个人计算机那样,安装形式多样、功能丰富的各类应用软件,因此,对于算法复杂、实时性强的控制,其实现比PLC方便。
工业PC的硬件组成与个人计算机类似,它不像PLC那样有大量的适应各种控制要求的功能模块可供选择,因此,用于工业控制场合,其可靠性、通用性一般不及PLC。同时,此外,工业PC对软件设计(编程)人员的要求较高,其编程语言不像PLC梯形图、指令表、逻辑功能图、顺序功能图那样通俗易懂,其程序设计(编程)没有PLC方便。
②PLC与DCS。集散控制系统(distributed control system,DCS)产生于20世纪70年代,这是一种在传统生产过程仪表控制的基础上发展起来的用于石化、电力、冶金等行业的仪表控制系统。DCS采用的是分散控制、集中显示、分级递阶管理的设计思想,功能侧重于模拟量控制、PID调节、仪表显示等方面,其模拟量运算、分析、处理、调节性能要优于PLC。
PLC是在传统的继电-接触器控制系统的基础上发展起来的用于机电设备控制的开关量控制装置。PLC采用的输入采样、程序执行、输出刷新的循环扫描(scan cycle)设计思想,功能侧重于开关量处理、顺序控制等方面,其逻辑运算、分析、处理性能优于DCS。
然而,随着科学技术的进步、工业自动化控制要求的日益提高,工业PC、DCS的性能也在不断完善,逻辑顺序处理能力不断增强,而PLC也在不断推出各种模拟量控制、PID调节等特殊功能模块,3类控制器的功能已日趋融合。
(4)PLC的功能
图2.1.1 PLC功能
PLC的主要功能通常包括图2.1.1所示的基本功能、特殊功能和通信功能3类,简要说明如下。
①基本功能。PLC的基本功能就是逻辑运算与处理。从本质上说,PLC的逻辑运算与处理是一种以二进制位(bit)运算为基础,对可用二进制位状态(0或1)表示的按钮、行程开关、接触器触点等开关量信号,进行逻辑运算处理,并控制指示灯、电磁阀、接触器线圈等开关执行元件通、断控制的功能,因此,研发PLC的最初目的是用来替代传统的继电器-接触器控制系统。
在早期PLC上,顺序控制所需要的基本定时、计数功能都需要选配专门的定时模块、计数模块才能实现,但是,目前对于常规的定时、计数已可直接通过PLC的基本功能指令实现。此外,用于多位逻辑运算处理的代码转换、数据比较、数据运算功能,以及实数的算术、函数运算等功能,也都可利用PLC的基本功能指令直接编程。
②特殊功能。在PLC上,除基本功能以外的其他控制功能均称为特殊功能,例如,用于温度、流量、压力、速度、位置调节与控制的模拟量/数字量转换(A/D转换)、数字量/模拟量转换(D/A转换)、PID调节等。特殊控制功能通常需要选配PLC的A/D转换、D/A转换、速度控制、位置控制等特殊功能模块,通过PID调节等通用功能指令或特殊功能程序块才能实现。
③通信功能。随着IT的发展,网络与通信在工业控制中已显得越来越重要,网络化、远程化已成为当代PLC的发展方向。
早期的PLC通信,一般只局限于PLC与编程器、编程计算机、打印机、显示器等常规输入/输出设备的简单通信。使用了现场总线后,PLC不但可通过PROFIBUS、CC-Link、I/O-Link、AS-i等网络连接更多的I/O设备,而且还可进行PLC与PLC、PLC与其他工业控制设备、PLC与上级计算机间的“点到点”通信(point to point,简称PtP通信)或进行多台工业控制设备的MPI(multi point interface,多点接口)通信,此外,还可通过工业以太网(Industrial Ethernet)建立工厂自动化系统,并通过Internet(国际互联网)、WAN(wide area network,广域网)、PDN(public data network,公用数据网)、ISDN(integrated services digital network,全球综合数据服务网)等多种网络的连接,进行TCP/IP、OPC等IT通信,实现PLC的远程控制及远程诊断、维修服务。
2.1.2 PLC组成与结构
(1)PLC组成
完整的PLC系统由控制对象、执行元件、检测元件、PLC、编程/操作设备等组成。通用PLC系统的组成如图2.1.2所示,图中的电源、CPU、输入/输出模块为PLC的基本组件,故又称PLC主机(简称PLC);由PLC输出控制的执行元件、与PLC输入连接的检测元件以及编程/操作设备,称为PLC的外设。
图2.1.2 PLC系统的组成
虽然PLC的种类繁多、性能各异,但它们都具有图2.1.3所示的基本硬件。
图2.1.3 PLC的硬件组成框图
①电源。电源用来产生PLC内部电子器件、集成电路工作的直流电压,小型PLC的电源还可供外部作为PLC的DC输入驱动电源;但由PLC输出控制的负载驱动电源一般需要外部提供。
②CPU。CPU是决定PLC性能的关键部件,其型号众多,性能差距很大。现代PLC的CPU一般为32位以上处理器,大中型PLC还常采用双CPU、多CPU的结构。
③存储器。PLC的存储器分为系统存储器、用户程序存储器、数据存储器3类。
系统存储器用于PLC系统程序的存储,一般采用ROM、EPROM等只读存储器件,系统程序主要包括管理程序、命令解释程序、中断控制程序等,它由PLC生产厂家编制并安装,用户不能对此进行更改。
用户程序存储器(简称用户存储器)用来保存PLC用户程序,其存储容量经常用“步(step)”作为单位,1步是指1条PLC基本逻辑运算指令所占的存储器字节数,如输入、输出、逻辑与、逻辑或等。PLC的1步所占的存储器字节数在不同PLC上有所不同,有的PLC在4字节左右,有的PLC可能需要10字节以上。用户存储器通常使用电池保持型RAM、EPROM、EEPROM、Flash ROM等非易失存储器件。
数据存储器用来存储PLC程序执行的中间信息,相当于计算机的内存。执行PLC程序所需要的输入/输出映像、内部继电器、定时器、计数器、数据寄存器的状态均存储于数据存储器中。数据存储器的状态在PLC程序执行过程中需要动态改变,故多采用RAM器件,存储内容一般在关机时自动清除,但部分内部继电器、定时器、计数器、数据寄存器的状态可用电池保持。
④输入接口。输入接口的作用是将外部输入信号转换为PLC内部信号,它可将外部开关信号转换成内部控制所需的TTL电平,或将模拟电压转换成数字量(A/D转换)等。PLC的输入接口一般由连接器件、输入电路、光电隔离电路、状态寄存电路等组成,电路的形式在不同的输入模块上有所不同,数控系统集成PMC的输入接口电路以开关量输入为主,规格相对统一,有关内容详见本章后述。
⑤输出接口。输出接口的作用是将PLC内部信号转换为外部负载控制信号,它可将CPU的逻辑运算结果转换成控制外部执行元件的开关信号,或将数字量转换为模拟量(D/A转换)等。PLC的输出接口一般由状态寄存电路、光电隔离电路、输出驱动电路、连接器件等组成,电路的形式在不同的输出模块上有所不同,数控系统集成PMC的输入接口电路以开关量输出为主,规格相对统一,有关内容详见本章后述。
⑥通信接口。通信接口的作用是实现PLC与外设间的数据交换。利用通信接口,PLC不但可与编程器、人机界面、显示器等连接,而且也可与远程I/O单元、上级计算机、其他PLC或工业自动化控制装置等连接,构成PLC网络控制系统或工厂自动化系统。
PLC的通信接口一般为USB、RS232、RS422/485等标准串行接口。USB、RS232接口常用于PLC与编程器、编程计算机、人机界面的通信,其传输距离一般在15m以内,传输速率在20Kbit/s以下,故不能用于高速、远距离通信。RS422/485接口常用于PLC与其他PLC、变频器、伺服驱动器等控制装置的全双工/半双工通信,其传输距离最大可达1200m左右,传输速率为10Mbit/s左右,适合于远距离通信。
(2)PLC结构
通用型PLC的基本硬件结构大致可分为固定型、可扩展型、模块式、集成式、分布式5种。
①固定型PLC。固定型PLC亦称微型PLC,其结构如图2.1.4所示。固定型PLC采用整体结构,PLC的处理器、存储器、电源、输入/输出接口、通信接口等都安装于基本单元上,无扩展模块接口,I/O点数不能改变。作为功能的扩展,部分固定式PLC有时可安装少量的通信接口、显示单元、模拟量输入等内置式功能模块,以增加部分功能。
图2.1.4 固定型PLC
固定型PLC的结构紧凑、安装简单,适用于I/O点数较少(10~30点)的机电一体化设备或仪器的控制,或作为普及型CNC的外置PLC使用。
②可扩展型PLC。可扩展型PLC如图2.1.5所示。可扩展型PLC由整体结构、I/O点数固定的基本单元和可选配的I/O扩展模块构成,PLC的处理器、存储器、电源及固定数量的输入/输出接口、通信接口等安装于基本单元上;基本单元上的扩展接口可连接I/O扩展模块或功能模块,进行I/O点数或功能的扩展。可扩展型PLC与模块化PLC的主要区别在于PLC的基本单元本身带有固定的I/O点,基本单元可独立使用,扩展模块不需要基板或基架。
图2.1.5 可扩展型PLC
可扩展型PLC是小型PLC的常用结构,它同样具有结构紧凑、安装简单的特点,其最大I/O点数可达256点以上,功能模块的规格与品种也较多。可扩展型PLC的基本单元可以像固定式PLC一样独立使用,且其I/O点数更多,而且还可根据需要选配扩展模块,增加I/O点与功能,故可灵活适应控制要求的变化,因此,在中小型机电一体化设备中的应用非常广泛。
③模块式PLC。模块式PLC如图2.1.6所示。模块式PLC通常由电源模块、中央处理器模块、输入/输出模块、通信模块、特殊功能模块构成,各类模块统一安装在带连接总线的基板或基架上。
图2.1.6 模块式PLC
模块式PLC的I/O点可达数千点,可选配的I/O模块规格、功能模块种类较多,指令丰富、功能强大,PLC不但可用于开关量逻辑控制,而且还可用于速度、位置控制,温度、压力、流量的测量与调节,也能够通过各类网络通信模块,构成大型PLC网络控制系统,它是大中型PLC的常见结构。
模块式PLC的功能强大、配置灵活,通常用于大型复杂机电一体化设备、自动生产线等控制场合。
部分高性能数控系统(如SIEMENS 840系列)有时直接使用模块式PLC作为辅助控制装置,此类PLC需要选配CNC与PLC通信的专用总线接口模块,进行CNC与PLC间的数据通信,这种数控系统可使用模块式PLC的所有模块,具备模块式PLC的全部功能,其辅助控制功能比集成式PLC更强。
④集成式PLC。集成式PLC是全功能数控系统常用的辅助控制装置,用于数控机床刀具、工作台自动交换,冷却、主轴启停,夹具松/夹等辅助机能的控制。
集成式PLC与CNC集成一体,PLC的电源和CPU通常与CNC共用,并可直接通过CNC操作面板,进行程序编辑、调试与状态监控。
集成式PLC以开关量控制为主,I/O连接一般通过专门的I/O单元或I/O模块进行,I/O单元(模块)可连接的I/O点数较多,但种类较少、输入/输出规格统一,通常也无其他特殊功能模块。
集成式PLC以开关量逻辑控制功能为主,PLC一般设计有专门针对数控机床刀架、刀库、分度工作台控制用的功能指令,程序需要处理大量CNC与PLC的内部连接信号。
⑤分布式PLC。分布式PLC如图2.1.7所示,所组成的PLC控制系统结构类似DCS(集散控制系统)。分布式PLC一般由1个“主站(master)”和若干个“从站(slave)”组成,从站可分散安装于不同的控制现场,主站与从站之间利用现场总线进行远距离连接。
图2.1.7 分布式PLC的组成示意图
分布式PLC的主站一般为大中型模块化PLC,从站可以是分布式I/O模块、分布式功能模块(远程I/O站)或其他PLC、CNC、伺服驱动器、变频器等自动化控制装置(远程设备站),从而构成大型复杂机电一体化设备、自动生产线控制系统,或构成以PLC为核心的工业现场控制或集散控制系统。
(3)PLC分类
PLC的产品分类方法较多,按PLC的硬件结构,可分为上述的固定型、可扩展型、模块式、集成式、分布式5类,按PLC的规模,则可分为小型、中型和大型3类。PLC的规模一般以PLC可连接的最大I/O点数和最大用户程序存储器容量衡量,I/O点数越多、存储器容量越大,能够组成的系统就越大。
①小型PLC。根据通常习惯,最大I/O点数在256点以下的PLC称为小型PLC(或微型PLC)。小型PLC一般采用固定型或可扩展型结构,用户程序存储器的容量通常在8000步以内,PLC的内部继电器、定时器、计数器、数据寄存器的数量相对较少,应用指令、功能模块的数量也有一定的限制。
小型PLC的体积小、价格低,适用于简单机电一体化设备或自动化仪器仪表的控制,它是PLC中产量最大的品种。
②中型PLC。最大I/O点数为256~1024点的PLC称为中型PLC。中型PLC一般采用模块式结构,用户程序存储器的容量通常在16000步以上,内部继电器、定时器、计数器、数据寄存器的数量较多,应用指令、功能模块的数量很多,通信能力较强。
中型PLC的配置灵活、功能强,它既可用于中等复杂程度的机电一体化设备控制,也可用于小型生产线与过程控制的压力、流量、温度、速度、位置等控制。
③大型PLC。最大I/O点数在1024点以上的PLC称为大型PLC。大型PLC均采用模块式结构,用户程序存储器的容量通常在32000步以上,PLC的内部继电器、定时器、计数器、数据寄存器的数量众多,应用指令、功能模块丰富,网络功能强大,可构建大型PLC网络控制系统或车间自动化控制系统。
大型PLC还具有多CPU、多路径、多程序同步运行、冗余控制等功能,可用于高速、高可靠性复杂控制场合。
2.1.3 PLC工作原理
PLC本质上也是一种计算机工业控制装置,但其工作过程、工作原理、编程方法等与其他计算机控制装置有较大区别。
(1)工作过程
PLC的用户程序执行过程分图2.1.8所示的输入采样、程序处理、通信处理、CPU诊断、输出刷新5步无限重复进行,这种执行方式称为循环扫描(scan cycle)。
图2.1.8 PLC的循环扫描
①输入采样。输入采样又称输入读取(read the inputs),在这阶段,CPU将一次性读入全部输入信号的状态,并将其保存到输入寄存器中。PLC的输入采样与输入端是否连接有实际信号无关,没有使用的输入端,其读入的状态为0。
这样的处理方式称为输入集中批处理,输入寄存器的状态称作“输入映像”;PLC在处理用户程序时,输入映像将替代实际输入信号在程序中使用。由于输入映像的状态可一直保持到下次输入采样,因此,即使在程序处理阶段实际输入信号的状态发生变化,仍保证程序处理用的输入信号具有唯一的状态,从而使得程序执行具有唯一的结果。但是,由于输入采样需要一定的间隔时间(PLC循环时间),故不能检测状态保持时间小于PLC循环时间的脉冲信号,因此,对于高速计数、中断处理等实时性要求很高的输入控制,需要使用特殊的输入点或选配专门的高速输入功能模块。
②程序处理。PLC的程序处理(execute the program)在输入采样完成后进行。PLC处理用户程序时,将根据输入映像及输出映像的状态,对不同的输出(线圈)按从上到下、自左向右的次序,进行要求的逻辑运算处理,处理完成后,将处理结果保存到相应的结果寄存器中(称为输出映像)。结果寄存器的状态可立即用于随后的程序,如果随后的程序中使用了相同的结果寄存器(重复线圈),后来的执行结果可覆盖前面的执行结果。
例如,图2.1.9为输入信号I0.1由状态0变为1后,PLC进行首次和第2次程序处理时的结果寄存器(输出)状态变化过程。
图2.1.9 PLC程序处理过程
在I0.1由0变为1的首次执行循环中,处理指令第1行时,由于M0.2的状态仍为上次循环的执行结果0,故Q0.0的结果为0。当PLC处理到指令第2行时,由于本次输入采样的I0.1状态为1,M0.2的结果将为1,这一结果将立即用于随后的指令第3行,使Q0.1的结果为1;但是,它不能改变已经处理完成的第1行指令的Q0.0结果,故处理指令第4行后,Q0.2的结果为0。因此,首次循环处理后的输出状态为Q0.0=0、Q0.1=1、Q0.2=0。
当PLC执行第2次循环时,M0.2将使用首次循环的执行结果1,故处理完成后的输出状态为Q0.0=1、Q0.1=1、Q0.2=1。
③通信处理。通信处理(process any communications requests)仅在PLC执行通信指令或进行网络连接时进行,在此阶段,CPU将进行通信请求检查,决定PLC是否需要与外设、网络总线进行数据传输。
④CPU诊断。CPU诊断(perform the CPU diagnostics)是CPU对PLC硬件、通信连接、存储器状态、用户程序循环时间等进行的综合检查,如发现异常,PLC将根据不同的情况,进行停止程序运行、发出报警、生成出错标志等处理;利用程序循环时间监控功能,还可有效防止程序陷入“死循环”。
⑤输出刷新。输出刷新(write to the outputs)是PLC的输出集中批处理过程,在该阶段,CPU将程序执行完成后的结果寄存器最终状态(输出映像),一次性输出到外部,控制实际执行元件动作。因此,尽管在用户程序的执行过程中,结果寄存器的状态可能会因为重复线圈编程等原因改变,但PLC用于外部执行元件控制的输出状态,总是为唯一的状态。同样,由于输出刷新需要一定的间隔时间(PLC循环时间),故输出信号的状态保持时间不能小于PLC循环时间;因此,对于高频脉冲输出、高速控制也需要使用特殊输出点或选配专门的高速输出功能模块。
PLC完整地执行一次以上处理的时间,称为PLC循环时间或扫描周期。PLC循环时间与CPU速度、用户程序容量等因素有关,循环时间越短,PLC的输入采样、输出刷新间隔就越小,输入映像越接近实际输入信号状态,控制也就越准确、及时,因此,PLC循环时间是PLC的重要技术参数。
(2)等效电路
以上过程中的通信处理、CPU诊断实际上为PLC的内部处理,它与用户程序的执行无直接关联,因此,单纯从PLC的用户程序执行角度理解,也可认为PLC需要进行图2.1.10所示的输入采样、程序执行、输出刷新3个基本步骤,其工作过程可简要理解如下。
图2.1.10 PLC程序的工作过程
①PLC一次性将全部输入信号读入到输入缓冲寄存器,生成“输入映像”。
②PLC依据本循环所读入的输入映像及当前时刻的结果寄存器状态,进行逻辑处理,并立即将结果写入指定的结果寄存器中。
③程序执行完成后,PLC一次性将全部输出映像输出到外部。
因此,PLC用于开关量逻辑运算处理时,其工作原理可用图2.1.11所示的继电器电路进行等效描述。
图2.1.11 PLC等效电路图
其中,PLC的实际输入接口电路及输入采样处理可用“输入电路”等效代替;用户程序处理可用“继电器电路”等效代替;PLC的实际输出接口及输出刷新处理可用“输出电路”等效代替。需要说明的是,等效电路仅是为了更好理解PLC工作原理而虚拟的电路,它并不是PLC的实际电路,例如,图中的输入I0.1~I0.7实际并不存在继电器等。
利用等效电路理解PLC工作原理的基本方法如下。
①输入电路。输入电路相当于PLC的输入接口电路与输入映像,输入继电器与输入信号一一对应,其状态代表PLC的输入映像;实际输入信号ON时,输入继电器接通。由于输入映像实际上只是PLC的输入寄存器(存储器)状态,它在PLC程序中的使用次数不受限制,因此,应认为等效电路中的输入继电器具有无限多的常开/常闭触点。此外,由于绝大多数PLC不允许用户程序对输入寄存器进行赋值,故应认为等效输入继电器只能由输入信号控制通断,而不能通过等效的继电器电路控制,因此,等效的继电器电路只能使用输入继电器的触点。
②输出电路。输出电路相当于PLC的输出映像与输出接口电路,输出继电器相当于输出映像,输出映像为“1”时,输出继电器接通。同样,由于输出映像只是PLC的输出结果寄存器(存储器)状态,它不仅可输出,且可在程序中无限次使用,因此,应认为等效电路中的输出继电器对外只能输出一对常开触点,但在等效继电器电路中具有无限多的常开/常闭触点。
③继电器电路。等效继电器电路由PLC用户程序转化而来,PLC程序中的定时器、计数器可用时间继电器、计数器等效,且其精度更高、范围更大。PLC程序中的内部继电器应理解为不能用于外部实际信号控制,但在等效继电器电路中具有无限对常开/常闭触点的中间继电器。
简言之,PLC的输入可视为由输入信号驱动、具有无限多触点的继电器;PLC输出可视为只有一对触点输出,但具有无限多内部触点的继电器;PLC的内部继电器可视为具有无限多内部触点,但不能控制输出的中间继电器;而PLC用户程序可视为继电器电路。
(3)主要特点
PLC程序处理的基本特点如下。
①可靠性高。由于PLC程序使用的输入映像状态,输入信号在程序中具有唯一的状态,程序设计无效考虑程序执行过程中的输入信号变化,程序设计容易、可靠性高。
②处理速度快。集中批处理可以一次性完成全部输入、输出的状态更新,无需在程序执行过程中对输入、输出信号进行单独采样,大幅度减少了采样时间,提高了PLC程序的处理速度。
③程序设计方便。输入、输出映像为寄存器的二进制状态,在程序中也可用字节、字、双字的形式成组处理,其程序更简单。
④利用输入映像在同一扫描循环中状态保存不变的特点,可方便地生成边沿信号;利用输出集中批处理的特点,在程序中可以对输出进行多次赋值(使用重复线圈),从而实现实际继电器线路不能实现的动作。
⑤PLC程序的执行只是单次PLC程序循环的无限重复,因此,程序一旦调试完成,便可保证长期稳定工作,软件随机出错的可能性极小。
但是,由于PLC的输入采样、输出刷新需要一定的间隔时间(PLC循环时间),因此,它既不能检测状态保持时间小于PLC循环时间的脉冲信号,也不能输出状态保持时间小于PLC循环时间的脉冲信号;因此,对于高速计数、中断处理、高频脉冲输出,必须使用特殊的输入/输出点或选配专门的功能模块。