跳到主要内容

内存计算

打开“开发配置 → 内存计算”。这里的变量保存在网关内部,不需要连接 PLC,可用于人工设置值、计算结果或规则中间状态。

新增一个可手动写入的变量

  1. 点击“新增变量”,名称填 ManualValue,所属设备保持“内存设备”,不需要另外新增设备。
  2. 数据类型保持 Object,初始值填 0,保持“使能”开启。内存变量在这里使用 Object,不用另选 Double
  3. 读写权限选择允许读写,读表达式和写表达式先留空。
  4. 点击“确定”,回到列表找到 ManualValue
  5. 点击这一行的“写入”,在“写入值”填 12.5,再点击弹窗中的“写入”。输入数字时不要加引号。
  6. 刷新列表,当前值应为 12.5

ManualValue 写入后当前值为 12.5,数据类型为 Object

写入窗口会自动识别数字、true / false 和 JSON 对象或数组。表格的“运行时数据类型”表示实际保存的值类型,例如本例写入后显示 Decimal,不是新增表单里需要另选的配置。

这里写的是内部变量。但如果该变量已被规则引用,写入仍可能触发下游动作。练习时使用新变量,不使用生产规则正在监听的变量。

根据已有变量计算

需要计算结果自动变化时,给内存变量选择“内存变量”类型的读表达式。不要选择采集变量使用的“数据转换”类型。

  1. 先确认参与计算的源变量已经存在并正常更新。
  2. 脚本管理,新增“内存变量”类型的脚本,按内存变量示例编译并保存。
  3. 返回内存计算,新增或编辑结果变量,在“读表达式”中选择这个脚本。
  4. 填写脚本所需输入参数。要固定周期计算,触发方式选择定时,执行间隔先填 1000 毫秒。
  5. 保存后等待一个周期,检查“当前值”“采集时间”和“错误信息”。

读表达式为空时不会自动计算。一个变量尽量只由一种方式更新,避免人工写入后立即被计算脚本覆盖。

新增和编辑变量

点击列表行的“编辑”修改。弹窗中的“保存”会保存并留在弹窗内,“确定”会保存并关闭。

配置项怎么设置
变量名称同一设备内唯一,被脚本或规则引用后不要随意改名
数据类型、初始值数据类型保持 Object;初始值按实际内容填写,例如数字 0、布尔值 false
单位按需填写,例如 kPa
读写权限人工写入或规则写入时必须允许写
读表达式自动计算这个变量的脚本;人工赋值可留空
写表达式写入时需要校验或转换才配置
触发方式、执行间隔决定计算何时执行;定时计算的间隔单位为毫秒
报警配置、值过滤按需配置,与普通采集变量的用法相同

设备和通道状态变量

新增或编辑采集设备、通道后,系统会在 Memory 设备下自动生成对应的只读系统变量。系统会定期读取当前状态并更新变量,通常约每秒刷新一次。用户不需要手工创建或修改这些变量。

对象变量名称数据类型可能的值说明
采集设备<DeviceName>_DSString(字符串)DefaultOnLineOffLinePause表示设备当前状态。
通道<ChannelName>_TSBoolean(布尔)true(在线)、false(离线)表示通道在线状态。

变量名称中的设备名称和通道名称来自对应资源,不需要手工填写。实际名称、描述和当前值可在内存变量列表中查看。

操作步骤

  1. 登录 GatewayRuntime Web,进入“开发配置 → 内存计算”。
  2. 在左侧选择“系统内存变量”,清除搜索条件,点击“刷新”。
  3. 在变量列表中查找以 _DS_TS 结尾的变量,查看“描述”和“当前值”。
  4. 设备或通道状态发生变化后,等待约一个刷新周期,再查看“当前值”。

设备状态变量和通道在线变量都不能手工写入、编辑或删除。需要在规则、脚本或数据转发中使用时,直接选择对应的变量名称即可。

两种状态的区别

查看项表示
设备状态采集设备自身的运行状态,可能为初始化、在线、离线或暂停。
通道在线状态通讯通道是否在线。同一通道被多个设备共用时,该变量仍只对应这一条通道。

设备名称或通道名称修改后,对应变量名称会同步改为新的名称和后缀,变量描述也会同步更新。删除设备或通道后,对应的状态变量会自动消失。

通道类型提示

不需要普通通讯连接的通道,其在线状态可能显示为 true。这表示该通道不需要外部连接,不代表某个采集设备已经在线。

批量修改与备份

少量相似变量可使用行内“复制”。批量修改时先勾选变量,再选择“批量编辑”,只修改本次需要调整的字段。

Excel 操作:

  1. 先导出一份现有内存变量,保留原文件作备份。
  2. 在副本中保留工作表和列名,新增变量时使用不重复的名称;不要修改系统自动生成的状态变量。
  3. 点击“导入变量”选择文件,等待导入结果。选择后即开始导入,不是预览。
  4. 按失败行修正文件,成功后回到列表检查变量和值。

“导出变量”导出当前页及筛选范围内的内存变量;要完整备份内存变量,使用“导出全部”。通道、设备和普通点表的导入规则见采集配置 → 导入导出

用于规则、报警或上传

创建好内存变量后,可在规则或转发组中按 Memory.变量名 选择它。需要上传时,仍要将它加入转发组成员,不是创建后就自动上传。

报警在该变量的“报警配置”中设置,步骤见报警查询

常见问题

现象先检查
当前值不更新是否启用,是否配置读表达式,定时触发和执行间隔是否正确
写入失败读写权限、数据类型、输入值格式,以及是否为只读系统变量
脚本报找不到变量脚本中的设备名与变量名是否与现有配置完全一致
列表找不到变量清空筛选条件后刷新
转发中没有这个变量检查组范围是否包含这个内存变量
想删除变量先检查脚本、规则和转发引用,导出备份后再删除

相关链接