Skip to Content
공장 데이터 추출IO-Link Collector

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 Collector 앱 보드

이 앱을 사용하는 이유

자동 센서 검색. 앱을 IO-Link 마스터로 향하게 하면 모든 포트를 프로빙하여 어떤 센서가 연결되어 있는지 감지하고 그 디바이스 ID, 벤더 ID, 제품명을 읽습니다. 연결된 각 포트는 자동으로 데이터포인트가 됩니다.

자동 IODD 디코딩 — 매핑 없이 명명되고 스케일링된 값. 이것이 앱이 기본적으로 작동하는 방식입니다. 연결된 모든 센서를 인식하고 그 원시 프로세스 데이터를 완성된 엔지니어링 값으로 스스로 변환합니다 — 공개 IODD Finder에서 센서의 공식 IODD(IO-Link Device Description)를 계정 없이, API 키 없이 조회하고, 각 값을 올바른 이름, 스케일링, 단위로 디코딩합니다. 센서를 연결하면 그 온도가 °C로, 압력이 bar로, 거리가 mm로 그냥 나타납니다. 오프라인 또는 에어갭 게이트웨이의 경우 IODD를 내장 카탈로그에 붙여넣으면 동일한 디코더가 그것을 사용합니다(붙여넣은 IODD는 항상 가져온 것보다 우선합니다).

핫플러그 인식. 센서를 교체하거나, 하나를 분리하거나, 새 것을 추가하면 앱이 자동으로 알아챕니다 — 마스터를 다시 검색하고 재시작 없이 데이터포인트 카탈로그를 업데이트합니다.

중요한 것만 저장. 개별 데이터포인트를 일시 중지하거나, 변경 시 저장(store-on-change)을 켜서 값이 실제로 변경될 때만 기록되도록 하세요 — 잡음이 많거나 빠르게 순환하는 신호가 데이터베이스를 부풀리지 않도록 합니다.

지원 마스터, 전송 방식 및 센서

모든 검색, 핫플러그, IODD/프로세스 데이터 디코딩은 모든 전송 방식에서 공유됩니다; Master Type 설정은 단지 앱이 주어진 마스터에 어떻게 도달하는지만 선택합니다.

전송 방식

Master Type전송 방식API / 소스
ifmHTTP / REST (폴링)ifm IoT Core REST (getdatamulti) — ifm AL-series 및 호환 마스터
iolink_json (기본값)HTTP / REST (폴링)IO-Link Community “JSON for IO-Link” 표준 (/iolink/v1/...)
balluffHTTP / REST (폴링)Balluff 마스터 — JSON for IO-Link 표준을 구현
genericHTTP / REST (폴링)구성 가능한 포트별 REST — HTTP URL을 노출하는 모든 마스터
opcuaOPC UA (구독/푸시)IO-Link 데이터를 노출하는 OPC UA 서버, 예: OPC UA IO-Link Companion Spec
mqttMQTT (구독/푸시)브로커에 게시하는 마스터/게이트웨이, 예: Pepperl+Fuchs ICE2/ICE3

Turck (TBEN / FEN) 마스터는 IO-Link를 이러한 방식이 아니라 Modbus/TCP와 필드버스를 통해 노출합니다 — 그런 경우 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)을 제공하는 것.
  • 자동 포트별 검색: 디바이스 ID, 벤더 ID, 제품명.
  • 자동 재검색을 갖춘 핫플러그 감지 — 재시작 없음.
  • 자동 IODD 디코딩 — IODD Finder에서 키 없는 자동 가져오기와 수동 IODD 붙여넣기 카탈로그(붙여넣은 IODD가 가져온 것보다 우선).
  • 포트별 수동 YAML 디코드 사양 재정의.
  • 디코드 타입: UINT8/16/32, INT8/16/32, FLOAT32, BOOL.
  • 바이트 정렬비트 필드 디코딩 — 예: 측정값과 상태 비트가 하나의 프로세스 데이터 워드에 묶인 경우(IODD 스타일).
  • 값별 선형 스케일링(value = raw × scale + bias) 및 엔지니어링 단위.
  • 디코드가 구성되지 않은 경우 원시 프로세스 데이터(16진수) 패스스루.

보안 및 인증

  • 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를 통해 쿼리하며, 알람 앱을 사용하여 SMS 또는 이메일 알림으로 수집된 값을 실시간으로 모니터링하세요. 장비를 온라인으로 가져오고 앱을 설치하려면 디바이스 관리앱 관리를 참조하세요.

Last updated on