在动态对话框中设置的表达式公式中('NewTag_1'+1)%21,变量执行加1,而不实现循环加1直到21?
问题补充:
事件触发用的是变量触发NewTag_1 1S,我觉得表达式计算后的值没有反馈给变量NewTag_1,而导致循环没有继续。
最佳答案
不能,他只是把变量的值增加1然后求模,如果你要这样做只能用脚本来做:
vbs:
mode
定义一个函数为mode
function mode
dim mytag
mytag=hmiruntime.tags("NewTag_1").read
mytag=mytag+1
hmiruntime.tags("NewTag_1").write mytag
mode=mytag%21
提问者对于答案的评价:
谢谢你啦,你说的也是个办法。但对于编程来说,当然是那个方法更简单,而且是可以实现的,你可以去看图形设计的视屏里就有,或者A0205文档中的画面原型有演示版!
专家置评
单纯的组态一个“动态对话框”是不行的。需要额外的配置。
7+7的理解正确。问题出在没有把运算结果返回给变量。
为了让表达式计算后的值反馈给变量,让循环继续。需要在输入/输出域的“事件->属性主题->输出/输入->输出值”的更改事件中做一个“直接连接”。连接中来源部分选择:该对象的“输出值”,目标部分选择直接连接到表达式里的变量。这样就可以实现循环输出了。
请参考:
操作指南“WinCC V6 使用技巧”演示项目及使用说明Demo程序中的PA9_bld01.pdl画面。下载链接如下:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=a0048
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc252090.html