加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15915421161

SIEMENS西门子广东省江门市(授权)电机一级代理商——西门子华南总代理

更新时间
2024-05-21 07:00:00
价格
请来电询价
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
联系手机
15915421161
联系人
张经理
立即询价

详细介绍

有人问能不能通过VBS来做一个死循环来连续的监控某个值的状态,然后执行一些操作。原则上是不能那么做的,除非你打算程序中不使用其他的用户脚本了。在打算使用VBS之前一定注意以下事项带来的影响:

西门子触摸屏中的VBS是单线程操作的,如果没有执行完成会导致其他脚本无法执行。



测试案例



  1. 我们新建一个用户脚本Cycle,做一个循环程序,脚本启动时初始化tag1为1,当tag2不等于3时会一直循环将tag1赋值为2,如果tag2为3,则将tag1也赋值为3。脚本如下:














  • '注意:要启动脚本,请按下 <Ctrl><空格>,然后就可以看到各种不同函数。'通过使用系统函数或 WinCC flexible 对象模型来编写脚本。您可以通过'HMI 运行系统对象很容易地访问系统。挑选对象引用的一个很便利的'方式是按下 <Alt><右箭头>。通过使用编程语言 VBScript 的基本功能部件'来设计复杂的脚本,并可以直接通过名称,例如 tag = 5,来访问变量。
    SmartTags("tag1")=1Do Until SmartTags("tag2").Value=3      SmartTags("tag1")=2Loop
    SmartTags("tag1")=3



    1. 我们新建一个按钮,命名为“循环”,先执行Cycle脚本,VBS脚本执行完成后再执行切换画面的系统函数。


    我们需要验证三个事:

    a.当脚本在死循环阶段,能切换画面吗?

    b.切换画面后,脚本还在执行吗?

    c.当脚本在死循环阶段,还能执行其他VBS脚本吗?


    3.我们创建两个按钮3和4,一个是通过系统函数来切换画面,另一个是通过用户脚本来切换画面。再建两个按钮2和5,控制tag2加减1,以此来控制循环脚本的退出。



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


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



    用户脚本Change中的内容:







  • '注意:要启动脚本,请按下 <Ctrl><空格>,然后就可以看到各种不同函数。'通过使用系统函数或 WinCC flexible 对象模型来编写脚本。您可以通过'HMI 运行系统对象很容易地访问系统。挑选对象引用的一个很便利的'方式是按下 <Alt><右箭头>。通过使用编程语言 VBScript 的基本功能部件'来设计复杂的脚本,并可以直接通过名称,例如 tag = 5,来访问变量。ActivateScreen "画面_2",0


    按钮2:使tag2加1

    按钮5:使tag2减1



    结果



    1. 事件中的用户自定义脚本和系统函数是顺序执行的,如图1号的脚本不执行完,2号是不会执行的。

    2. 事件中脚本的死循环只会导致其他脚本无法执行,但是不会禁止其他控件中的事件触发的系统函数的正常执行。


    a.当脚本在死循环阶段,能切换画面吗?Y

    b.切换画面后,脚本还在执行吗?Y

    c.当脚本在死循环阶段,还能执行其他VBS脚本吗?N




    测试动画



    图片


    相关产品

    联系方式

    • 电  话:15903418770
    • 联系人:张经理
    • 手  机:15915421161
    • 微  信:15915421161