- 打印
使用 Edge IO 和 Node-RED 管理机器状态和零件数
了解如何在 Edge IO 中使用机器可见性 Node-RED 流程
本文介绍了将断裂梁传感器和电流传感器连接到 Edge IO 的工作流程,以便在 Tulip 中管理状态和零件计数。这利用了可导入客户边缘设备的 Tulip Node-RED 库流程。
本文结束时,您将在 Node-RED 中掌握以下流程,将数据从连接的传感器发送到 Tulip 中的机器。
您需要完成以下步骤:
- 硬件设置:为边缘 IO 布线
- 机器设置:在 Tulip 中创建机器
- 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》一文中的 "设置新机器"部分,了解更多详情。
在本示例中,我们创建了一个具有两个属性的机器:
- 电流(浮点)- 表示传感器返回的电流。
- 部件计数(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.流程概述
此流程由两个独立的工作流组成:
工件计数器
第一条路径是通过断梁传感器监控零件计数。该流程由四个功能节点组成:
监控引脚
- 目的:通过启用引脚属性定义边缘 IO 上要监控的 GPIO 引脚。
- 针脚向上的过滤器
- 目的: 从信息有效载荷中,确定是否需要对引脚上调进行过滤:从报文有效载荷中确定受监控引脚上的事件是否为真。
- 递增部件计数
- 目的:增加引脚事件为真时的流量变量部件数。
- 郁金香机器属性:部件计数
- 目的: 通过 API 向 Tulip 发送有效载荷(partCount)。
监控有效值电流
第二条路径是监控连接到 ADC(模数转换器)输入端的电流传感器。该流程由六个功能节点组成。
ADC 差分读数
- 目的:将模拟配置文件分配给 ADC 输入。
- 过滤 1/5 读数
- 目的: 提取每五次(5 秒)的测量值并传递给 Tulip。
- 传递信息
- 目的: 重置每五次读数的计数:将每五条信息的读数计数重置为零。
- 删除信息并递增
- 目的: 对所有其他读数进行递增:对于所有其他读数,读数计数递增 1。
- CR-3111 缩放
- 用途: 根据制造商的规格对传感器测量值进行缩放。
- 郁金香机器属性:有效值电流
- 目的: 通过 API 向 Tulip 发送有效载荷(partCount)。
还有四个可选节点,默认情况下是禁用的,但可以启用,以便由 Node-RED 决定机器状态。请注意,也可以在 Tulip 中使用机器触发器来执行相同的逻辑。
电流是否 > 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文件导入的节点及其默认配置参数的详细摘要。
部件计数器
监控引脚
目的:通过启用引脚属性定义边缘 IO 上要监控的 GPIO 引脚。
节点类型:数字输入
默认属性:
- 运行模式 -
持续
- 刷新率 -
1 秒
- 启用引脚 -
1
- 引脚向上的过滤器
- 运行模式 -
目的:从报文有效载荷中确定受监控引脚上的事件是否为真。
节点类型:开关
默认属性:
- 属性 -
msg.payload
- 规则 -
为真
- 递增部件计数
- 属性 -
目的: 在引脚事件为 true 时增加流量变量部件数。
节点类型:更改
默认属性:
规则:
- 将
flow.partCount
设置为表达式$flowContext('partCount') + 1
- 将
msg.payload
设置为flow.
partCount - 郁金香机器属性:部件计数
- 将
目的: 通过 API 向 Tulip 发送有效负载(partCount)。
节点类型:机器属性
默认属性:
- 设备信息* -
{"attributeId":"", "machineId":""}
- 属性源 -
msg.payload
- 设备信息* -
监控有效值电流
差分 ADC 读数
目的: 为 ADC 输入分配模拟配置文件。
节点类型:高速模拟
默认属性:
模拟配置 - 差分 ADC
RMS @ 1kHZ
- 选择 ADC 配置 - 差分
ADC
- 启用输出 -
RMS
- 缓冲区大小 -
1000
- 采样频率(赫兹) -
1000
+ 数据类型 -有效值
+ 输出模式 -连续
+ 刷新率(秒) -1
- 过滤 1/5 读数
- 选择 ADC 配置 - 差分
目的: 提取每五次(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]
- 设备信息* -
计算机器状态的子流程
电流是否 > 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发布您的问题,或查看其他人是否遇到过类似问题!