Skip to content

网络工具例程 2:外网连通性探测 + 状态镜像 ​

这一页只讲这一个例程。同组其余例程、以及这个库的函数说明都在 05-05-net。

适用:同上 | 依赖模块:net plc | 难度:★☆☆

场景:定期探一下外网通不通,把结果镜像到 M30 给梯形图/画面做"外网在线"指示灯。

完整代码(可直接下载运行):

lua
net.ping("223.5.5.5", function(msg)
    local ok = msg:match("回复") ~= nil     -- 回调是中文结果串,不是数值
    plc.m(30, ok and 1 or 0)
    print("外网:", msg)
end)

要点:

  • net.ping 必须传 2 个参数:目标 + 结果回调。
  • 回调收到的是已格式化的中文结果串(如"来自 223.5.5.5 的回复…"),不是结构化数值。

验证方法:

  1. 能上网时 M30 = 1,日志打印"回复"。
  2. 拔网线后 M30 = 0,提示超时。

注意事项:

  • 不能直接把回调结果当数值比较,要用 match("回复") 之类判断。
  • 域名解析失败也走这个回调,须一并处理。

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研