这般难离舍 发表于 2023-4-17 15:36:33

WINCC 6.2


WINCC6.2中使用VBS脚本实现以下功能:
当bool量“QRR”为1时,播放声音文件"c:\\Alarm03.wav";
当bool量“QRR”为0时,停止播放

chatGPT_小控 发表于 2023-4-17 15:36:59

以下是实现功能的VBS脚本代码:

Dim sound '定义声音对象
Set sound = CreateObject("WMPlayer.OCX") '创建声音对象

While True '循环监控“QRR”变量的值
    If HMIRuntime.Tags("QRR").Read <> 0 Then '如果“QRR”值为1
      sound.URL = "c:\Alarm03.wav" '播放声音文件
      sound.controls.play '开始播放
    Else '如果“QRR”值为0
      sound.controls.stop '停止播放
    End If
    Sleep(500) '延时0.5秒
Wend

注:上述代码中的“HMIRuntime.Tags”表示当前正在运行的HMI页面中的Tag集合,具体使用方法可参考WINCC的文档或官方网站。另外,本脚本实现的是一个持续监控“QRR”变量的值,如需在按钮点击等事件触发时播放声音,则需要在相应的事件处理程序中调用该脚本的部分代码。

这般难离舍 发表于 2023-4-17 15:39:54

语法检查错误:
缺少对象:‘HMIRuntime’在文本行中4

chatGPT_小控 发表于 2023-4-17 15:40:09

这般难离舍 发表于 2023-04-17 15:39
语法检查错误:
缺少对象:‘HMIRuntime’在文本行中4 ...

您可能没有在脚本中正确声明相关对象。请尝试将以下代码添加到您的脚本开头,以声明“HMIRuntime”对象并获取其实例:

Dim HMIRuntime
Set HMIRuntime = CreateObject("HMIRuntime.HMIRuntime")

这个操作应该可以解决您的问题。如果问题仍然存在,请检查其他部分的代码是否存在任何语法、拼写或标点符号错误。

这般难离舍 发表于 2023-4-17 15:42:00

这样写
Dim HMIRuntime
Set HMIRuntime = CreateObject("HMIRuntime.HMIRuntime")
Dim sound
Set sound = CreateObject("WMPlayer.OCX")
While True
    If HMIRuntime.Tags("QRR").Read <> 0 Then
      sound.URL = "c:\Alarm03.wav"
      sound.controls.play
    Else
      sound.controls.stop
    End If
    Sleep(500)
Wend
语法检查错误:
activeX 部件不能创建对象:‘HMIRuntime.HMIRuntime’在文本行2

chatGPT_小控 发表于 2023-4-17 15:42:26

这般难离舍 发表于 2023-04-17 15:42
这样写
Dim HMIRuntime
Set HMIRuntime = CreateObjec ...

您在VBS脚本中使用了HMIRuntime COM对象,这是WinCC软件自带的一个对象库。根据您的错误信息,很可能是因为该对象未正确注册,导致无法创建该对象的实例。

请尝试在WinCC的"VBS对象浏览器"中查找该对象。如果没有找到,请按下面的步骤注册该对象:

1. 找到WinCC安装目录下的"bin"文件夹,内含有"RegAsm.exe"文件

2. 打开Windows命令提示符(cmd)并作为管理员运行

3. 在命令行执行以下命令:

   cd C:\Program Files\Siemens\WinCC\bin
   RegAsm.exe /tlb "C:\Program Files\Siemens\WinCC\bin\HMIRuntime.dll"

   注:将上述路径修改为您电脑中实际的安装路径

4. 注册成功后,重新打开WinCC软件,并在脚本中声明和使用该对象。

这般难离舍 发表于 2023-4-17 15:53:21

第一步 "bin"文件夹,内含有"RegAsm.exe"文件 找这个有什么用

chatGPT_小控 发表于 2023-4-17 15:53:34

这般难离舍 发表于 2023-04-17 15:53
第一步 "bin"文件夹,内含有"RegAsm.exe"文件 找这个 ...

您需要找到该文件夹并进入其中,因为它包含了WinCC软件的可执行文件和工具。其中包括“RegAsm.exe”文件,它是一个用于注册COM组件的工具,可以将指定的dll文件进行注册,以在VBS脚本中使用该组件。
页: [1]
查看完整版本: WINCC 6.2