在评估了几个商业软件包后,阿尔斯通选择MathWorks工具进行基于模型的设计。阿尔斯通工程师利用这些工具设计、模拟和自动生成多个项目的代码,包括一个电车控制系统和一个捷克铁路潘多利诺摆式列车的能源管理系统。
在设计阶段,工程师使用Simulink金宝app®,Simscape Electrical™, 和状态流®开发他们的控制系统。
“金宝app在保持效率的同时,Simulink可以很容易地从设计的一个部分转换功能,或者将定时转换为中断驱动,”Geerligs说。“没有Simulink,这种重大的设计变化将非常困难。”金宝app
工程师使用Simscape Electrical对系统的电气组件进行建模,包括电力电子组件以及电阻、电容器和电感。
使用Stateflow,团队对监控和控制系统状态进行建模,包括启动、减速和错误处理。电源转换控制和系统中央故障处理单元之间的通信协议也在Stateflow中实现。
statflow中的超级状态对故障处理特别有帮助。当我们在子状态中出现故障时,我们从超状态中划出一条线,statflow确保它总是得到正确处理,”Geerligs说。
阿尔斯通团队使用了MATLAB®对光纤接口和模拟范围的测量数据进行预处理。他们还使用MATLAB报告和验证了仿真结果。Geerligs使用MATLAB中的Control System Toolbox™来创建和分析Bode图,并开发经典的控制算法。
在Simulink和statflow中模拟系统后,团队使用了S金宝appimulink Coder™和Embedded Coder®自动生成生产就绪代码。他们将代码与许多实时操作系统集成,包括Microware 0S-9和Wind River的OSEKWorks。
阿尔斯通的工程师在不同的项目中重复使用他们的模型。“MathWorks工具帮助我们定义设计模式,并在库中共享这些知识,”Geerligs解释道。“例如,故障处理和电气建模在电车项目和能源管理项目之间共享。”