前 言
德国于2015年4月发布的“工业4.0”参考架构模型(Reference Architecture Model Industrie 4.0,RAMI4.0)在国内已被反复解读,国际标准IEC 61131-3 作为工业3.0时代的分水岭、RAMI4.0中的基石,被很多专家津津乐道。
然而,大学教材里还是以美日德系不同品牌的硬可编程逻辑控制器(Programmable Logic Controller,PLC)为主,教学和实验内容还是分水岭事件之前的指令表、梯形图等,学生不会喜欢在因厂家而异的非标环境中编写功能单一的控制逻辑,IEC 61131-3 也随之被忽视了。
实际上现代PLC早已脱胎换骨,并全面渗透到了工业自动化的各个领域,除传统逻辑控制外,还可胜任运动、安全、人机交互、信息化、大数据、边缘计算等新的应用需求。2001年,ARC咨询集团提出用可编程自动化控制器(Programmable Automation Controller,PAC)对其重新命名,并总结出PAC应该具备的主要特征和性能:
(1)一套符合IEC 61131-3 的集成开发环境。
(2)支持工业控制系统的现场总线标准IEC 61158,实现基于现场总线的分布式自动化控制。
(3)采用通用的硬件架构以实现不同功能的自由组合与搭配,减少硬件升级成本。
(4)运行时具有系统资源分配、实时任务调度、信息化组网等工业操作系统功能。
(5)标准化可重用基础库,可以实现多领域的功能,包括逻辑控制、过程控制、运动控制和人机界面(Humar Machine interaction, HMI)等。
(6)支持标准的网络协议,可与制造执行系统(Manufacturing Execution System,MES)、企业资源计划(Enterprise Resource Planning,ERP)系统轻易集成,以保障用户的投资及信息化网络建设。
在德国出现了CODESYS、OpenPCS和MultiProg等完全对标IEC 61131-3 的编程系统和以倍福公司TwinCAT为代表的PC-Based控制系统,其凭借优异的性能和开放性,代表了工业自动化的未来。
华中科技大学的华中可编程自动化控制器(HuaZhong Progoammable Automation Controller,HPAC)项目组从2010年开始进行了国产PAC技术攻关,取得的主要成果有:基于Beremiz开源项目研发了标准化编程系统,提出了可重用易装包技术规范;自主实现了CANopen、EtherCAT、NCUC、ASI等多种主流工业总线的IP,并与裸机、嵌入式Linux两类运行时系统实现了融合;研发了符合PLCopen规范的运动控制(HuaZhong Motion Control,HZMC)库和华中安全功能(HuaZhong Safety Function,HZSF)库;探索了安全集成的应用设计模式,形成了成熟稳定的国产PAC系列产品和解决方案。
在HPAC系统研发和应用过程中,作者逐步取得了以下一些认识:
(1)PAC的成功之处,一是通过IEC 61131-3实现了编程语言的标准化,掌握IEC 61131-3可以从更高维度审视评估不同厂家的编程系统,在纷呈复杂的自动化市场中构建企业自己的核心技术;二是通过现场总线实现了高性能,EtherCAT现场总线数据的交换性能甚至已经超过了PC的外设设备互连(Peripheral Component Interconnect,PCI)系统总线。
(2)IEC 61131-3综合了形式化和图形化共5种编程语言,其图形化部分是一套特定领域建模(Domain-Specific Modeling,DSM)工具,采用模型驱动开发(Model Driven Development,MDD)开发标准化工控软件是完全可行的(一些商业编程系统的MDD能力之差令人意外)。采用MDD开发后,逐层代码完全由标准化图元绘制而成,文档自身就是代码。
(3)绘制工控代码图纸的极简形式,能且只能通过安全集成获得。PLCopen Safety功能块正是对工控现场安全需求的场景化、标准化定义,安全相关的软硬件集成了,各种异常被系统性解决了,安全和功能软件就分离了,安全性就可评估了,软件图纸自然就简化了。
(4)设备的安全(Safety)由物理系统的运营技术(Operational Technology,OT)负责,是信息系统(Information Technology,IT)的盲区,而安全集成作为设备的设计模式,是当前IT和OT人认知上共同盲区;当前数字孪生的定义也是五花八门,作者欢迎对“极简化的工控代码图纸就是设备数字化大脑的元模型或数字孪生体”这一论断的探讨。
(5)PAC应用开发者在掌握安全集成方法的基础上,结合实践开发工艺集成功能块库。智能制造中工艺知识诀窍(Knowhow)只能来自工厂的实践,需要探索者从材料、机械、电气及相互耦合的纷繁复杂的机理中,历经多年如一日的思考试验迭代方可逐步获得。虽然我国工业化较晚,与发达国家差距较大,但我国几千年来一直是工艺知识大国,只要生存环境允许,国内制造业从来不乏能工巧匠。标准化PAC既是开放式的工艺诀窍软件定义平台,也是高性能的试验研究平台,由它形成的工艺集成功能块库是企业最宝贵的数字化资产。
(6)要把数字孪生、具身智能、基于模型的系统工程等这些美好的愿望植入机器中,控制器是唯一的入口,IEC 61131-3编程系统就是机器灵魂的画笔,本书的目标就是讲解绘制方法,培养面向未来的机器灵魂画手。
(7)PAC是由标准化的编程系统、高性能的现场总线、稳定可靠的基础库、安全集成的设计方法构成的有机整体,在研发HPAC多年的艰辛过程中,作者见证了多位单项突破到很高水平却陷入生态困境直至转行的团队,相关技术的国产化攻关可谓“九死一生”。HPAC项目组未来仍需继续坚持面向真实问题、围绕核心技术、体系化推进、独立发展,做好产品和解决方案,不辜负探索者的信任。
(8)在“工业4.0”愿景实现之时,智能制造领域的各种控制器,包括数控系统、机器人、伺服驱动器、产线控制器、自动导引车(Automated Guided Vehicle,AGV)等都将基于PAC实现,现存的大部分工控软件将会被IEC 61131-3重写或覆盖(这并非危言耸听,倍福公司已在20多个行业提出了上百种解决方案,诸多非标控制器已不复存在),传统工控系统必须尽快找到PAC载体。
上述认识中的前6条在本书里得到了充分讲解,后2条是一家之言,提出来仅供参考。全书共11章,前5章主要是IEC 61131-3 编程语言知识介绍,删减了一些为了与硬PLC兼容而保留的特性,使得内容比较简洁,增加了HPAC编程系统对标准的支持情况,可作为HPAC与IEC 61131-3 的兼容性说明。第6章介绍IEC 61131-3 的模型驱动开发方法,详细介绍了状态机建模原理、顺序功能图(Sequence Function Chart,SFC)风格、转换与典型问题等内容。第7章介绍现场总线原理,讲解了CANopen总线的基本概念,帮助读者理解现场总线与PAC控制器的共生关系,简要介绍了HPAC在 CANopen Over Ether CAT(COE)目标系统的总线组态操作。第8章分析了HPAC运行时系统的组成和生成过程,对HPAC功能模型所涉及的数据访问功能块进行了介绍。第9章和第10章是符合PLCopen运动控制规范的HZMC库和PLCopen安全控制规范的HZSF库功能块的介绍,对标准的一些较为烦琐的特性进行了归类和适当删减,更易于理解。第11章给出20个应用案例,对PLC、可编程运动控制器(Programmable Motion Controller,PMC)到PAC的典型案例进行了实现和讲解:逻辑控制类用了多种语言实现,有助于读者对标准功能块语言知识的运用和练习;电动机运动控制类按几种典型的电动机运动形式进行了整理;安全集成最小模式部分采用了“step by step”的方式,让读者由浅入深逐步理解其构成原理,帮助读者掌握这种完全采用标准化图形绘制自动化软件的设计模式。
本书可以作为工科本科生或研究生的PLC或开放式数控系统课程教材,也可以作为自动化应用工程师的技术参考书。本书示例程序源码有90多个,可扫描书中二维码进行下载。
HPAC支持90\%以上的标准特性,生成的运行时系统具有工业级稳定性;在功能块图(Function Block Diagram,FBD)的灵活性、SFC行动类型完整性等方面优于CODESYS,操作上也更为简单直观;而在结构体和结构化文本(Structured Text,ST)的断点调试等方面还有硬伤,后续会在本书的基础上研发课件、视频和实验装置,使HPAC对初学者更加友好。本书的编程语言、总线、运动、安全等内容都是标准化的,可适用于其他标准化编程系统。安全集成设计方法和框架是通用的,现有文献包括倍福、3S公司的文档均未涉及,后续会将这些示例程序移植到商业系统上,以方便读者学习实践。
本书受到自然基金区域联合基金项目“制造装备可编程自动化控制器安全集成设计理论与方法”(U19A2072)的资助,感谢项目负责人国防科技大学范大鹏教授对HPAC项目组多年的支持,感谢HPAC项目组朱冲、赵东林、周敏等同仁多年的坚持,感谢高朝阳、陈霖、吕晓凡、刘晶和近几届研究生在本书编写过程中所付出的劳动。
作者
2024年6月
HPAC 教例示例