读取双字的某一位出现问题

由于点数限制,现需要上位拆分双字的某一位,脚本如下:VBS
 HMIRuntime.Tags("tag1").Write HMIRuntime.Tags("tag2").Read And &H1
 其中tag1为内部二进制变量,tag2为PLC给出的一个双字变量,我这句是取tag2的第一位的语句。
 HMIRuntime.Tags("tag3").Write HMIRuntime.Tags("tag2").Read And &H80000000
 这句是取tag2第32位的语句,我放在全局脚本里面,扫描周期设的2秒,发现有的读数正常,有的读数不正常,只要更改不正常读数的tag1位置的变量,就变正常,但是过一段时间又不正常了,是不是我的脚本有问题?请专家们帮忙看看

最佳答案

试试用c脚本,用SetTagDWordWait

提问者对于答案的评价:
———————————————–
 找到问题所在了,在VBS环境下,双字的最后一位可能默认为符号位,通过实践,当这位为1时,其他位发生变化,脚本不动作,当这位为0时,其他位发生变化,脚本继续动作,所以不要用最后一位就可以了,恢复正常。

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

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

相关推荐