使用Wincc中的VBS进行变量读写
Wincc6包含了VBS脚本编程,对于我等熟悉VB编程的可谓带来的福音,但是,由于西门子的C脚本编程功能实在太强大,加上要保持以前版本的一致性和用户编程习惯的延伸性,所以对于VBS脚本并没有太多的介绍。
这里我先来介绍一下Wincc中对于控件引用的一般性论述。Wincc对于控件引用一般都采取定义变量-》使用Set 变量=对象.(方法或属性)->引用变量来做的。
在变量读取或写入的过程中,我们要接触到一些属性和方法,例如,Read和Write方法,变量的V alue 属性,熟练掌握这些属性和方法相当重要。
下面解释一下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("变量名").Read
如果以上例程改成直接读取AS系统变量的话,程序为:
1  Dim objTag
Set objTag=HMIRunTime.Tags("变量名")
objTag.Read,1
2  HMIRunTime.Tags("变量名").Read,1
写变量的方法:
1  Dim objTag
Set objTag=HMIRunTime.Tags("变量名")
objTag.Write 1    '向变量写入数值1
'也可以写为  objTag.Write 10  向变量写入数值10
2  HMIRunTime.Tags("变量名").Write 1
'也可以写为  objTag.Write 10
vbs脚本怎么停止除了以上方法外,你也可以将一个中间变量的值写入:
Dim objTag,val
Set objTag=HMIRunTime.Tags("变量名")
objTag.Read
val=objTag.V alue  '中间变量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属性有什么影响
问题ID:80017
最佳答案
TO onlyone
1.Read与Write后面是否带有1的字面解释,你解释是对的。
2.直接读写AS和读写Wincc变量管理器的区别是前者是立即读写,后者是周期性读写。他们的区别在于,立即读写的操作可以在一个周期内多次更新一个变量,而周期性读写,在一个周期内只会更新一次变量。前者强调及时性,后者强调一个周期内的数据统一。
3.Read更新Value
我要评论
提问者对于答案的评价:
嗯,我我想的一样,谢谢啦
你觉得最佳答案好不好?
很好不好
50% (0)50% (0)
其他答案
直接从AS系统读取或写入就是直接从PLC等设备读取或写入,相当于PLC里立即读外设输入、立即写外设输出。
读取或写入由WINCC变量管理器建立的变量,这个只系统刷新时才更新变量,相当于PLC里的IO输入输出映像区操作。
而变量的Value就相当于IO映像区,执行Read方法会更新Value。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。