搬家第三天-60.Wincc V7.3 通过VBS 记录连接PLC的时刻以及断开PLC的时刻的方法

今天看QQ群里面有网友问怎么记下WINCC和PLC连接上和断开的时刻,这个问题有点意思,以前没有留意过,这两个事件也的确重要,于是尝试着做了一下试验成功了。

1. PLC一侧的编程

  新建两个BOOL变量,比如说是M14.0和M14.1,梯形图如下:

这样一来,M14.1应该一直为1.

2. WINCC一侧的编程

在wincc一侧,新建四个变量:

status   外部变量,二进制类型 地址M14.1 替换值0 断开连接时替换。 注意这个变量不能从AS-OS传输过来,那种传输过来的不能设置替换功能,设置替换值是为了让PLC与上位机断开连接能够改变WINCC变量值。

ConnStatus:内部变量,二进制类型,初始值为0

ConnTime:内部变量 日期时间类型,记录连接上的时刻

DisConnTime:内部变量 日期时间类型,记录断开的时刻

新建一个VBS全局脚本,触发器设置为周期性1s,这个周期也可以长一点,减少系统负荷。

Option Explicit
Function action
Dim ConnStatus,Status,ConnTime,DisconnTime
Set ConnStatus=HMIRuntime.Tags("ConnStatus") '内部变量
Set Status=HMIRuntime.Tags("Status")
Set ConnTime=HMIRuntime.Tags("ConnTime")
Set DisConnTime=HMIRuntime.Tags("DisConnTime")
If ConnStatus.Read =0 And Status.read=1 Then '连接上了
  ConnTime.Write  Now
   ConnStatus.Write 1
End If
If ConnStatus.Read =1 And Status.read=0 Then '连接断开了
  DisConnTime.Write  Now
   ConnStatus.Write 0
End If 
End Function

Wincc画面上添加两个输入输出框,连接ConnTime和DisConnTime变量,输入输出框显示类型为日期时间类型。Wincc项目管理器中,计算机属性启动项目勾选“全局脚本”,这样在Wincc运行时,就可以随时监控PLC的连接和断开时刻了。

补充:

WINCC上可以添加Wincc Channel Diagnosis控件,运行时可以监控和PLC的连接状态。

posted @ 2021-01-31 11:51  来自金沙江的小鱼  阅读(812)  评论(0编辑  收藏  举报