Amesim基于系统仿真模型的PLC虚拟调试浅谈
时间回到2014年夏天,LMS被西门子PLM收购后大概不到两年的时间,办公地点从原来的亚运村搬到了望京西门子大厦。但当时的业务上还没有和PLM有交集,基本上还是独立的解决方案。望京的西门子中国已经扎根国内几十年,依托于自己成熟的机电系列产品,业务量也是逐年增长。并且在未来发展方向上也是很有远见的提出了“工业4.0”和后来的“数字化双胞胎”等战略。
当时和西门子中国就职的同窗聊起业务内容时,他主要是作PLC的推广售前工作。我们一琢磨,PLC无非就是个控制器;而系统仿真这种建模分析,基本都是围绕被控对象展开的;只有结合在一起才能构成控制工程中的“闭环系统”。要是真能把这两部分技术内容整合在一起推出一个“闭环控制系统仿真”的方案,可以互补技术方案,在市场上也可以作为一个优势项去和竞争对手PK。
结果不到几年的时间,就真的实现了:无论是纯SiL环境下通过虚拟PLC控制程序和AMESim的模型互联,还是HiL环境下把PLC硬件控制器和AMESim模型耦合(不过严格意义来说这是个伪实时系统,不能算真正意义上的HiL),都通过实际落地的项目证明了在这个虚拟的闭环系统里是值得继续探索的,这也就是本文要展开介绍的“虚拟调试
太长不看版
👉 1. 系统仿真模型的准确程度及详细程度,直接决定了“虚拟调试”的最终受益如何
👉 2. 只要你的被控对象/系统涉及到“机械”,“电子电器”,“(热)流体”的领域,或者是多种领域组合的,就可以考虑用系统仿真方法构建模型,用于和你的PLC控制器集成(无论SiL还是HiL)进行虚拟调试
👉3. 结合CFD仿真或三维仿真,利用AI技术以及和工业边缘Edge的集成,可以将虚拟调试扩展到诸如实现“虚拟传感器”和“预测性维护”等新应用领域
下面展开赘述。
机电一体化的控制系统的大力发展涉及到各行各业,大到重工业的飞行器航天器高速列车工厂生产线,小到轻工业的冰箱洗衣机烧水壶儿童玩具都能见到机电一体化产品的身影。而且随着人们需求的不断提高和多样化以及产品开发周期的不断缩短,各种产品的复杂程度越来越高,应用场景也是多种多样,市场的需求势必要求产品开发更加高效且可靠,传统的开发流程需要升级迭代才能跟上市场和客户需求的脚步。
图表1 – 虚拟调试可应用的不同层级
在西门子提出的“虚拟调试”方案中,可以覆盖不同层级的产品开发需要,如图表 1中所示:无论是最顶层的产线级别的调试分析,还是最底层的自动化策略和逻辑的验证。但本文的关注部分是在“Component physics”层级上进行展开,介绍基于系统仿真的技术,如何通过对系统运行的物理现象和规律进行复现及模拟后,再通过和控制器(比如软/硬PLC)的集成为产品开发和调试提供有效支持。
图表2 – 闭环控制系统示意图
对所有的控制系统我们都可以直接将其视为“控制器 + 被控对象”构成的结合体,如图表 2所示。
我们先从被控对象开始。
图中最右侧“Digital Twin”标识的部分,也就是Plant即我们常说的被控对象。可以看到随着工业产品的功能性和复杂性的提升,这部分早已是“机械 + 电子电气 + 液压 + 热管理”子系统构成的综合大系统,并且系统间的耦合也是越来越紧密。在企业以往的传统开发流程中,一般都是将每个系统开发的指标和关联性能单独设立部门去负责。但这样就将产品背后的运行规律和互相耦合关系割裂开来,对于越来越复杂的系统开发和分析及验证工作来说,已经不再适用了。
我们举个简单的例子,如图表 3所示的转向助力系统。在早期的车上是没有配置助力转向系统的(比如十几年前的老车,没有助力的方向盘掰起来会相当费劲)。这套助力转向系统的开发除了要对基本的转向柱,齿轮齿条等机械结构进行设计外,还要引入一套电液系统去提供“助力”的部分(图中蓝色框内为液压的助力系统):用电机驱动液压泵,根据助力需求将压力传递到作动机构,从而实现安全、准确且及时的助力转向动作。
图表3 – 汽车转向助力系统
此时,需要额外考虑的设计问题可以包括:比如新加的这套电液系统,电机的驱动功率需要多大,能不能提供足够的动力,但是又不要过设计?系统的响应时间是多少?(不能说驾驶员已经开始拧方向盘了,系统过了好几秒才开始提供助力)。系统的最大压力可以到达多少等等。
所有这些新的设计开发带来的技术挑战,势必要通过虚拟仿真/模型来解决:一是在很短的时间内,通过模型可以快速的迭代设计方案;否则通过制造原型产品,再通过台架试验等方式去验证是既费时又费力,而且有些极端工况也不可能通过试验的手段去验证。二是通过虚拟仿真可以了解不同子系统背后的耦合关系,比如这套电液转向助力系统中,从电机到液压泵再到执行器的助力过程,系统每个部件的运行情况,像能耗,压力,流量,力矩及位移等关键物理量的动态变化过程,有些是无法直接通过试验去获取的;但通过系统仿真模型,可以清楚地知道每个子系统和元部件的状态,从而为设计方案评估及设计改型提供参考。
到这里罗嗦了这么多,和虚拟调试有什么关系?因为这个虚拟的被控对象是否能准确地复现实际系统的动态过程,以及能复现到什么程度,这是决定虚拟调试工作能带来多大收益的关键。
接下来是控制器的部分。
图表4 – 不同类型的控制器
从上图中可以看出控制器的演化发展也从某个侧面反映了从第一次工业革命到现在为止,科学技术进步所带来的产品上的巨大变化:最左侧是1769年James Watt改良蒸汽机上所用到的Flyball governor控制装置,属于“纯机械控制器”:通过蒸汽机所驱动装置的输出轴带动“飞锤/飞球”装置的转轴转动,从而控制蒸汽调节阀的开度,最终可调节进入到蒸汽机的蒸汽量而控制机器的输出转速。
随着电子电气相关技术和产业的快速发展,现在很多工业领域的控制器都是上图中右侧的电子元件了,比如像过程\流程行业里最广泛应用的PLC控制器;或者航空器、高速列车、乘用车/商用车、工程机械等产品中大量配套的ECU控制器。
控制器的功能日渐复杂,因为需要“对接”的产品自身的功能越来越多,而且使用场景也是愈发多样化,从最基本的安全需求到稳态及瞬态的指标要求。因此,对于复杂的控制器如何进行快速准确且可靠的设计和测试工作,自然而然地就会引出“虚拟调试”的需求,总不能把控制器开发好后直接装到机器上,比如装到汽车/高铁/飞机上,然后跑一跑飞一飞看看效果如何。
其实对于航空/航天及汽车行业,早在十几二十年前,就已经开始通过实时仿真机结合实际硬件ECU的方式来进行整机/整车级别的系统测试,也就是HiL硬件在环的方案。近些年,越来越多主机厂OEM已经将控制开发和测试的工作尽量前置,也就是在MiL(模型在环)和SiL(软件在环)阶段就规划设计大量的测试场景和测试工况,通过前面提到的虚拟模型和控制器模型或代码结合,来初步评估产品的性能和表现。如图:
图表5 – MiL/SiL/HiL的开发流程示例
所以从某种程度上来讲,“虚拟调试”的方法也是将某些行业的成熟方案移植到其它行业从而发挥作用的一个具体体现。
PLC作为西门子的主打产品,已经几乎覆盖到各行各业,从单一的小设备控制,到大型系统的集群控制,都离不开PLC的参与。以往在没有虚拟仿真,而且也没有软PLC的实现手段时,PLC的策略开发工程师只能到实际设备上去调试,可以想象他/她会碰到各种各样的问题。除了本身调试过程要消耗的大量时间及人力物力成本外,如果程序本身有bug或缺陷,有可能会导致实际系统运行时出现故障甚至危险;而且有些极限工况也没法在实际系统中去试运行。
但随着“工业4.0”逐渐深入到众多企业及工程师的理念中,以及越来越多的“数字化双胞胎”的落地项目证实了虚拟模型的可信赖性,因此,对“虚拟调试”的需求无非就是船到桥头自然直的结果了。
在产品开发的过程中,从什么阶段可以引入虚拟调试的工作?如图表 6上半段所示,过去的开发工作基本要等概念设计和工程方案都确定后,并产出原型机时,将PLC控制器连到设备或系统中进行实机调试。但现在我们可以通过成熟的虚拟模型方案和软PLC结合,在每个系统及控制程序的工程方案都确定后,就可以进行第一轮的“虚拟”调试了,而不用等到实际设备就位后再开展调试工作。
图表6 – 虚拟调试的预期收益
因此,我们通过虚拟调试的方案就可以提前将调试工作进行规划,比如一些重要的工况或极限工况,关注的系统性能指标(速度,温度,流量等),在没有实际产品的阶段就可以进行一轮充分的虚拟测试,并评估PLC控制程序的控制效果。除此之外,被控对象的表现是否合理,设计是否有欠缺或提升的空间,也可以通过虚拟调试的初步结果作为参考。
基于西门子现有的软硬件平台,可以将要分析和调试的系统进行建模并和虚拟的软PLC程序进行联调。如下图图表 7所示,其中AMESim为被控对象的仿真模型,PLC的控制程序通过PLCSimAdv.进行模拟,两个之间的通讯借由Automation Connect实现。同时也可以通过TIA Portal及WinCC监控系统运行状态或设定外部运行参数。
图表7 – 虚拟调试SiL(软件在环)架构示意图
如果需要接入硬件PLC控制器,需要利用SIMIT UNIT将PLC接入到虚拟环境中即可。当然,此时AMESim的模型也需要进行实时化才能满足HiL的调试要求
图表8 – 虚拟调试HiL(硬件在环)架构示意图
虚拟调试案例介绍
图表9 – 数据中心水冷系统及模型
在这类大型水冷系统的调试中,需要利用PLC控制器根据不同的末端热负荷(即机房服务器的发热量/温度)及天气条件(温度/湿度)来调节水泵/冷机/冷塔的运行工况点,从而确保机房温度达到控制要求并且能耗达到最优。
首先,在AMESim软件中,搭建水冷系统的模型,并通过I/O接口和PLC控制程序通讯。当这一套虚拟的水冷循环闭环控制系统搭建好后,客户的PLC工程师就可以在实机调试工作前,预先对自己开发的程序进行一遍摸底,看看控制效果如何,能不能在不同的热负荷下,控住水温;在不同的湿球温度,风扇转速,水泵转速,不同的阀开度情况下,系统的稳态及瞬态性能表现如何;甚至可以将虚拟调试的这个平台作为系统操作人员培训的一个工具。
第二个案例是食品饮料行业的一种流水线系统,如下图所示。液体经过配料、掺混、缓冲及罐装几个环节后,完成最终的装瓶。在这个案例中,不仅有用AMESim模型来模拟掺混和罐装的过程,也借助其它工具来处理更靠前的原料处理环节。(如图表 10所示)
图表 10 – 软饮料罐装流水线
最终基于集中不同工具的组合,客户可以分析不同的配方及成分的组合下的效果;测试不同的控制下,灌装的准确度及速度有什么影响;或者通过控制程序的调整去优化每个环节,比如缩短每个环节的时间。
最后,我们以一个非常有意思的虚拟调试项目来压轴。下图图表 11为某工业领域的一种大型供气系统示意图。该系统从液态燃料储存的罐子中通过离心泵将其泵出,再通过换热装置和缓冲罐等中间环节按要求处理好后,才可以供给到末端用户。同时由于储存罐中液态的燃料会蒸发,因此当压力达到一定数值后,系统会开启另一路通路,将蒸发气通过压缩机及冷却装置处理后,也送到最终用户端使用。
图表11 – 大型供气系统示意图
从示意图中可以看到,其中的阀/泵/压缩机等执行机构都是需要PLC进行统一监测和控制的。可以想象,如果没有虚拟调试,那么PLC工程师只能测一下程序的逻辑是否OK,并不能检验控制程序结合供气系统后实际闭环的控制效果如何。
那如果等到整个系统硬件完全搭建好就差最后一步现场调试就可以交付给最终用户的时候,PLC控制工程师再去现场调试,那这个调试的周期和成本可能会很高。光是这套系统运行一天的功耗及燃料消耗这些显性成本就是不小的数字,而且更为关键的是多调试一天就意味着这套大型供气系统的最终用户少一天收益。相较之下,如果PLC工程师提前通过虚拟调试摸过底,对于系统的运行及控制参数的关系经过各种工况的预先模拟已经心里有数,那么在去到现场进行调试前就可以做到心中有数,可以用最短的时间完成实机调试,使最终客户的收益最大化。
在这个项目中,根据客户的虚拟调试需求,定义及规划好模型的内容以及和PLC的通讯信号。由于没有过往项目或产品试验数据可以参考,因此供气系统模型的输出是通过另外一款专业工艺设计软件提供的计算结果来对被控对象模型进行验证,确保模型输出符合预期。下图图表 12即为最终交付的虚拟调试平台:左上为实际系统的三维展示,右上为客户的WinCC界面,左下为AMESim运行的动态结果,右下为Automation Connect的界面。
图表12 – 大型供气系统虚拟调试平台
第二阶段在客户完成实际系统台架的搭建后(图表 13),可以直接应用第一阶段调试的成果,在实际台架上进行检验。
图表13 – 大型供气系统台架(示意图)
最后,我们甚至还探索了HiL平台的虚拟调试可行性。虽然本文一开始就提到这种HiL其实并不是严格意义上的实时系统,但是对于目前这套系统,动态过程并不多也不剧烈的工况下是值得进行一番探索的。
因此,我们需要首先对被控对象模型进行处理,提高求解速度。主要是借助于神经元网络训练验证好的模型,最终得到简化的、求解更快的神经元网络模型。并且训练后的模型精度也要和训练前尽量吻合。
图表14 – 神经元网络简化方法及结果对比
控制器这一侧自然是要链接实际的PLC硬件控制器,通过SIMIT UNIT将S7-1511控制器和简化的神经元网络模型对接(还是基于AMESim),具体构成如下图所示
图表15 – HiL架构示例
但HiL平台这种虚拟调试能带来多大的收益,目前来看还不是很确定。需要继续积累一些实际项目经验及行业经验,可能才能给出明确的结论。
从上面介绍的几个案例中,我们可以看到在被控对象模型方面,都是首先搭建满足调试需求的系统模型,能表征实际产品或系统在运行时的稳态及动态特性,能在执行机构的不同命令组合下给出合理准确的响应曲线。这是虚拟调试的基石所在:PLC控制的系统纷繁复杂,通常是“机电热液磁”的多物理领域的耦合作用结果,因此要抓住系统运行的背后本质,就需要对发生的物理现象进行分析和理解,最终落实到建模的手段和方法上,只有这样才能最终通过模型来准确表现/复现实际系统的表现。基于准确的模型,PLC的虚拟调试才有意义,才可以在实际系统到位前先一步检验控制策略及系统设计是否满足要求,才可以尝试特殊工况来检验系统运行在极限工况点的表现,才可以确实缩短总体调试时间,让产品尽早投入使用或运营。
虚拟调试的未来拓展
数字化双胞胎的落地实施已经越来越有显著的收益,而且随着数字化虚拟模型的准确度及运行速度也越来越高(甚至利用AI降阶的模型都不需要考虑模型求解速度),虚拟调试势必可以应用到更广泛的领域。而且不只是基于元部件或系统的虚拟调试,利用AI相关的技术手段,结合更多的仿真手段如CFD仿真和3D仿真,包括像工业边缘Edge的支持等,可以实现诸如虚拟传感器,预测性维护等拓展应用。(如图表 16所示)
图表16 – 虚拟调试的拓展:结合工业边缘Edge
总之,通过上述文字的介绍可以看到从虚拟调试的概念提出到落地是一个非常迅速的过程,无论是国内国外都已经有很多成熟的落地案例,而且还在持续地高速增长;另外,其覆盖的行业范围也是越来越广,毕竟PLC所覆盖的全行业领域理论上都是可以引入虚拟调试来提高产品开发效率。
感谢各位耐着性子看到这里,那就“三连”走一波呗!期待下期提供更有意思的文章和大家继续交流。