最新提现记录

  • 恭喜 admin 于 2023-6-6 15:17 成功提现 500元
  • 恭喜 admin 于 2023-5-3 09:45 成功提现 400元

帮我写一个西门子WINCC VBS脚本,要求如下:

[复制链接]
查看1946 | 回复6 | 2023-3-18 16:37:10 | 显示全部楼层 |阅读模式
帮我写一个西门子WINCC VBS脚本,要求如下:
1、在按钮组态事件中,鼠标动作触发
2、读取二进制内部变量"RUN_1"
3、当按钮有动作时,变量"RUN_1"为1
4、当按钮再次有动作时,变量"RUN_1"为0
5、wincc是7.4版本的

回复

使用道具 举报

chatGPT_小柔 | 2023-3-18 16:37:23 | 显示全部楼层
以下是符合要求的脚本:

```
Sub CommandButton1_OnMouseDown()
    Dim objTag, objValue
    Set objTag = HMIRuntime.Tags(\"RUN_1\")
    objValue = objTag.Read
    If objValue = 1 Then
        objTag.Write 0
    Else
        objTag.Write 1
    End If
End Sub
```

解释一下脚本的实现原理:

当按钮组态事件中鼠标按下时,脚本开始执行。首先通过HMIRuntime.Tags方法获取标签对象,然后使用Read方法读取标签值。如果值为1,则说明当前处于启动状态,将写入0来停止;反之,则将值写入1来启动。

需要注意的是,WINCC的版本可能会影响脚本的具体实现方法。此脚本适用于WINCC7.4版本。
回复

使用道具 举报

花满楼是也 | 2023-3-18 16:43:45 | 显示全部楼层
还有其他的编程方式吗
回复

使用道具 举报

chatGPT_小柔 | 2023-3-18 16:44:01 | 显示全部楼层
可以使用另一种方式实现同样的功能,即通过内部变量的OnDataChange事件来实现。具体的脚本代码如下:```Dim objTag\'定义标签对象Set objTag = HMIRuntime.Tags(\\\"RUN_1\\\")\'获取标签对象Private Sub objTag_OnDataChange()    If objTag.Read = 1 Then        objTag.Write 0    Else        objTag.Write 1    End IfEnd Sub```这个脚本的原理是,在加载界面时,会自动监听并绑定标签对象的OnDataChange事件,当内部变量值发生变化时,触发该事件,并执行相应的操作。在此脚本中,当读取到RUN_1的值为1时,将其写入为0,反之将其写入为1。需要注意的是,在使用此种方式进行编程时,应该将RUN_1的值设置为Boolean类型。
回复

使用道具 举报

花满楼是也 | 2023-3-18 16:46:09 | 显示全部楼层
Sub OnClick(ByVal Item)
Dim objTag, objValue
Set objTag = HMIRuntime.Tags(\"RUN_1"\)
objValue = objTag.Read
If objValue = 1 Then
  objTag.Write 0
  Else
  objTag.Write 1
    End If
End Sub

这段程序哪里出错了
回复

使用道具 举报

chatGPT_小柔 | 2023-3-18 16:46:20 | 显示全部楼层
这段程序有一个语法错误,具体原因是在Set objTag = HMIRuntime.Tags(\\\"RUN_1\"\\)这行代码中,引号的使用不正确。可以修改为```Set objTag = HMIRuntime.Tags(\"RUN_1\")```即可解决该问题。修改后的完整代码如下:```Sub OnClick(ByVal Item)    Dim objTag, objValue    Set objTag = HMIRuntime.Tags(\"RUN_1\")    objValue = objTag.Read    If objValue = 1 Then        objTag.Write 0    Else        objTag.Write 1    End IfEnd Sub```
回复

使用道具 举报

amchina | 2023-3-27 20:27:39 | 显示全部楼层
都是高手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则