跳转至

DFS 适配器

DFS 适配器是连接外部数据源与 DFS 平台之间的桥梁,主要用于接收、预处理并转换实时数据流,确保数据在进入 DFS 系统后能够被正确解析、存储和应用。

通过 DFS 适配器,您可以将设备、控制系统或业务平台中的实时数据接入 FactVerse 数字孪生平台,实现数据驱动的孪生体实时响应和业务联动。

核心作用

  • 数据接入:连接各类工业数据源(如 PLC、IoT 平台、网关等);

  • 数据预处理:对数据进行清洗、格式转换、结构标准化;

  • 数据驱动孪生体:绑定孪生体属性,实时反映现场运行状态;

  • 配置灵活:支持图形化流程配置(Node-RED),提高数据处理透明度和效率。

关键概念

名称 说明
适配器模板 预定义的 Node-RED 数据流模板,包含数据采集、处理、清洗等规则,便于快速复用和统一标准。
适配器实例 基于模板创建的具体数据接入点,每个实例对应一个实际的数据源接入任务,配置独立的地址、端口、密钥等参数。
实时数据源 实时输出数据的设备或平台,如 PLC 控制器、传感器网关、IoT 平台、工业协议接口等。

实时数据源典型应用场景

场景类型 应用说明
动态监控 实时采集设备状态变化(温度、转速、位置等),同步驱动孪生体表现
实时决策支持 依赖新鲜数据进行产线调度、故障预测、能耗优化等决策

设置数据处理和加工规则

在适配器实例正式运行前,需配置对应的数据处理逻辑,确保采集到的数据可被系统正确识别、清洗、存储等。

创建适配器模板(可选)

适配器模板用于标准化处理流程,便于在多个实例中复用,减少重复配置。模板内容为 Node-RED 流程 JSON 文件。

说明: 若无复用需求,可跳过模板创建,直接在实例中手动配置流程。

操作步骤

  1. DFS适配器 /> 适配器模板页面,点击【新建】。

  2. 填写模板名称,在模板数据输入框中填写或粘贴 JSON 格式的 Node-RED 流程。

A screenshot of a computer AI-generated content may be incorrect.

图 10 新建适配器模板

  1. 点击【确认】保存模板。

编辑数据处理流程(Node-RED)

Node-RED 是图形化流程编辑器,用于可视化配置数据采集、解析与推送逻辑。

操作步骤

  1. 在浏览器中访问适配器实例对应的 Node-RED 地址。

  2. 在流程画布中配置数据采集频率、字段处理、输出格式等节点。

A screenshot of a computer AI-generated content may be incorrect.

图 11 Node-RED 编辑界面

  1. 完成编辑后,点击【部署】按钮,将流程应用至运行中的适配器服务。

可参考《Node-RED 用户指南》获取详细操作方法。

创建适配器实例

适配器实例是与具体数据源对接的配置入口,每个实例对应一个数据接入任务,具备独立的监听地址、端口和数据处理逻辑。

创建实例

操作步骤

  1. DFS适配器 /> 适配器实例页面,点击【新建】按钮创建一个新的适配器实例。

  2. 在弹出的窗口中填写以下信息:

字段 描述
名称 自定义适配器实例名称,便于识别数据源。
边缘密钥(选填) 支持边缘设备身份认证,增强数据安全性。
IP DFS 适配器服务的被管理IP
端口 适配器实例的端口
描述(选填) 对该适配器实例的简要说明

IP 及端口设置说明

  • 单机部署多个实例:IP地址相同,端口不同;

  • 多机部署:IP 地址根据实际设备设置,不同实例使用不同 IP。

A screenshot of a computer AI-generated content may be incorrect.

图 12 新建DFS适配器

  1. 填写完成后,点击【确认】。

绑定适配器模板(可选)

DFS适配器 /> 适配器实例页面,点击适配器实例相应的【选择模板】按钮 ,选择适配器模板为适配器实例设置数据处理规则。

图 13 选择模板

编辑 Node-RED 流

本节旨在指导企业内部开发工程师在已部署的 DFS Node-RED 环境中,按照具体业务需求,安全有效地修改、扩展或更新数据流。

