函数和动作的移植 (WinCC V7)

2021-07-09 浏览次数:100
函数和动作的移植 (WinCC V7)

简介

像 WinCC V7 一样,WinCC 也支持 ANSI-C 和 VBS。由于系统侧发生变化,移植函数和动作时需要考虑一些事项。下面介绍了移植的基本条件。

函数和动作的移植

移植函数和动作时请注意以下几点:

WinCC 中不再支持 VBA 脚本,因此 VBA 脚本不会被移植。

在 WinCC 中,某些函数已*新名称。移植期间不调整任何函数名称。由于旧名称仍可在脚本中仍然使用,因此脚本*调整即可正常运行。但是,自动完成功能和帮助不再支持旧名称。

VB 脚本的特性

在 WinCC V7 中,VB 脚本由包含一个或多个过程的模块构建而成。在 WinCC 中,每个脚本只能包含一个过程。移植时将拆分具有多个过程的模块并为每个过程创建一个新脚本。

WinCC V7 中的脚本可以包含多个全局变量的声明。全局变量在调用脚本时进行初始化,可用于脚本的所有过程。拆分脚本时,全局变量将移植到紧随变量声明的脚本。移植后,也必须确保先调用该**个脚本,以便初始化全局变量。全局变量只有在初始化后才能用于拆分的脚本。

WinCC 不支持 VB 类的声明。

在 WinCC 中,VB 脚本中的参数必须始终使用关键字“ByRef”或“ByVal”传送。在 WinCC V7 脚本中,没有规定使用关键字传送。在移植过程中,参数的传送将通过关键字“ByRef”补充。

检查函数所使用的标准更为严格,因此移植之后可能需要重新处理脚本和函数。例如,在 WinCC 中导致产生错误和警告的原因包括:

在函数中引用但并不存在的对象(例如面板的变量)。

VB 对象模型的使用不正确,例如 HmiRuntime.ActivateScreen.Item。

函数定义和调用中的参数数目不同。

VB 函数没有返回值。

在 VB 函数中设置另一个函数的返回值时。

在该函数中未定义 VB 函数中使用的变量。

C 语言函数的特性

在 WinCC V7 中,C 函数的名称区分大小写。在 WinCC 中,不允许使用仅仅是字母大小写不同的名称。在移植过程中函数名称的大小写字母保持不变。如果移植的项目包含仅通过大小写字母进行区分的函数名称,则在工程组态系统中其中的一个函数将被视为无效。编译期间将生成错误消息。

检查函数所使用的标准更为严格,因此移植之后可能需要重新处理脚本和函数。例如,在 WinCC 中导致产生错误和警告的原因包括:

在函数中引用但并不存在的对象(例如面板的变量)。

函数定义和调用中的参数数目不同。

在所用函数的外部定义与函数定义不匹配时。在这种情况下,可以删除外部定义或对其进行调整。

当定义中的函数或变量名称包含不允许使用的特殊字符时。

ODK 函数

WinCC V7 支持用于更改 CS 数据的 ODK 函数和用于更改运行系统数据的 ODK 函数。而在 WinCC 中,只有用于更改运行系统数据的 ODK 函数仍然受支持。用于更改 CS 数据的 ODK 函数不再受到支持。在移植后,调用这些 ODK 函数的函数和应用程序的效果可能不如预期。有关使用 ODK 函数的详细信息,请参见运行系统 API 在线帮助。


shtxjd.cn.b2b168.com/m/
top