4. 被控对象虚拟建模

在工业设备控制逻辑的虚拟验证中,PLC 程序本身只是“决策者”,真正决定验证结果是否可信的,是它所驱动的被控对象模型。若把电机当成瞬时启停的理想器件,把气缸当成零延迟的直线运动,那么再严谨的逻辑也会在虚拟环境中“顺利通过”,却在现场暴露出撞机、憋压、节拍不达标等问题。因此,本节的核心任务是:为典型执行机构建立能反映真实动态行为的虚拟模型,并让这些模型以可观测的响应特性参与验证。

一、被控对象建模的基本约定

虚拟验证中的被控对象模型,本质上是“控制输出→物理动作→传感器反馈”的映射。建模前必须先统一参照约定,否则后续所有方向、限位和状态判断都会混乱。本节统一采用如下约定:

  • 位移以执行机构伸出/前进方向为正,缩回/后退方向为负,单位 mm;
  • 速度以正向运动为正,单位 mm/s;
  • 电机转速以顺时针(从输出轴端看)为正,单位 r/min;
  • 所有时间量以仿真步长 Ts 为基本单位,本节示例取 Ts = 10 ms。

模型不必追求有限元级别的精度,但必须包含三类要素:运动学关系(位置、速度、加速度)、动态滞后(启动延迟、加减速时间、惯性)、边界与反馈(限位、到位信号、压力或力矩约束)。这三类要素决定了虚拟验证能否暴露真实的时序问题。

二、典型执行机构的动态行为建模

电机类对象通常建模为一阶惯性环节加转速限幅。给定启动指令后,转速按指数规律上升,时间常数 τ 反映负载惯量。例如某输送电机额定转速 1450 r/min,空载启动时间常数取 0.25 s,则启动 0.5 s 后转速约为额定值的 86%。若带载,τ 增大到 0.6 s,同样的启动指令下 0.5 s 仅达到 56%,这正是虚拟验证中判断“启动超时”报警是否合理的依据。位置型电机还需在转速基础上积分得到位移,并叠加编码器分辨率量化误差。

气缸是典型的两位式执行机构,其动态行为可拆为“电磁阀换向延迟 + 气腔充放气 + 活塞运动 + 缓冲”四段。示例参数:行程 200 mm,平均速度 400 mm/s,换向延迟 30 ms,末端缓冲 15 mm。建模时常用分段速度曲线:延迟段速度为 0,加速段在 40 ms 内线性升至 400 mm/s,匀速段保持,进入缓冲段后线性减速至 0。到位信号并非活塞一碰到端盖就立即产生,而是在进入缓冲段末端、位置超过 195 mm 后延时 20 ms 置位。这个 20 ms 的“到位延时”往往是气缸逻辑互锁验证的关键。

阀门建模的重点是开度与流量、压力的关系。以调节阀为例,开度 0~100% 对应流量特性可选线性或等百分比。虚拟验证中更常用的是“开度→流量”的静态映射加一个一阶滞后,时间常数取阀门全行程时间的 1/3。例如全行程 20 s 的阀门,开度指令从 0 跳到 50%,实际开度约 6.7 s 后达到 50% 的 63.2%。若控制逻辑要求“开度到位后再启动泵”,模型必须能输出“开度≥设定值”的开关量反馈。

传送带的建模对象是“带速—物料位置—光电检测”的耦合。带速由电机转速换算,物料位置按带速积分。关键细节是:物料前端到达光电开关时,开关并非立即动作,而是存在 5~10 ms 的响应延迟;物料离开后同样有延迟。若虚拟验证中忽略该延迟,高速分拣逻辑的“提前量”计算就会偏乐观。

机械手是多轴耦合对象,建模时按关节独立处理,但必须考虑各轴运动的时序约束。以三轴直角坐标机械手为例:X 轴行程 500 mm、速度 800 mm/s,Z 轴行程 150 mm、速度 300 mm/s。抓取动作要求 Z 轴先下降到位,再闭合夹爪,夹爪闭合时间 0.3 s,之后 Z 轴上升。虚拟模型中,每个轴都是一个带加减速的位置伺服环节,夹爪则是一个带延时和“夹紧力到位”反馈的开关对象。

