VB脚本如何对触摸屏变量进行读写?项目源码文件自取,西门子博途Wincc 中这一个方法很重要!
前言
看完上一章《DO语句还可以这样用?西门子博途Wincc VB脚本详解!建议收藏》,我们一起学会了西门子博途Wincc Vb脚本中DO…LOOP语句的4种用法以及5大易错点,错过的小伙伴可以点击下方的合集内去查看!今天,我们一起来看一下西门子博途Wincc VB脚本如何读写西门子触摸屏HMI的变量值!
一:3大易错点,谨记
谨记!在西门子博途Wincc VB脚本对触摸屏的变量进行读写的时候,有以下几大易错点!(1)触摸屏的变量名或者变量的路径名一定不能写错,由于变量区分大小写而且有的变量容易漏写一些前缀或后缀,会导致读写失败,甚至读到错误的变量进而导致设备发生故障;
(2):注意数据类型是否匹配,整数、浮点数、字符串等,千万不要发生变量数据溢出的情况,轻则数据不准,重则导致设备故障;(3):注意确认触摸屏变量的读写权限,不要对只读权限的触摸屏变量进行写的操作!
二:VB脚本读写变量方法
IF 语在西门子博途Wincc VB脚本中,为了实现VB脚本对触摸屏变量Tag_1的读取操作和对触摸屏变量Tag_2的写操作,我们可以编写以下的代码。注意,当我们想要访问触摸屏的变量时,可以使用HmiRuntime.Smarttags(“触摸屏中变量的名称”)来完成!
Dim Temp ‘声明变量TempTemp = HmiRuntime.Smarttags(“Tag_1”) ‘读取触摸屏变量Tag_1的内容并赋值给TempHmiRuntime.Smarttags(“Tag_2”) = Temp ‘将Temp变量的值赋值给触摸屏变量Tag_2

三:如何验证变量读写成果
单分在你的西门子博途Wincc 软件中,可以按照下述的步骤来操作,完成上述代码的验证。具体的步骤以下述5步所示。(1)创建内部变量:创建内部变量Tag_1与Tag_2,两个变量的数据类型为字符串类型。
(2)创建VB脚本:在项目树中点击脚本→点击VB脚本→创建新的VB函数Vbfunction_1→复制1.1的代码到VB脚本中;(3)画面组态:组态I/O域_1,状态为输入输出,关联过程变量Tag_1;组态I/O域_2,状态为输出,关联过程变量Tag_2。
(4)分配VB脚本触发事件:右键I/O域_1→选择事件→选择输入完成→选择函数→选择我们创建的VBFunction_1这一脚本;(5)运行画面仿真,在I/O域_1中输入内容,比如“工控老张”,然后单击键盘上的Enter按键,查看I/O域_2的现象。
四:为什么能够读写变量
在西门子博途Wincc VB脚本中,HmiRuntime有很多的对象模型,而.Smarttags就是其中的一种方法,它的作用就是对变量进行读写!我们不需要知道它为什么能够实现读写,只需要知道怎样使用即可!实际上,还有很多其他的方法,以后我们将会详细说明!下附本文配套的博途Wincc V17的VB脚本代码!如下所示!需要的点击文末 左侧 阅读原文 获取!
Sub VBSmarttags()'提示:' 1. 使用 <CTRL+SPACE> 或 <CTRL+I> 快捷键打开含所有对象和函数的列表' 2. 使用 HMI Runtime 对象写入代码。' 示例:HmiRuntime.Screens("Screen_1")。' 3. 使用 <CTRL+J> 快捷键创建对象引用。'从此位置起写入代码:Dim wstrInput1,wstrInput2,wstrResultwstrInput1 = SmartTags("待读取变量1")'变量读取wstrInput2 = SmartTags("待读取变量2")'变量读取If wstrInput1<>"" And wstrInput2<>"" ThenwstrResult=wstrInput1 & wstrInput2ElsewstrResult="请在待读取数据处输入值"End IfSmartTags("结果显示")=wstrResult '变量写入End Sub

五:下一章预告下一章节,我们将会一起学习西门子博途Wincc VB脚本中如何使用20行VB代码实现触摸屏画面的互锁,防止操作工误操作!
PS:本章内容博途V17项目文件点击文章底部左侧阅读原文获取!每天晚上9点,我们不见不散!

夜雨聆风
