基于模型的工程机械安全控制研究与应用*
2024-01-03闫亚宾
闫亚宾,白 扬,李 磊,张 强
(1.江苏师范大学 科文学院,江苏 徐州 221000;2.徐州重型机械有限公司,江苏 徐州 221000)
0 引言
作为工程机械控制系统的基础,控制软件现有基于代码的开发模式存在验证风险大、硬件关联性强、代码移植性差等不足,已成为产品安全和技术迭代的不利因素。不同于基于代码的开发模式,MBD (Model Based Design)模式的主要思路是面向对象开发[1]。该模式使研发人员专注于模型设计,代码则由模型转换器或代码生成器从模型自动生成。由于具有可提前验证发现问题、代码生成和标准符合性检查等特点,该模式可有效避免潜在验证风险。MBD模式已在飞行控制系统[2]、飞机刹车系统[3]和汽车电子[4]等领域得到深入研究。
需要注意的是,MBD模式的应用多集中于模型到C代码的转换和MCU、DSP等嵌入式集成,在PLC方面缺少工程应用研究,已有文献多侧重于半物理仿真[5]和教学应用[6]等。而PLC是工程机械控制系统的核心,为解决工程机械控制软件的现存问题,利用MBD模式开发控制系统并实现工程应用是有意义且必要的。
1 基于模型的设计
1.1 基本内容
MBD模式使研发人员从编程转向高级别抽象,基于模型开展需求描述、功能设计和验证等工作并扩展到全生命周期[7]。该模式以模型为中心,与基于代码即以代码为中心的开发模式对比如图1所示。
由图1可知:在工程应用前,以代码为中心的开发模式无法验证系统功能性能,代码变量耦合性强导致移植性差;以模型为中心的开发模式在生成可执行文件前已完成测试,可早期发现问题,降低应用风险和维护成本。
1.2 设计工具
MATLAB/Simulink具有丰富的库模块,提供了逻辑和算法的实时仿真环境。而代码转换工具Simulink PLC Coder则为实现模型的工程应用提供了有效途径和可靠保证,该工具可将模型转换为独立于硬件的IEC 61131-3结构化文本,通过代码自动分析生成测试报告,并将代码和参数导入集成开发环境。
根据工程机械控制系统设计的覆盖性原则,本文以Simulink为模型载体,Simulink PLC Coder为代码参数生成载体,CodeSys作为集成开发环境,建立MATLAB+CodeSys工具链。
2 工程机械安全控制研究
2.1 控制原理
本文选取汽车起重机为典型对象,其运动控制包括伸缩、变幅等,系统复杂且安全性要求高。以缸臂销伸缩系统为例,带臂伸缩控制原理如图2所示。
图2 带臂伸缩控制原理图
图2中,通过泵、阀控制伸缩油缸,同时配合缸臂销动作将第N+1节臂的臂销插入第N节臂臂销孔完成伸臂动作。为避免油缸过伸导致意外事故,需进行伸缩安全控制,方法如下:
(1) 利用测长线获取伸缩油缸长度。
(2) 实时计算缸头和第N+1节臂位置。
(3) 设计限速、限动,如式(1)、式(2)所示:
(1)
(2)
其中:SD、SS分别为限速和限动状态,值为1表示触发限速或限动,为0表示未触发;LR、LΔ和LT分别为伸缩油缸实时长度、结构距离和目标距离;PD和PS分别为限速点和限动点。
2.2 控制模型
基于带臂伸缩控制原理,依据MBD模式建立如图3所示伸缩系统模型。模型包括测试用例模型、伸缩控制模型和伸缩运动模型。其中,测试用例模型模拟操纵输入和故障注入等;伸缩控制模型包含基于安全控制逻辑和算法,为系统核心;伸缩运动模型根据控制输出模拟油缸动作。
图3 伸缩系统模型
2.3 仿真验证
选取N=5,即控制第6节臂伸至目标点。模拟伸缩控制输入为0~100%,伸缩安全控制仿真结果如图4所示。
图4 伸缩安全控制仿真结果
由图4可知:伸缩泵电流和臂长随控制输入的增加而增加,伸臂速度增大;到达限速点后,伸缩泵电流显著减小,伸臂速度减小;触发限动后,即使存在较大控制输入,泵控电流也递减为零,伸臂停止,安全控制功能正常。
3 工程应用
3.1 代码生成
利用Simulink PLC Coder将控制模型映射为PLC ST代码,生成代码和报告,如图5所示。
图5 代码和报告
3.2 实车测试
以某型汽车起重机为测试对象,将生成代码导入CodeSys,编译下载至车载控制器进行实车测试,如图6所示。
图6 代码集成和实车测试
经测试,代码运行正常,实车伸缩功能正常。记录操纵手柄、伸缩泵电流、臂长等数据曲线,如图7所示。
图7 实车测试曲线
由图7可知,伸缩油缸到达限速点和限动点后,实车自动防过伸限速限动功能正常触发,安全控制功能准确实现;曲线与仿真结果一致,仿真验证为实车测试奠定了基础。
4 结论
针对现有工程机械控制软件开发模式的不足,本文引入MBD模式并建立工具链。以伸缩系统为例,构建模型并生成PLC ST代码,通过代码集成和实车测试,实现了MBD模式在工程机械PLC控制领域的应用。工程机械电液系统架构多样、需求多变,本文建立的硬件无关模型使生成代码不受电液系统变化影响,可实现跨平台快速部署。