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

LS PLC Modbus RTU 데이터를 API로 전송하기

LS PLC Modbus RTU 데이터를 API로 전송하기

Modbus RTU를 고르는 이유

LS XGT는 여러 프로토콜을 지원하지만, Modbus RTU는 그중 가장 널리 쓰이는 산업 표준입니다.

C-NET·F-NET은 LS 전용이라 LS PLC끼리는 편하지만, 다른 회사 장비가 섞이면 각각 다른 방식을 써야 합니다. Modbus RTU는 PLC·인버터·전력량계·유량계·온도조절기가 모두 같은 규칙을 쓰므로, 한 라인에 여러 제조사 장비를 섞어 물릴 수 있습니다.

C-NET · F-NETModbus RTU
지원 장비LS 전용제조사 무관
다른 장비와 혼재어려움가능
주소 체계LS 방식Modbus 표준
설정 항목국번·속도국번·속도·펑션 코드

펑션 코드를 먼저 확인하십시오

Modbus에서는 어느 영역을 읽느냐가 펑션 코드로 정해집니다.

펑션대상쓰기
01 · 05Coil (접점 출력)가능
02Discrete Input불가
03 · 06Holding Register가능
04Input Register불가

나중에 원격 제어를 붙일 생각이라면 읽기 전용 영역(02·04)에 값을 두지 마십시오. PLC 프로그램 설계 단계에서 Holding Register로 잡아 두셔야 합니다.

이 글은 Modbus RTU로 수집한 값을 HTTP API로 전송하는 구성입니다.

여러 장비 값을 어떻게 담을 것인가

RS-485 한 라인에서 여러 장비를 읽는다면, 이 값들을 한 요청에 담을지 나눠 보낼지 정하셔야 합니다.

한 요청에 모두 담기 — 요청 수가 적어 받는 쪽 부담이 작습니다. 다만 장비 하나가 응답하지 않으면 그 항목이 빈 채로 나갑니다. 받는 쪽에서 빈 값을 어떻게 처리할지 약속해 두셔야 합니다.

장비별로 나눠 보내기 — 어느 장비가 실패했는지 응답 코드로 바로 알 수 있습니다. 대신 요청 수가 장비 수만큼 늘어납니다.

장비가 서너 대면 한 번에, 그 이상이거나 장비별 상태를 따로 관리해야 하면 나눠 보내는 편이 낫습니다.

시작 전에 확보할 것

받는 쪽 담당자에게 엔드포인트·인증 방식·본문 형식·허용 주기를 받으십시오. 여러 장비를 다룰 때는 각 값을 어떤 키 이름으로 담을지도 함께 정해야 합니다.

Step 1. 준비물

받는 쪽 API 규격을 먼저 확보하십시오.

Step 2. PLC 연결 및 Modbus 설정

RS-485로 연결하고 XG5000에서 Modbus RTU 설정을 잡습니다.

Step 3. EASY-LINK API 설정

통신 프로토콜에서 API를 선택하고 엔드포인트와 인증 정보를 입력합니다.

수집 채널은 Modbus RTU, 통신 속도·국번·펑션 코드와 읽을 주소·개수를 지정합니다.

Step 4. 전송 확인

받는 쪽에서 요청이 도착했는지, 응답 코드가 200인지 확인합니다.

잘 안 될 때 확인할 것

  1. 응답이 없다(Modbus) — 국번·통신 속도·패리티·스톱비트를 확인합니다.
  2. 401 / 403 — 인증 헤더 이름과 값을 규격과 대조합니다.
  3. 400 — 본문 형식이 다릅니다. 받는 쪽에 도착 본문을 확인 요청하십시오.
  4. 일부 항목이 비어서 간다 — 그 장비가 응답하지 않고 있습니다. 국번과 전원을 확인하십시오.
  5. 간헐적으로 실패한다 — 전송 주기를 늘려 보십시오.

자주 묻는 질문

전송 실패한 값은 복구됩니까? API는 그 순간 전달이 원칙입니다. 누락이 곤란하면 MySQL 저장을 병행하십시오.

여러 시스템에 동시에 보내야 합니다. MQTT 발행이 더 적합합니다.


도입을 검토하신다면

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

관련 글

← 목록으로 돌아가기