198366809 发表于 2021-1-1 22:20:46

VB脚本在西门子KP1200HMI中的应用

来源:电工学习网

在西门子的一些比较高端的hmi支持脚本功能,对于一些没有封装好的功能我们可以自己开发,今天给大家分享两个利用脚本在KP1200中实现功能。1.多语言循环切换功能。首先在运行系统设置中,语言和字体选项中添加语言:https://img.diangon.com/portal/202012/29/180606e7j7c4cjxyyqtcej.jpg
新建变量,并将该变量添加事件“数值更改”---设置语言---语言https://img.diangon.com/portal/202012/29/180606ivb0q49p14wfd4x1.jpg
这里的变量就与第一张图片中的“顺序列”里的数值建立起来了联系。
编写脚本子程序Sub:Sub scr_language() If SmartTags("DB_Visualization_vi_Language") >= 2 Then SmartTags("DB_Visualization_vi_Language") = -1
      SmartTags("DB_Visualization_vi_Language")= SmartTags("DB_Visualization_vi_Language") + 1 End If End Sub
最后一步,给按键F12添加事件,找到这个函数:scr_language()https://img.diangon.com/portal/202012/29/180607eye2fak155ck7cxx.jpg
至此就完成了利用VB脚本实现多语言循环切换的功能。2. 循环正向计数功能。典型的应用是对于不同种类的介质进行选择,编写脚本函数Function:Function scr_change_value_limited(ByRef value, ByRef limit_min, ByRef limit_max, ByRef decrement)value =value+decrementIf value < limit_min Thenvalue =limit_maxElseIf value > limit_max Then         value =limit_minEnd IfEnd Ifscr_change_value_limited =value
End Function
新建按钮,添加按下事件,选择函数scr_change_value_limited:https://img.diangon.com/portal/202012/29/180607is2sx2s20x0s25sp.jpg
两个例子中用到了Function 和 Sub ,两者最大的区别是带不带返回值,希望能够抛砖引玉,使更多的人加入到一起学习VB脚本在HMI中的应用队伍中。

Hz20160713 发表于 2021-1-1 22:20:46

楼主加油,我们都看好你哦。

xbsgoco 发表于 2021-1-1 22:21:08

真是难得给力的帖子啊。

ai555 发表于 2025-11-15 05:41:41

蹲一波同款,有没有小伙伴推荐?

HYBX 发表于 2025-11-15 05:52:50

谁懂啊!这内容我能循环看十遍

杨石其 发表于 2025-11-15 05:56:05

笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下

wangjiewgb 发表于 2025-11-15 05:57:02

这逻辑绝了,分析得太到位了吧

316297419 发表于 2025-11-15 06:01:34

来凑个热闹,为楼主增加点人气!

872367946 发表于 2025-11-15 06:20:25

学到干货了,感谢分享,已火速收藏

不忘初心 发表于 2025-11-15 07:21:23

救命!这波发言太秀了,直接原地封神~
疯狂认同!楼主说出了我不敢说的话
页: [1] 2
查看完整版本: VB脚本在西门子KP1200HMI中的应用