- 打印
使用 Edge IO 和 Node-RED 连接 4-20 mA 传感器
了解如何在 Edge IO 上使用 4-20 mA Node-RED 流程
本文介绍将 2 线制 4-20 mA 传感器连接到 Edge IO 并通过 Node-RED 库流程将数据发送到 Tulip 的工作流程。
本文结束时,您将在 Node-RED 中掌握以下流程,将传感器的电流数据发送到 Tulip 中的机器。
您将完成以下步骤:
- 硬件设置:为边缘 IO 布线
- 机器设置:在 Tulip 中创建机器
- Node-RED 设置:从 Tulip 库导入、编辑和部署 Node-RED 流程
您需要
- 在您的 Tulip 账户中注册的 Edge IO
- 4-20mA 电流回路传感器:2 线配置,与 24V 电源兼容
- 500 欧姆电阻
- 3.5 毫米平头螺丝刀
1.硬件设置 - 为边缘 IO 布线
本工作流程假定您已为自己的应用选择了一个 4-20mA 传感器和一个外部 500 欧姆电阻,用于将传感器输出电流转换为电压输入 ADC。
请按如下步骤将传感器和电阻器连接到 Edge IO:
4-20mA 传感器
- 接线至 SAR ADC [+24V] 端子的电源端子
- 输出端接线至 SAR ADC [in] 端子
- 500 欧姆电阻
- 一端连接至 SAR ADC [in] 端子
- 一端接 SAR ADC [gnd] 端子
此外,确保已为设备供电,并将以太网电缆插入 WAN 端口,将设备连接到网络。
2.机器设置 - 在 Tulip 中创建机器
要从 4-20 mA 传感器向 Tulip 发送数据,首先要使用 Tulip API 作为数据源设置机器。请参阅 "设置新机器"部分中的 "如何使用机器属性 API"一文,了解更多详情。
在本示例中,我们创建了一台机器来表示一台焊机,该焊机具有一个名为焊机电流的浮点属性。
您需要注意将属性 Id 和
机器 Id
值传递到 Node-RED 流程中。
如果计划使用电流传感器来改变机器状态等方面,或根据传感器输出执行任何计数,还可以设置机器类型来分配给机器。如果对此感兴趣,请参阅如何设置机器类型。
3.Node-RED 设置
在连接到 4-20 mA 传感器的 Edge IO 上打开 Edge Device Portal。使用以下凭证启动 Node-RED 编辑器:
- 用户名: admin
- 密码: 您的 Edge IO 密码
请参阅此处的更多信息,开始在 Edge IO 上使用 Node-RED。
3a.导入库流程
要导入库流程,请按照我们的导入郁金香 Node-RED 流程文档中的步骤操作。要导入的流程是4_to_20_mA_sensor.json,导入后将在编辑器中创建4-20mA 传感器应用选项卡。
3b.流程概述
Node-RED 流程由五个功能节点组成。流程如下
SAR ADC 采样
- 目的:以每秒 100 个样本的速度对 0-10V SAR ADC 采样。
- 计算平均值
- 目的: 对 SAR ADC 采样节点的 100 个采样值进行每秒一次的平均计算。
- 将 ADC 比例转换为电流环路传感器值
- 用途: 将 ADC 平均值缩放为当前回路传感器的实际值。
- 发送到郁金香机器属性
- 用途: 将当前回路传感器值发送至 Tulip 事件 API,以便发送至机器。
- 响应
- 目的: 返回当前循环传感器值的相应 HTTP 状态代码:返回 Tulip 事件 API 调用的相应 HTTP 状态代码。
3c.编辑流程
要完成此流程的设置,必须将发送到 Tulip 机器属性节点的设备信息与先前设置的机器的attributeI 和
machineI 字段
一起包含在内。
您还应根据当前传感器的制造商规格编辑 Scale ADC to Current Loop Sensor Value节点内的属性。
例如,如果传感器输入范围测量 0-100 安培,输出 4-20 毫安,且使用 500 欧姆外部电阻器,则需要设置以下参数:
- 电阻值(欧姆) - 500
- 最小输入 - 0
- 最大输入 - 100
- 最小输出 (mA) - 4
- 最大输出 (mA) - 20
3d.部署流程
建立 Node-RED 流程并添加必要参数后,您可以从右上角部署您的流程,并开始查看从 4-20 mA 传感器输出到 Tulip 的数据。
通过选择 Node-RED 编辑器右侧的调试信息选项,您应该可以看到来自 Tulip API 的响应和相应的状态代码。
Node-RED 流程的技术细节
下面是随4_too_20_mA_sensor.json文件导入的节点及其默认配置参数的详细摘要。
SAR ADC 采样
目的:以每秒 100 个采样点的速率对 0-10V SAR ADC 采样。
节点类型:高速模拟
默认属性:
模拟配置 -
SAR ADC:RMS @ 100Hz
- 选择 ADC 配置 -
SAR AD
C - 启用输出 -
RMS
- 缓冲区大小 -
100
- 采样频率(赫兹) -
100
+ 数据类型 -有效值
+ 输出模式 -连续
+ 刷新率(秒) -1
- 计算平均值
- 选择 ADC 配置 -
目的: 每秒计算一次 SAR ADC 采样节点 100 个采样的平均值。
节点类型:函数
默认属性:
- 函数:
1 const average = (array) => array.reduce((a, b) => a + b) / array.length; 2 msg.payload = average(msg.data); 3 return msg; 3
.将 ADC 比例转换为当前环路传感器值
- 函数:
目的:将 ADC 平均值缩放为当前环路传感器的实际值。
节点类型:子流程
默认属性:
- 输入属性 -
有效负载
- 电阻值(欧姆) -
500
- 最小输入 -
0
- 最大输入 -
800
- 最小输出(毫安) -
4
- 最大输出(毫安) -
20
- 发送到郁金香机器属性
- 输入属性 -
用途: 将当前回路传感器值发送到郁金香事件 API,以便发送到机器。
节点类型:机器属性
默认属性:
- 设备信息 -
{"attributeId":", "machineId":""}
- 响应
- 设备信息 -
目的: 返回郁金香事件 API 的相应 HTTP 状态代码:返回 Tulip 事件 API 调用的相应 HTTP 状态代码。
节点类型:调试
默认属性:
- 输出 -
完整的 msg 对象
- 至 - 调试
窗口
- 输出 -
更多阅读
找到您想要的东西了吗?
您还可以前往community.tulip.co发布您的问题,或查看其他人是否遇到过类似问题!