








有人问能不能通过VBS来做一个死循环来连续的监控某个值的状态,执行一些操作。原则上是不能那么做的,除非你打算程序中不使用其他的用户脚本了。在打算使用VBS之前一定注意以下事项带来的影响:
西门子触摸屏中的VBS是单线程操作的,如果没有执行完成会导致其他脚本无法执行。

测试案例
我们新建一个用户脚本Cycle,做一个循环程序,脚本启动时初始化tag1为1,当tag2不等于3时会一直循环将tag1赋值为2,如果tag2为3,则将tag1也赋值为3。脚本如下:
我们新建一个按钮,命名为“循环”,先执行Cycle脚本,VBS脚本执行完成后再执行切换画面的系统函数。
我们需要验证三个事:
a.当脚本在死循环阶段,能切换画面吗?
b.切换画面后,脚本还在执行吗?
c.当脚本在死循环阶段,还能执行其他VBS脚本吗?
3.我们创建两个按钮3和4,一个是通过系统函数来切换画面,另一个是通过用户脚本来切换画面。再建两个按钮2和5,控制tag2加减1,以此来控制循环脚本的退出。

按钮3:用户脚本切换画面

按钮4:用户脚本切换画面

用户脚本Change中的内容:
按钮2:使tag2加1

按钮5:使tag2减1

| 成立日期 | 2022年11月17日 | ||
| 主营产品 | 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列 | ||
| 公司简介 | 广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科 ... | ||









