按如下步骤执行,以通过 DLL 调用函数:
(1)打开要调用 DLL 函数的用户自定义 C 函数。
(2)在用户自定义 C 函数的开始位置添加以下代码:
#pragma code(" //声明在 DLL 中存储的函数: (...); (...); ... (...); #pragma code |
结果
<名称.dll> 中的函数 <函数名称 1=""> ... <函数名称 n="">被声明。可在用户自定义C 函数中调用这些函数。
示例:
以下示例显示如何集成“kernel32.dll”文件和调用“GetLocalTime”函数:
#pragma code("kernel32.dll") VOID GetLocalTime(LPSYSTEMTIME lpSystemTime); #pragma code()
SYSTEMTIME st;
GetLocalTime(&st); |
(5)如何用VBS脚本确定鼠标当前的位置?
为了读取当前鼠标的位置,需要访问操作系统的 API (Application Programming Interface)。VBS 不支持通过 DLLs 访问操作系统的 API 。
(6)为什么不能在脚本里使用 “ MsgBox ” 命令?
“MsgBox” 命令不能用于 WinCC Comfort 和 WinCC Advanced版本是由于安全的原因。 “MsgBox”的弹出显示可能会覆盖掉元素操作,比如:阻止设备的快速操作。此外,消息框可能会阻止脚本的进一步执行。
解决办法可以使用系统函数 ShowSystemAlarm。
如何在一个脚本中使用十六进制符号给变量赋值?
在脚本编辑器中把字符组合 "&h"作为个十六进制常数的标识。
例如
Dim Tag_01
Tag_01 = &h45E ' Corresponds to the decimal value "1118"
(7)如何在脚本里显示或隐藏各个层级?
使用层是 WinCC (TIA Portal) 开发系统的一个功能。层只能在这里组态及显示隐藏。
这个功能在操作面板或 PC 的运行系统中不可用。所以不能用脚本显示或隐藏“层”。
解决办法
在 “ 属性>动画>可见性 ” 组态变量,根据变量值控制相关对象的显示或隐藏。