2. 数字孪生模型与PLC信号映射配置
映射前的对象梳理:模型侧与PLC侧各自有什么
数字孪生模型导入后,模型内部会暴露一组可被外部驱动的执行器端口(如气缸伸出/缩回、夹爪开合、输送带启停)和一组可向外反馈的传感器端口(如磁性开关到位、光电检测、限位)。PLC侧则有一组I/O变量,分为输出变量(Q区,驱动模型)和输入变量(I区,接收模型反馈)。映射的本质是:把模型执行器端口绑定到PLC输出变量,把模型传感器端口绑定到PLC输入变量,并保证方向与数据类型一致。
建立映射表:字段与填写规则
映射表是虚拟调试平台中连接模型与PLC的核心配置。每条记录至少包含以下字段:
| 字段 | 含义 | 示例 |
|---|---|---|
| 模型端口名 | 数字孪生模型暴露的端口标识 | Cyl1_Extend |
| 端口类型 | 执行器 / 传感器 | 执行器 |
| PLC变量 | PLC仿真器中的I/O地址或符号名 | Q0.0 |
| PLC区域 | Q区(输出)或 I区(输入) | Q |
| 数据类型 | 两侧必须一致 | BOOL |
| 映射方向 | PLC→模型 或 模型→PLC | PLC→模型 |
填写规则:执行器端口只能映射到PLC的Q区变量,方向固定为PLC→模型;传感器端口只能映射到PLC的I区变量,方向固定为模型→PLC。若方向填反,仿真时会出现“PLC输出变化但模型不动”或“模型动作但PLC输入不变”的现象。
数据类型一致性检查
虚拟调试平台通常要求映射两侧的数据类型严格匹配。BOOL对BOOL、INT对INT、REAL对REAL。若模型端口为BOOL而PLC变量为INT,平台会拒绝建立映射或运行时产生异常值。检查方法:在映射表中逐条核对“数据类型”列,确保左右两侧完全一致。对于气缸、夹爪、光电开关等开关量对象,统一使用BOOL即可。
验证映射方向与类型:三步确认法
- 方向验证:在PLC仿真器中强制Q0.0=TRUE,观察模型中Cyl1_Extend端口是否被置位、气缸是否伸出。若模型无响应,检查映射方向是否误设为“模型→PLC”。
- 反馈验证:手动将模型中的Cyl1_Extended传感器置为TRUE,观察PLC仿真器中I0.0是否变为TRUE。若PLC侧无变化,检查传感器映射方向是否误设为“PLC→模型”。
- 类型验证:在映射表中查找是否存在类型不匹配的条目。常见错误是将模型侧的INT型位置值映射到PLC的BOOL型输入,此时平台通常会在映射表对应行显示类型冲突标记。
映射表建立后,建议先执行一次“全量方向扫描”:将所有执行器映射逐条强制PLC输出,确认模型响应;再将所有传感器映射逐条手动置位,确认PLC输入变化。这一步能在正式联调前暴露绝大多数映射错误。
常见映射错误与排查对照
| 现象 | 可能原因 | 排查动作 |
|---|---|---|
| PLC输出变化,模型无动作 | 执行器映射方向填反 | 检查映射方向是否为PLC→模型 |
| 模型动作,PLC输入不变 | 传感器映射方向填反 | 检查映射方向是否为模型→PLC |
| 映射表无法保存 | 数据类型不一致 | 核对两侧数据类型列是否相同 |
| 模型端口列表为空 | 模型未正确导入或未暴露端口 | 重新导入模型,确认端口导出设置 |
| PLC变量列表为空 | PLC仿真器未连接或变量表未加载 | 检查仿真器连接状态与变量表配置 |