『7x24小时有问必答』

写了几十个程序,有没有这种感觉——程序写完了,一调试就抓瞎。变量到处翻,找半天不知道在哪改;想模拟一个输入信号,要么跑去接线,要么只能干等;出了问题想复现,怎么都复现不出来。说白了,缺的不是编程能力,是调试手段。博途(TIA Portal)里有两个最容易被低估的工具:监控表和强制表。90%的新手只会点个"程序状态"看变量值,但这俩工具的威力远不止于此。今天一次性讲透:基础用法、高级技巧、踩坑警告,全部实战导向。  
一、先搞清楚:监控表 vs 强制表,到底有什么区别?

很多人把"监控"和"强制"搞混,这是第一步就得搞清楚的:
对比项
监控表(Watch Table)
强制表(Force Table)
核心作用看
变量的值
改
变量的值
对程序的影响
只读,不影响程序运行
覆盖程序逻辑,强制生效
能改值吗
可以"修改",但会被程序覆盖
强制后不受程序控制
断电后
消失
默认消失(永久强制除外)
典型用途
监控运行状态、排查逻辑
模拟传感器、模拟故障、绕过节制
操作入口
监控与强制表 → 新建监控表
监控与强制表 → 新建强制表

一句话总结:监控表是"眼睛"——帮看清程序在干什么;强制表是"手"——帮直接控制变量值,模拟各种工况。调试的时候,两者要配合使用:先监控定位问题,再强制模拟条件,最后用监控验证结果。

二、监控表:不只是"看变量"这么简单
01
2.1 基础操作:创建第一个监控表
操作步骤:
在项目树中找到  监控与强制表  → 点击  添加新监控表
在地址列输入变量地址(如  I0.0、Q0.0、DB1.DBX0.0)
选择显示格式(BOOL、INT、REAL、HEX 等)
点击  全部监视  按钮(眼镜图标),开始实时查看

小技巧:快速添加变量不用一个个手动输入地址,可以:
从  PLC变量表  中复制变量,直接粘贴到监控表
从  程序编辑器  中高亮选中一段程序,右键 →  创建监控表,系统自动提取该段所有操作数
直接从  DB块  拖拽变量到监控表
02
2.2 进阶:批量添加变量
项目复杂后,变量动辄上百个。一个个加太慢了。高效做法:
打开 PLC 变量表,用 Ctrl+A 全选或框选需要的变量
Ctrl+C 复制
切换到监控表,Ctrl+V 粘贴

一次搞定几十个变量,省去大量重复操作。
03
2.3 高级技巧:触发式监控
默认监控表每隔几百毫秒刷新一次,但有些 bug 只在变量变化的瞬间出现,根本来不及看。触发式监控就是帮"抓拍"这些瞬间。
设置方法:
在监控表中右键点击变量 →  添加触发器
选择触发条件:
上升沿
:变量从 0 变 1
下降沿
:变量从 1 变 0
等于某值
:变量达到指定值
选择触发时的动作:
停止PLC
:适合捕捉致命错误
记录数据
:保存当时的所有变量快照
弹出提示
:弹出通知窗口
一旦满足条件,自动触发

实战场景:计数器多计或少计?设个触发器盯住计数变量,沿指令出问题立刻抓现行某个中间变量莫名其妙变了?设触发条件为"等于某个异常值",自动抓到是谁改了它调试定时器时想精确看计时过程?触发式监控比盯着看高效100倍

04
2.4 数据导出:让分析更方便
监控数据不仅能看,还能导出:
点击监控表工具栏的  导出  按钮
选择保存路径和格式(CSV格式)
用 Excel 打开,做趋势分析、异常排查

特别适合:模拟量数据分析(温度曲线、压力波动)长时间运行的稳定性测试调试报告的截图和存档

