LS PLC Modbus RTU 데이터를 MySQL에 저장하기

Modbus RTU를 고르는 이유
LS XGT는 여러 프로토콜을 지원하지만, Modbus RTU는 그중 가장 널리 쓰이는 산업 표준입니다.
C-NET·F-NET은 LS 전용이라 LS PLC끼리는 편하지만, 다른 회사 장비가 섞이면 각각 다른 방식을 써야 합니다. Modbus RTU는 PLC·인버터·전력량계·유량계·온도조절기가 모두 같은 규칙을 쓰므로, 한 라인에 여러 제조사 장비를 섞어 물릴 수 있습니다.
| C-NET · F-NET | Modbus RTU | |
|---|---|---|
| 지원 장비 | LS 전용 | 제조사 무관 |
| 다른 장비와 혼재 | 어려움 | 가능 |
| 주소 체계 | LS 방식 | Modbus 표준 |
| 설정 항목 | 국번·속도 | 국번·속도·펑션 코드 |
펑션 코드를 먼저 확인하십시오
Modbus에서는 어느 영역을 읽느냐가 펑션 코드로 정해집니다.
| 펑션 | 대상 | 쓰기 |
|---|---|---|
| 01 · 05 | Coil (접점 출력) | 가능 |
| 02 | Discrete Input | 불가 |
| 03 · 06 | Holding Register | 가능 |
| 04 | Input Register | 불가 |
나중에 원격 제어를 붙일 생각이라면 읽기 전용 영역(02·04)에 값을 두지 마십시오. PLC 프로그램 설계 단계에서 Holding Register로 잡아 두셔야 합니다.
이 글은 Modbus RTU로 수집한 값을 MySQL에 저장하는 구성입니다.
여러 장비를 한 테이블에 담을 때
Modbus RTU의 장점은 한 라인에 여러 제조사 장비를 물릴 수 있다는 것입니다. 그런데 이 값들을 어떻게 저장할지는 따로 생각하셔야 합니다.
장비별로 테이블을 나누는 방식 — 구조가 단순하고 항목이 늘어도 서로 영향이 없습니다. 다만 여러 장비를 한꺼번에 조회하려면 조인이 필요합니다.
한 테이블에 장비 구분 컬럼을 두는 방식 — 조회가 편하지만 장비마다 항목 수가 다르면 빈 컬럼이 생깁니다.
장비 수가 적고 항목이 비슷하면 한 테이블, 성격이 다른 장비가 섞여 있으면 나누는 편이 낫습니다.
어느 쪽이든 국번과 컬럼의 대응표는 문서로 남겨 두십시오. 반년 뒤에 "이 컬럼이 몇 번 장비였지"를 알아낼 방법이 그것뿐입니다.
Step 1. 준비물
데이터베이스와 HeidiSQL 같은 관리 도구가 필요합니다.


Step 2. PLC 연결 및 Modbus 설정


RS-485로 연결하고 XG5000에서 Modbus RTU 설정을 잡습니다. 통신 속도·국번을 EASY-LINK와 맞추십시오.


Step 3. EASY-LINK 데이터베이스 설정

통신 프로토콜에서 데이터베이스 저장을 선택하고 접속 정보를 입력합니다.


수집 채널은 Modbus RTU, 펑션 코드와 시작 주소·개수를 지정합니다.

Step 4. 저장 확인
HeidiSQL에서 테이블을 조회해 행이 주기적으로 쌓이는지 확인합니다.
잘 안 될 때 확인할 것
- 응답이 없다 — 국번·통신 속도·패리티·스톱비트를 확인합니다.
- 데이터베이스에 안 들어간다 — 접속 정보와 테이블 존재 여부를 확인합니다.
- 일부 장비 값만 빠진다 — 그 장비의 국번이 겹치거나 전원이 빠졌을 수 있습니다.
- 점점 느려진다 — 시간 컬럼에 인덱스를 걸어 두십시오.
- 행이 군데군데 없다 — 라인에 장비가 많으면 한 바퀴 도는 시간이 길어집니다. 저장 주기를 늘려 보십시오.
자주 묻는 질문
한 라인에 몇 대까지 붙일 수 있습니까? 규격보다는 주기가 한계를 정합니다. 대수가 늘면 순차적으로 읽으므로 한 바퀴 시간이 그만큼 길어집니다.
실시간 감시도 필요합니다. MQTT 발행을 병행하시면 됩니다.
저장한 값으로 화면을 만들려면? EASY DASHBOARD를 참고하십시오.
도입을 검토하신다면
현장 조건에 맞는 모델 선정이나 프로토콜 적용 가능 여부가 궁금하시면 문의해 주세요. 사용 중인 PLC 기종과 수집하려는 데이터만 알려주시면 구성안을 잡아 드립니다.
- 제품 라인업 살펴보기 — EASY-LOGGER · EASY-LINK · EASY-RELAY · EASY-TEMP
- 도입 문의
- 기술 블로그 전체 글