4、在线监控入门:如何建立PC与PLC的在线连接,监控表的建立与使用

各位工程师朋友,大家好。今天咱们聊点实在的——在线监控。

说实话,我见过不少刚入行的同事,程序写得挺漂亮,但一遇到现场故障就抓瞎。为什么?因为不会看PLC内部的数据。你想想看,PLC就像个黑盒子,你不连上去看,怎么知道它脑子里在想什么?

这一章,我就带大家把PC和PLC连起来,再建一张监控表,把PLC的“内心世界”看得清清楚楚。

4.1 建立PC与PLC的在线连接

先说说硬件连接。这步搞不定,后面全是白搭。

4.1.1 硬件连接方式

常见的连接方式就三种,我列个表,大家一目了然:

连接方式 接口类型 适用场景 我的建议
串口(RS-232/RS-485) DB9或端子 老款PLC、近距离调试 现在用得少了,但老设备还得靠它
USB转串口 USB-B / USB-A 笔记本调试,方便快捷 我个人习惯用这个,随身带一根线就行
以太网 RJ45 主流方式,支持远程 强烈推荐,速度快,还能多人同时看

嗯,这里要注意:用USB转串口时,一定要装好驱动。我在项目中遇到过好几次,插上线电脑没反应,折腾半天发现是驱动没装。说白了,驱动就是翻译官,没有它,电脑和PLC说不上话。

4.1.2 软件通信设置

硬件连好了,接下来是软件设置。以西门子博途(TIA Portal)为例,我给大家走一遍流程:

  1. 打开项目,在左侧项目树中找到你的PLC。
  2. 双击“在线访问”,选择你用的网卡(比如Realtek PCIe GbE)。
  3. 点击“搜索可访问的设备”,系统会自动扫描。
  4. 找到你的PLC,核对MAC地址或IP地址,确认无误。
  5. 点击“在线”,建立连接。

重要提示:IP地址必须和PLC在同一个网段。比如PLC是192.168.0.1,你的电脑就要设成192.168.0.x(x不能是1)。我见过有人设成192.168.1.100,结果死活连不上,急得满头大汗。

为什么会这样?因为不同网段的数据包,路由器默认不会转发。除非你配了路由表,否则别想跨网段通信。

4.2 监控表的建立与使用

连接建立后,咱们就可以建监控表了。监控表是什么?说白了,就是一张“偷窥”PLC内部数据的表格。

4.2.1 创建监控表

在博途里,操作很简单:

  1. 在项目树中,找到“监控与强制表”。
  2. 右键点击,选择“新增监控表”。
  3. 给表起个名字,比如“电机控制监控”。

我个人习惯,一个功能块建一张表。比如电机控制一张表,阀门控制一张表,这样查起来方便。别把所有变量塞到一张表里,那跟翻字典似的,累死人。

4.2.2 添加监控变量

建好表后,开始往里加变量。你可以手动输入,也可以从程序里拖拽。我建议用拖拽,不容易出错。

举个例子,监控一个电机的启停状态:

变量名:Motor_Start
数据类型:Bool
地址:%I0.0
监控值:TRUE  (表示电机正在运行)

再比如监控一个模拟量:

变量名:Tank_Level
数据类型:Real
地址:%MD100
监控值:45.7  (表示液位45.7%)

小技巧:添加变量时,可以顺便写上注释。比如“电机启动按钮”、“液位百分比”。这样过几个月再看,不用猜也知道是啥。我曾经吃过这个亏,没写注释,后来查故障时对着变量名想了半天。

4.2.3 启动监控与数据解读

变量加好了,点击工具栏上的“眼镜”图标(监控按钮),数据就开始刷新了。

你会看到:

  • Bool类型:显示TRUE或FALSE,或者1/0。
  • 整数/实数:显示具体数值。
  • 字符串:显示文本内容。

嗯,这里要注意:监控表的数据是实时刷新的,但刷新速度取决于你的通信负载。如果PLC程序很大,或者你监控的变量太多,刷新会变慢。我建议一次监控不超过50个变量,否则看着眼花,也影响PLC性能。

4.2.4 强制功能的使用

监控表还有一个“杀手锏”——强制。强制就是强行给某个变量赋值,不管程序逻辑怎么跑。

比如,你怀疑一个传感器坏了,信号一直为FALSE。你可以强制它为TRUE,看看后续逻辑会不会动作。如果动作了,说明传感器有问题;如果没动作,说明程序逻辑有bug。

警告:强制功能非常危险!我曾经在调试时,强制了一个输出点,结果设备突然启动,差点伤到人。强制前,一定要确认设备处于安全状态,最好有同事在旁边看着急停按钮。

4.3 实战案例:用监控表排查电机不转故障

光说不练假把式。我给大家讲个真实案例。

有一次,现场反馈说一台电机不转了。我远程连上PLC,建了一张监控表,加了这几个变量:

变量名 地址 监控值 分析
Start_Button %I0.0 FALSE 按钮没按?
Safety_Relay %I0.1 TRUE 安全继电器正常
Motor_Run %Q0.0 FALSE 输出没给
Overload_Trip %I0.2 TRUE 热继电器跳了!

看到没?Overload_Trip为TRUE,说明热继电器过载保护动作了。我让现场人员去检查电机,发现轴承卡死了。更换轴承后,复位热继电器,电机恢复正常。

整个过程不到10分钟。如果没有监控表,你得拿着万用表去现场一个个测,至少半小时起步。

4.4 避坑指南

最后,我总结几个常见坑,大家注意:

  • 连接不上?先ping一下PLC的IP地址。ping不通,检查网线、IP设置、防火墙。
  • 监控数据不刷新?看看是不是PLC处于STOP模式。STOP模式下,程序不运行,数据当然不动。
  • 强制后变量不变化?检查一下是不是被其他程序块覆盖了。强制优先级低于程序赋值。
  • 监控表卡死?关掉重开。我遇到过博途的bug,监控表开久了会假死。

好了,这一章就到这里。在线监控是故障诊断的“眼睛”,学会了它,你就成功了一半。下一章,咱们聊聊如何用监控表做更高级的故障分析。

记住:多练、多试、多总结。现场经验就是这么攒出来的。