05
2.5 分类管理:别把所有变量堆在一个表里
变量一多,找起来就崩溃。建多个监控表,按功能分类:
监控表名称
监控内容
输入输出监控表
所有 I/O 信号
参数监控表
工艺参数、设定值
报警监控表
所有报警标志位
调试监控表
调试用的临时变量
每个表管一类,调试时切换方便,不用在几百个变量里大海捞针。
三、强制表:不用接线就能模拟一切
01
3.1 基础操作:强制一个变量
操作步骤:
在项目树中找到  监控与强制表  → 点击  添加新强制表
在地址列输入要强制的变量地址
在  强制值  列输入要设的值(TRUE/FALSE、数值等)
点击  强制  按钮(锁图标),变量被锁定

强制后,看到变量旁边出现一个 锁形标记 ,表示这个值不再受程序控制。强制值的优先级: 强制 > 外部输入 > 程序逻辑也就是说,一旦强制了某个输入点,PLC 会完全忽略物理输入端子的真实信号,只用强制的值。

02
3.2 实战:用强制表模拟各种工况

场景
强制什么
目的
模拟启动按钮按下
强制启动信号 = TRUE
测试启动逻辑
模拟传感器触发
强制传感器信号 = TRUE
测试检测和联动逻辑
模拟设备故障
强制故障信号 = TRUE
测试报警和保护逻辑
模拟温度达到设定值
强制温度值 = 85.0
测试温控切换逻辑
模拟计数器到位
强制计数器 = 目标值
测试计数完成后的动作
不用接一根线,在电脑上就能测完所有逻辑分支。
03
3.3 批量强制

一次模拟复杂工况,实际操作中,经常需要同时改变多个信号来模拟一个完整场景:

在强制表中添加所有需要强制的变量
逐个输入要强制的值
点击  全部强制  按钮,所有变量同时被锁定

举例: 模拟"物料到位 + 气缸伸出 + 开始加工"这个场景:强制物料检测传感器 = TRUE强制气缸到位信号 = TRUE强制加工启动条件 = TRUE一次操作,所有信号同时生效,程序立即进入对应状态。

04
3.4 永久强制(慎用!)
默认的强制是临时的——断开连接或 PLC 重启后就失效。如果需要在 PLC 重启后仍然保持强制状态,可以用  永久强制:
在强制表中右键点击变量 →  永久强制
永久强制值保存在 PLC 中,重启后仍然有效

️ 严重警告:永久强制非常危险!它会一直覆盖程序逻辑,即使你换了程序、重启了设备,强制值仍然在。调试完 必须 检查并取消所有永久强制,否则到了现场可能直接出事故。

05
3.5 取消强制
取消单个:选中变量 → 点击  取消强制
取消全部:点击  全部取消强制

调试结束后的标准动作: 逐一检查强制表,确认所有强制已取消,再切换到在线运行

四、监控表 vs 修改值:很多人搞混的第三个概念
除了"监控"和"强制",还有一个容易混淆的操作——修改值。
操作
效果
持续多久
场景
监控(监视)
只读,看变量当前值
持续
了解程序运行状态
修改值
临时写入一个新值
会被下一个扫描周期覆盖
快速测试某个条件
强制
锁定变量值,覆盖程序逻辑
直到取消强制
模拟信号、绕过节制

关键区别:
修改值
:写入后,下一个扫描周期程序就会把它覆盖回去。适合"看一眼"或"临时捅一下"。
强制
:写入后,程序再也改不了它了。适合"我需要这个信号一直保持这个状态"。

注意: 对于输入映像区(I)和输出映像区(Q),修改值不起作用——因为它们在每个扫描周期都会被程序刷新。要改它们的值,必须用强制。

五、快照功能:被忽略的调试利器
快照(Snapshot)是博途中一个低调但极好用的功能。它是什么?  相当于给当前所有变量的值"拍张照",存到一个缓冲区。需要时可以随时恢复。
怎么用?
在监控表中,点击  快照  按钮
当前所有监视值被保存
继续调试、修改、强制……随便折腾
需要恢复时,点击  恢复快照,变量回到拍照时的状态

