自己编写了一个分钟为单位的登录无操作(20分钟自动注销脚本,循环策略中加入脚本的方式,该方法不限制任何画面,只要登录无操作即可自动退出登录。),测试该脚本时,发现问题是,有的时候能够自动注销,有的时候弹出是否退出登录的对话框,并卡在该画面上,程序没有自动按确认键。所以觉得特别奇怪,是不是自己的脚本有问题,或者我在策略循环属性对话框中设置的循环时间为1000ms,该值是否影响退出登录对话框?请路过高手给与解答,不胜感激!以下为循环策略脚本内容:
当前时间=!TimeI2Str(!GetLastMouseActionTime(),"%X")'获取鼠标的最后动作时间
设定时间=!TimeSpanGetminutes(!TimeGetSpan(!TimeGetCurrentTime(),!GetLastMouseActionTime()))'计算鼠标最后的活动时间与当前时间的差值
时间 = $Time
if 设定时间 >=20 then
ret1=!strComp("负责人",!GetCurrentUser())
ret2=!strComp("操作员",!GetCurrentUser())
if ret1=0 or ret2=0 then'判定当前的用户
!SendKeys("{ENTER}")
!LogOff()
endif
ret1=!strComp("负责人",!GetCurrentUser())
ret2=!strComp("操作员",!GetCurrentUser())
endif
实时数据库中建立五个变量:“ret1”开关型、
“ret2”开关型、
“时间”字符型、
“设定时间”数值型
“当前时间”字符型
你可以看看这里以前我写的一个样例,一直在使用,没发现问题。
此外特别注意,一定要下载到屏里来运行,模拟环境下运行时不是100%可靠的。曾遇到很多人说遇到这个那个的问题,搞了半天却常常是在模拟环境里,我的习惯是一定下载到屏里来测试。
http://bbs.gongkong.com/d/201808/769225_1.shtml
回复内容:
对: gk2017 回复内容:对: ozoner 你可以看看这里以前我写... 内容的回复!
-------------------------
几乎所有的模拟软件都会有bug的,尤其是那些直接要用到硬件功能的函数部分,如定时器,通讯及接口的函数,编译后在屏里是靠硬件来实现的,而在模拟环境下则完全是靠软件来模拟硬件的功能,即便是大牌西门子PLC模拟软件也无法做到完全模拟不出错,一样有很多bug. 软件的东西都是这样啦,windows 系统还不也是三天两头的发布更新,不停的修复bug, 是软件都避免不了。
用模拟器来调试组态界面,系统逻辑及运算处理还是很好的,也非常方便。但仅此而已,不能完全依赖,可能的话还是要尽量直接用硬件来运行调试。