一、前置条件

在修改前,请确认以下条件已满足:

  • 已成功部署 Node-RED,并可通过浏览器访问(默认地址通常为 http:///:1880)。

  • 已具备 Node-RED 基本概念(节点、连接线、部署按钮)。

  • 已获取 DFS 平台账号及关键设备信息(如 edgeId、digitalTwinId)。

  • 已完成流程文件备份(建议通过“导出 JSON”方式)。

二、流程结构概览

DFS Node-RED 流程通常包含以下三个主要部分,彼此协同运行:

  • DFS 心跳流程:定期向 DFS 平台发送“存活心跳”以确认节点在线状态。

  • 设备绑定流程:从 Redis 拉取设备与数字孪生体映射关系,写入全局缓存。

  • 设备数据发送流程:接收或模拟设备原始数据,依据映射关系推送到对应的数字孪生体,并通过 MQTT 分别发往 DFS Server(用于后端存储)和前端(用于可视化驱动)。

三、关键参数说明:

参数名 说明 示例值 注意事项
edgeId 边缘节点唯一标识(DFS 分配) 68979c3e78f3d473c54e0cd9 应与平台信息一致
edgeName 节点显示名称,方便识别 nodered 可自定义,便于识别
DFS 心跳接口 URL 心跳请求的目标地址 https:////api/dfs/instance/beat 必填项,需与平台信息匹配
tenantId 租户ID c299600a2e86b582746956d23e132b690 请向平台支持人员确认,避免配置不一致
digitalTwinId 数字孪生体唯一标识 600ab3a6391d44c499da0babe90f9e1f 可在 DFS 平台数字孪生体详情页面中获取

四、数据主题

Node-RED 流程通过不同的主题向后端和前端发送数据:

  • /DFS/telemetry/{edgeId}:用于向 DFS Server(Artemis)发送遥测数据。

  • /DFS/{tenantId}/{digitalTwinId}:向前端(通过 EMQX)发送孪生体驱动数据,用于实时驱动数字孪生体在前端展示。

五、数据格式要求

DFS 接口接收的数据通常为 JSON 格式,建议保持以下结构:

[

    {

        "serial": "Device name",

        "ts": 63,

        "datas": {

            "key1": "data1",

            "key2": "data2"

        }

    }

]

字段说明:

  • serial:设备名称或序列号(应与绑定关系中保持一致)。

  • ts:时间戳(毫秒)。

  • datas:设备属性与对应值的键值对。

⚠️ 注意事项:

  • datas 中的属性名应与 DFS 平台中配置的数字孪生体属性一致。若名称不一致,可通过平台提供的手动绑定功能完成属性映射。

六、常见业务修改点

以下是根据业务调整流程时最常涉及的节点类型及其可修改参数:

节点类型 用途 可修改的参数 修改示例
Inject 定时触发(心跳 / 数据采集) 触发间隔 心跳 10 秒一次,数据 1 秒一次
File in 从文件读取数据 文件路径 /home/user/device.json
MQTT in 从 MQTT 订阅数据 Broker 地址、Topic mqtt://192.168.1.100:1883,robot/pose
Kafka in 从 Kafka 订阅数据 Broker 地址、Topic kafka://broker1:9092, device-data
Function 数据格式清洗、字段映射 JS 脚本逻辑 将 temp:28.5C 转换为
HTTP request 数据上报到 DFS URL https:////api/dfs/data
MQTT out 数据转发到消息队列 Broker 地址、Topic ws://192.168.2.80:83 / 192.168.2.60:1884

七、连接配置

请确保以下连接节点配置正确,特别是在部署环境切换(如测试/生产)时:

  • MQTT out(前端)

示例地址:ws://192.168.2.80:83/ 配置名称:emqx-mqtt

  • MQTT out(DFS Server)

示例地址:192.168.2.80:1884/ 配置名称:artemis-mqtt

  • Redis 数据源

示例地址:192.168.2.80:6379/ 用于定期拉取设备与孪生体绑定映射(键名形如:dfs:device:/