본문으로 건너뛰기
블로그›2026. 8. 27.

C-NET 수집 데이터를 MySQL에 저장하고 Node-RED로 조회하기

C-NET 수집 데이터를 MySQL에 저장하고 Node-RED로 조회하기

EASY-LINK가 보낸 값은 전용 도구로도 볼 수 있습니다. 다만 보는 것과 쓰는 것은 다릅니다. 값을 조건에 따라 걸러 내거나, 단위를 바꾸거나, 여러 값을 합쳐 계산하려면 별도의 도구가 필요합니다.

Node-RED는 그 자리를 채웁니다. 블록을 선으로 잇는 방식이라 코드를 쓰지 않고도 흐름을 만들 수 있고, 값이 어떻게 흘러가는지 눈으로 확인됩니다.

이 글은 C-NET으로 수집해 MySQL에 저장한 값을 Node-RED에서 꺼내 쓰는 과정입니다.

MQTT 방식과 무엇이 다른가

MQTT는 값이 올 때 흐름이 시작됩니다. 데이터베이스는 반대로 내가 물어봐야 값이 나옵니다.

MQTT in데이터베이스 조회
흐름 시작값이 발행될 때내가 요청할 때
얻는 값지금 값 하나과거 구간 전체
적합한 용도실시간 알림추이·집계·보고서

그래서 이 구성은 "지금 어떤가"보다 "그동안 어땠나"에 답할 때 쓰입니다. 일별 평균, 최댓값, 가동 시간 같은 것들입니다.

Step 1. 준비

Node-RED와 MySQL이 준비돼 있어야 합니다. 설치는 Node-RED 설치 방법, 저장 설정은 C-NET → MySQL 저장을 참고하십시오.

Node-RED에서 MySQL을 쓰려면 팔레트에서 MySQL 노드를 추가해야 합니다. 기본 설치에는 들어 있지 않습니다.

Step 2. PLC 및 EASY-LINK 확인

C-NET 통신 속도·국번이 양쪽에서 같은지 확인합니다.

저장 대상 테이블 이름을 정확히 적어 두십시오. 쿼리에 그대로 들어갑니다.

Step 3. Node-RED 플로우 구성

inject → MySQL → debug 순으로 잇습니다.

  • inject — 조회를 시작하는 방아쇠입니다. 주기를 지정하면 자동 반복됩니다.
  • MySQL — 접속 정보(호스트·포트·계정·DB명)를 입력합니다.
  • debug — 결과를 눈으로 확인합니다.

쿼리는 다음과 같은 형태입니다.

SELECT * FROM 테이블명 ORDER BY id DESC LIMIT 10

LIMIT을 크게 잡으면 매번 많은 행을 읽어 옵니다. 최근 값만 보실 거라면 10~50이면 충분하고, 추이 그래프를 그릴 때만 늘리십시오.

배포하면 지정한 주기마다 조회가 돌아갑니다.

잘 안 될 때 확인할 것

  1. MySQL 노드가 안 보인다 — 팔레트 관리에서 노드를 설치하셔야 합니다.
  2. 접속 오류 — 호스트·포트·계정·DB명을 확인합니다. 원격 접속이 허용돼 있는지도 보십시오.
  3. 테이블이 없다는 오류 — 이름 오타이거나 EASY-LINK가 아직 한 행도 넣지 않았습니다.
  4. 결과가 비어 있다 — 저장이 실제로 되고 있는지 HeidiSQL로 직접 조회해 확인하십시오.
  5. 점점 느려진다 — 테이블이 커졌는데 시간 컬럼에 인덱스가 없을 가능성이 큽니다.

자주 묻는 질문

실시간으로도 보고 싶습니다. MQTT 발행을 병행하시면 실시간과 이력을 함께 가져갈 수 있습니다.

F-NET 버전도 있습니까? F-NET MySQL Node-RED 조회에 정리해 두었습니다.

보고서를 자동으로 만들고 싶습니다. 조회 결과를 가공해 메일로 보내는 흐름을 만들 수 있습니다. 공장 유틸리티 SCADA 적용사례에 실제 구성을 소개했습니다.


도입을 검토하신다면

현장 조건에 맞는 모델 선정이나 프로토콜 적용 가능 여부가 궁금하시면 문의해 주세요. 사용 중인 PLC 기종과 수집하려는 데이터만 알려주시면 구성안을 잡아 드립니다.

관련 글

← 목록으로 돌아가기