账号:
密码:
智动化 / 文章 /

开发以PLC为基础之车辆控制与管理系统
[作者 Magdalena Kowalska等人]   2018年01月04日 星期四 浏览人次: [5844]


现代化的铁路车辆、车厢及其他运输车辆大都装配了先进的列车控制与管理系统(train control and management systems, TCMS)。TCMS负责像是紧急煞车、紧急关闭引擎等安全攸关任务,也负责暖器、通风等乘客舒适系统。


由於TCMS安全攸关的特性,其软体必须遵守相当严格的要求。首先,软体必须符合像是EN 50128等功能安全标准,其中涵盖了铁路控制与保护系统的软体。严密而且持续不断的测试是成功完成验证程序的关键所在。然而在传统的开发流程中,必须先有硬体才能开始进行测试,使得软体缺陷的修正起来相当昂贵且可能被省略。


在本公司PESA,我们利用模型化基础设计(以MathWorks公司的MATLAB/Simulink软体为基础)来开发车头、电联车(electric multiple units, EMUs)、柴联车(diesel multiple units, DMUs)的即时TCMS软体(图1)。工程师在Simulink与Stateflow建立了低阶的软体需求模型,并执行模拟以验证设计,也能产生IEC 61131-3 结构式文件编程语言(Structured Text),之後则转档布署到可编程逻辑控制器中(programmable logic controller, PLC)。


透过这样的方式,我们可以确保所执行的软体皆符合设计规格、及早发现缺陷、缩短测试时间,还可以提供更完善的文件给认证机构,让认证过程更为流畅。



图1 : PESA公司为德国铁路(Deutsche Bahn)与NEB(一间德国私铁公司)建造的柴联车铁路车辆,装配了一组以模型化基础设计开发出来的TCMS。
图1 : PESA公司为德国铁路(Deutsche Bahn)与NEB(一间德国私铁公司)建造的柴联车铁路车辆,装配了一组以模型化基础设计开发出来的TCMS。

TCMS软体的建模与模拟

一开始,透过ALM软体Polarion来定义最初始的系统规格,这些规格包含了安全功能,例如紧急煞车、牵引控制、柴油引擎关闭,以及非安全攸关的功能,例如照明、暖器、通风、及其他乘客舒适系统等等的控制。


接下来,我们利用Simulink与Stateflow来建立低阶软体的设计规格模型。从Stateflow的事件转变图,可以非常清楚地看到系统中的所有事件,以及需要确认的条件与待执行的动作(图2),我们在此尽可能重复利用Simulink特制函式库内的元件,其中包含了可依照当下电力需求来调整柴油引擎速度的调节器。



图2 : 电池管理系统内的Stateflow图表
图2 : 电池管理系统内的Stateflow图表

除了开发控制模型之外,我们也为火车的硬体元件开发了受控体模型,并利用这些受控体模型在Simulink中执行闭??路模拟(closed-loop),以在硬体原型完成之前去验证控制设计的功能性。即使已经有了硬体,我们仍然继续利用模拟来验证那些可能难以在真实火车上进行验证或验证起来很费时的功能(图3);举例来说,电池的放电可能会耗上数天的时间,或者让乘客车箱升高到特定温度将花上几个小时等。而透过Simulink,我们可以在几分钟之内模拟电压的下降或温度的变化,能快速验证电气及乘客舒适系统功能在各种条件下的运作。



图3 : 用来验证辅助转换器切换的Simulink模型
图3 : 用来验证辅助转换器切换的Simulink模型

产生及测试结构式文件编程语言

透过模拟完成设计验证之後,接着利用Simulink PLC Coder从Simulink与Stateflow模型来产生结构式文件编程语言(Structured Text)。因为产生的程式码从未经过手动修改,可以100%确定程式码符合模型抓出来的规格与设计。我们接着将结构式文件编程语言编译到PLC整合开发环境(integrated development environment, IDE),这是用来在转档布署到实体PLC进行即时的测试之前,可以先执行有限制测试的环境。以前,这些测试是能够验证设计的第一次机会,然而透过模型化基础设计,我们可以在进行到这个阶段之前,就已经可以先执行大规模的模拟了,这样的好处是,我们可在更早的阶段便发现问题,在开发後期发现到的问题数量也明显减少;所以,我们现在的测试着重於那些尚未准备好进行模拟验证的设计面向,这使得花在测试上的时间也因此减少了至少30%。


