IO-Link Collector
接入你的 IO-Link 智能传感器,即可获得带名称、带缩放的工程量值,无需任何按传感器的配置。连接你的 IO-Link 主站——以及它们背后的传感器和执行器——并将其过程数据直接流式传输到你的车队数据库中。一切都在浏览器中配置:无需编码,无需重新部署,无停机。
该应用支持三种传输方式,可按主站选择:HTTP/REST(ifm IoT Core API、Balluff 主站实现的厂商中立的 IO-Link Community JSON 标准,以及面向其他设备的通用可配置 REST 方言)、OPC UA(例如 OPC UA IO-Link Companion Spec)和 MQTT(例如 Pepperl+Fuchs)。OPC UA 和 MQTT 传输基于订阅——值在变化时被推送。无论采用哪种传输方式,连接的传感器都会从其 IODD 自动解码——原始过程数据变为带名称、带缩放的工程量值,无需按传感器进行设置。
为何选择此应用
自动传感器发现。 将应用指向一个 IO-Link 主站,它会探测每个端口,检测连接了哪些传感器,并读取它们的设备 id、厂商 id 和产品名称。每个已连接的端口会自动成为一个数据点。
自动 IODD 解码——带名称、带缩放的值,无需映射。 这是应用开箱即用的工作方式。它能识别每个连接的传感器,并自行将其原始过程数据转换为成品工程量值——在公共 IODD Finder 上查找该传感器的官方 IODD(IO-Link 设备描述),无需账户,无需 API 密钥,并以正确的名称、缩放和单位解码每个值。插上一个传感器,它的温度(°C)、压力(bar)或距离(mm)便会直接出现。对于离线或物理隔离的网关,你可以将 IODD 粘贴到内置目录中,同一个解码器会使用它(粘贴的 IODD 始终优先于抓取的 IODD)。
热插拔感知。 更换一个传感器、拔下一个,或新增一个,应用都会自动察觉——它会重新发现主站并更新数据点目录,无需重启。
只存储重要的数据。 暂停单个数据点,或开启变更时存储,使一个值仅在它实际发生变化时才被记录——避免嘈杂或快速循环的信号撑爆你的数据库。
支持的主站、传输方式与传感器
所有发现、热插拔以及 IODD/过程数据解码在每种传输方式之间共享;主站类型设置只是选择应用如何接入某个给定的主站。
传输方式
| 主站类型 | 传输方式 | API / 来源 |
|---|---|---|
ifm | HTTP / REST(轮询) | ifm IoT Core REST(getdatamulti)——ifm AL 系列及兼容主站 |
iolink_json(默认) | HTTP / REST(轮询) | IO-Link Community “JSON for IO-Link” 标准(/iolink/v1/...) |
balluff | HTTP / REST(轮询) | Balluff 主站——它们实现 JSON for IO-Link 标准 |
generic | HTTP / REST(轮询) | 可配置的按端口 REST——任何暴露 HTTP URL 的主站 |
opcua | OPC UA(订阅/推送) | 暴露 IO-Link 数据的 OPC UA 服务器,例如 OPC UA IO-Link Companion Spec |
mqtt | MQTT(订阅/推送) | 向代理发布的主站/网关,例如 Pepperl+Fuchs ICE2/ICE3 |
Turck(TBEN / FEN)主站通过 Modbus/TCP 和现场总线而非上述任何方式暴露 IO-Link——对于这些,请使用 Modbus Collector。
主站厂商
- ifm — IoT Core REST(AL13xx / AL19xx / AL11xx 及兼容型号);每个周期在一个批量请求中读取所有端口。
- Balluff — BNI(当前固件)和 CMTK,通过 JSON-for-IO-Link 标准。
- Pepperl+Fuchs — ICE2 / ICE3,通过 MQTT(或 OPC UA)。
- 任何主站,只要它实现 IO-Link Community JSON 标准、暴露 OPC UA 服务器、向 MQTT 发布,或提供按端口的 REST URL(
generic)。
IO-Link 传感器与过程数据解码
- 自动按端口发现:设备 id、厂商 id、产品名称。
- 热插拔检测并自动重新发现——无需重启。
- 自动 IODD 解码 — 从 IODD Finder 无密钥自动抓取,外加手动 IODD 粘贴目录(粘贴的 IODD 优先于抓取的 IODD)。
- 手动 YAML 解码规范覆盖,按端口设置。
- 解码类型:
UINT8/16/32、INT8/16/32、FLOAT32、BOOL。 - 字节对齐和位字段解码——例如一个测量值加上状态位打包进一个过程数据字(IODD 风格)。
- 按值的线性缩放(
value = raw × scale + bias)和工程单位。 - 未配置解码时,原始过程数据(十六进制)直通。
安全与认证
- OPC UA — 安全策略(
None、Basic256Sha256、Basic256、Basic128Rsa15)、安全模式(None、Sign、SignAndEncrypt),以及客户端证书 + 私钥。 - MQTT — TLS,可选 CA 证书。
- OPC UA 和 MQTT 的用户名 / 密码。
你将获得什么
在你的项目中安装该应用,并为其分配边缘 PC(网关)。然后打开应用面板,进入设置视图并添加一个主站连接:选择网关,选择主站类型(默认 iolink_json),输入主站地址(根据类型不同,可以是像 192.168.0.10 这样的 REST URL、一个 opc.tcp://… 端点,或一个 mqtt://… 代理),并设置采集间隔。连接的传感器会从其 IODD 自动解码。
从那一刻起,应用从主站进行采集——按配置的间隔轮询 HTTP 主站,或通过 OPC UA / MQTT 接收推送的更新——并将每个值存储在你车队数据库的 measurements 表中。每个读数都带有端口的连接状态(在可用时还附带 OPC UA 质量和源时间戳,或 MQTT 源主题);每个主站每周期写入一行,每个主站的实时在线/离线状态在 assetstatus 表中跟踪。采集到的读数默认保留 3 个月(可调整)。
手动解码规范(备用)
解码通过 IODD 自动完成,因此这很少需要——仅在传感器没有已发布的 IODD,或你需要自定义布局时才使用它。在某个主站的 Datapoints 字段中放入一个 YAML 数组;每个条目将端口过程数据的一部分映射为一个带名称、带缩放的值。
- label: Temperature
port: 1
offset: 0 # byte offset into the port's process data
length: 2 # number of bytes
type: INT16 # UINT8/16/32, INT8/16/32, FLOAT32, BOOL
scale: 0.1 # value = raw × scale + bias
unit: degC位字段——用于将一个值和状态位打包进一个过程数据字的传感器(位从 LSB 开始计数,IODD 风格),例如 ifm O5D 距离传感器:
- label: Distance
port: 1
type: UINT
bit_offset: 4
bit_length: 12
scale: 10
unit: mm
- label: OUT1
port: 1
type: BOOL
bit_offset: 0通用采集器特性
与每个 IronFlock 采集器一样,IO-Link Collector 完全在浏览器中配置——在内置应用面板中添加、编辑和暂停主站连接,无需参数文件,无需重启;表单只显示与所选传输方式相关的字段,你可以在每个网关上接入无限数量的主站,自由混合厂商和传输方式。它在边缘端可靠:每个主站在隔离状态下采集(一个无法访问的主站永远不会拖累其他主站),并且如果网关失去与平台的连接,应用会持续读取并在本地缓冲,然后在重连时通过高效的批量补传按顺序转发所有数据(缓冲区大小可按网关配置,并可选仅转发模式)。而且你无需硬件即可试用:将任意主站切换到演示模式,应用会生成逼真的传感器数据(温度、压力、流量、一个开关),让你在连接真实硬件之前就探索完整体验。
在你的数据之上构建
随附的应用面板让你即时概览到来的数据。如需量身定制的展示,可构建自定义仪表盘,将你的 IO-Link 测量值与来自其他应用的数据并排显示,通过 Data Backend 查询数据,并使用 Alarms 应用实时监视采集到的值并获取短信或邮件通知。要让设备上线并安装该应用,请参阅设备管理和应用管理。