第2章 三菱PLC控制系统设计开发
2.1 PLC控制系统设计开发概述
PLC控制系统以PLC为程控中心,组成控制系统,实现对生产设备或过程的控制。PLC控制系统是以程序形式来体现其控制功能的,大量的工作时间将用在软件设计,也就是程序设计之上。
2.1.1 PLC控制系统的应用设计步骤
PLC应用设计,一般应按图2-1所示的步骤进行。
图2-1 PLC系统设计流程图
(1)熟悉被控制对象明确控制要求
首先应分析系统的工艺要求,对被控制对象的工艺过程、工作特点、环境条件、用户要求及其他相关情况进行仔细全面的分析,特别要确定哪些外围设备是送信号给PLC的,哪些外围设备是接收来自PLC的信号的。确定被控系统所必须完成的动作及动作顺序。
在分析被控对象及其控制要求的基础上,根据PLC的技术特点,优选控制方案。
(2)确定控制方案,选择PLC
根据生产工艺和机械运动的控制要求,确定电气控制系统是手动,还是半自动、全自动,是单机控制还是多机控制,明确其工作方式。还要确定系统中的各种功能,如是否有定时计数功能、紧急处理功能、故障显示报警功能、通信联网功能等。通过研究工艺过程和机械运动的各个步骤和状态,来确定各种控制信号和检测反馈信号的相互转换和联系。确定PLC输入输出信号的性质及数量,综合上述结果来选择合适的PLC型号,确定其各种硬件配置。
(3)硬件设计
PLC控制系统硬件设计包括PLC选型、I/O配置、电气电路的设计与安装,例如PLC外部电路和电气控制柜、控制台的设计、装配、安装及接线等工作,可与软件设计工作平行进行。
(4)软件设计
①控制程序设计 用户控制程序的设计即为软件设计,画出梯形图,写出语句表,将程序输入PLC。
②模拟调试 将设计好的用户控制程序键入PLC后应仔细检查与验证,并修改程序。之后在工作室里进行用户程序的模拟运行和程序调试,对于复杂的程序先进行分段调试,然后进行总调试,并做必要的修改,直到满足要求为止。
(5)现场联机运行总调试
PLC控制系统设计和安装好以后,可进行现场联机运行总调试。在检查接线等无差错后,先对各单元环节和各电柜分别进行调试,然后再按系统动作顺序,逐步进行调试,并通过指示灯显示器,观察程序执行和系统运行是否满足控制要求,如有问题先修改软件,必要时调整硬件,直到符合要求为止。现场调试后,一般将程序固化在有长久记忆功能的可擦可编只读存储器(EPROM)卡盒中长期保存。
(6)技术文件的整理
系统现场调试和运行考验成功后,整理技术资料,编写技术文件(包括设计图样、程序清单、调试运行情况等资料)及使用、维护说明书等。
2.1.2 PLC选型
可编程序控制器的选型主要从如下几个方面来考虑。
(1)PLC功能与控制要求相适应
对于以开关量控制为主,带有少量模拟量控制的项目,可选用带有A/D、D/A转换、加减运算的中低档机。对于控制比较复杂、功能要求较高的项目,例如要求实现HD调节,闭环控制、通信联网等,应选择高档小型机或中大型PLC。
(2)PLC结构合理、机型统一
对于工艺过程比较稳定、使用环境条件比较好的场合,宜选用结构简单、体积小、价格低的整体式机构的PLC。对于工艺过程变化较多,使用环境较差,尤其是用于大型的复杂的工业设备上,应选用模块式结构的PLC,这便于维修更换和扩充,但价格较高。对于应用PLC较多的单位,应尽可能选用统一的机型,这有利于购置备件,也便于维修和管理。
(3)在线编程或离线编程
离线编程的PLC,主机和编程器共用一个CPU,在编程器上有一个“编程/运行”选择开关。选择编程状态时,CPU只为编程器服务,不再对现场进行控制,这就是“离线”编程。程序编好后,当选择运行状态时,CPU只为现场控制服务,这时不能进行编程,这种离线编程方式可以降低系统的成本,而且又能满足大多数PLC控制系统的要求,因此,现今中小型PLC常采用离线编程。
对于在线编程方式,主机和编程器各有一个CPU。编程器的CPU可以随时处理由键盘输入的编程指令。主机的CPU负责对现场控制,并在一个扫描周期开始,主机将按新送入的程序运行,控制现场,这就是“在线”编程。在线编程的PLC增加了硬件和软件,价格高,但使用方便,能满足某些应用场合的要求。大型PLC多采用在线编程。
对于定型设备和工艺不常变动的设备,应选用离线编程的PLC;反之,可考虑选用在线编程的PLC。
(4)存储器容量
根据系统大小和控制要求的不同,选择用户存储器容量不同的PLC。厂家一般提供1K、2K、4K、8K、16K程序步容量的存储器。用户程序占用多少内存与许多因素有关,目前只能作粗略估算,估算方法有下面两种(仅供参考)。
①PLC内存容量(指令条数)为I/O总点数的10~15倍。
②指令条数≈6(I/O)+2(T+C)。式中,T为定时器总数;C为计数器总数。还应增加一定的裕量。
(5)I/O点数与输入输出方式
统计出被控设备对输入输出总点数的需求量,据此确定PLC的I/O点数。必要时增加一定裕量。一般选择增加15%~20%的备用量,以便今后调整或扩充。
根据实际情况选定合适的输入输出方式的PLC。
(6)PLC处理速度
PLC以扫描方式工作,从接收输入信号到输出信号控制外围设备,存在滞后现象,但能满足一般控制要求。如果某些设备要求输出响应快,应采用快速响应的模块、优化软件、缩短扫描周期或中断处理等措施。
(7)是否要选用扩展单元
多数小型PLC是整体结构,除了按点数分成一些档次(如32点、48点、64点、80点)外,还有多种扩展单元模块供选择。模块式结构的PLC采用主机模块与输入输出模块、功能模块组合使用方法,I/O模块点数多少分为8点、16点、32点不等,可根据需要,选择灵活组合主机与I/O模块。
(8)系统可靠性
根据生产环境及工艺要求,应采用功能完善且可靠性适宜的PLC。对可靠性要求极高的系统,应考虑是否采用冗余控制系统或热备份系统。
(9)编程器与外围设备
小型PLC控制系统一般选用价格便宜的简易编程器;如果系统较大或多台PLC共用,可选用功能强、编程方便的图形编程器;如果有现成的个人计算机,可选用能在计算机上使用的编程软件。
2.1.3 PLC控制系统硬件设计
PLC控制系统硬件主要由PLC、输入/输出设备和电气控制柜等组成。硬件设计基本要求如下。
(1)硬件设计的基本要求与实施方法
1)确定控制方案 选择的最优控制方案应该满足系统的控制要求。设计前,应深入现场进行调研,搜集相关资料,确定系统的工作方式和各种控制功能。通过各种控制信号与检测反馈信号的相互转换和联系,来确定PLC输入/输出信号的性质和数量,选择合适的PLC确定硬件系统的各种配置,以便制定系统的最优控制方案。
2)功能完善 在保证完成系统控制功能的基础上,应尽量地把自检、报警以及安全保护等各种功能都纳入设计方案,确保系统的功能比较完善。
3)高可靠性 在PLC控制系统中,就PLC本身来说,其薄弱环节在I/O端口。虽然它与现场之间、端口之间以及端口输入/输出信号与总线信号之间有相当可靠的隔离,但由于PLC应用场合越来越多,应用环境越来越复杂,所受到的干扰也就越来越多,如电源波形的畸变、现场设备所产生的电磁干扰、接地电阻的耦合、输入元件触点的抖动等各种形式的干扰,都有可能使系统不能正常工作。因此,系统在硬件设计时,应采取各种措施,以提高PLC控制系统的可靠性。
①将PLC电源与系统动力设备分别配线。在电源干扰特别严重的情况下,可采用屏蔽层隔离变压器供电,还可加电路滤波器,以便抑制从交直流电源侵入的常模和共模瞬变干扰,还可抑制PLC内部开关电源向外发出噪声。在对PLC工作要求可靠性较高的场合,应将屏蔽层和PLC浮动端子接地。
②对PLC控制系统进行良好的接地。在PLC控制系统中具有多种形式的“地”,主要有以下几种:a.信号地。它是输入端信号元件——传感器的地。b.交流地。它是交流供电电源的N线,通常噪声主要由此产生。c.屏蔽地。一般是为了防止静电、磁场感应而设置外壳或全屏网通过专用的铜导线与地壳之间的连接。d.保护地。一般将机械设备外壳或设备内独立器件的外壳接地,用以保护人身安全和防护设备漏电。
为了抑制附加电源及输入/输出端的干扰,应对PLC控制系统进行良好的接地。当信号频率低于1MHz时,可用一点接地;高于10MHz时,采用多点接地;1~10MHz时,采用哪种接地应视实际情况而定。因此,PLC组成的控制系统通常用一点接地,接地线横截面积应大于2mm2,接地电阻应小于100Ω,接地线应为专用地线。屏蔽地、保护地不能与电源地、信号地和其他地扭在一起,只能各自独立地接到接地铜牌上。为减少信号的电容耦合噪声,可采用多种屏蔽措施。对于电场屏蔽的分布电容,将屏蔽地接入大地即可解决。对于纯防磁的部位,例如强磁铁、变压器、大电动机的磁场耦合,可采用高导磁材料作为外罩,将外罩接地来屏蔽。
③PLC I/O配线,应该从下面两个方面来提高系统的可靠性。a.将各种电路分开布线。PLC电源线、I/O电源线、输入/输出信号线、交流线、直流线都应分开布线。开关量与模拟量的信号线也应分开布线,后者应采用屏蔽线,且屏蔽层应接地。数字传输线要用屏蔽线,并将屏蔽层接地。由于双续线中电流方向相反、大小相等,并且感应电流产生的噪声可以相互抵消,所以信号线应尽量采用双绞线或屏蔽线。b. PLC的I/O信号防错。在I/O端并联旁路电阻,以减小PLC输入电流和外部负载上的电流。PLC的I/O端并联旁路接线如图2-2所示。当输入信号源为晶体管或光电开关输出类型时,在关断时仍有较大的漏电流。而PLC的输入继电器灵敏度较高,若漏电电流干扰超过一定值时,就会形成误信号。同样,当PLC的输出元件为VTH(双向晶闸管)或为晶体管输出时,而外部负载又很小时,会因为这类输出元件在关断时有较大的漏电流,引起微小电流负载的误动,导致输入与输出信号的错误,给设备和人身造成不良后果。在硬件设计中,应该在PLC输入、输出端并联旁路电阻,以减小PLC输入电流和外部负载上的电流。也可以在PLC输入端加RC滤波环节,利用RC的延迟作用来抑制窜入脉冲所引起的干扰。在晶闸管输出的负载两端并联RC浪涌电流抑制器,以减少漏电流的干扰。
图2-2 PLC的I/O端并联旁路接线
④采用性能优良的电源抑制电网引入的干扰。
⑤电缆电路敷设的抗干扰措施。为减少动力电缆辐射电磁干扰,尤其是变频装置馈电电缆,不同类型的信号应分别由不同的电缆传输。信号电缆应按传输信号种类分层敷设,严禁同一电缆不同导线同时传输动力电源和信号,避免信号与动力电缆靠近平行敷设,以减少电磁干扰。
⑥PLC具有丰富的内部软继电器,如定时器、计数器、辅助继电器、特殊继电器等,利用它们的程序设计,可以屏蔽输入元件的错误信号,防止输出元件的误动作,提高系统运行的可靠性。
⑦在连续工作的场合,应选择双CPU机型PLC或采用冗余技术(或模块)。对于使用条件恶劣的地方,应选用与之相适应的PLC以及采取相应的保护措施。在石油、化工、冶金等行业的一些PLC控制系统中,要求有极高的可靠性。一旦系统发生故障会造成停产、设备损坏,给企业带来较大的经济损失。因此使用冗余系统或热备用系统就能有效地解决上述问题。a.冗余控制系统如图2-3所示。整个PLC控制系统由两套完全相同的系统组成。正常运行时,主CPU工作,而备用CPU输出被禁止,当主CPU发生故障时,备用CPU自动投入,一切过程由冗余控制单元RPU控制,切换时间为1~3个扫描周期。I/O系统的切换也是由RPU完成的。b.热备用系统如图2-4所示。两台CPU通信接口连在一起,处于通电状态。当系统发生故障时,由主CPU通知备用CPU投入运行。切换过程比冗余控制系统慢,但结构简单。
图2-3 冗余控制系统
图2-4 热备用系统
4)经济性 在保证系统控制功能和高可靠性的基础上,应尽量降低成本。
此外,在系统的硬件设计中,还应考虑PLC控制系统的先进性、可扩展性和整体的美观性。
(2)硬件设计的一般步骤
1)选择合适的PLC机型 PLC的选型应从其性能结构、I/O点数、存储量以及特殊功能等多方面综合考虑。由于PLC厂家很多,要根据系统的复杂程度和控制要求来选择。要保证系统运行可靠、维护使用方便以及较高的性能价格比。
2)PLC的I/O点数选择 估算系统的I/O点数,主要是根据现场的输入/输出设备。I/O点数是衡量PLC规模大小的重要指标。在选择I/O点数时,一定要留有10%~15%点数余量以备后用。
3)输入输出模块的选择 对于输入输出模块,应从以下几个方面来考虑选择。
①输入模块应考虑如下两点:a.根据现场输入信号与PLC输入模块距离的远近来选择工作电压,例如12V电压模块一般不应超过12m,距离较远的设备应选用工作电压比较高的模块;b.对于高密度的输入模块,例如32点的输入模块,允许同时接通的点数取决于输入电压和周围环境温度。一般同时接通的输入点数不得超过总输入点数的60%。
②输出模块的选择。输出模块有继电器输出、晶体管(场效应晶体管)输出和晶闸管输出三种输出形式。继电器输出模块价格比较便宜,在输出变化不太快、开关不频繁的场合,应优先选用;对于开关频繁、功率因数较低的感性负载可选用品闸管(交流)和晶体管(直流)输出,但其过载能力低,对感性负载断开瞬间的反向电压必须采取抑制措施。
另外,在选用输出模块时,不但要看一点的驱动能力,还要看整个模块的满负荷能力,即输出模块同时接通点数的总电流值不得超过该模块规定的最大允许电流值。对功率较小的集中设备,例如普通机床,可选用低电压、高密度的基本I/O模块;对功率较大的分散设备,如料厂设备,可选用高电压、低密度(即用端子连接)的基本I/O模块。
4)估算用户控制程序的存储容量 在PLC程序设计之前,对用户控制程序的存储容量进行大致的估算。用户的控制程序所占用的内存容量与系统控制要求的复杂程度、I/O点数、运算处理、程序的结构等多种因素有关,所以只能根据经验,参考表2-1所列的每个I/O点数和有关功能器件占用的内存容量的大小进行估算。在选择PLC内存容量时,应留出25%的备份量。
表2-1 用户程序存储容量估算
5)特殊功能模块的配置 在工业控制系统中,除开关信号的开关量外,还有温度、压力、液位、流量等过程控制变量以及位置、速度、加速度、力矩、转矩等运动控制变量,需要对这些变量进行检测和控制。在这些专用场合,输入和输出容量已不是关键参数,而应考虑的是它们控制功能。目前,各PLC厂家都提供了许多特殊专用模块,除具有A/D和D/A转换功能的模拟量输入/输出模块外,还有温度模块、位控模块、高速计数模块、脉冲计数模块以及网络通信模块等可供用户选择。
在选用特殊功能专用模块时,只要能满足控制功能要求就可以了,一定要避免大材小用。用户可参照PLC厂家的产品手册进行选择。
6)I/O分配 完成上述内容后,最后进行I/O分配,列出系统I/O分配表,尽量将同类的信号集中配置,地址等按顺序连续编排。在分配表中可不包含中间继电器、定时器和计数器等器件。最后设计PLC的I/O端口接线图。
2.1.4 PLC控制系统软件设计
软件设计是PLC控制系统应用设计中工作量最大的一项工作,主要是编写满足生产要求的梯形图程序。软件设计应按以下的要求和步骤进行。
(1)设计PLC控制系统流程图
在明确了系统生产工艺要求,分析了各输入/输出与各种操作之间的逻辑关系,确定了需要检测的各种变量和控制方法的基础上,可根据系统中各设备的操作内容与操作顺序,绘出系统控制流程图(控制功能图),作为编写用户控制程序的主要依据。当然也可以绘制系统工艺流程图。总之,要求流程图尽可能详细,使设计人员对整个控制系统有一个整体概念。对于简单的系统,这一步可以省略。
(2)编制梯形图程序
根据控制系统流程图逐条编写满足控制要求的梯形图程序。这是最关键也是较难的一步,设计者在编写过程中,可以借鉴现成的标准程序,但必须弄懂这些程序段的具体含义,否则会给后续工作带来问题。
目前用户控制程序的设计方法较多,没有统一的标准可循,设计者主要依靠经验进行设计。这就要求设计者不仅熟悉PLC编程语言,还要熟悉工业控制的各种典型环节。目前,现代PLC厂家能提供一种功能软件,即可以采用流程图(SFC)来编制程序,从而给顺序控制系统的编程带来方便。但并非所有PLC厂家都能提供这类功能软件,所以使用SFC编程也有一定的局限性。
(3)系统程序测试与修改
程序测试可以初步检查程序是否能够完成系统的控制功能,通过测试不断修改完善程序的功能。测试时,应从各功能单元先入手,设定输入信号,观察输出信号的变化情况。必要时可借用一些仪器进行检测,在完成各功能单元的程序测试之后,再贯穿整个程序,测试各部分接口情况,直至完全满足控制要求为止。
程序测试完成后,需到现场与硬件设备进行联机统调。在现场测试时,应将PLC系统与现场信号隔离,既可以切断输入/输出的外部电源,也可以使用暂停输入输出服务指令,以避免引起不必要甚至造成事故的误动作。整个调试工作完成后,编制技术资料,并将用户程序固化在EPROM中。
2.1.5 PLC应用程序的常用设计方法
PLC应用程序的设计就是梯形图(相当于继电接触器控制系统中的原理图)程序的设计,这是PLC控制系统应用设计的核心部分。PLC所有功能都是以程序的形式体现的,大量的工作将用在软件设计上。程序设计的方法很多,没有统一的标准可循。常用的设计方法通常采用继电器系统设计方法,如经验法、解析法、图解法、翻译法、状态转移法、模块分析法等。
(1)解析法
解析法是根据组合逻辑或时序逻辑的理论,运用逻辑代数求解输入、输出信号的逻辑关系并化简,再根据求解的结果,编制梯形图程序的一种方法。这种方法编程十分简便,逻辑关系一目了然,适用初学者。
在继电器控制电路中,电路的接通与断开,都是通过按钮控制继电器的触点来实现的,这些触点只有接通、断开两种状态,和逻辑代数中的“1”和“0”两种状态对应。梯形图设计的最基本原则也是“与”“或”“非”的逻辑组合,规律完全符合逻辑运算基本规律。
(2)图解法
图解法是靠绘图进行PLC程序设计。常见的绘图有三种方法,即梯形图法、时序图法和流程图法。
梯形图法是依据上述各种程序设计方法把PLC程序绘制成梯形图,这是最基本的常用方法。
时序图法特别适合于时间控制电路,例如交通信号灯控制电路,对应的时序图画出后,再依时间用逻辑关系组合,就可以很方便地把电路设计出来。
流程图法是用流程框图表示PLC程序执行过程以及输入与输出之间的关系。若使用步进指令进行程序设计是非常方便的。
(3)翻译法
所谓翻译法,是将继电器控制逻辑原理图直接翻译成梯形图。工业技术改造通常选用翻译法。原有的继电器控制系统,其控制逻辑原理图在长期的运行中运行可靠,实践证明该系统设计合理。在这种情况下,可采用翻译法直接把该系统的继电器控制逻辑原理图翻译成PLC控制的梯形图。翻译法操作步骤如下。
①将检测元件(如行程开关)、按钮等合理安排,且接入输入口。
②将被控的执行元件(如电磁阀等)接入输出口。
③将原继电器控制逻辑原理图中的单向二极管用触点或内部继电器来替代。
④和继电器系统一一对应,选择PLC软件中功能相同的器件。
⑤按接触点和器件相应关系画梯形图。
⑥简化和修改梯形图,使其符合PLC的特殊规定和要求,在修改中可适当增加器件或触点。
对于熟悉机电控制的人员来说,很容易学会翻译法,可将继电器控制的逻辑原理图直接翻译成梯形图。
(4)状态转移法
程序较为复杂时,为保证程序逻辑的正确及程序的易读性,可以将一个控制过程分成若干个阶段,每一个阶段均设一个控制标志,每执行完一个阶段程序,就启动下一个阶段程序的控制标志,并将本阶段控制标志清除。例如十字路口交通信号灯控制,可将整个控制过程分为两个分支(东西方向控制和南北方向控制),每个分支分为三个阶段,分别为绿灯亮阶段、黄灯亮阶段、红灯亮阶段。东西方向三个阶段可设立三个状态标志,选取内部继电器M0、M1和M2;南北方向三个状态标志可选取内部继电器M10、M11和M12。
所谓状态,是指特定的功能,因此状态转移实际上就是控制系统的功能转移。在机电控制系统中,机械的自动工作循环过程就是电气控制系统的状态自动、有序、逐步转移的过程。这种功能流程图完整地表现了控制系统的控制过程、各状态的功能、状态转移顺序和条件,它是PLC程序设计的好方法。采用状态流程图进行PLC程序设计时,应按以下几个步骤进行。
①画状态流程图。按照机械运动或工艺过程的工作内容、步骤、顺序和控制要求绘出状态功能流程图。
②确定状态转移条件,用PLC的输入点或PLC的其他元件来定义状态转移条件,当某转移条件的实际内容不止一个时,每个具体内容定义一个PLC的元件编号,并以逻辑组合形式表现为有效的转移条件。
③明确电气执行元件功能。确定实现各状态或动作控制功能的电气执行元件,并以对应的PLC输出点编号来定义这些电气执行元件。
(5)模块法
在编制一些大型系统程序时可采用模块法编程,就是把一个控制程序分为以下几个控制部分进行编程。
①系统初始化程序段。此段程序的目的是使系统达到某一种可知状态,或是装入系统原始参数和运行参数,或是恢复数据。由于意外停电等原因,有可能PLC控制系统会停止在某一种随机状态,那么在下一次系统上电时,就需要确定系统的状态。初始化程序段主要使用的是特殊内部继电器M8002(PLC上电时继电器M8002闭合个扫描周期)。
②系统手动控制程序段。手动控制程序段是实现手动控制功能的。在一些自动控制系统中,为方便系统的调试而增加了手动控制。在启动手动控制程序时,一定要注意的是必须防止自动程序被启动。
③系统自动控制程序段。自动控制程序段是系统主要控制部分,是系统控制的核心。设计自动控制程序段时,一定要充分考虑系统中的各种逻辑互锁关系、顺序控制关系,确保系统按控制要求正常稳定运行。
④系统意外情况处理程序段。意外情况处理程序段是系统在运行过程中发生不可预知情况下应进行的调整过程,最好的处理方法是让系统过渡到某一种状态,然后自动恢复正常控制。如果不可能实现,就需要报警,停止系统运行,等待人工干预。
⑤系统演示控制程序段。该程序段是为了演示系统中的某些功能而设定的,一般可以用定时器,实现系统每隔一段固定时间系统循环演示一遍。为了使系统在演示过程中可以立即进行正常工作,需要随时检测输入端状态。一旦发现输入端状态有变化,就需要立即进入正常运行状态。
⑥系统功能程序段。功能程序段是一种特殊程序段,主要是为了实现某一种特殊的功能,如联网、打印、通信等。