作 者
彭 瑜:上海工业自动化仪表研究院,PLCopen中国组织
前段时间美国一个资深的自动化人士宣称PC控制将会占到PLC市场份额的40%,这引起了不少人对PC控制的前世今生感到了兴趣。为了弄清PC控制的来龙去脉,今后还有没有发展余地,我们首先要回顾PC控制的发展过程。
PC控制的发展的背景
1981年IBM推出了个人电脑PC机,使用的操作系统是由微软推出的标准磁盘操作系统(DOS)。PC是一种通用计算机,其成本远远低于当时流行的小型计算机。从硬件的视角看,PC的架构为扩展卡提供了开放的硬件总线,这大大激发了大量开发人员的创新和创造力;而从软件的视角看,操作系统的开放性为各个应用领域的开发人员提供了适应各种场景应用程序开发的机会。换言之,PC平台的开放性极大地扩展了各类可资运用的应用程序,释放了广大科技人员的创造力,并创建了一个软件开发的生态系统,服务于各种需求。因此可以毫不夸大地说,随着PC机的诞生,开启了计算机应用的新的革命,也促使工业自动化领域因此大大受益。
随着个人计算机和DOS操作系统的逐渐普及,出现了第三方的图形图像软件,涌现了一些以开发图形显示的新公司,其中包括Intellution、Iconics和USDATA。1985年问世的微软Windows操作系统对工业自动化产生意义深远的影响。Dennis Morin在1987年创建了Wonderware公司,主导开发在Windows操作系统环境下的人机界面软件InTouch,目标是让操作人员能够方便而有效率地监控操作过程,还增加了一些附加的性能和对IT技术和业务系统的开放接口。这一软件产品的推出标志着微软的工业软件革命为第三方的开发者开启了离散制造工业和流程工业的控制系统架构的转向。甚至在发展的初期,流程工业并不看好这一方案,认为并不适合流程工业的要求,但时间和应用是最好的评判,最后这一趋势还是以优秀的性价比淘汰了DCS原有的专用操作员控制台。
与此同时,在1985年还出现了PC控制这一重要方向。当时的PC控制基本上就是利用个人电脑运行控制程序和流程显示程序,有的是运行主要用于流程行业的PID控制程序,也有的是运行PLC的控制逻辑程序和顺序控制程序;而I/O则采用插在PC总线上的扩展板,可以是开关量输入/输出,也可以是模拟量输入/输出。不论是DOS或者Windows操作系统,因为不能满足实时控制和时间确定性控制的要求,真正能够实用的PC控制还必须对操作系统进行改造,或者采用专门的实时操作系统,例如Windows CE嵌入式操作系统的通用平台。另外,将IBM PC板的设计和芯片组发展为许多不同的背板总线如PC104、VME总线和PCI等。这样一来便允许控制软件驻留在嵌入式系统中,并可取得更好的控制方法。
显然,这类系统的优势与劣势同样明显。优势是随着PC机的成本越来越低,采用PC控制的成本也随之下降;控制与流程显示集中在一台PC机中,不像PLC如要配备流程显示,必须另外选用由PC机做流程显示,或专门的HMI设备。劣势是PC机并不能在严酷的工业环境下使用,其电磁兼容性、环境适应性等远不能满足工业应用的要求,如果改用工业PC机(IPC),其成本优势将不复存在;另外,其实时性和时间确定性如果没有好的解决方案,将大大限制其可以运用的范围。
这里附加一个小小的插曲。在PC机诞生之前,PC的缩写专指可编程控制器(Programmable Controller)。可是在PC机诞生以后,由于它的通用性覆盖包括科学技术、工业、商业、运输业,乃至教育、文化、办公管理等所有的领域,影响面之大和强势逼迫可编程控制器不得不更名为PLC可编程逻辑控制器,把PC这个响亮的名字拱手相让于个人电脑。这事情发生在上世纪80年代的中期。
PC控制的发展历史回顾
最早的基于PC的控制系统之一是由Ron Lavallee在20世纪80年代中期开发的FloPro产品。它是以流程图为基础的,构成了一种逐个决策的方法来描述和表达工艺流程。然而,他的第一个项目是一个后处理程序,它使用惠普的HP-85生成的代码将流程图符号转换为梯形图逻辑。他向Gould Modicon公司展示了他的开发,后者曾提议购买这项技术,但由于某种未知的原因放弃了。FloPro转移到IBM的PC机,加上连接Allen-Bradley远程I/O系统的通信卡,FloPro进入了通用汽车的开发领域,一个新的范例诞生了。
Mike Klein创办了一家名为Steeplechase(越野赛跑)的流程图公司,在计算机控制领域很早就取得了成功。它基于Windows,所提供的流程图编程软件其界面远比FloPro要好,获得广泛的赞誉。笔者在2000年前曾获赠一本该公司出版的有关PC控制的技术专著。
Steeplechase还与与一些公司建立联盟,事实上还催生了更多的以推广流程图编程软件应用的公司,如Think&Do。Think&Do公司的销售经理是一名上海工业大学毕业的上海人,他曾在2000年以后的好几年在国内(主要在上海和北京)举办研讨会,也走访了一些研究所、企业和大学,希望能为流程图编程语言打开出路。记得是有一些单位运用Think&Do提供的流程图软件做过一些项目,如北京的邮电部门的邮件分拣装置。笔者当年曾与这位销售经理讨论过这个编程语言的前途,直言不讳指出它较难推广,原因是那时IEC61131-3的国际标准已经稳稳地获得国际工业界的认可,而这个标准中的顺序功能图(SFC)其功能完全可以替代FloPro这样的流程图编程语言。实际的发展证明了笔者的判断,如今SFC已成为PLC控制软件的固件。它现在作为一种基于状态的控制软件系统可以以硬件形式实现而广为使用。之后Steeplechase和Think & Do合并成立Entivity公司,又被菲尼克斯美国公司收购,但总的来说并不算很成功。
另一家因FloPro而成立的公司是FlexI SProcess Control公司。它推出一个后处理程序,采用SFC编程的控制算法,并将其转换为艾伦-布拉德利(AB)公司的PLC-5的子程序的梯形逻辑。它确实很流畅,做得很好,但在图形化语言方面有一些来自行业的阻力,因为开发人员并没有没有按照需要的方式思考。他们的思维是为阶梯逻辑的开发准备的,而且大多数的开发是一次一个梯级进行。
实际上,科技界并不排斥有一个新颖的想法和一种新的方法来创建一个控制过程程序,但创建者必须有一定的资源,而且需要长期地进行维护、升级和技术支持。例如FloPro在加拿大温莎的一个项目中遭遇挫折,因为系统集成商抨击该软件的可视化效果非常差,而且缺乏故障排除工具。在多伦多的耐克分销中心有一个系统,它仍然运行着Steeplechase公司的流程图软件。问题是如果系统出了什么差错,将难以找到任何资源提供支持帮助。总之,流程图编程语言及其平台之所以没有取得预想的成功,恐怕问题出在从事这一方向开发和推广的公司没有得到足够的资源支持,市场的推广又不足以支持其长期的坚持和发展。但从图1所示的应用程序编程示例可以发现,它还是有其明显的优点:逻辑清晰,容易理解,甚至可以运用自然语言表达等等。
图1 采用流程图编程语言编程的程序示例
是不是Steeplechase的流程图编程就此进入死局了呢?并非如此,至少在美国还有不少它的拥趸。例如OPTO22的控制器至今还一直在用这种编程工具,其近年推出的边缘可编程工业控制器EPIC groove仍然提供流程图编程工具。菲尼克斯在2008年开发的面向中小型应用的PLC(型号为ILC150 VLC系列)是一种紧凑型低价格的嵌入式平台,从其配备工业以太网EtherNet/IP来看,这是一款针对美国市场的产品。这一PLC采用Steeplechase的流程图编程软件(图形化逻辑控制软件VisualLogic Controller),版本是VLC7.2。菲尼克斯还有一个产品系列S-MAXVLC,也采用这一编程工具。
图2 德国菲尼克斯公司的ILC150 VLC系列PLC
在美国还有一种所谓的低图形编程(low diagram programming)的说法,流程图编程也被归纳到这一门类。另外,国内比较熟悉的NI的LabView平台,提供具有各式各样的基础功能块的库,供用户进行功能块图形编程,也是属于低图形编程的范畴。
实际上在1985年以后,国内许多单位也开始了运用PC机开发控制系统的探索。笔者参加过上海工业自动化仪表研究所一个造纸控制系统开发的项目,运用长城0520C(Intel8086,加装8087协处理器做浮点运算),除了做人机界面、I/O、与纸张基重和水分测量装置的通信进行数据采集外,还承担造纸过程控制模型的运算。由于算力有限,为保证具有大量矩阵运算的控制模型能在1秒钟内算完,程序编写采用汇编语言。系统在北京造纸一厂一台长网造纸机投运。
国内在90年代中后期在工控市场中出现了基于PC机的适于中小规模的DCS系统的产品,由于其造价相对正规厂商的DCS低许多,也曾获得过一定的市场份额。但后来国产正规的DCS厂商如中控、和利时、优稳等不断壮大,产品质量和规模不断提升,价格又在下降,这类基于PC机的DCS逐渐退出市场。不过在国内用PC机开发软PLC控制很少见,除非用国外的相关软件。或许是因为开发这种基于IEC61131-3的软件需要有相当坚实的基础。
PC控制的PLC化开辟了工控应用的新天地
IEC61131-3已经发布快30年了,它已经成为一种被国际工控界广泛接受的控制软件平台的基础标准。PC控制的发源地美国似乎很少出现像德国的倍福和奥地利的贝加莱那样的具有国际规模和影响的采用基于PC的硬件平台,而运行的是IEC-61131兼容的控制软件。这仿佛继承了基于PC控制的原始理念和原有的优点和利益。当然像美国OPTO22这样的持PC控制PLC化,或者一度以可编程自动控制器PAC面目出现,也有很不错的产品。在产品定位上,这类PLC化的PC控制产品多数属于中高端,吸取了PLC产品的高可靠性、高环境适应性、高电磁兼容性的优点,可直接运用于严酷的工业环境中;其模块化组件式的机械结构秉承了PLC灵活配置的特色;其I/O模块的多样性完全能适应各式各样的工业现场的要求。在用户看来PLC应该有的性能它们全都具有。更为吸引用户的是它们的CPU的处理能力超越一般的PLC,它们配备的综合的工程开发软件平台(如贝加莱的Automation Studio,倍福的TwinCAT3)都超过一般PLC的软件开发平台,在一个统一的软件平台上可以提供PLC系统几乎所有的逻辑控制、顺序控制、运动控制、人机界面、文档管理等编程和组态功能,丰富的应用程序库,与第三方仿真软件、视觉软件的方便链接,与IIoT的链接等,都给用户的中高档应用开发提供了良好的条件。
以上这些PLC化的PC控制,主要用的是X86的体系结构。还有一类新型的PLC也可以归于同一类,典型的代表就是德国菲尼克斯的PLCnext,还有德国楞次的新型PLC。它们共同的特点是在一个系统内既有实时控制的PLC,又有非实时的可直接链接IT(包括云、IIoT、数据中心等)的系统,为OT与IT融合给出了一种解决方案。PLCnext通过建立四大开放平台,即开放式实时操作系统、开放式编程环境、开放式通信接口和开放式用户界面,将传统且稳定的PLC与现代的软件工程的灵活性与开放性结合起来,以满足智能制造的日常要求。在同一个系统中实现传统PLC的实时控制的同时,引入基于互联网的非实时任务,依赖全局数据空间中间件,为不同的实时数据处理方式和非实时数据的处理方式提供了数据交换的途径。
PLCnext技术是一个执行Linux操作系统(带有OSADL实时修补程序)的开放的固件平台。各种以固件形式出现的部件构建其核心的功能性,这些核心部件包括系统部件、服务部件、I/O部件以及中间件。中间件起着将PLCnext固件平台与操作系统隔离开来的作用。用一个公用类的集合为用户提供调用系统的功能性(例如文件操作、套接字服务或线程服务)的可能。包含在中间件中的全局数据空间GDS是PLCnext技术中一个特殊的部件,通过所谓的“数据端口”保证单个部件实时数据交换的一致性。
图3 PLCnext的系统架构集实时控制和非实时处理于一体
近年来在工业自动化市场出现的新品种引起了广泛关注,这就是运用于工业边缘、可安全接入工业互联网的可编程工业控制器,例如美国Honeywell的ControlEdge PLC,OPTO 22的groov EPIC,日本三菱电机的MELIPC MI5000、MI3000、MI2000、MI1000和中国台湾研华的WISE-5000等。这种新的解决方案可以同时满足自动化和IIoT的要求。这种集设备边缘、路由器边缘和计算边缘于一体的功能多、算力强、通信灵活的新型控制器,对下可以直接接入各种I/O,执行PLC的控制、数据采集和处理等多功能,对上可以直接与云端和数据中心相连(见图4)。这也是PC控制发挥其长处的OT/IT融合的一种解决方案。
PLC的这些新的架构和新的品种毫无疑问应该都属于PLC化的PC控制。之所以说基于PC的控制技术的潜力还远未达到它可能达到的水平,显然就是告诉工业自动化界,PLC化的PC控制会随着智能制造、工业互联网的发展占据更多的PLC市场的份额。
图4 OPTO 22的边缘可编程工业控制器的解决方案
结语
控制软件在过去的几十年里发生了许多变化,但有趣的是,大多数制造过程的控制仍然采用PLC,而且主要采用用梯形图编程逻辑实现。支持这一论断的事实是,在过去10年里几乎每一项关于编程语言的调查结果领先的都是梯形图逻辑,当然作为流程图编程的替代者顺序功能图语言SFC,已经超越FBD、ST等位居第二。
问题在于PLC还一直居于主流地位,但基于PC的控制技术的潜力还远没有达到它可能达到的水平。PC控制历经PLC化,成为PLC大家族中重要的一员,PC控制又在进一步的发展,不断地挖掘其在综合软件平台方面的优势,创造出更适合市场需求、更符合用户要求的新功能、新模式、新架构,这样PC控制将在中高端占据PLC市场的40%的预测,据信是可以达到的。