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_Enforcement |
此参数的数据类型为枚举,并具有以下值选项: 0 = Optional 1 = Mandatory 2 = PredefinedOnly |
|
Predefined_Comment_List |
可用于预定义注释的字符串数组。 数据类型为字符串。最多允许 20 个注释,每个注释最多不超过 200 个字符。
|
返回值
返回值表示成功或失败状态。非零值表示失败类型。
|
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 是包含字符串数组的属性。