模型化基础设计所提供的从模型产生结构式文件编程语言的功能,不仅可以避免手动编写程式码产生的错误,也提供了选择不同的PLC目标硬体的弹性。我们目前使用了三家供应商的PLCs,可以利用相同的Simulink模型产生结构式文件编程语言,或甚至是C程式码,来执行在任何一种PLCs上。


我们采用的测试流程是以EN 50128标准为基础。在这套流程,根据我们的软体元件设计规范(software component design specification, SCDS)建立软体元件测试。该文件描述了元件的资料类型、资料值范围、安全完整性等级(safety integrity levels)、以及软体元件之间的交互作用。由於SCDS定义了输入变量如何影响输出状态,测试工程师可以利用以Simulink PLC Coder产生的结构式文件编程语言内的一个包含了PLC函式模块的黑盒子模型来测试每一个软体元件(图4)。



图4 : 用来测试发电机控制元件的黑盒子模型
图4 : 用来测试发电机控制元件的黑盒子模型

我们的测试环境包含了一个与真实使用在铁路车辆的处理器与输入/输出模组相同的PLC控制器,以及模拟装置、与测试软体组合而成。测试软体包含一组模拟过的开关与LEDs,以及用来说明及显示类比数值的元件,像是车速与冷却剂温度(图5)。测试工程师利用这个软体,依据已建立好的元件测试情境设定输入值,接着对显示於软体的输出与定义相符的情境进行验证。



图5 : 用来进行元件测试的软体
图5 : 用来进行元件测试的软体

继续进行EN 51028认证与下一步

我们正在与TUV SUD合作进行安全相关软体验证的流程,以遵守符合EN 51028安全完整性等级2(safety integrity level, SIL)的标准。期待使用模型化基础设计来提供文件、模拟、验证软体,以加速认证流程。当认证机构的审核人员想要比较我们系统的两种版本,在过去,审核人员必须仔细检视原始程式码,而现在只要利用模型及文件就可以证明设计变更的执行完全符合我们的叙述。


接下来,我们打算把Polarion的系统规格与Simulink执行的模型元件连结起来,让认证流程更加顺畅,也计画将模型化基础设计的使用延伸到先进驾驶辅助系统的开发。举例来说,我们正在研究结合影像处理与机器学习技巧,处理从热显像摄影机及其他感测器取得的输入,进而建立一个能够侦测轨道上的障碍物并自动启用煞车的防撞系统。


(本文由??思科技提供;作者Magdalena Kowalska、Micha? Grzonka任职於PESA Bydgoszcz SA公司)


相关文章
工程软体开发:敏捷与模型化基础设计
利用模型化基础设计将通讯协定布署至FPGA
微软:亚洲是人工智慧发展下一个前哨
AI应用渐趋多元
利用MATLAB报告产生器自动产生客制化报告
comments powered by Disqus
  相关新闻
» 浩亭专注於以风电行业作为目标市场
» 2018绿能科技国际研讨会 聚焦绿能前瞻技术发展
» 明纬宣布提供14日交货服务
» 制振奈米复合碳材应用 串接产业链创新商机
» 德国莱因车用电子系统 ISO 26262 研讨会10/16新竹登场
  相关产品
» 凌华推支援四核心6MB缓存之模组化电脑
» KYMCOWJI4503B2B、B2G市场 推出Ionex车能网商业版
» Audi「第25小时」 预见零塞车的未来城市
» Vicor 将出席 2018 年汽车 48V 电源及电气化系统论坛
» 安勤科技发表VNS系列轻薄型触控平板电脑