如何在KepServer中基于Boolean标签实现递增计数器?
解决方案:用KepServer脚本实现布尔触发的递增计数器
既然没法在PLC里做,Advanced Tags Plugin又不好用,直接用KepServer的内置脚本功能就能搞定,步骤如下:
创建内存计数器标签
- 在KepServer里新建一个内存标签,命名为
TriggerCounter(可自定义名称),数据类型选Int32或你需要的整数类型,初始值设为0。
- 在KepServer里新建一个内存标签,命名为
编写触发脚本
用VBScript绑定到目标布尔标签的OnValueChanged事件,仅在标签从False跳转到True时递增计数器,避免持续为真时重复计数:Sub TargetBoolTag_OnValueChanged(oldValue, newValue) ' 仅在布尔标签从假变真时执行计数 If oldValue = False And newValue = True Then Dim counterTag Set counterTag = Server.FindTag("TriggerCounter") counterTag.Value = counterTag.Value + 1 End If End Sub配置脚本绑定
- 打开KepServer的Configuration界面,切换到
Scripts选项卡。 - 新建脚本,选择VBScript类型,粘贴上述代码。
- 在脚本的事件绑定设置中,选择你要监听的布尔标签,绑定到
OnValueChanged事件。
- 打开KepServer的Configuration界面,切换到
这样每次目标布尔标签触发为真时,计数器就会自动加1,完全在KepServer内实现,无需修改PLC。
内容的提问来源于stack exchange,提问作者WhiskeyMistress
相关产品推荐
相关产品推荐

