在自动化控制系统中,变频器的使用越来越广泛,变频器对PLC模拟量干扰问题也凸显出来。下面举一个变频器对PLC模拟量干扰的例子以及用信号隔离模块克服此类干扰的解决办法。
现象说明:西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动。
故障查找:1,疑似模拟量输出板卡问题,用万用表测量4-20mA输出信号,信号是正常的!2,开始怀疑是变频器控制信号输入端有了问题,换了一台同型号变频器,问题仍然如此。3,用一台手持式信号发射器做4-20mA输出信号源,输出标准电流信号至变频器,这下变频器启动了,因而我们排除了模拟量输出板卡和变频器的故障。4,由此推测是变频器的干扰信号传导至模拟量通道所致。5,为了验证,在PLC模拟量4-20mA输出通道中加装了一台信号隔离模块TA3012,TA3012的输入端子5、6接模拟量输出模块,输出端子1、2端子接变频器,3、4端子接外部24VDC供电电源,变频器正常启动了。5,据此断定,问题的根源在于变频器干扰模拟量通道所致。
相信不少自控工程师在调试系统的时候都曾经遇到变频器对PLC模拟量干扰的问题,因此,笔者在此分享一下自己的系统调试心得。在PLC和变频器同时使用的自控系统中,应该着重注意一下事项:
1,PLC供电电源与动力系统电源(变频器电源)分别配置,且PLC的供电应该选择隔离变压器;
2,动力线尽量与信号线分开,信号线要做屏蔽;
3,无论是模拟信号输入还是模拟信号输出,模拟量通道一律使用信号隔离模块;
4,PLC程序里做软件滤波设计;
5,信号地与动力地分开设计。
做好以上五点,变频器对PLC模拟量干扰的问题,即可迎刃而解。
0、前言
随着数字信息技术和网络技术的高速发展,人类正步入一个崭新的后PC时代。这个时代的主要特点是嵌入式系统无处不在,并不断地向科研生产及人类生活的各个方面渗透。而可编程控制器(PLC)对机床开关量信号进行控制时可靠性高,使用方便,在大多数数控机床,特别是经济型数控机床中,要求的输入输出点数不多的情况下得到广泛应用。在兼用PC机系统资源的情况下,采用非实时多任务操作系统(如bbbbbbs)时,Win32API的设计可以满足多控制点复杂的数控功能要求,但由于bbbbbbs的分时性,没有考虑到实时环境的开发用途,其系统调用的效率不高,不能满足数控系统高实时场合PLC控制的实时性要求。
VxWorks作为一运行在目标机上的高性能、可裁减的嵌入式实时操作系统,目前以其良好的可靠性和zhuoyue的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域。
本文基于VxWorks操作系统,提出了基于VxWorks的嵌入式实时PLC设计的方法与应用,利用VxWorks的开放性、模块化和可扩展性的系统结构特性以及多线程/多任务的系统环境来达到高实时要求的PLC控制,在保证实时性的同时,实现多点位、复杂功能的PLC系统控制目标。
1、传统PLC系统的结构
相比较传统的的基于通用工业PC的工业PLC,其数控系统嵌入式PLC硬件包括:工控机及其外围设备,基于ISA总线的开关量输入输出接口卡,光电隔离模块,继电器输出模块。
工控机采用bbbbbbs等非实时操作系统,数控系统的人机界面、数控代码处理、轨迹划、参数管理以及PLC控制都通过工控机由软件来实现,不需要独立的NC控制器,减少了数控系统对硬件的依赖,有利于提高系统的开放性。I/O输入输出信息通过PC机I/O接口卡实现主机与伺服接口模块和I/O接口模块之间的信息交换,PC机I/O接口卡基于ISA或PCI的总线。虽然其相较初的单片机的控制加入了工业PC来拓展其开放性,但是由于没有充分利用PC机系统资源,而开发和运行都采用的非实时多任务操作系统(如bbbbbbs,Linux)时,其设计没有考虑到实时环境的开发用途,其系统调用的效率不高,数控系统PLC控制不能满足一些高精度场合的实时性要求。
2、基于嵌入式系统的实时PLC系统结构
嵌入式实时PLC系统,一般由开发系统和实时运行系统两部分组成,是相互独立而又密不可分的两个系统,可以分别单独运行。
开发系统基于PC机,建立在bbbbbbs操作系统平台之上,提供了PLC应用程序的编写及其编译调试环境。开发系统与实时运行系统的通讯一般通过RS232接口来实现。如果嵌入式操作系统提供网络服务,也可以通过以太网、Modbus或CAN总线进行通讯。应用程序编写完并编译调试无误后通过RS232或TCP/IP通信协议下载到嵌入式系统。实时运行系统则用于完成系统配置、输入信号处理、循环调用PLC程序及控制信号输出等操作,并且可以通过现场总线或TCP/IP通信协议与硬件层(I/O)实现通信。
为了更好地支持实时运行系统,嵌入式系统一般要引入操作系统,嵌入式操作系统(如bbbbbbsCE,VxWorks等)为实时运行系统提供了启动代码、串行通讯接口、内存操作(malloc/free)、ANSI标准库、1ms的时钟滴答、调试接口等服务。如果实时运行系统整合了相应的功能,系统也可以不引入操作系统。我们所采用的嵌入式实时系统体系结构如图2所示,其实时操作系统采用VxWorks。
了其通信性能,实时能力大大提高,同时此结构具有完全开放性,高度兼容性,的可扩展性,使得自动控制系统的设计不受硬件的限制,可以有效地提高PLC的运行速度和可靠性,并且支持多任务的控制策略。另外相应的从嵌入式处理的设计与和BSP改造方面,也做了相应的优化处理。
3、基于PPC的嵌入式处理器设计
VxWorks系统运行在基于PPC的MPC860处理器上,并作了一些有关改造以适应实时PLC的现场总线的通信要求。主要包括4个主要模块(如图3):PowerPC核心,系统接口单元(SIU),通信处理模块(CPM)和快速以太网控制器(FEC)。
系统接口单元(SIU)集成几乎所有32-bit处理器系统的常用功能。MPC860采用32位内部总线,可以支持8,16或32位的外设和存储器,同时SIU提供功耗管理、复位控制、PowerPC减法器、PowerPC时钟基准以及实时时钟等功能。其内存控制器可以控制多达8个存储体,同时只需通过很少的电路就可实现与DRAM,SRAM,Flash以及其它外围设备的无缝连接,同时DRAM接口支持8,16和32位的端口,DRAM控制器提供页模式下的突发传送访问。
一.逻辑阶段
所谓的逻辑阶段就是可以实现继电系统中的一般逻辑性设计,既然是继电系统所以电力拖动知识就是该阶段的基础。我个人总结学习继电系统的根在于一个字“抢”,继电系统之所以能实现逻辑控制就在这个字上。继电系统中主要就有那么三个东东A常开;B常闭;C线圈。这就对应了PLC中的基本元素了,只不过是阅读的方法不一样罢了。
那么是不是就可以把原来的继电系统照搬呢?不行!二者的工作方式是不一样的。继电系统中的所有硬元素同一时态开始竞争的,而PLC中的所有软元素是通过PLC的CPU来进行扫描计算处理后计算出该时态的结果,这便是PLC的扫描循环工作方式。(随便找一本PLC的书都有介绍)
重点:该阶段就是学习电力拖动,对应于PLC梯形图中的常开;常闭;线圈。可以完成简单的系统设计
二.顺控阶段
顺序控制在工业中的应用相当广泛,例如一般性的自动机床它就是一个顺序控制过程。PLC设计当中能实现顺控的有两种方法:一 PLC中的顺控指令如三菱 STL ;二 起保停控制方式。不管哪种控制方式在设计的开始我们要完成的是流程,它是系统构成的脉络主要有三个方面:一 “步” 二 “活动步” 三 “转换条件”。
重点:1.掌握系统脉络设计系统流程
2.掌握“起保停”控制方式,把流程图转换成梯形图可以完成一般性的系统设计
三.汇编阶段
该阶段是本质上区别于继电控制系统,是继电控制系统无法实现的,也是提高PLC控制系统功能的根!我之所以称之为汇编阶段,是因为它很相象于单片机的汇编语言编程,例如单片机中的传送指令MOV,在PLC中的指令中也是一样的功能。这一阶段难度比较大,要学习计算机基础;第二要充分了解PLC的内部功能和资源;第三熟悉所有的指令的功能(不用死记硬背)。如果不了解计算机基础的话在学习指令和PLC内不资源的时候根本理解不了 ,在设计上的思路和继电系统有很大区别例如:I0.0 和IB0 个是“位”也就是逻辑设计的“点”,第二个是“字节”在逻辑设计中没有涉及到。
重点:1. 计算机基础
2.PLC资源
3.指令功能
4.适应单片机的程序设计思维
可以完成复杂的系统设计
四.特殊阶段
特殊阶段就是对特殊功能的系统而言的,例如运动控制,PID温度控制,网络连接等等。不同的PLC能实现的功能不一样,有些功能PLC内是集成的而有些是需要外加扩展的,那么就要根据不同的控制对象去选用了。掌握好该阶段是可以大大提高PLC的程序,但是还需掌握PLC以外的其他自动化知识,如伺服,变频器等等。
重点:1. 了解系统构成需要
2.合理选择扩展单元
3.学习扩展单元使用方法
可以完成特殊的系统设计
该阶段的学习学要一定的实际条件才能完成
五.网络阶段
随着自动化技术的发展由PLC做下位机的应用也十分多见。该阶段组要学习是不同PLC通信协议和一些通讯指令,如PLC通过编程口控制变频器如西门子的USS协议与变频器进行信息的交换。还有工业以太网和现场总线等如西子的PROFIBUS;AS-i; 等等。
网络中MODBUS比较重要,例如通过PLC和变频器建立MODBUS协议来控制变频器。
在网络中有时候有些产品通讯协议非标准,这是就要用到自由通讯了,相当的灵活,但要一定的计算机网络基础。
输入/输出滞后时间又称系统响应时间,是指PLC部输入信号发生变化的时刻至它控制的有关外部输出信号发生变化的时刻之间的时间间隔,它由输入电路滤波时间、输出电路的滞后时间和因扫描工作方式产生的滞后时间这三部分组成。
输入模块的RC滤波电路用来滤除由输入端引入的干扰噪声,消除因外接输入触点动作时产生的抖动引起的不良影响,滤波电路的时间常数决定了输入滤波时间的长短,其典型值为10ms左右。
输出模块的滞后时间与模块的类型有关,继电器型输出电路的滞后时间一般在10ms左右;双向晶闸管型输出电路在负载通电时的滞后时间约为1ms,负载由通电到断电时的大滞后时间为10ms;晶体管型输出电路的滞后时间一般在1ms以下。
由扫描工作方式引起的滞后时间长可达两个多扫描周期。
PLC总的响应延迟时间一般只有几十ms,对于一般的系统是无关紧要的。要求输入输出信号之间的滞后时间尽量短的系统,可以选用扫描速度快的PLC或采取其他措施。 在自动化控制系统中,变频器的使用越来越广泛,变频器对PLC模拟量干扰问题也凸显出来。下面举一个变频器对PLC模拟量干扰的例子以及用信号隔离模块克服此类干扰的解决办法。
现象说明:西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动。
故障查找:1,疑似模拟量输出板卡问题,用万用表测量4-20mA输出信号,信号是正常的!2,开始怀疑是变频器控制信号输入端有了问题,换了一台同型号变频器,问题仍然如此。3,用一台手持式信号发射器做4-20mA输出信号源,输出标准电流信号至变频器,这下变频器启动了,因而我们排除了模拟量输出板卡和变频器的故障。4,由此推测是变频器的干扰信号传导至模拟量通道所致。5,为了验证,在PLC模拟量4-20mA输出通道中加装了一台信号隔离模块TA3012,TA3012的输入端子5、6接模拟量输出模块,输出端子1、2端子接变频器,3、4端子接外部24VDC供电电源,变频器正常启动了。5,据此断定,问题的根源在于变频器干扰模拟量通道所致。
相信不少自控工程师在调试系统的时候都曾经遇到变频器对PLC模拟量干扰的问题,因此,笔者在此分享一下自己的系统调试心得。在PLC和变频器同时使用的自控系统中,应该着重注意一下事项:
1,PLC供电电源与动力系统电源(变频器电源)分别配置,且PLC的供电应该选择隔离变压器;
2,动力线尽量与信号线分开,信号线要做屏蔽;
3,无论是模拟信号输入还是模拟信号输出,模拟量通道一律使用信号隔离模块;
4,PLC程序里做软件滤波设计;
5,信号地与动力地分开设计。
做好以上五点,变频器对PLC模拟量干扰的问题,即可迎刃而解。
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商