F-NET 무선 수집값을 Node-RED 흐름으로 다루기 (MQTT)

수집까지 끝냈다면 그다음 질문은 **"이 값으로 무엇을 할 것인가"**입니다. 숫자를 화면에 띄우는 것만으로 끝나는 현장은 많지 않습니다. 기준을 넘으면 알려 줘야 하고, 여러 값을 묶어 판단해야 하고, 단위를 사람이 읽는 형태로 바꿔야 합니다.
이 글은 F-NET으로 무선 수집해 MQTT로 발행한 값을 Node-RED에서 받아 다루는 과정입니다.
무선 수집일 때 흐름 설계에서 달라지는 것
유선이라면 값이 끊기지 않는 것을 전제로 흐름을 짤 수 있습니다. 무선은 그렇지 않습니다. 설비가 돌 때, 제어반 문을 닫을 때, 사람이 앞을 지나갈 때 신호가 흔들립니다.
그래서 Node-RED 쪽에서 값이 한동안 안 들어오는 상황을 흐름에 넣어 두시는 편이 좋습니다.
- 마지막으로 값이 들어온 시각을 기록해 두고
- 일정 시간 넘게 갱신이 없으면 "통신 두절"로 알림
이걸 넣지 않으면 값이 멈춘 것인지 설비가 멈춘 것인지 구분이 안 됩니다. 화면의 숫자가 그대로인 것은 정상일 때와 두절일 때가 똑같이 보입니다.
Step 1. 준비
Node-RED 설치와 F-NET → MQTT 발행이 먼저입니다.



Step 2. PLC 및 EASY-LINK 확인


F-NET 모듈의 통신 속도·국번이 EASY-LINK 설정과 같은지 확인합니다.


발행 토픽을 정확히 적어 두십시오.
Step 3. Node-RED 플로우 구성

MQTT in 노드에 브로커 주소와 토픽을 넣고 debug 노드를 이어 붙입니다.
배포 후 노드 아래 connected가 뜨고 디버그 창에 값이 주기적으로 찍히면 정상입니다.

여기서부터 흐름을 늘려 가시면 됩니다. 자주 쓰는 조합은 다음과 같습니다.
| 목적 | 붙일 노드 |
|---|---|
| 원시 값을 단위로 변환 | function |
| 기준 초과만 통과 | switch |
| 알림 발송 | email · telegram 등 |
| 화면 표시 | dashboard |
| 저장 | MySQL · file |


잘 안 될 때 확인할 것
- connected가 안 뜬다 — 브로커 주소·포트·계정을 확인합니다. Client ID가 다른 장비와 겹치면 서로를 밀어냅니다.
- 값이 띄엄띄엄 들어온다 — 무선 구간 문제일 가능성이 큽니다. 제어반 문을 닫은 상태의 신호 세기를 확인하십시오.
- 특정 시간대에만 끊긴다 — 그 시간에 가동되는 설비나 장비가 전파에 영향을 주는지 살펴보십시오.
- 연결은 됐는데 값이 없다 — 토픽 문자열이 정확히 같은지 확인합니다. 대소문자를 구분합니다.
- 값이 이상한 숫자다 — EASY-LINK 쪽 데이터 타입을 확인합니다.
자주 묻는 질문
C-NET으로 수집한 값과 다루는 방법이 다릅니까? MQTT로 발행된 뒤에는 같습니다. C-NET 버전도 참고하십시오.
통신 두절 알림은 어떻게 만듭니까? 값이 들어올 때마다 시각을 저장해 두고, 별도의 주기 트리거에서 그 시각과 현재를 비교하는 흐름을 만드시면 됩니다.
여러 현장을 한 화면에 모으고 싶습니다. 현장마다 토픽을 나눠 발행하고 Node-RED에서 모두 구독하면 됩니다. 공장 유틸리티 SCADA 적용사례가 그 구성입니다.
도입을 검토하신다면
현장 조건에 맞는 모델 선정이나 프로토콜 적용 가능 여부가 궁금하시면 문의해 주세요. 사용 중인 PLC 기종과 수집하려는 데이터만 알려주시면 구성안을 잡아 드립니다.
- 제품 라인업 살펴보기 — EASY-LOGGER · EASY-LINK · EASY-RELAY · EASY-TEMP
- 도입 문의
- 기술 블로그 전체 글