张健,王雨,任洪兵
(1.四川化工职业技术学院自动化工程系,四川 泸州 646003;2.四川泸州大新科技有限公司,四川 泸州 646003)
基于模型的PLC设计方法研究
张健1,王雨1,任洪兵2
(1.四川化工职业技术学院自动化工程系,四川 泸州 646003;2.四川泸州大新科技有限公司,四川 泸州 646003)
以MATLAB/simulink为软件平台,围绕基于模型设计这个核心思想,通过对房间温度控制的PLC设计介绍了完整的基于模型的PLC开发流程和工具使用。设计方法首先利用Simulink/Stateflow建立房间温度控制的模型,然后用MATLAB自带的代码自动转换工具Simulink PLC Coder将模型转换为符合PLC编程标准IEC61131-3的结构化文本语言(ST)代码,然后将代码导入到PLC编程软件SIMIENS STEP7中,得到温度控制模型的功能块,并以此为基础编写房间温度的控制程序。实验结果证明了这种PLC控制系统设计方法的可行性及高效性。
基于模型;MATLAB;温度控制
MathWorks公司发布了新产品Simulink PLC Coder(PLC编码器),这是一种软件产品,可以为可编程逻辑控制器(PLC)和可编程自动化控制器(PAC)生成符合IEC61131-3标准的结构化文本程序。这种技术可以把基于模型设计的生成程序,用于生产制造和能源发电设备中的PLC和PAC控制。特别是最近几年,基于模型的设计(Model Based Design)在单片机、DSP、FPGA等嵌入式系统的开发中得到了越来越广泛的应用,较之传统的开发方式,展现出了强大的优势。
一般流程是先用Simulink/Stateflow建立可执行的模型,并进行仿真调试,再使用代码转换工具自动生成代码,最后将代码下载到目标PLC中进行测试和验证。
基于模型的设计方法分为4个阶段:可执行的原理模型,定点,代码生成,仿真验证。从开发的结果看,基于模型的设计可以大大缩短PLC开发周期,同时保证了软件系统的质量和安全性。
Mathworks公司的Matlab软件提供了Simulink/ Stateflow工具来实现基于模型的设计思想,为PLC控制算法的实现提供了一个高效易用安全的图形化编程环境。以房间温度控制的PLC建模为例,如图1所示。
该模型左边是期望温度值设定模块,中间是温度控制算法模块,右边是当前温度和热量消耗的示波器输出。该模型可以完全仿真房间温度控制系统的全过程。
该模型会实时检测房间当前温度,并把检测值与设定温度进行比较,然后根据差值判断是否加热、制冷或不动作。
建模完成后就可以开始进行仿真,通过仿真检测模型算法是否正确。即通常的软件仿真。
定点模型就是将实际的PLC环境参数加入原理模型中。生成定点模型的原因有两个:一个是因为PLC 的CPU都是单片机或者嵌入式CPU,该类CPU的机器指令都是定长指令,只能进行整数运算。另外一个原因是模型中的模块并不是能全部转换成结构文本程序。将Termos tat、House、Heater、比较器模块组合成unit模块,然后将该unit模块转换成定点模型。
图1 房间温度控制模型
Matlab软件中的PLC Coder工具可以将定点模型转换成特定PLC可以识别的结构文本程序。在转换之前必须做模型一致性检测。
如果没有错误,则Matlab会自动调用PLC Coder转换。
基于模型的设计方法从建立可执行的原理模型开始,就可以不断地进行测试和验证。检测设计的系统是否满足需求,在需求修改的情况下可以快速跟踪变更和测试系统结果。
在代码自动生成之后可以通过Matlab的软在线仿真和硬在线仿真测试代码是否正确。
基于模型的设计方法提供了一种高效安全的开发方法。使用该方法可以在PLC控制系统开发过程中将需求、设计、测试一体化,从而加快控制系统的开发速度,而且可以大大降低开发成本。
[1] 俞张辉,张自强. 基于模型的设计思想加速电梯控制算法开发[J].电子科技,2011,24(8):28~30.
[2] Mathwors公司. Simulink用户手册,2015,3.
[3] 华镕. 基于模型设计的控制程序自动生成[J]. 国内外机电一体化技术,2010,13(6):22~23
[4] 刘杰. 基于模型的设计-MCU篇[M].北京:北京航空航天大学出版社,2011.
[5] 张威. Stateflow逻辑系统建模[M].西安:西安电子科技大学大学出版社,2007.
Model based PLC design method
TP273
1009-797X (2015) 20-0147-02
A DOI:10.13520/j.cnki.rpte.2015.20.048
张健(1976-),男,硕研,助教,毕业于中国电子科技大学,主要研究方向为模式识别、PLC控制技术等。
2015-09-01