定时触发问题

我想做变量记录的24小时周期记录,并且时间可定点选择(例如每天8或9点时记录),初步思路是:实现定时触发,即系统时间达到设定的时间(需要人为给定)时,开始触发一个二进制变量置1,否则置0,然后用非周期的事件触发变量记录,从而达到我的定点触发的目的,请问思路可行吗?设定时间与系统时间的比较,小弟脚本语言基础不行,请问能写给我看看吗

问题补充:
Dim objTag,objset
 Dim tttt
 tttt = Time   ‘系统时间
 Set objTag = HMIRuntime.Tags("DR1")    ‘触发归档的二进制变量
   objTag.Read
 Set objset = HMIRuntime.Tags("aa1")    ‘设定时间
   objset.Read    
  If tttt = objset.Value Then
   If objTag.Value = 1 Then
   objTag.Write 0
   Else
   objTag.Write 1
   End If 
  End If
 MsgBox tttt 显示的系统时间样式为:HH:MM:SS,与给定时间aa1格式相同,把程序添加到全局脚本中,触发周期未一秒,程序也能执行到最后,请问我的DR1变量为什么没有任何变化,而西门子技术支持说执行OK的

最佳答案

可行,并且不需要使用脚本。

  变量记录中采集类型可以选择为“周期-可选择”,然后于事件中可提供了可以启动和终止该变量的记录的选项,不会脚本可以选择变量。
  这里需要两个BOOL型变量,起始变量用于启动归档、停止变量用于终止归档。这两个变量可以在PLC中读取系统时间进行判断生成。

 补充:用作比较的两个量类型不一致,需要统一数据类型后再进行比较。将比较语句改为如下即可:
  If CStr(tttt) = CStr(objset.Value) Then

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