典型执行机构虚拟模型:控制输出 → 动态响应 → 反馈信号 PLC 控制输出 电机启动/转速给定 Q0.0 / AQW0 气缸电磁阀 Q0.1 / Q0.2 阀门开度指令 AQW2 (0~27648) 传送带启停 Q0.3 机械手轴脉冲 PTO / 定位指令 夹爪开合 Q0.4 / Q0.5 虚拟被控对象模型 电机:一阶惯性 + 限幅 n(t)=n_max·(1−e^(−t/τ)),τ=0.25~0.6 s 位移 s=∫n·k dt,含编码器量化 气缸:延迟+分段速度+缓冲 换向延迟 30 ms,v=400 mm/s 末端缓冲 15 mm,到位延时 20 ms 阀门:开度→流量一阶滞后 全行程 20 s,τ≈6.7 s 线性/等百分比特性可选 传送带:带速积分 + 光电延迟 物料位置 x=∫v dt 光电响应延迟 5~10 ms 机械手:多轴位置伺服 X 轴 500 mm / 800 mm·s⁻¹ Z 轴 150 mm / 300 mm·s⁻¹ 夹爪:延时 + 夹紧力反馈 闭合时间 0.3 s 夹紧到位信号延时 50 ms 传感器反馈信号 电机运行/故障反馈 运行中 I0.0,过载 I0.1 转速到达阈值 I0.2 气缸磁性开关 伸出到位 I0.3 缩回到位 I0.4 阀门开度反馈 4~20 mA → AIW0 开度≥设定值 I0.5 传送带光电/编码器 物料检测 I0.6 带速脉冲 I0.7 机械手轴到位 X 到位 I1.0,Z 到位 I1.1 原点 I1.2 夹爪状态 夹紧到位 I1.3 松开到位 I1.4 反馈信号回送 PLC 输入映像区,参与下一扫描周期逻辑判断

三、响应特性模拟与验证判据

模型建好后,虚拟验证的价值体现在“用响应曲线判断逻辑是否成立”。以气缸伸出为例,若 PLC 程序中“伸出指令发出后 0.5 s 内未收到伸出到位信号则报警”,而模型给出的实际到位时间是 0.58 s,那么该报警阈值就偏严,现场会频繁误报。反之,若阈值设为 2 s,则真正卡缸时报警又太迟。合理的做法是:先用模型跑出正常工况的到位时间分布,再取 1.5~2 倍作为报警阈值。

再以电机启动为例,虚拟验证中可观察三个特征量:启动电流持续时间、转速上升到额定值 90% 的时间、以及启动过程中的转速波动。若逻辑要求“启动 1 s 后允许进料”,而模型显示带载启动 1 s 时转速仅到 56%,则进料条件应改为“转速≥90% 额定值”而非固定延时。这正是动态建模相对于理想开关模型的直接收益。

建模精度应与验证目标匹配:只验证逻辑互锁时,气缸可用“延迟+匀速+到位延时”的简化模型;若要验证节拍与能耗,则需补充加速度、摩擦力和气压波动。过度精细的模型会拖慢仿真,过度简化的模型会漏掉真实故障。

四、建模参数示例表

下表给出一组可直接用于虚拟验证的示例参数,均为教学假设值,实际项目应按设备手册或实测数据替换。

执行机构关键参数示例取值主要反馈验证关注点
输送电机额定转速 / 时间常数1450 r/min / 0.25 s(空载)运行、过载、转速阈值启动超时、进料联锁
气缸行程 / 速度 / 到位延时200 mm / 400 mm·s⁻¹ / 20 ms伸出到位、缩回到位互锁时序、报警阈值
调节阀全行程时间 / 特性20 s / 线性开度模拟量、开度到位开度到位后再启泵
传送带带速 / 光电延迟0.5 m·s⁻¹ / 8 ms物料检测、带速脉冲分拣提前量、堵料判断
机械手X/Z 速度 / 夹爪时间800 / 300 mm·s⁻¹ / 0.3 s各轴到位、夹紧到位抓取时序、防碰撞

五、建模落地时的常见问题

第一类是参照系不统一:气缸位移用“伸出为正”,机械手 Z 轴却用“下降为负”,导致到位判断符号相反。解决办法是在模型入口处统一符号,并在变量命名中体现方向,如 cyl1_pos_mm、arm_z_pos_mm。

第二类是反馈信号与物理状态脱节:模型里活塞已经到位,但到位信号仍为 0,或反之。这通常是因为把传感器建模成了理想开关。正确做法是让传感器模型读取物理量并叠加自身延迟、回差和检测窗口。例如磁性开关的检测窗口为 5 mm,回差 2 mm,则活塞在 195~200 mm 区间内信号才可能翻转。

第三类是仿真步长与动态时间尺度不匹配:气缸换向延迟 30 ms,若仿真步长取 100 ms,则延迟被“吞掉”,时序验证失真。经验规则是步长不大于最快动态时间常数的 1/5~1/10,本节示例统一取 10 ms。

虚拟模型只能验证控制逻辑与动态响应的匹配性,不能替代安全回路、机械强度和电气保护的实测。涉及人身安全的急停、安全门、光幕等回路,必须按安全标准独立验证,不得仅依赖虚拟仿真结论。

把上述模型接入 PLC 仿真环境后,一个完整的验证闭环就形成了:PLC 输出指令,虚拟对象按动态特性运动,传感器按物理规律产生反馈,反馈再回到 PLC 输入。此时观察的不再是“程序能不能跑通”,而是“在真实响应特性下,逻辑的时序、阈值和互锁是否仍然成立”。这才是被控对象虚拟建模在工业设备控制逻辑验证中的真正作用。