典型用途:PID 参数调好后,保存一组快照;调乱了随时恢复调试前保存一份"正常状态"快照,出了问题对比看哪个变量变了保存设备正常运行的参数组合,下次复现时直接恢复

六、趋势视图:像示波器一样看数据变化
监控表和强制表是"数字视图"——你看到的是一个个具体数值。但有些时候,你需要看到数据的  变化趋势。
趋势视图(Trend View)就是这个用途:
在监控表中切换到  趋势视图  模式
选择要跟踪的变量
系统会像示波器一样,实时绘制变量随时间变化的曲线

适用场景:模拟量信号(温度、压力、流量)的变化趋势PID 调节过程的超调、稳态分析检测信号抖动、毛刺等异常可以调节 采样时基(采样频率),精度越高数据越细但占资源越多,根据实际需求调整

七、完整调试流程:监控表+强制表怎么配合用

给一个完整的调试工作流,把监控表和强制表串起来:
01
第一步:程序状态预览
打开 OB1,启用程序状态监控(眼镜图标),快速扫一遍整体逻辑,看看哪些段有问题。
02
第二步:建立监控表
把怀疑有问题的变量全部加到监控表中,开始全部监视。
03
第三步:运行程序,观察变量
让程序跑起来,通过监控表观察各变量的实时状态。找到不符合预期的变量。
04
第四步:用强制表模拟条件
发现某个逻辑分支没走到?用强制表模拟前置条件,强制相关输入信号,让程序走到你需要的分支。
05
第五步:用监控表验证结果
强制之后,回到监控表观察后续变量变化,确认逻辑是否正确执行。
06
第六步:取消所有强制
调试完成,逐一取消所有强制值,确认程序在正常逻辑下运行无误。
07
第七步(可选):快照保存
把调试好的参数和状态拍个快照,以备后续复用。
  
八、新手最容易踩的 4 个坑
01
坑1:强制了变量忘记取消
这是最高频的新手事故。  强制值会一直保持,你忘了取消,PLC 就一直在用假信号运行。到了现场,传感器明明正常,PLC 却"视而不见"——因为在仿真时强制了它。

防范措施:调试结束必须检查强制表,逐项确认建议在程序开头加一个"强制状态检查"标志位永久强制?能不用就不用,用了必须做记录

02
坑2:把修改值当成强制
修改值写入后会被程序立刻覆盖,以为是"强制成功"了,其实下一个扫描周期就恢复了。
记住:要锁住变量,必须用强制,不是修改。
03
坑3:强制输入映像区用修改值

I/O 映像区(输入/输出)每个扫描周期都会被刷新,修改值根本不起作用。必须用强制。
04
坑4:用强制代替程序逻辑

强制是调试手段,不是解决方案。不要试图用强制来实现正常的逻辑功能——那是拿胶带粘大桥。  
九、速查表

你想做什么
用什么工具
怎么操作
看某个变量的当前值
监控表
添加变量 → 全部监视
临时改一下变量的值
监控表-修改值
输入新值 → 一次性修改
锁定变量的值不被程序覆盖
强制表
添加强制 → 输入值 → 强制
同时锁定多个变量
强制表
批量添加 → 全部强制
捕捉变量变化的瞬间
监控表-触发器
右键 → 添加触发器
保存当前状态,随时恢复
快照
点击快照按钮
看变量随时间的变化趋势
趋势视图
切换到趋势视图模式
导出监控数据做分析
导出
工具栏 → 导出为 CSV
按功能分类管理变量
多个监控表
新建多个监控表,分类添加
重启后仍然保持强制
永久强制
右键 → 永久强制(️慎用)
十、一句话总结
监控表是眼睛,强制表是手。会看又会动手,调试效率才能翻倍。

别只在程序里一个个翻变量了——建个监控表集中看,用强制表模拟各种工况,用触发器抓拍瞬间 bug,用趋势视图分析数据变化。把这些工具用熟了,大部分调试问题都能在办公室里解决,不用跑现场。

往期推荐

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码