操作 | 效果 | 持续多久 | 场景 |
| 监控(监视) | 只读,看变量当前值 | 持续 | 了解程序运行状态 |
| 修改值 | 临时写入一个新值 | 会被下一个扫描周期覆盖 | 快速测试某个条件 |
| 强制 | 锁定变量值,覆盖程序逻辑 | 直到取消强制 | 模拟信号、绕过节制 |
关键区别:
修改值:写入后,下一个扫描周期程序就会把它覆盖回去。适合"看一眼"或"临时捅一下"。
强制:写入后,程序再也改不了它了。适合"我需要这个信号一直保持这个状态"。
注意: 对于输入映像区(I)和输出映像区(Q),修改值不起作用——因为它们在每个扫描周期都会被程序刷新。要改它们的值,必须用强制。
快照(Snapshot)是博途中一个低调但极好用的功能。它是什么? 相当于给当前所有变量的值"拍张照",存到一个缓冲区。需要时可以随时恢复。
怎么用?
在监控表中,点击 快照 按钮
当前所有监视值被保存
继续调试、修改、强制……随便折腾
需要恢复时,点击 恢复快照,变量回到拍照时的状态
典型用途:PID 参数调好后,保存一组快照;调乱了随时恢复调试前保存一份"正常状态"快照,出了问题对比看哪个变量变了保存设备正常运行的参数组合,下次复现时直接恢复
监控表和强制表是"数字视图"——你看到的是一个个具体数值。但有些时候,你需要看到数据的 变化趋势。
趋势视图(Trend View)就是这个用途:
在监控表中切换到 趋势视图 模式
选择要跟踪的变量
系统会像示波器一样,实时绘制变量随时间变化的曲线
适用场景:模拟量信号(温度、压力、流量)的变化趋势PID 调节过程的超调、稳态分析检测信号抖动、毛刺等异常可以调节 采样时基(采样频率),精度越高数据越细但占资源越多,根据实际需求调整
给一个完整的调试工作流,把监控表和强制表串起来:
打开 OB1,启用程序状态监控(眼镜图标),快速扫一遍整体逻辑,看看哪些段有问题。
把怀疑有问题的变量全部加到监控表中,开始全部监视。
让程序跑起来,通过监控表观察各变量的实时状态。找到不符合预期的变量。
发现某个逻辑分支没走到?用强制表模拟前置条件,强制相关输入信号,让程序走到你需要的分支。
强制之后,回到监控表观察后续变量变化,确认逻辑是否正确执行。
调试完成,逐一取消所有强制值,确认程序在正常逻辑下运行无误。
把调试好的参数和状态拍个快照,以备后续复用。
这是最高频的新手事故。 强制值会一直保持,你忘了取消,PLC 就一直在用假信号运行。到了现场,传感器明明正常,PLC 却"视而不见"——因为在仿真时强制了它。
防范措施:调试结束必须检查强制表,逐项确认建议在程序开头加一个"强制状态检查"标志位永久强制?能不用就不用,用了必须做记录
修改值写入后会被程序立刻覆盖,以为是"强制成功"了,其实下一个扫描周期就恢复了。
记住:要锁住变量,必须用强制,不是修改。
I/O 映像区(输入/输出)每个扫描周期都会被刷新,修改值根本不起作用。必须用强制。
强制是调试手段,不是解决方案。不要试图用强制来实现正常的逻辑功能——那是拿胶带粘大桥。
你想做什么 | 用什么工具 | 怎么操作 |
看某个变量的当前值 | 监控表 | 添加变量 → 全部监视 |
临时改一下变量的值 | 监控表-修改值 | 输入新值 → 一次性修改 |
锁定变量的值不被程序覆盖 | 强制表 | 添加强制 → 输入值 → 强制 |
同时锁定多个变量 | 强制表 | 批量添加 → 全部强制 |
捕捉变量变化的瞬间 | 监控表-触发器 | 右键 → 添加触发器 |
保存当前状态,随时恢复 | 快照 | 点击快照按钮 |
看变量随时间的变化趋势 | 趋势视图 | 切换到趋势视图模式 |
导出监控数据做分析 | 导出 | 工具栏 → 导出为 CSV |
按功能分类管理变量 | 多个监控表 | 新建多个监控表,分类添加 |
重启后仍然保持强制 | 永久强制 | 右键 → 永久强制(️慎用) |
监控表是眼睛,强制表是手。会看又会动手,调试效率才能翻倍。
别只在程序里一个个翻变量了——建个监控表集中看,用强制表模拟各种工况,用触发器抓拍瞬间 bug,用趋势视图分析数据变化。把这些工具用熟了,大部分调试问题都能在办公室里解决,不用跑现场。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!