分享WINCC检测IP是否在线之VBS脚本

已锁定

迷失中原

  • 帖子

    466
  • 精华

    5
  • 被关注

    47

论坛等级:侠圣

注册时间:2013-01-18

钻石 钻石 如何晋级?

分享WINCC检测IP是否在线之VBS脚本

2430

2

2023-10-07 13:54:23

    前段时间做了一个WINCC与MES系统通讯的项目,局域网读取数据库,当服务器断线时,WINCC再访问数据库,会有几十秒的超时报错,而且会影响WINCC其它的VBS脚本执行。关于数据库访问超时问题,网上搜了很多资料也没彻底解决。后来另辟蹊径,通过检测服务器IP是否连接成功,然后再进行数据库访问,成功解决了此问题。贴出来,给大家分享一下!


Dim objWMIservice,colltems,objitem

Dim ip

Set objWMIservice=GetObject("winmgmts:\\.\root\cimv2")


'********客户机1 IP检测

ip=HMIRuntime.Tags("IP1").Read  '***变量IP1 输入查询IP地址

Set colltems=objWMIservice.Execquery("Select * from WIn32_PingStatus Where Address='"&IP&"' ")

For Each objitem In colltems


Select Case  objitem.statusCode

Case 0 '***连接成功

HMIRuntime.Tags("SQL1_STATE").Write 1 '***变量SQL1_STATE更新状态

HMIRuntime.Trace "IP连接成功"

Case Else '***连接失败

HMIRuntime.Tags("SQL1_STATE").Write 0  '***变量SQL1_STATE更新状态

HMIRuntime.Trace "IP连接失败"

End Select

Exit For

Next


HMIRuntime.Trace "IP检测完成"

    

   检测在线,基本1S内;断线检测基本在2-3S之内。通过此脚本还可以判断PLC与WINCC的通讯状态,或者第三方的TCP设备,也可以做通讯状态检测使用。

  


分享WINCC检测IP是否在线之VBS脚本 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32572条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。