MENU
    用 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发布您的问题,或查看其他人是否遇到过类似问题!


    本文对您有帮助吗?