搬家第三天-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的连接状态。