1 引言
自从ARC Group提出PAC (Programmable Automation Controller) 这个概念以来,作为近年来自动化产业最为重要的发展趋势之一,PAC受到了自动化业界及终端用户的广泛关注。笔者试图在本文里就PAC的产生及其关键技术进行一些探讨,以抛砖引玉。
2 为什么需要使用PAC?
PAC这个概念的提出是针对PLC(Programmable Logic Controller)的概念而来,作为一种快速和可靠的解决方案,PLC的设计满足了工厂对于使用环境和可靠性的要求,而且其编程方式也非常适合机电工程师的思维习惯,故PLC自问世以来在自动化控制系统领域独领风骚已经有20多年的历史了。目前的PLC已经不仅限于在逻辑控制的应用,一些新一代的大中型PLC已经具备了比较强大的浮点数据运算能力和较为丰富完备的通信介面,可以完成今日的系统化与复杂化的自动控制技术。
在当前的自动化应用里,对自动化控制系统已经提出了更高的要求,图1示出了这些要求带来的变化。
图1 自动化应用的最新需求
虽然PLC业界已经注意到了这一趋势,并通过将PC技术应用于PLC产品,直接提供OPC Server、WEB Server及IEEE标准通信接口等,以提供更高的应用灵活性。但是受限于传统PLC专属式的设计,其互操作性和灵活性很差(即使是对于同一品牌的PLC来说,也是这样),并不能完全满足用户的如下要求:
(1) 传统的PLC均不能提供主动的事件通知,系统的集中监视管理有赖于服务器主机的主动定时查询;
(2) 因为在实时信息上的欠缺,要实现跨PLC的事件处理比较困难,且速度延迟,效果不佳;
(3) 无法提供本地直接处理的预约控制,预约控制完全有赖于服务器主机的集中处理,所以系统当机时,立刻停摆;
(4) 系统的建构由于采用了不同供应商的多种平台,为整合各种不同的专用总线,系统之衔接有赖于第三方提供的OPC Server或Gateway,故其实施并不是一件轻松和容易的事情;
(5) 系统升级将必须付出重新设计的成本和时间,其不可预见成本太高;
(6) 梯形图程序的设计是基于专案进行,每一专案均无法完全复制应用,无法实现标准化,从而工程设计费用无法降低;
(7) 现行自动化系统的数据容量太小,在适应新的应用需求时显得力不从心;
(8) 无法实现实时同步远程的数据传输,与PDA、手机的连接比较困难;
(9) 需要通过PC或第三方设备来实现基于WEB的远程数据发布。
3 什么是PAC?
虽然从外形上来看,PAC与传统的PLC非常相似,但究其实质,PAC系统的性能却广泛得多。作为一种多功能的控制平台,用户可以根据系统的需要,组合和搭配相关的技术和产品以实现功能的侧重,因为基于同一发展平台进行开发,所以采用PAC系统保证了控制系统各功能模块具有统一性,而不仅是一个完全无关的部件拼凑成的集合体。
图2示出PAC的功能定义,综合业界专家的意见,所谓PAC系统应该具备以下一些主要的特征和性能:
图2 PAC的功能定义
(1) 供通用发展平台和单一数据库,以满足多领域自动化系统设计和集成的需求;
(2) 一个轻便的控制引擎,可以实现多领域的功能,包括:逻辑控制、过程控制、运动控制和人机界面等;
(3) 允许用户根据系统实施的要求在同一平台上运行多个不同功能的应用程序,并根据控制系统的设计要求,在各程序间进行系统资源的分配;
(4) 采用开放的模块化的硬件架构以实现不同功能的自由组合与搭配,减少系统升级带来的开销;
(5) 支持IEC-61158现场总线规范,可以实现基于现场总线的高度分散性的工厂自动化环境;
(6) 支持事实上的工业以太网标准,可以与工厂的EMS、ERP系统轻易集成;
(7) 使用既定的网络协议,程序语言标准来保障用户的投资及多供应商网络的数据交换。
4 PAC系统的关键技术
PAC的产生受益于近年来在嵌入式系统领域的发展与进步。在硬件方面,有重要意义的包括:嵌入式硬件系统设计,其中具有代表意义的是CPU技术的发展;现场总线技术的发展;工业以太网的广泛应用。在软件方面则包括:嵌入式实时操作系统;软逻辑编程技术;嵌入式组态软件的发展等。试分别说明如下:
(1) 跟随摩尔定律的发展,最新的高性能CPU在获得更高的处理能力的同时,其体积更小、功耗更低,从而在出众的计算能力以及工业用户最为关心的稳定性和可靠性方面获得平衡,使制造厂商有可能去选择通用的标准的嵌入式系统结构进行设计,摆脱传统PLC因采用专有的硬件结构体系带来的局限,使系统具备更为丰富的功能前景和开放性。
在现有面世的PAC系统中,被广泛采用的是低功耗、高性能的SOC(System On Chip)核心处理器。这里面既有采用CISC架构的CPU,如Mobile Pentium系列CPU,也有采用RISC架构的CPU,如ARM系列、SHx系列等,当然也有使用MIPS CPU的。综合比较而言,由于RISC CPU在应用于工业控制系统时所具备的综合优势,采用RISC CPU的系统占据了目前市场所供应的控制系统的多数。
在CPU技术发展的同时,移动存储技术方面也有很大的进展,从而使最新的系统可以在付出有限成本的同时,获得大容量的数据存储空间,以适应新的自动化应用对不断增长的数据量的要求,同时又可以避免因为使用机械式硬盘带来的系统崩溃的风险。
(2) 经过14年的纷争,最后IEC的现场总线标准化组织经投票,接纳了8种现场总线成为IEC61158现场总线标准,即:FF H1,Control Net,PROFIBUS,INTERBUS,P-Net,World FIP,Swift Net,FF之高速Ethernet即HSE。IEC61158现场总线标准的最终尘埃落定,使在工业控制在设备层和传感器层有了可以遵循的标准。目前在中国大陆的产业自动化应用领域,影响比较大的有:PROFIBUS、基于CAN总线的DeviceNET、主要应用于建筑自动化的LONWorks、以及未曾列入IEC61158标准的CCLink等。
(3) 但是由于这8种现场总线采用的通信协议完全不同,因此,要实现这些总线的兼容和互操作是十分困难的。其可能的出路是采用已经是通用的国际标准Ethernet、TCP/IP等协议,并使其符合工业应用的要求,而且这种方案最容易被广大国家的用户、集成商、OEM及制造商接受和欢迎。
但是要把Ethernet用于工业自动化,有以下4个问题需要解决:
l 实时性问题
由于Ethernet采用CSMA/CD碰撞检测方式,网络负荷较大时,网络传输的不确定性不能满足工业控制的实时要求。但据测试,在典型的工业应用中,其峰值负载在500K左右,相当于10M Ethernet的5%,或100M Ethernet的0.5%,而Ethernet只有当负载达40%以上时才会有明显的延迟现象。同时,目前已经开发出多种有用方法以提高以太网相关组件及软件的速度,并使数据的发送和接受更可靠。这其中最有前途的解决方案是IEEE1588标准精准时间协议 (Standard Precision Time Protocol,PTP)。
l Ethernet如何满足现场环境问题
Ethernet所用的接插件、集线器、交换机和电缆等是为办公室应用而设计的,不符合工业现场恶劣环境的要求。为了解决在不间断的工业应用领域,在极端条件下网络也能稳定地工作的问题,目前已有多家公司专门开发和生产了DIN导轨式收发器、集线器和交换机系列产品,并有冗余电源供电,接插件采用牢固的DB-9结构,如美国科动控制系统公司和国内的东土电信等。
l 在工业控制中使用Ethernet如何获得技术支持
在工业以太网的应用层,有四种标准获得了广泛的支持和应用:施奈德公司:ModbusTCP/IP(1998)是目前工业以太网的事实标准,并使以太网在传感器级和设备级得到了大量的应用;德国西门子公司:PROFINET(2001);美国Rockwell自动化公司: Ethernet/IP(2000);基金会现场总线FF:HSE (2000)。
l Ethernet与网络安全问题
目前有多种软硬件技术可以有效的解决网络安全的问题。
(4) 通用的嵌入式实时操作系统获得了长足的发展,并获得了广泛的应用。传统的美国WindRiver公司的Vx Works、PSOS操作系统在高端领域还是有很高的占有率;另一引人注目的趋势是微软公司的Windows CE在推出.net版本以后,有效的解决了硬实时的问题,并以其低廉的价格和广泛的客户群获得了用户的青睐;作为开放源码的代表,Linux操作系统也推出了其嵌入式版本,并以其在成本、开放性、安全性上面的优势,获得一些特殊应用客户及中小制造商的欢迎。
(5) 符合IEC-61131-3标准的软逻辑编程语言的发展,有效的整合了传统PLC在编程技术上的积累,使广大的机电工程师可以在基于PC的系统上使用其熟悉的编程方式实现其控制逻辑。另一方面在PAC系统上,工程师也可以使用高阶语言实现复杂的算法或通信编程,例如VB.net、EVC、VC#、JAVA等。目前IEC-61131-3标准已经实现了基本层的转载(包括编码体和变量),正在进行携带层的转载(包括函数和功能块),并最终实现整个编译层的转载(应用程序)。从而有效提高不同供应商设备间的互操作性,并减少系统升级时的开销。
(6) 在人机介面的部分,一些软逻辑开发工具均同时提供HMI开发套件,例如ISaGRAF、Micro Trace Mode、KW MultiProg等。如果有更进一步的需求,一些专业的SCADA/HMI软件厂商也提供针对嵌入式系统开发的套装软件,例如组态王公司的嵌入版KingView、Indusoft等。
5 目前主流的PAC系统
目前已有多个厂家提供符合PAC定义的特征与性能的产品,其中有代表性的有:GE Fanuc公司的PACS ystemsTM RX3i/7i、NI公司的Compact FieldPoint、Beckoff公司的CX1000、ICPDAS泓格科技的WinCon/LinCon等。
其中GE Fanuc公司的PACSystemsTM RX3i/7i的CPU采用了Pentium III 300/700MHz处理器,操作系统为WindRiver的Vx Works,RX3i为VME64总线,RX7i为CompactPCI总线;NI公司的Compact FieldPoint的CPU即将升级到Pentium IV-M 2.5GHz处理器,其特色在于整合了测试测量领域中应用非常广泛的开发平台LabView;Beckoff公司 的CX1000的CPU为Pentium MMX 266MHz处理器;操作系统为Windows CE .net或Embedded Windows XP;ICPDAS泓格科技的WinCon/LinCon的CPU为StrongRAM 206MHz处理器,WinCon的操作系统为Windows CE .net;LinCon的操作系统为Embedded Linux见图3:
图3 ICPDAS的Smart PAC——WinCon-8000
图3是ICPDAS泓格科技的WinCon-8000,笔者就以此为例来说明目前新一代可编程自动化控制器可以完成的功能及其特点:
(1) I/O模块:WinCon支持的I/O模块分成三类:串行式连接、Ethernet网络连接、并行式(Build in I/O)连接等。此三种架构的I/O模块都有适用的场合,对应所规划的信号响应速度,选择所需的种类。与PLC的I/O模块相比,其模拟量I/O具有更高的精准度和采样速度,同时其采购成本更低。
另外WinCon的网络I/O将陆续支援CAN(Control Area Network) 总线与泓格自有的FRNet(见图4),透过Modbus/RTU、CANOpen、DeviceNet等通信规约,可以与泓格的I-7000、I-8000及其它厂牌的CAN I/O相连接,而FRNet则是沿用了PLC架构的优点,采用Token Ring的方式,无须软件协议,在固定的时间内可以扫描所有I/O点,再透过Dual-Port RAM的方式与主控制层做沟通。
图4 WinCon的应用架构
(2) Soft PLC:提供ISaGRAF、Micro Trace Mode等Soft Logic PLC的软件包,可以完全执行PLC的梯形图程序功能。使用方式就是先于PC上编辑设计梯形图应用程序,然后下载至WinCon-8000执行。也就是可以当作一台PLC来使用,而且还有以下几点PLC所不能做到的功能,如此架构可以产生PLC Plus的效果。
(3) SCADA系统:提供Embedded View、Indusoft Web Studio、AdAstrA Embedded HMI等套装监控系统。由于WinCon上提供的是执行版本,先在PC上设计所要的监控画面,然后下载至WinCon上执行。这些监控系统也具备各种PLC的通信模块以及OPC Client的驱动程序,所以除了与WinCon本身的I/O模块通信外,还很容易地与其它PLC通信。
(4) OPC和Modbus支援:WinCon提供OPC以及Modbus等两种数据通信方式,可以与外部系统做I/O信号值的数据交换。这些通信方式为工控业界的两大通信标准,所以系统整合也可以实现标准化。举例来说:以前任何一个程序要与PLC相连以读写相关信号点,必须自行设计通信驱动程序,但是对于各种PLC不同的通信方式及信号安排都需熟悉,系统设计门坎非常的高。如今只要依据以上两种通信标准,市面上有许多组件可以使用。只要使用一台 WinCon就可以搞定一切。
(5) SQL数据库:此功能是非常重要的一点。此为标准的关系型数据库,与Windows SQL Server同一等级。一般控制系统因为受限于硬件的架构,只能专注于信号点的处理,而无法做大量数据的处理。但是PC软硬件系统的发展,使得此方面的基础系统健全,而且价格更便宜,因此大量资料的储存及处理变成可能,可以扩展许多新的应用领域。例如:配方表、生产工单、产品品质纪录、操作纪录、警报纪录、作业程序步骤、影像文件、语音文件、设备运转纪录、大量信号数据记录等各种形式数据的运用。当数据越详细,活用数据的机会越多,就会创造许多新的功能;信息越透明就会使得控制更为精确,同时也降低人为的错误率,并且延伸出许多新的应用手法。
(6) 网络联机iPush:此功能打开一扇网络方便门,使得应用系统使用者不用知道背后复杂的网络处理程序。以往如果设计网络系统,就必须知道TCP/IP、Socket、网络通信协议7层架构等技术知识,然后设计网络通信程序,又要考虑通信量、通信速度、Socket API使用、通信Timing的掌握等高级的程序设计技巧。同时通信的形式又有多种选择,例如:短信、语音通知、影像传输、E-mail、Message、主动广播、多数或单独通知、通信频率、单向或双向通信等不同方式。最后接收端的选择也是多样性,例如:监控系统、OPC Server、Excel、PDA、手机、Internet浏览器等。如今以上的一切都交给iPush就可以了,如图5所示:
图5 iPush实现基于TCP/IP的实时主动同步通信
(7) 开发工具应用:如果要自行开发程序,有Visual Basic .net、Visual C#、Embedded Visual C++等多种工具。同时也有多种接口API以作为整合设计用。例如:控制I/O的DLL、iPush组件、SCADA System API、SQL Server API、Modbus Protocol DLL、OPC接口等。也就是可以由各种功能层面得到所要的连接接口,如此形成一个完全的整合系统,无论从哪一方面切入都可以得到满意的整合性。所以使用者可以放心去设计特有功能的程序,然后整合至原有套装系统,变成一个新的应用系统。
6 结束语
在可以预见的几年内,对标准性、开放性、可互操作性、可移植性的要求将是用户至为关心的自动化产品的重要特征,作为融汇了IPC和PLC的优点的PAC系统必将成为控制系统的主流。自动化供应商在最近几年将会推出更多适合各领域个性化应用的控制器及新的功能,以满足广泛和不断增长的需求。