用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日
下一篇 2019年6月11日

相关推荐

  • wincc打不开项目怎么办?急

    我的WINCC在打开项目是提示:0X80004005:未知的指定错误,是怎么回事啊?紧急求助! 最佳答案 下面链接的文件列出了HResult Error和可能的原因,以及…

    SIMATIC WinCC 2019年6月11日
  • 关于 wincc audit v7.3的使用问题

    我现在有个项目需要用到audit,由于以前没有用过wincc的上位机,画面在磕磕碰碰中做完了,现在需要做审计追踪,但是不知道怎么用,我在网上看到需要用到os项目管理器、audit、…

    SIMATIC WinCC 2017年5月31日
  • WinCC中如何使用I/O Field控件能输入负数?

    我使用WinCC中I/OField控件对象,发现它不能输入负数,不知是何原因,请各位高手给予指教!致谢! 最佳答案 数据格式选择带符号位的数据类型即可。 提问者对于答案的评价:我照…

    SIMATIC WinCC 2019年6月11日
  • wincc项目打开时提示exptext.dll等无法加载

    wincc项目打开时提示:exptext.dll无法加载expdist.dll无法加载exppass.dll无法加载expxref.dll无法加载TTEditExp.dll无法加载…

    2017年6月24日
  • 整点归档问题请教

    想让归档整点进行:设置归档类型为周期,采集周期为1分钟,归档周期为60*1分钟,1分钟定时器的循环起始点设为0分0钞,结果归档不在整点进行而XX:07.14,请问这是什么原因?查看…

    SIMATIC WinCC 2019年6月11日
  • 关于WINCC故障问题

    WINCC项目启动的时候报: HResult Error 0X80046206:(null) 系统找不到指定的文件 重新恢复以前的…

    SIMATIC WinCC 2019年6月11日
  • wincc开机运行

    我想让wincc在电脑启动后自动运行,怎么设置? 最佳答案 开始—simatic—-wincc—–autostart找到自己要运行的wincc项目就ok了 提问者对于…

    SIMATIC WinCC 2019年6月11日
  • WICC兼容性问题

    请问一下原来在WICC5.0底下做的组态为什么在WICC6.0底下无法打开啊? 最佳答案 要先进行项目移植才可以 提问者对于答案的评价:谢谢解答

    SIMATIC WinCC 2019年6月11日
  • 关于wincc过程归档周期设置等问题..大哥们快来给个见解吧

    首先说明一下情况,从plc中采集到的变量有日产,周产,月产,年产。我想首先对他们实时监控,每秒都显示一次。(可以监控哪里停滞了,方便排查故障)还想实现查询功能,比方说查1号到5号得…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.2 安装

    在XP SP3 32位系统里和WIN7 SP1 32位系统里安装WINCC7.2安装包出现以下图片的错误,两个系统都出现同样的错误,不知道是…

    2017年11月1日