从1968年美国GM(通用汽车)公司提出取代继电器控制装置的要求,并在第二年美国数字公司研制出了第一代可编程序控制器PLC以来,PLC产品经历了20多年的发展后,诞生了大量编程风格的技术与产品。不同PLC厂家对于PLC理解的不同,都有各自的技术实现,编程语法风格也越来越多,造成使用者在不同厂家PLC产品之间转换碰到极大的挑战。 1993年,在那个PLC战火纷飞的年代,IEC61131-3标准(初次命名为IEC1131-3,后更名为IEC61131-3,后文统称IEC61131-3标准)终于诞生了,国际电工委员会(International Electrotechnical Commission,简称IEC)搜集了市场上主流PLC编程标准,并在1993年制定了IEC61131-3标准用于统一PLC的编程语法(五种主流PLC编程语言,包括功能块图FBD、梯形图LD、结构化文本ST、顺序流程图SFC与指令表IL)、通用PLC架构模型(配置Configuration、资源Resource、多任务MultiTask、变量Variable、地址Address、程序Program、功能Function、功能块Function Block、功能/功能块二次封装与代码重用等等概念)。
到今天离IEC61131-3标准的诞生已经将近三十年时间,PLC产品经历了漫长的发展与变革,在最近十年间西门子、三菱、欧姆龙、施耐德、罗克韦尔等等业内知名企业都在逐步支持IEC61131-3的编程体系与系统模型。而在欧洲IEC61131-3标准则是PLC编程的入门必经之路,几乎每一位PLC工程师都是从IEC61131-3标准中的FBD、LD、ST语言入门学习,而在我国则远远落后,这里我们就不深挖,在以后的文章中我们再与大家一同分享。但是无论怎样,面对未来的PLC产品开发与应用,IEC61131-3标准毫无疑问是未来工业自动化控制系统长远发展的大方向。 前面介绍了IEC61131-3标准的历史与近些年的发展,那么对应到具体树莓派边缘计算PLC产品上,我们需要支持面向OT应用的IEC61131-3控制技术与面向IT应用的开放式物联网平台,项目规划之初我们再次面临选择:完全自主研发IEC61131-3编程软件与控制器产品 OR 基于成熟软件技术由专业团队协助进行二次开发?
为什么中小企业应首选成熟IEC61131-3技术伙伴而不是自主研发基础平台?首先我们依然聚焦在IEC61131-3标准的控制器平台技术上,从IEC61131-3诞生到今天已经将近三十年时间,欧美日的PLC控制器龙头企业早早开始投入大量资金研发符合IEC61131-3标准的控制器平台软件与硬件产品,而国内企业起步相对较晚。由于工业自动化市场细分行业较多,并且单个细分市场的体量较小,这些工业自动化细分领域的优秀公司难以投入巨量的资金进行基础IEC61131-3平台研发工作。根据过去十年我们的经验,如果期望自主研发具有一定国际竞争力的覆盖小型、中型以及大型的PLC系统,投入的研发资金可能会达到大几千万到上亿元人民币不等,从产品规划、研发、市场推广应用,并具备一定的影响力可能需要5-20年时间,这对于国内大量的工业自动化细分行业龙头企业来说,是非常大的一个挑战。 大量企业需要自主研发符合IEC61131-3标准的控制器产品,而自主研发投入又是巨大的资金需求,因此欧美在过去的二十多年诞生了专门为这些中小企业实现IEC61131-3标准控制器的PLC软件解决方案公司,这里我介绍一下我所在的翌控科技的战略合作伙伴意大利AXEL S.r.l.公司,在二十年前意大利AXEL S.r.l公司成立并开始为伺服驱动器与变频器厂商在非常有限的处理器平台上实现高性能的PLC编程软件与运行时Runtime,这些设备空闲存储器资源非常有限,通常按照KB级别来计算,同时由于运行了高速的算法,空闲的处理器资源也相当有限,因此AXEL公司的PLC代码编译器与运行时Runtime就是面向低资源、高性能、扩展性强为目标而设计。 我们在工业自动化IEC61131-3软件平台方向上努力十年时间,虽然相对整个PLC发展历史来说只是弹指一瞬间,但是借助于这十年的IEC61131-3标准、现场总线、运动控制、各种处理器平台、实时操作系统等等技术的积累,同时与AXEL公司深度绑定与合作,将继续为国内企业提供最贴近客户需求的稳定、高效、开放的PLC系统级解决方案。相信到这里,大家应该已经明白自主研发IEC61131-3标准的PLC产品,应该如何布局未来研发路线。从目前工业自动化市场格局来看,大多数的PLC控制系统都把持在欧、日、美三大派系龙头企业上,所以对于我们各个工业自动化细分领域的领军企业来说,首先确保控制系统硬件产品完全自主研发,并且通过与国内外优秀的软件技术合作伙伴合作实现IEC61131-3平台与系统,再逐步自主研发,这可能是更稳妥的路线。
与我们共同合作开发是最快速、稳定、风险小的路线。目前我们已经提供标准IEC61131-3标准的LogicLab编程工具,包括支持五种标准编程语言(FBD、LD、ST、SFC与IL)与实时多任务架构,同时支持丰富的调试手段与功能(在线变量实时监控、包括强制、软件示波器、断点与单步调试等等功能),LogicLab编程工具可以进行OEM贴牌以及进行二次扩展开发进行开放式定制,另外也支持Modbus、CANopen、EtherCAT等现场总线,HMI与运动控制等等解决方案:
基于树莓派标准硬件平台,使用LogicLab系统可以通过树莓派扩展I/O控制工业信号,如下图所示: 也可以对Modbus总线进行组态,实现PLC之间的站间访问,而在未来我们也将为树莓派CAN总线扩展板添加CANopen协议以及访问自定义协议的I/O模块的驱动支持。 通过开放式的LogicLab Runtime CSDK,开发者可以将任何基于Linux C语言开发的功能或算法通过插件方式集成到IEC61131-3应用体系中,包括树莓派标准的I/O扩展,UART、SPI、I2C接口的外设访问,各种运行在Linux上的C语言应用程序等: 另外面向工业物联网应用,Node-RED平台将进一步增强控制器的开放性,提升数据处理与通讯能力。Node-RED是由IBM主导的开源物联网开发平台,基于Node.JS开发。使用Web浏览器就可以对数据流进行拖拽式组态、参数设定、程序加密、调试与下载等等,有了这么优秀的平台,我们为什么要去重复造轮子呢 在树莓派的Linux平台上LogicLab已经支持与Node-RED之间的无缝数据交换,LogicLab与Node-RED之间通过LLSymbol远程访问组件相互交换数据,进程间的通讯数据访问效率与及时性更高,因此这样的架构更能支撑未来边缘计算PLC对于数据及时性的需求。
经过这三篇连载,我们从概念到硬件再到系统及控制软件,对使用树莓派快速开发边缘计算PLC做了详细阐述。树莓派作为最近几年最优秀的开源社区产品,强大的社区资源可以大大降低产品研发投入,借助于我们对树莓派与实时Linux系统的应用经验,可以快速开发出面对适合工业应用场景的IEC61131-3标准的工业控制器产品。我们也为大家准备了资料包,包括基于树莓派3B/3B+的预集成实时Linux镜像,集成Linux PREEMPT-RT实时内核补丁,LogicLab SoftPLC运行系统,Node-RED物联网开发平台,一体化的镜像更方便系统安装与测试。大家可以快速进行实时Linux内核+PLC系统+Node-RED环境安装并进行IEC61131-3与Node-RED编程实践。 |