Tag 点位与读写方向
10 个点位来自原 PLC初始化 脚本的 registerTags,类型均为布尔。下表方向以 ForeSim 为参照;地址中的 DBX 字节与位偏移不可混用。PLC 程序变量名仅适用于该案例原配程序。
| Tag 名称 | S7 地址 | 方向 | 原程序含义 | 置位与复位 |
|---|---|---|---|---|
| 首段启动请求 | DB7000.DBX0.0 | 写 PLC | Number[0].In.insureBtn | Source 生成后 true;第一段到位后 false |
| 二段启动请求 | DB7000.DBX22.0 | 写 PLC | Number[1].In.insureBtn | 第一段到位后 true;第二段到位后 false |
| 三段启动请求 | DB7000.DBX44.0 | 写 PLC | Number[2].In.insureBtn | 第二段到位后 true;取货有载荷后 false |
| 输送线252正转 | DB7000.DBX16.0 | 读 PLC | Number[0].Q.Fwd | 由 PLC 程序决定;ForeSim 不写命令位 |
| 输送线251正转 | DB7000.DBX38.0 | 读 PLC | Number[1].Q.Fwd | 由 PLC 程序决定 |
| 输送线250正转 | DB7000.DBX60.0 | 读 PLC | Number[2].Q.Fwd | 由 PLC 程序决定 |
| 堆垛机行走终点 | DB7001.DBX10.0 | 写 PLC | Travel.FwdEnd | PutFinishCtrl 后 true;任务结束、初始化、停机时 false |
| 堆垛机升降终点 | DB7001.DBX28.0 | 写 PLC | Lift.UpEnd | PutFinishCtrl 后 true;任务结束、初始化、停机时 false |
| 货叉1原位 | DB7001.DBX70.0 | 写 PLC | Fork.Z1.Center_Stop | 初始化、取货回调、任务结束与停机均写 true |
| 货叉1有货 | DB7001.DBX71.1 | 写 PLC | Fork.Z1.OnLoad | 取货回调按载荷写值;任务结束、初始化、停机时 false |
核对步骤
在 PLC初始化 脚本中查看 registerTags 表,与模拟器或测试 PLC 的变量监视表逐项比对。注册只建立名称和地址映射,不等于写入或读取已成功。
运行事件到来时同时记录仿真时刻、请求位、PLC 输出位与读回值。setTagValue 后打印的 true/false 只是脚本意图,须以 PLC 侧实际监视或读回确认。
相邻输送段联合运行
扫描得到三个正转命令 run252、run251、run250 后,原脚本采用:
输送线252.Stopped = !(run252 || run251)
输送线251.Stopped = !(run251 || run250)
输送线250.Stopped = !run250
第二段运行许可也会保持第一段运行;第三段许可也会保持第二段运行,便于相邻段交接。不能把每条 Stopped 简化为只取本段命令的反值。
例如 (false, true, false) 应对应 Stopped 为 (false, false, true)。这是脚本表达式推导的预期,复验时仍需回读实际属性。
下一步:初始化与事件绑定。