WINCC的VBS的按钮代码分析

一个新手编的2个按钮代码: 第一个按钮按下去后出现小画面,再按第二个按钮,给B赋1;松开0;
 第一个按钮:
 Dim  motor_command_req
 Set  motor_command_req=HMIRuntime.Tags("motor_command_req_1")
 motor_command_req.Write  "B"
 
 第二个按钮按下去:
 Sub OnLButtonDown(Byval Item, Byval Flags, Byval x, Byval y)           
 
 Dim   motor_command_req_1
 Set    motor_command_req_1=HMIRuntime.Tags("motor_command_req_1")
 
 Dim motor_1            
 Set motor_1=HMIRuntime.Tags(motor_command_req_1.read) 
 motor_1.Write 1
 End Sub
 
 第二个按钮松开:
 Sub OnLButtonUp(Byval Item, Byval Flags, Byval x, Byval y)           
 
 Dim    motor_command_req_1
 Set     motor_command_req_1=HMIRuntime.Tags("motor_command_req_1")
 
 Dim motor            
 Set motor=HMIRuntime.Tags(motor_command_req_1.read) 
 motor.Write 0
 End Sub
 其中motor_command_req_1 为WINCC内部变量;B是写给PLC的变量;
 按下第一个按钮后,再按第二个按钮实现给PLC变量B赋值1;松开B赋值0;
 请大侠分析下:
 1.第一个按钮的代码起什么作用??最终的目的是给PLC 的B变量写值,为什么把B写给motor_command_req_1???? 在我看来应该是
 SET    motor_command_req_1=HMIRuntime.Tags("B")
 motor_command_req_1.Write  " motor_command_req_1"
 2. Dim    motor_command_req_1
 Set     motor_command_req_1=HMIRuntime.Tags("motor_command_req_1")
 这2行起啥作用??
 Dim motor            
 Set motor=HMIRuntime.Tags(motor_command_req_1.read) 
 motor.Write 0
 这3行起啥作用???

最佳答案

1、实际按钮1的代码等同于:
HMIRuntime.Tags("motor_command_req_1").write "B"
2、这是定义一个脚本内的变量连接到motor_command_req_1
3、这个脚本是有问题的,应该是直接用
Dim motor            
 Set motor=HMIRuntime.Tags("motor_command_req_1")
 motor.Write 0
这个是给变量motor_command_req_1赋值0
如果你怀疑我的分析你可以原来的这些代码赋值到项目中运行一下看看。

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:14
下一篇 2019年6月10日 下午8:14

相关推荐

  • 请教报表制作

    现在突然来个工程,含报表,简单的我用WINCC自带的就制作完成即可,但是这次的报表是EXCEL的,而且是在同一个excel文件中包含好几张报表的范本,每张报表包含人工填写和程序抓取…

    2019年6月11日
  • WINCC 6.0 与其它PLC怎么通信

    我现在有个工程上位机是WINCC6.0,下位机以前用的是S—200的PLC,现在想换个台达的PLC。但WINCC的狗也不能丢了不要,请问怎么叫他们通信上???? 最佳答案 看台达的…

    SIMATIC WinCC 2019年6月11日
  • wincc移植

    有谁能帮我把WINCC5.1的程序移植到6.2上,如可以的话,请回我QQ154468061,我传下程序 最佳答案 WinCC V5.1的数据库Sybase7,WinCC&…

    SIMATIC WinCC 2019年6月11日
  • WINCC选择开关疑问

    本人第1次使用WINCC软件来做开关,目的是选择一个功能使用使用,连接的变量要传到PLC中,但按照原有的开关来做,发现不能使用,鼠标点击没有反应,请问是什么原因?1、在变量表上添加…

    2021年7月5日
  • wincc 怎么实现按下一个按钮后弹出两个按钮

    wincc 怎么实现按下一个按钮后弹出两个按钮, 最佳答案 使用可见性先定义一个bool变量A,第一个按钮,属性-事件-单击,系统函数选择置位位,关键这个变量A然后再定义…

    SIMATIC WinCC 2021年7月5日
  • WINCC如何打开一个外部程序

    如题 最佳答案 可以通过 动态向导里面的 启动其它应用程序 来实现 提问者对于答案的评价:

    SIMATIC WinCC 2020年11月1日
  • wincc 报警记录打印格式

    我点报警控件上打印按钮,发现打印出来的标题都是wincc的标志  我想自己定制,请问有什么办法?谢谢 最佳答案 我觉得直接更改系统自带的报警布局(@Alarm&…

    SIMATIC WinCC 2019年6月11日
  • WINCC 通过ODBC 读 ACCESS的数据到TAG3 里面 怎么实现

    WINCC 通过ODBC写数据到ACCESS 解决了   现在读数据的问题又来了  VB基本没学过 …

    SIMATIC WinCC 2019年6月11日
  • wincc opc远程通讯

    现有有一台设备的工控机安装有wincc,通过opc远程连接霍尼韦尔opc软件,程序运行正常。由于现场需要,将wincc6.0升降为wincc7.0并更换电脑,wincc怎么也访问不…

    SIMATIC WinCC 2020年11月1日
  • 博图V13中HMI变量与PLC变量同步

    在PLC变量中包括I.Q.M和DB,都选择在HMI可见和HMI访问,可是在HMI变量表中点击“与PLC变量进行同步”按钮却不好用,请问如何正确操作 问题补充:图片 图片说明: &n…

    2017年6月1日