基于模型的设计工具为工业设备编写控制软件

大约一年前,一家风力涡轮机制造商找到罗克韦尔自动化公司(Rockwell Automation)的工程师,问他们:“你能让ControlLogix运行C代码吗?”与此同时,MathWorks公司的Matlab和Simulink软件从模型中生成C、c++、VHDL和Verilog代码,这些代码将在基于pc的控制系统上运行。

2010年4月1日

来自The MathWorks的Simulink PLC Coder允许用户在Simulink(左)中创建基于模型的设计,通过触摸按钮(中)即可成为IEC 61131-3结构化文本。RSLogix接收这些文本,并为罗克韦尔自动化plc控制的机器生成可执行文件。

大约一年前,一家风力涡轮机制造商找到罗克韦尔自动化公司(Rockwell Automation)的工程师,问他们:“你能让ControlLogix运行C代码吗?”与此同时,MathWorks公司的Matlab和Simulink软件从模型中生成C、c++、VHDL和Verilog代码,这些代码将在基于pc的控制系统上运行。经过几个月的整合和谈判,the MathWorks开发了一个工具,将其基于模型的设计转换为可编程逻辑控制器(PLC)的代码,称为Simulink PLC Coder。

MathWorks软件用于设计、模拟、测试和验证基于pc控制的复杂机电系统。开发包括创建模型,在框图和算法中捕捉电气、机械、控制和工艺参数,显示相互关系。当模型运行时,软件创建图并捕获数据,这些数据为算法生成代码,也为测试用例生成代码。这使得机器制造商在为特定的硬件平台(如微控制单元(mcu)和现场可编程门阵列(fpga))生成可执行代码之前,可以测试和验证系统设计。

MathWorks不处理流程的可执行代码部分。“我们不生产编译器,”Simulink PLC Coder产品经理Tom Erkkinen说,“所以我们需要Rockwell来帮助我们实现硬件。plc是一种独特的动物,但考虑到我们的软件架构,利用我们的编码器开发一种新语言是相当容易的。这意味着它不是版本1的编码器。它的起源可以追溯到1992年。”

在本例中,硬件是使用RSLogix 5000软件的ControlLogix pac。Simulink PLC Coder采用Matlab或Simulink算法并生成IEC 61131结构化文本(ST)。RSLogix 5000采用ST并为PLC生成可执行文件。Weber说:“它还产生了链接回算法的‘钩子’,这表明模型与生成的可执行代码相匹配,以及[产生]测试用例的代码。”“一旦进入RSLogix,我就可以比较测试用例结果。现在我知道我实现的东西符合我的模型。”

这种基于模型的设计的好处包括:

  • 加速任何基于plc的机器的设计、测试、改进、实现、部署和升级,在此过程中减少许多重复步骤。

  • 保护工程和知识资产,因为信息流来自涉及设计、模拟、测试和工程/操作的个人或部门;

  • 通过在过程的早期识别和解决设计缺陷或编码错误来节省资金。

  • 在设计过程中内置验证步骤,特别适用于高速机器应用;

  • 让机器制造商在几个小时而不是几天内完成设计迭代;

  • 减少编写文档的时间,因为软件会自动生成文档;

  • 允许创建库,以便以后更快地设计,或更快速、更简单地改进当前设计(矩阵乘法可以在Matlab中的一两行代码中完成,而在C或ST中需要100或200行代码);

  • 可以使用相关工具将基于模型的模拟移植到其他语言(如C和HDL)的其他目标;

罗克韦尔与MathWorks的协议是罗克韦尔自动化公司与软件供应商的一系列合作伙伴关系中最新的一项。其他合作公司包括达索系统和ePlan。

www.rockwellautomation.com

www.mathworks.com