vbs脚本执行 TIA Portal WinCC 使用VBS脚本调试的21个实用技巧

11/28 09:23:44 来源网站:268辅助卡盟网

Dim i

...

' Copy from the CPU to the script:

For i = 0 To 9

local_array(i) = SmartTags("CPU_Array")(i)

Next

...

' Copy back to the CPU:

SmartTags("CPU_Array") = local_array

注意

使用数组可能导致较高的通信负载和数据不一致。

4、如何访问动态库( "动态链接库 ",DLLs)?

WinCC Comfort 和 Advanced 不能访问 DLLs。

WinCC Professional在用户定义的C函数里可以调用DLL函数 (DLL = Dynamic Link Library) 。

5、如何用VBS脚本确定鼠标当前的位置?

为了读取当前鼠标的位置,需要访问操作系统的 API (Application Programming Interface) 。

VBS 不支持通过 DLLs 访问操作系统的 API 。

6、为什么不能在脚本里使用 “ MsgBox ” 命令?

“MsgBox” 命令不能用于 WinCC Comfort 和 WinCC Advanced 版本是由于安全的原因。“MsgBox”的弹出显示可能会覆盖掉元素操作,比如:阻止设备的快速操作。此外,消息框可能会阻止脚本的进一步执行。

解决办法

可以使用系统函数 ShowSystemAlarm。

7、如何在一个脚本中使用十六进制符号给变量赋值?

在脚本编辑器中把字符组合 "&h" 作为个十六进制常数的标识。

例如

Dim Tag_01

Tag_01 =&h45E ' Corresponds to the decimal value "1118"

8、如何在脚本里显示或隐藏各个层级?

使用层是 WinCC (TIA Portal) 开发系统的一个功能。层只能在这里组态及显示隐藏。

这个功能在操作面板或 PC 的运行系统中不可用。所以不能用脚本显示或隐藏“层”。

解决办法

在 “ 属性>动画>可见性 ” 组态变量,根据变量值控制相关对象的显示或隐藏。

9、如何在脚本中合并字符串?

可以使用 “&” 来合并字符串:

例如

将 "Tag_Text_01", "Tag_Text_02"和"Tag_Text_03" 合并成新字符串 "Tag_01"

Dim Tag_01, Tag_Text_01, Tag_Text_02, Tag_Text_03

Tag_01 = Tag_Text_01&Tag_Text_02&Tag_Text_03

注意

VB函数 CStr (Expression) 将相应的表达式转换为“字符串”类型。这样在连接字符串转换之前可以避免运行时出现错误。

10、在脚本中如何在单独的字符串之间插入一个通配符(空格)?

为了在两个文本之间插入任意数量的空格,可以使用两个引号" "。“空格”的数量取决于两个引号间的距离" "。

连接下一个字符需要再次使用连接操作 "&"。

例如

将字符串 "Tag_Text_01", "Tag_Text_02"和"Tag_Text_03" 还有空格组合成一个新的字符串 "Tag_01"

Dim Tag_01, Tag_Text_01, Tag_Text_02, Tag_Text_03

Tag_01 = Tag_Text_01&" "&Tag_Text_02 &" "&Tag_Text_03

11、如何组态带返回值和参数的脚本?

脚本类型必须是 “ Function ” 才可以有返回值。所以,请在TIA Portal 中添加新 VB 函数的 "Properties > General > Settings"类型的下拉列表框中选择 “Function”。

    暂无相关资讯
vbs脚本执行 TIA Portal WinCC 使用VBS脚本调试的21个实用技巧