Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

SignedWrite()

  • Last UpdatedApr 24, 2026
  • 2 minute read

执行写入到 AutomationObject 属性,其安全性分类为“安全写入”或“验证写入”。

注意:目前仅 InTouch HMI 应用程序支持 SignedWrite()。

类别

杂项

语法

int SignedWrite(string Attribute,

object Value,

string ReasonDescription,

Bool Comment_Is_Editable,

Enum Comment_Enforcement,

string[] Predefined_Comment_List

);

方括号 [ ] 表示数组。

参数

属性

这是要更新的属性的名称,也是字符串数据类型。

可以是常量字符串、引用或表达式。

支持绑定和嵌入绑定引用。

如需有关 Attribute 参数使用示例的详细信息,请参阅《创建与管理工业图形用户指南》中“管理图形”下的在 SignedWrite() 函数中使用属性参数的示例主题。

示例 1:

"UserDefined_001.temp"

示例 2:

"Pump15" + ".valve4"

示例 3:

如果 UDO_7 包含两个字符串属性,而 namestrA 和 namestrB 分别设置为值“Tank1”和“Tank5”,则下面的脚本会根据 strselect是“A”还是“B”来写入到 Tank1.Level 或 Tank5.Level:

Dim strselect As String;

Dim x As Indirect;

{ logic to set strselect to "A" or "B" }

x.BindTo ("UDO_7.namestr" + strselect);

SignedWrite(x + ".Level", 243, "Set " + x + " Level", true, 0, null);

这是要写入的值。数据类型为对象。值的有效范围必须与要更新的属性的数据类型相匹配。

值可以是常量值、引用、表达式,如果未输入任何内容,则为 NULL。

ReasonDescription

此为文本,说明了目标属性的用途以及更改该属性所带来的影响。

数据类型为字符串,最大长度为 256 个字符。可以是常量字符串、引用或表达式。

作为写入操作的一部分,将 ReasonDescription 传递到指明的属性。该对象还包含用户的写入注释(如果有的话)。如果该属性是字段属性并且有描述(不为空),则字段属性描述仅用于 ReasonDescription 参数。否则,会将相应 ApplicationObject 的简短描述用于 ReasonDescription 参数。

Comment_is _Editable

此参数指示用户能否编辑写入注释。

数据类型为布尔值。

如果设置为 True:发生异常时会启用注释文本框。

  • 如果 Comment_Is_Editable 为 true 并且 Comment_ Enforcement 参数为 PredefinedOnly,则会禁用注释文本框。在运行时,用户只能从预定义的注释列表中选择注释。

  • 如果 Comment_ Enforcement 参数不是 PredefinedOnly,则会启用注释列表和框。可以从注释列表中选择注释,并在注释框中修改注释。

  • 如果预定义列表为空,则对话框中不会显示注释列表。

    如果设置为 False:预定义的注释列表不会显示在“安全写入”或“验证写入”对话框中。禁用可编辑的注释文本框。

Comment_Enforcement

此参数的数据类型为枚举,并具有以下值选项:

0 = Optional
运行时用户可以输入注释或留空。

1 = Mandatory
运行时用户必须添加注释,方式可以是从注释列表中选择或者在注释框中输入注释。

2 = PredefinedOnly
运行时用户只能从注释列表中选择注释。禁用注释文本框。

Predefined_Comment_List

可用于预定义注释的字符串数组。

数据类型为字符串。最多允许 20 个注释,每个注释最多不超过 200 个字符。

  • 数组可为空(元素数为 0)。

  • 可以是常量、引用、表达式,如果为空,则为 NULL。可以引用包含字符串数组的属性。

  • 如果未输入任何预定义的注释,则会在运行时禁用预定义注释列表。

  • 如果 Comment_Is_Editable 为 False,则预定义的注释仍在可编辑注释文本框中,但用户无法在运行时对其进行修改。

返回值

返回值表示成功或失败状态。非零值表示失败类型。

0

如果满足下列所有条件,则函数返回值 0(表示成功):

  • 函数参数有效。

  • 写入操作成功放入“安全写入”和“验证写入”队列中。

  • 如果用户取消该操作,则会在记录器中写入一条消息,表明用户取消。

1

函数失败,因为指定的其它返回值未涵盖的任意错误。其中包含指定的其它返回值未涵盖的任意错误。如果有故障,则会在记录器中记录特定消息。

2

在运行时,一个或多个参数未强制转换为正确的数据类型。

示例:参数为引用,其预期数据类型为布尔型。在运行时,引用指向字符串型数据类型,无法强制转换为 True 或 False。该函数会返回此值,并在记录器中写入消息。

3

在运行时,属性参数无效。

  • 属性字符串为空,或不包含属性引用。

  • 属性字符串包含一项,但不是有效的属性引用。

  • 属性字符串包含一个不存在的属性引用。

  • 属性字符串包含一个属性引用,但不属于“安全写入”或“验证写入”安全分类。

    该函数会在记录器中写入消息,标识错误以及无效的属性字符串。

4

Comment_Enforcement 参数值超出有效枚举范围。

附注

仅客户端脚本编写支持 SignedWrite() 函数,对象脚本编写不支持此函数。

返回值为 0 不表示属性是否已更新,仅标识函数已在要写入到该属性的队列中放入了一个条目。在显示“安全写入”或“验证写入”对话框之后,运算符可能会决定取消操作。在这种情况下,属性不会更新,并在记录器中放入消息,表明用户已取消操作。即使用户输入了有效的凭证并选择确定,该属性仍可能未更新,因为权限不足或数据强制转换问题。

SignedWrite() 函数支持自定义属性作为第一个参数传递,需使用开放或关闭的引号 ""。

如果按如下脚本所示配置自定义属性 CP,则该函数会尝试解析 CP,确定其是否有引用。如果有引用,则会检索该引用,并在引用上执行写入。

SignedWrite("CP", value, reason, editable, enforcement, null);

如需有关使用 SignedWrite() 函数的详细信息,请参阅《创建与管理工业图形用户指南》中“管理图形”下的对安全写入和验证写入使用 SignedWrite() 函数主题。

示例

SignedWrite ("UserDefined_001.temp", 185, "This will change the oven temperature", true, 1, null);

以下示例为用户显示预定义注释的数组:

Dim n as Integer;

n = SignedWrite("UserDefined_001.temp", 185, "This will change the oven temperature", true, 1, UserDefined_001.OvenCommentArray[ ]);

其中,UserDefined_001.OvenCommentArray 是包含字符串数组的属性。

In This Topic
Related Links