欢迎来到天天文库
浏览记录
ID:21441955
大小:25.00 KB
页数:4页
时间:2018-10-22
《如何选定次数的进行变量触发vbs动作?》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、如何选定次数的进行变量触发vbs动作?如何选定次数的进行变量触发vbs动作? 动作已编写好,确认无误。想对动作进行选定次数的进行;设计一个io域,用于输入想要进行的次数;一个按钮用于开始动作。对按钮进行vbs编写,脚本语言如下: SubOnLButtonDown(ByValItem,ByValFlags,ByValx,ByValy) Dimflip_Tag Setflip_Tag=HMIRuntime.Tags(“flip_Tag”) DimTagTimes SetTagTimes=HMIR
2、untime.Tags(“TagTimes”) flip_Tag.Read TagTimes.Read Dimi flip_Tag.Value=TagTimes.Value Fori=TagTimes.ValueTo0 ”statements flip_Tag.Writei-1 Next EndSub 其中flip_Tag为触发器变量,触发周期为有变化时;TagTimes为IO域连接变量,用于接收我想要进行动作的次数。运行程序无法实现功能,还请指点一下。。 最佳答案
3、 Fori=TagTimes.ValueTo0 不知道为什么要这么写。调试过 dimi fori=3to0 msgboxi next 这样的代码吗? 虽然 dimi fori=0to3 msgboxi next 这样的代码可以正确运行。 再是flip_Tag.Value=TagTimes.Value这句话相当于没写,因为flip_Tag.Write的就是i-1 flip_Tag的范围总是TagTimes-1到-1 关于这个问题可以参考: ht
4、tp://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=5&a_id=966768&s_id=17&num=4#anch 建议这段程序这样写: SubOnLButtonDown(ByValItem,ByValFlags,ByValx,ByValy) Dimflip_Tag Setflip_Tag=HMIRuntime.Tags(“flip_Tag”) DimTagTimes SetTagTimes=HMIRuntime.Tags(“TagTime
5、s”) Dimi Fori=0ToTagTimes-1step1 flip_Tag.WriteTagTimes-i‘每次都是从0变到TagTimes为第一次触发 ’直至变到1为最后一次触发,共TagTimes次 Next HMIRuntime.Tags(“flip_Tag”).Write0 ”“““从1回到初值0,虽然触发但是没做里面的动作 EndSub 其中flip_Tag变量的起始值置为0(在变量管理器中右键属性中设置) 而触发的动作中,用ifHMIRuntime.Tags(“f
6、lip_Tag”).Read0then 来滤去flip_Tag变成0的这次触发。 因为每次项目运行起来的时候都会加载变量,触发一次动作,可能出现预料不到的结果。 如果动作对于项目运行时触发的这次并不敏感(多做这一次也不妨碍)的话 那在你的代码缺陷在于,flip_Tag的范围总是由-1到TagTimes-1再一步一步到-1,多做了一次动作!
此文档下载收益归作者所有