使用Wincc中的VBS进行变量读写 下载本文

内容发布更新时间 : 2024/6/3 22:33:14星期一 下面是文章的全部内容请认真阅读。

使用Wincc中的VBS进行变量读写

Wincc6包含了VBS脚本编程,对于我等熟悉VB编程的可谓带来的福音,但是,由于西门子的C脚本编程功能实在太强大,加上要保持以前版本的一致性和用户编程习惯的延伸性,所以对于VBS脚本并没有太多的介绍。

这里我先来介绍一下Wincc中对于控件引用的一般性论述。Wincc对于控件引用一般都采取定义变量-》使用Set 变量 =对象.(方法或属性)->引用变量来做的。

在变量读取或写入的过程中,我们要接触到一些属性和方法,例如,Read和Write方法,变量的Value属性,熟练掌握这些属性和方法相当重要。 下面解释一下Write和Read方法的语法:

Read data 其中data是读取变量的方法,如果data=1,直接从AS系统读取,相当于C脚本中的Get*****wait()函数,如果省略,则从Wincc变量管理器中建立的变量中读取。

Write data,1 其中data是需要写入变量的数值,1代表直接写入AS系统,相当于C脚本中的Set*****wait()函数,1省略,则写入到由Wincc变量管理器建立的变量中去。 实例:

读取变量的方法: 1 Dim objTag

Set objTag=HMIRunTime.Tags(\变量名\ objTag.Read

2 HMIRunTime.Tags(\变量名\

如果以上例程改成直接读取AS系统变量的话,程序为: 1 Dim objTag

Set objTag=HMIRunTime.Tags(\变量名\ objTag.Read,1

2 HMIRunTime.Tags(\变量名\写变量的方法: 1 Dim objTag

Set objTag=HMIRunTime.Tags(\变量名\ objTag.Write 1 '向变量写入数值1

'也可以写为 objTag.Write 10 向变量写入数值10 2 HMIRunTime.Tags(\变量名\ '也可以写为 objTag.Write 10

除了以上方法外,你也可以将一个中间变量的值写入: Dim objTag,val

Set objTag=HMIRunTime.Tags(\变量名\ objTag.Read

val=objTag.Value '中间变量val存放了变量的值 objtag.Write val '写入变量中去

当然,其余的方法还有很多,这些都需要自己在编程过程中总结和灵活运用

WINCC中VBS的read和write??

Read data 其中data是读取变量的方法,如果data=1,直接从AS系统读取,如果省略,则从Wincc变量管理器中建立的变量中读取。

Write data,1 其中data是需要写入变量的数值,1代表直接写入AS系统,1省略,则写入到由Wincc变量管理器建立的变量中去。

请问:直接从AS系统读取或写入与读取或写入由WINCC变量管理器建立的变量有什么不同??? READ对变量的VALUE属性有什么影响????

悬赏分:5 | 解决时间:2012-04-05 08:50:11 | 提问者:onlyone - 新生 第1级 问题ID:80017 最佳答案 TO onlyone

1.Read与Write后面是否带有1的字面解释,你解释是对的。

2.直接读写AS和读写Wincc变量管理器的区别是前者是立即读写,后者是周期性读写。他们的区别在于,立即读写的操作可以在一个周期内多次更新一个变量,而周期性读写,在一个周期内只会更新一次变量。前者强调及时性,后者强调一个周期内的数据统一。 3.Read更新Value

回答者: Ken(小释) - 初级技术员 第5级 2012-04-03 18:41:13 我要评论

提问者对于答案的评价: 嗯,我我想的一样,谢谢啦 你觉得最佳答案好不好? 很好不好 50% (0)50% (0) 其他答案

直接从AS系统读取或写入就是直接从PLC等设备读取或写入,相当于PLC里立即读外设输入、立即写外设输出。

读取或写入由WINCC变量管理器建立的变量,这个只系统刷新时才更新变量,相当于PLC里的IO输入输出映像区操作。

而变量的Value就相当于IO映像区,执行Read方法会更新Value。