用 Edge IO 和 Node-RED 连接 4-20 mA 传感器
  • 04 Nov 2023
  • 1 分钟阅读
  • 贡献者

用 Edge IO 和 Node-RED 连接 4-20 mA 传感器


文章摘要

使用 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 中的机器。

您将完成以下步骤:

  1. 硬件设置:为边缘 IO 布线
  2. 机器设置:在 Tulip 中创建机器
  3. 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 流程由五个功能节点组成。流程如下

  1. 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文件导入的节点及其默认配置参数的详细摘要。

  1. SAR ADC 采样

    • 目的:以每秒 100 个采样点的速率对 0-10V SAR ADC 采样。

    • 节点类型:高速模拟

    • 默认属性:

      • 模拟配置 -SAR ADC:RMS @ 100Hz

        • 选择 ADC 配置 -SAR ADC
        • 启用输出 -RMS
        • 缓冲区大小 -100
        • 采样频率(赫兹) -100+ 数据类型 -有效值+ 输出模式 -连续+ 刷新率(秒) -1
        • 计算平均值
    • 目的: 每秒计算一次 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发布您的问题,或查看其他人是否遇到过类似问题!


本文对您有帮助吗?