- 打印
用Edge IO和Node-RED连接4-20 mA传感器
了解如何将4-20 mA Node-RED流程与你的Edge IO一起使用
本文介绍了将2线4-20mA传感器连接到Edge IO并通过Node-RED库流程向Tulip发送数据的工作流程。
在本文结束时,你将在Node-RED中掌握以下流程,将电流数据从传感器发送到Tulip中的一个机器。
你将完成以下步骤。
- 硬件设置。为边缘IO布线
- 机器设置。在Tulip中创建一个机器
- Node-RED设置。从Tulip库中导入、编辑和部署Node-RED流程
你需要的是什么?
- 一个注册到你的郁金香账户的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毫安传感器发送数据到郁金香,让我们首先设置一个使用郁金香API作为数据源的机器。参考设置一个新的机器部分如何使用机器属性API的文章以获得深入的概述。
在这个例子中,我们创建了一个机器来表示一个焊工,有一个名为焊工电流的浮动属性。
你要注意你的attributeId和
machineId
值,以传递给Node-RED流程。
如果你打算使用电流传感器来改变机器的状态等方面,或者根据传感器的输出执行任何计数,你也可以设置一个机器类型来分配给机器。如果对此感兴趣,请参考《如何设置机器类型》。
3.Node-RED设置
在连接到4-20mA传感器的Edge IO上打开Edge设备门户。使用以下凭证启动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 发送当前环路传感器值,以便向机器发送。
- 响应
- 目的:将当前的环形传感器值发送给郁金香事件 API,以便发送至机器。返回 Tulip 事件 API 调用的适当 HTTP 状态代码。
3c.编辑流程
为了完成该流程的设置,发送至郁金香机器属性节点的设备信息必须包括先前设置的机器的属性Id和
机器Id字段
。
你还应该根据你当前传感器的制造商规格,编辑 "**刻度ADC至电流环路传感器值 "**节点内的属性。
例如,如果传感器的输入范围为0-100安培,输出为4-20mA,并且你使用的是500欧姆的外部电阻,那么你将设置以下参数。
- 电阻器值(欧姆) - 500
- 最小输入 - 0
- 最大输入 - 100
- 最小输出(mA) - 4
- 最大输出(毫安) - 20
3d.部署流程
随着Node-RED流程的建立和必要参数的添加,你可以从右上方部署你的流程,并开始看到从4-20mA传感器输出到Tulip的数据。
通过选择Node-RED编辑器右侧的调试信息选项,你应该能够看到来自Tulip API的响应和相应的状态代码。
Node-RED流程的技术细节
下面是节点的详细摘要,以及它们与4_to_20_mA_sensor.json文件一起导入的默认配置参数。
SAR ADC样本
目的:以100次/秒的速度对0-10V的SAR ADC进行采样。
节点类型。高速模拟
默认属性。
模拟配置 -
SAR ADC:RMS @ 100Hz
- 选择要配置的ADC -
SAR ADC
- 启用的输出 -
RMS
- 缓冲区大小 -
100
- 采样频率(Hz) -
100
+ 数据类型 -RMS
+ 输出模式 -连续
+ 刷新率(秒) -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":"" }
- 响应
- 设备信息 -
目的。返回Tulip事件API调用的相应HTTP状态代码。
节点类型。调试
默认属性。
- 输出 -
完整的味精对象
- 到 -
调试窗口
- 输出 -
进一步阅读
你找到你要找的东西了吗?
你也可以到community.tulip.co去发表你的问题,或者看看其他人是否遇到过类似的问题!