MENU
    使用 Edge IO 和 Node-RED 管理机器状态和部件数
    • 04 Nov 2023
    • 2 阅读时间
    • 贡献者

    使用 Edge IO 和 Node-RED 管理机器状态和部件数


    文章摘要

    使用 Edge IO 和 Node-RED 管理机器状态和零件数

    了解如何在 Edge IO 中使用机器可见性 Node-RED 流程

    本文介绍了将断裂梁传感器和电流传感器连接到 Edge IO 的工作流程,以便在 Tulip 中管理状态和零件计数。这利用了可导入客户边缘设备的 Tulip Node-RED 库流程。

    本文结束时,您将在 Node-RED 中掌握以下流程,将数据从连接的传感器发送到 Tulip 中的机器。

    您需要完成以下步骤:

    1. 硬件设置:为边缘 IO 布线
    2. 机器设置:在 Tulip 中创建机器
    3. Node-RED 设置:从 Tulip 库导入、编辑和部署 Node-RED 流程

    您需要

    • 您的 Tulip 账户中注册的 Edge IO

    • 电流传感器:CR3111-3000 或其他类似的电流互感器

      • 一个大小合适的电流互感器负载电阻,如果使用 CR3111-3000,建议使用 100 欧姆(有关大小,请参阅硬件设置)
      • 断路器
      • 3.5 毫米平头螺丝刀

    1.硬件设置 - 为边缘 IO 布线

    此工作流程假定您将使用电流互感器和连接到 Edge IO 的断路器。

    **计算负载电阻的大小:**如果使用 CR3111-3000,建议使用 100 欧姆的电阻器。如果使用不同的电流夹钳,可以根据有效匝数比(T_e) 和最大测量电流(I_max) 计算出允许的最大电阻器尺寸 (R_burden),如下所示:R_burden = 3.12 * T_e / I_max。电阻可以小于允许的最大电阻尺寸,但这会降低传感器的分辨率。

    按如下方式将电流夹钳 (CR3111-3000) 和断路器连接到 Edge IO:

    • 电流夹钳

      • 测量通过电源线进入机器的交流电流
      • 如图所示,在电流夹钳的两根导线之间连接电阻器
      • 将一根导线连接至差分 ADC [+] 端子,另一根导线连接至差分 ADC [-] 端子
      • 断开光束
      • 捕捉部件创建
      • 将棕色导线(+24V)连接到 SAR ADC 的 +24V 端子上
      • 将蓝线(gnd)连接至数字输入组的接地端子
      • 将黑线(out)连接至数字输入组的引脚 1

    此外,确保已为设备供电,并将以太网电缆插入 WAN 端口,将设备连接到网络。

    2.机器设置 - 在郁金香中创建机器

    要将断桥和电流传感器的数据发送到 Tulip,首先要使用 Tulip API 作为数据源设置机器。请参阅《如何使用机器属性 API》一文中的 "设置新机器"部分,了解更多详情。

    在本示例中,我们创建了一个具有两个属性的机器:

    1. 电流(浮点)- 表示传感器返回的电流。
    2. 部件计数(int)--来自断梁的信号,表示完成一个部件。

    您需要记录下属性 机器值,并将其传递到 Node-RED 流程中。

    如果您计划使用当前传感器改变机器状态等方面,或根据传感器输出执行任何计数,您还可以设置机器类型以分配给机器。如果对此感兴趣,请参阅如何设置机器类型

    3.Node-RED 设置

    在连接到断裂梁和电流传感器的 Edge IO 上打开 Edge Device Portal。使用以下凭证启动 Node-RED 编辑器:

    • 用户名: admin
    • 密码: Edge IO 密码

    在此处查看更多信息,以开始在 Edge IO 上使用 Node-RED。

    3a.导入库流程

    要导入库流程,请按照我们的导入郁金香 Node-RED 流程文档中的步骤操作。要导入的流程是machine_visibility.json,导入后将在编辑器中创建带电流夹钳和横梁选项卡的 "机器可见性"。

    3b.流程概述

    此流程由两个独立的工作流组成:

    工件计数器

    第一条路径是通过断梁传感器监控零件计数。该流程由四个功能节点组成:

    1. 监控引脚

      • 目的:通过启用引脚属性定义边缘 IO 上要监控的 GPIO 引脚。
      • 针脚向上的过滤器
      • 目的: 从信息有效载荷中,确定是否需要对引脚上调进行过滤:从报文有效载荷中确定受监控引脚上的事件是否为真。
      • 递增部件计数
      • 目的:增加引脚事件为真时的流量变量部件数。
      • 郁金香机器属性:部件计数
      • 目的: 通过 API 向 Tulip 发送有效载荷(partCount)。

    监控有效值电流

    第二条路径是监控连接到 ADC(模数转换器)输入端的电流传感器。该流程由六个功能节点组成。

    1. ADC 差分读数

      • 目的:将模拟配置文件分配给 ADC 输入。
      • 过滤 1/5 读数
      • 目的: 提取每五次(5 秒)的测量值并传递给 Tulip。
      • 传递信息
      • 目的: 重置每五次读数的计数:将每五条信息的读数计数重置为零。
      • 删除信息并递增
      • 目的: 对所有其他读数进行递增:对于所有其他读数,读数计数递增 1。
      • CR-3111 缩放
      • 用途: 根据制造商的规格对传感器测量值进行缩放。
      • 郁金香机器属性:有效值电流
      • 目的: 通过 API 向 Tulip 发送有效载荷(partCount)。

    还有四个可选节点,默认情况下是禁用的,但可以启用,以便由 Node-RED 决定机器状态。请注意,也可以在 Tulip 中使用机器触发器来执行相同的逻辑。

    1. 电流是否 > 100mA?

      • 目的: 检查电流值是否大于 100 mA。
      • 状态 = ON
      • 目的: 如果电流大于 100 mA,则将有效载荷设置为 ON。
      • 状态 = 关闭
      • 用途: 如果电流小于或等于 100 mA,则将有效载荷设置为 OFF。
      • 郁金香机器属性:状态
      • 目的: 通过 API 向 Tulip 发送有效载荷(状态)。

    3c.编辑流程

    要完成此流程的设置,需要Tulip 机器属性的设备信息**:部件计数Tulip 机器属性的设备信息:RMS 电流**节点的设备信息必须与之前设置的机器的属性 字段和机器字段一起包含。

    根据使用的传感器,还可以编辑CR-3111 缩放节点,以反映电流互感器的匝数比。

    3d.部署流程

    建立了 Node-RED 流程并添加了必要的参数后,您就可以部署您的流程,并开始查看从断裂光束和电流传感器输出到 Tulip 的数据。

    选择 Node-RED 编辑器右侧的调试信息选项,就能看到来自 Tulip API 的响应和相应的状态代码。

    要获取有关状态代码的更多信息,请浏览你的 Tulip 实例中的 API 文档(即.tulip.co/apidocs)。具体来说,请参阅POST /attributes/report端点文档。

    现在,您也可以通过导航到机器的配置选项卡,在 Tulip 中查看数据。

    Node-RED 流程的技术细节

    下面是随machine_visibility.json文件导入的节点及其默认配置参数的详细摘要。

    部件计数器

    1. 监控引脚

      • 目的:通过启用引脚属性定义边缘 IO 上要监控的 GPIO 引脚。

      • 节点类型:数字输入

      • 默认属性:

        • 运行模式 -持续
        • 刷新率 -1 秒
        • 启用引脚 -1
        • 引脚向上的过滤器
      • 目的:从报文有效载荷中确定受监控引脚上的事件是否为真。

      • 节点类型:开关

      • 默认属性:

        • 属性 -msg.payload
        • 规则 -为真
        • 递增部件计数
      • 目的: 在引脚事件为 true 时增加流量变量部件数。

      • 节点类型:更改

      • 默认属性:

        • 规则:

          • flow.partCount设置为表达式$flowContext('partCount') + 1
          • msg.payload设置为flow.partCount
          • 郁金香机器属性:部件计数
      • 目的: 通过 API 向 Tulip 发送有效负载(partCount)。

      • 节点类型:机器属性

      • 默认属性:

        • 设备信息* -{"attributeId":"", "machineId":""}
        • 属性源 -msg.payload

    监控有效值电流

    1. 差分 ADC 读数

      • 目的: 为 ADC 输入分配模拟配置文件。

      • 节点类型:高速模拟

      • 默认属性:

        • 模拟配置 - 差分 ADCRMS @ 1kHZ

          • 选择 ADC 配置 - 差分ADC
          • 启用输出 -RMS
          • 缓冲区大小 -1000
          • 采样频率(赫兹) -1000+ 数据类型 -有效值+ 输出模式 -连续+ 刷新率(秒) -1
          • 过滤 1/5 读数
      • 目的: 提取每五次(5 秒)的测量值传递给郁金香。

      • 节点类型:开关

      • 默认属性:

        • 属性 -flow.numReadings

        • 规则:

          • == 4
          • 否则
          • 传递信息
      • 目的将每第五条信息的读数计数重置为零。

      • 节点类型:更改

      • 默认属性:

        • 规则:

          • flow.numReadings设置为0
          • 删除信息并递增
      • 目的:对于所有其他读数,读数计数递增 1。

      • 节点类型:更改

      • 默认属性:

        • 规则:

          • flow.numReadings设置为表达式$flowContext('numReadings') + 1
          • CR-3111 缩放
      • 用途: 根据制造商的规格对传感器测量值进行缩放。

      • 节点类型:子流程模板

      • 默认属性:

        • 属性 -数据
        • 刻度* -3000
        • 偏移 -0
        • 郁金香机器属性:有效值电流
      • 目的: 通过 API 向 Tulip 发送有效载荷(partCount)。

      • 节点类型:机器属性

      • 默认属性:

        • 设备信息* -{"attributeId":"", "machineId":""}
        • 属性源 -msg.data[0]

    计算机器状态的子流程

    1. 电流是否 > 100mA?

      • 目的: 检查电流值是否大于 100 mA。

      • 节点类型:开关

      • 默认属性:

        • 属性 -msg.data[0]

        • 规则: > 0.1

          • > 0.1
          • 否则
          • 状态 = ON
      • 目的: 如果电流大于 100 mA,则将有效载荷设置为 ON。

      • 节点类型:更改

      • 默认属性:

        • 规则:

          • msg.payload设置为ON
          • 状态 = 关闭
      • 目的: 如果电流小于或等于 100 mA,则将有效载荷设置为 OFF。

      • 节点类型:更改

      • 默认属性:

        • 规则:

          • msg.payload设置为OFF
          • 郁金香机器属性:状态
      • 目的: 通过 API 向郁金香发送有效载荷(状态)。

      • 节点类型:机器属性

      • 默认属性:

        • 设备信息* -{"attributeId":"", "machineId":""}
        • 属性源 -msg.payload

    * 必须更新参数,流程才能正常运行。应根据制造商的建议修改当前传感器的刻度值。

    进一步阅读


    找到您想要的了吗?

    您还可以前往community.tulip.co发布您的问题,或查看其他人是否遇到过类似问题!


    本文对您有帮助吗?