跳转至

设备配置

设备配置将测点描述符分组:设备原始值如何映射为工程值。

概念

  • 描述符 — 一个测点键,包含单位、精度和值转换方式。
  • 转换类型:
  • 恒等 — 按发布内容原样存储。
  • 线性 — 比例 × 原始值 + 偏移。
  • 查表 — 原始键之间的分段线性断点。
  • 表达式 — JavaScript 表达式,例如 point.v_double * 9 / 5 + 32。
  • 枚举 — 原始值映射为文本标签。
  • 描述符带版本;重新标定不会改变已存储的历史数据。
  • Profile 可绑定一条规则链;使用该配置的设备均执行它,除非设备单独设置绑定。
  • Profile 还可携带可选的连接器模板(ADR-0026 两级配置),供网关连接器复用。
  • 协议族(开放词汇,如 modbus、onvif)会解锁结构化连接参数与点位地址字段。它在所有来源(含 edge/import)上都可编辑:发现帧通常不带协议族,需要操作员手动补齐。点位规范中的数据类型/读写/量程在 edge/import 上仍归来源所有。

协议族与点位规范

协议族是厂商中立的辅助信息,不是平台业务逻辑:NereidLink 仍以不透明 JSON 存储一切。识别的协议族(内置字典覆盖现役 EdgeX 官方 device service:Modbus、ONVIF、MQTT、REST、device-virtual、SNMP、BACnet、CoAP)会把自由 JSON 替换为结构化输入。

  • 每个测量描述符的“点位规范”分区提供厂商中立字段:数据类型(bool/int/uint/float/string/binary)、读写(R/W/RW)、上报默认值与工程量程,以及协议相关的地址。
  • Modbus 地址字段包括 primaryTable(COILS、DISCRETE_INPUTS、DISCRETES_INPUT、HOLDING_REGISTERS、INPUT_REGISTERS)、startingAddress、isByteSwap、isWordSwap,以及可选的 rawType、stringRegisterSize。此前已有的非字典地址键仍可作为额外 JSON 编辑。
  • 点位属性为自由形态的协议族(ONVIF {service, function}、MQTT、REST、virtual、SNMP、BACnet、CoAP)及任何未知协议族,地址保留为一个原始 JSON 对象(如 OPC-UA 的 { "nodeId": "..." })。
  • 数据类型/读写/默认值/量程仅在手动(manual)配置上可编辑,在 edge/import 配置上归来源所有;但协议族与每个点的地址在所有来源(manual/edge/import)上均可编辑,因为发现/导入帧常常二者皆缺;标定字段(转换/比例/偏移/单位/枚举/有效范围)始终可编辑。接受一次边缘上报时只采用帧里实际非空的值,因此最小帧重放不会冲掉手动填写的地址或协议族。

配置详情页

在 Profiles 列表点击配置名称,会进入它自己的页面(/profiles/<id>)。页面以三个默认只读的区块平铺呈现,每个区块用各自的编辑/保存独立修改,不再有又长又分页签的弹窗:

  • 基本信息 — 名称、协议族、规则链。
  • 连接参数 — 下面的连接器模板。
  • 点位描述符(n) — 测点列表。

新建配置时只要求填名称(协议族可选);创建后会直接进入详情页,再补连接参数与测点。每个区块在服务端都是整配置保存,因此保存一个区块不会改动其它区块。

连接器模板(可选)

详情页的连接参数区块可携带一份可复用的连接器模板:

  • 连接器类型 — 连接器插件类型。内置的 nereid-edge(写死的 NereidEdge 运行时)始终可选;其他类型会根据已连接网关注册的结果自动补全,也可手动输入任意自定义值。
  • 类型版本 — 插件版本。留空则在下发时选择已注册的最高版本。
  • 配置(JSON) — 一个 JSON 对象,存放共享的模板配置。选择 nereid-edge 时采用左右分栏:左侧为结构化 EdgeX 设备表单,右侧为实时 JSON 文档(仍保留原始 JSON 标签作为兜底入口)。
  • 点位映射(JSON) — 对象数组,每个对象含非空字符串 key 以及连接器相关属性。

当 EdgeX 表单首次在空配置上打开时,会一次性预填以下便捷默认值,且永远不会覆盖已有值:

  • 设备服务名(ds_name)— 该协议族官方的 EdgeX device-service 名(Modbus → device-modbus,ONVIF → device-onvif-camera);在协议族确定后填入。
  • Profile 名 — 由 profile 名按 EdgeX 合法字符(字母数字、_、-)清洗派生,作为模板起始值。设备名不在模板中预填:它按设备区分,由连接器实例编辑器在留空时用所绑定子设备的 NL 名称(canonical_name,清洗后)注入;清空某个已预填字段后不会被再次填回。
  • 自动事件的数据源名(source name)与点位映射的 key 会基于本 profile 的描述符 measurement key(即 EdgeX device resource 名)给出可搜索候选,但仍可自由输入。

配置与映射示例(内置 nereid-edge 的默认值及完整 Modbus 示例见「连接器」帮助主题):

{ "port": 502, "byte_order": "BIG" }
[ { "register": "40001", "key": "voltage" } ]

连接器类型留空即为纯遥测配置。内核不会解析配置或映射,由边缘侧按该连接器类型注册的 schema 校验。只有携带连接器类型的配置,才会出现在网关「连接器」页签的配置模板下拉中。desired/reported 生命周期与对账见「连接器」帮助主题。

创建配置

  1. 点击 创建设备配置 并命名。
  2. 添加描述符,键必须与设备发布的完全一致。
  3. 配置转换方式;查表/枚举类型需配置断点或枚举项。
  4. 可选地绑定规则链;留空则使用租户默认规则链。
  5. 可选地填写连接器模板(类型、版本、配置、映射),使配置可被网关连接器复用。
  6. 在设备编辑器中为设备指定配置。

未指定配置的设备仍可正常工作,其值以未转换形式存储。

在网但沉默检测

每个测点描述符都有可选的期望周期(秒)与沉默容差倍数(默认 3)。对需要按 周期上报的测点设置期望周期,例如电表每 60 秒一次读数。

  • 使用该配置的设备在“已连接”状态下,若距最近一次数据超过 “期望周期 × 容差倍数”仍无遥测,则视为沉默,平台产生 ONLINE_BUT_SILENT 警告告警。
  • 周期留空则该测点不参与检测;设备的判定时限取该配置中被监测测点的最短期望周期。
  • 遥测恢复或设备下线时告警自动解除;它与 OFFLINE(离线)在线状态相互独立。