脚本中的变量

在脚本使用变量

您可以使用变量执行所需操作。

注:

  • OR/AND/XOR/NOT总是返回 32 位无符整型值。
  • 当输入值为负时,位移位表达式返回 32 位整型值。
  • 当输入值为正数时,位移位表达式返回 32 位无符整型值。

在脚本中使用外部变量

在脚本中使用外部变量时,分配给外接设备的设备地址值可能在脚本处理期间发生变化。

在分配操作中使用设备地址可能会导致写入延迟,因为人机界面必须从所连设备中读取地址数据。

注: 在脚本中使用单个触发器多次更改外部变量值时,外部变量值不会立即更新。

要在触发的脚本中使用更新后的外部变量值,请将该值存储到内部变量并在脚本中使用它。或者在使用外部变量值之前用不同的触发器更新外部变量的值。

(示例)

添加以下变量。

[名称] [数据类型] [源] [寄存器地址] [字节数/字数]

Var1

[INT]

Schneider Modbus 系列设备 400020 -

Var2

[INT]

400021 -

Var3

[INT]

400022 -

在画面上绘制以下对象。

开关对象 (名称: Switch1)

无特殊配置。

脚本

图例

1

[触发条件] [触摸] [触摸]

2

[操作] ➞ [值更改] ➞ [值更改]

3

[值] [画面对象]

4

[逻辑] [数学]

5

[值] [变量]

6

[值] [常量]

当按下 Switch1 时,Var1+1 的值被分配给 Var2。但是,由于与设备的通信耗时,Var2 的值没有分配给 Var3。

此时,如下面示例所示,可以对脚本进行编程,使 Var1 的结果先存储到内部变量 Var4,然后再执行它。

添加以下变量。

[名称] [数据类型] [源] [寄存器地址] [字节数/字数]

Var1

[INT]

Schneider Modbus 系列设备 400020 -

Var2

[INT]

400021 -

Var3

[INT]

400022 -

Var4

[INT]

[Internal]

- -

脚本