用VBC写下动作

做个按钮按鼠标左键OP-D有输出为1,按鼠标右键OP-D输出为0。请各位老师帮我解答下,谢谢。

问题补充:
我想问下HMITUNTIME是表示的画面吗?就是在实现左右键功能之前,我还想做个按钮,只有点击它解锁后。这样再点击左右键这OP—D的功能才生效。感觉是要先设置一个变量,用IF选择语句请老师指点下。谢谢!

最佳答案

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("变量名").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

除了以上方法外,你也可以将一个中间变量的值写入:
  Dim objTag,val
  Set objTag=HMIRunTime.Tags("变量名")
  objTag.Read
  val=objTag.Value  '中间变量val存放了变量的值
  objtag.Write val   '写入变量中去

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

补充回答:
引用:我想问下HMITUNTIME是表示的画面吗?就是在实现左右键功能之前,我还想做个按钮,只有点击它解锁后。这样再点击左右键这OP—D的功能才生效。感觉是要先设置一个变量,用IF选择语句请老师指点下。谢谢!
HMIRUNTIME从字面上翻译是人机界面运行时  的对象,在面向对象设计方法中,对象有好多的属性与方法,Wincc即然给了你这么一个对象了,你就可以用这个对象将它的对应的属性与方法。HMIRuntime.tags("变量")就是一个属性用来取到你定义的变量。然后你取到的这个变量其实又是一个对象,它还有它自已的方法。比如读啦,写啦之类的。
你想做的那个按钮,对应一个变量。点击按钮后改变变量的值,然扣在你的左右键对应的函数前加入一个IF语句判断可以吗?
济南鲁控自动化有限公司
15069126366
赵锐剑
QQ:123003020

提问者对于答案的评价:
Thanks

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午6:32
下一篇 2019年6月11日 上午6:33

相关推荐

  • 请问ODK哪个函数可以获得WinCC归档变量信息

    请问ODK哪个函数可以获得WinCC归档变量信息和归档中各个Tag的信息?谢谢! 问题补充:我在ODK的帮助文档里找到一个TLGReadArchiv,请问这个行吗,我试着写了写TL…

    SIMATIC WinCC 2019年6月11日
  • wincc flexbile与变量联系的连接不可用

    请问前辈们 wincc flexbile中 编译时 错误:与变量联系的连接不可用 在这个项目以前建了两个连接,后来我删除了一个连接…

    SIMATIC WinCC 2019年6月11日
  • HMI写给DB块数据

    用HMI给DB块写数据,HMI写一个就直接赋值给DB块了,我要写几个数据给DB块,能否用一个发送按键,按下后再将几个数据同时发送给DB块! 最佳答案 写个脚本吧,HMI把值先给内部…

    SIMATIC WinCC 2021年7月5日
  • WinCC数据归档如何正确的显示

    怎么更改设置让其显示长于一个星期的内容,最长保持两年的数据记录。 最佳答案 变量记录里面设置好归档时间就好;如图设置:1周或者100MB自动归档一个文件3年或者10GB为最大时间范…

    2021年7月5日
  • 回车脚本

    & vbCrLf &""& vbCrLf & 这个脚本是2次回车,为什么中间需…

    SIMATIC WinCC 2021年7月5日
  • 如何自己手动增加数据归档

    用户要做假数,非得要看很久以前的数据,可是那个时候根本还没开始归档,哪位高手能告诉我如何在数据库里做出wincc能够识别的数据 最佳答案 这个简单,WINCC归档的记录时间是存储的…

    SIMATIC WinCC 2019年6月11日
  • MP277 10 Touch 安装打印机 Epson LQ-300K+II

    请问如何将打印机驱动传至HMI中目前已做工作1.虚拟机WinXP SP3中有wincc flexible 2008 sp22.虚拟机中安装打…

    SIMATIC WinCC 2021年7月5日
  • 数据库查询语法请教

    #Report.sqlqueryEx(0,"select * from [ADO] where [时间] &g…

    SIMATIC WinCC 2021年7月5日
  • 如何才能采集到模拟量的变化

    请教高人WINCC画面要显示PLC中的模拟量的变化是不是应该在安装时必须安装变量模拟器否则画面中不能显示模拟量的变化。 最佳答案 变量模拟器与你所问的“如何才能采集到模拟量的变化”…

    SIMATIC WinCC 2019年6月11日
  • TP1500脚本使用

    请问大家,精智触摸屏TP1500如何在开始运行时运行一次脚本,脚本的内容是置位一些位。这样的脚本该怎么写? 最佳答案 1.变量的属性中有起始值2.在启动画面的“加载”事件中调用脚本…

    SIMATIC WinCC 2021年7月5日