[비전검사 심화편 18편] Modbus TCP 연동 완벽 가이드, PLC와 비전 시스템을 쉽고 안정적으로 연결하는 방법
Modbus TCP란?
산업자동화 시스템에서 PLC와 비전검사 시스템을 연결할 때 가장 널리 사용하는 통신 프로토콜 중 하나가 Modbus TCP입니다.
Modbus는 1979년 Modicon에서 개발한 산업용 통신 규격으로, 현재는 제조사에 관계없이 다양한 PLC, HMI, 인버터, 센서, 계측기, 비전 시스템에서 지원하는 사실상의 표준 프로토콜입니다.
특히 구조가 단순하고 구현이 쉬워 중소규모 자동화 설비부터 대규모 스마트팩토리까지 폭넓게 활용되고 있습니다.
이번 글에서는 Modbus TCP의 개념부터 데이터 구조, 연동 방법, 실제 적용 사례까지 실무 중심으로 알아보겠습니다.
Modbus TCP의 특징
Modbus TCP는 일반 Ethernet 네트워크를 기반으로 데이터를 송수신하는 산업용 프로토콜입니다.
주요 특징은 다음과 같습니다.
- 다양한 제조사 장비 지원
- 구현이 비교적 간단
- Ethernet 기반 통신
- PLC와 비전 시스템 간 안정적인 데이터 교환
- 유지보수가 쉬움
- 높은 범용성
Modbus TCP 기본 구성
일반적인 비전 시스템 구성은 다음과 같습니다.
센서 → PLC → 비전 카메라 → 산업용 PC(비전 프로그램) → Modbus TCP → PLC → 설비 제어
비전 시스템은 검사가 완료되면 다음과 같은 정보를 PLC에 전달합니다.
- 검사 완료 신호
- OK / NG 결과
- 측정값
- 제품 번호
- 바코드 데이터
- OCR 결과
- 불량 코드
PLC는 이 데이터를 기반으로 컨베이어, 리젝터, 로봇 등을 제어합니다.
Modbus TCP 통신 구조
Modbus TCP는 Client(Server 요청) / Server(응답) 구조로 동작합니다.
일반적으로
- PLC → Client
- 비전 시스템 → Server
구성으로 많이 사용됩니다.
일부 프로젝트에서는 반대로 구성하기도 하지만, PLC가 데이터를 요청하는 방식이 가장 일반적입니다.
Modbus 데이터 영역 이해하기
Modbus에서는 데이터가 용도에 따라 구분됩니다.
① Coil
1비트 출력 데이터를 저장합니다.
예시
- 촬영 시작
- 리셋
- 검사 명령
② Discrete Input
1비트 입력 데이터를 읽습니다.
예시
- 센서 입력
- 검사 완료
- 에러 발생
③ Input Register
16비트 읽기 전용 데이터입니다.
예시
- 측정값
- 온도
- 위치 정보
④ Holding Register
가장 많이 사용하는 영역입니다.
16비트 읽기/쓰기 모두 가능합니다.
예시
- 검사 결과
- 제품 번호
- 좌표값
- 바코드
- 검사 조건
실무에서는 대부분 Holding Register를 중심으로 데이터를 설계합니다.
PLC와 비전 시스템 연동 절차
1단계. 네트워크 설정
예시
PLC : 192.168.1.10
비전 PC : 192.168.1.20
서브넷 마스크와 게이트웨이도 동일한 네트워크 환경에 맞게 설정합니다.
2단계. Modbus Server 설정
비전 프로그램에서 Modbus Server 기능을 활성화하고 사용할 포트(기본 502)를 설정합니다.
3단계. 레지스터 매핑
예시
| 주소 | 내용 |
| 40001 | 촬영 명령 |
| 40002 | 검사 완료 |
| 40003 | OK/NG 결과 |
| 40004 | 측정값 |
| 40005 | 불량 코드 |
| 40006 | 제품 번호 |
프로젝트 시작 전에 주소 체계를 문서화하면 유지보수가 훨씬 쉬워집니다.
4단계. PLC 프로그램 작성
PLC에서 필요한 레지스터를 읽고 쓰도록 프로그램을 구성합니다.
일반적으로
- 촬영 명령 전송
- 검사 완료 확인
- 결과 읽기
- 다음 제품 처리
순서로 진행됩니다.
5단계. 현장 테스트
다음 항목을 반드시 확인합니다.
- 응답 속도
- 데이터 정확성
- 통신 복구
- 예외 처리
- 장시간 안정성
Modbus TCP의 장점
구현이 쉽다
다양한 PLC와 비전 프로그램에서 기본적으로 지원하여 개발 기간을 단축할 수 있습니다.
제조사 제약이 적다
서로 다른 제조사의 장비도 동일한 프로토콜로 연결할 수 있습니다.
유지보수가 편리하다
레지스터 구조가 단순해 문제 발생 시 원인을 비교적 쉽게 파악할 수 있습니다.
확장성이 좋다
비전 시스템 외에도 HMI, 인버터, 계측기, 센서 등을 함께 연결할 수 있습니다.
Modbus TCP의 한계
- 실시간성이 매우 중요한 제어에는 적합하지 않을 수 있습니다.
- 데이터 구조를 직접 설계해야 합니다.
- 대용량 이미지 전송에는 적합하지 않습니다.
- 네트워크 품질에 따라 응답 시간이 달라질 수 있습니다.
실제 적용 사례
자동차 부품 검사
비전 시스템이 치수 측정 결과를 Holding Register에 저장하고 PLC가 이를 읽어 허용 오차를 벗어난 제품을 자동으로 배출했습니다.
식품 포장 검사
유통기한 OCR 결과와 바코드 판독 결과를 PLC로 전달하여 포장 공정을 자동 제어했습니다.
전자부품 검사
부품 방향과 위치 좌표를 PLC로 전송하고 로봇이 정확한 위치에서 제품을 집어 다음 공정으로 이동시켰습니다.
Modbus TCP 적용 시 체크리스트
- IP 주소 충돌 여부 확인
- 포트 번호(기본 502) 확인
- 레지스터 주소 표준화
- 데이터 형식(INT, UINT, FLOAT) 확인
- 바이트 순서(Byte Order) 확인
- 통신 타임아웃 설정
- 네트워크 장애 대응 로직 구현
- 장시간 연속 운전 테스트 수행
실패 사례
사례 1. 레지스터 주소 오류
비전 프로그램에서는 40003에 검사 결과를 기록했지만 PLC는 40004를 읽도록 설정했습니다. 그 결과 PLC는 잘못된 데이터를 받아 NG 제품을 정상 제품으로 처리했습니다.
교훈: 레지스터 맵을 문서화하고 개발자와 제어 담당자가 동일한 기준으로 관리해야 합니다.
사례 2. 데이터 형식 불일치
비전 시스템은 실수(Float) 데이터를 전송했지만 PLC에서는 정수(Int)로 해석했습니다. 측정값이 비정상적으로 표시되어 품질 문제가 발생했습니다.
교훈: 데이터 형식과 바이트 순서를 프로젝트 초기에 명확히 정의해야 합니다.
사례 3. 통신 장애 대비 부족
일시적인 네트워크 장애가 발생했지만 재접속 로직이 없어 설비가 멈췄습니다. 운영자가 수동으로 프로그램을 재시작해야만 생산을 재개할 수 있었습니다.
교훈: 자동 재연결 기능과 통신 상태 감시 로직을 반드시 구현해야 안정적인 운영이 가능합니다.
자주 묻는 질문(FAQ)
Q1. Modbus TCP와 Modbus RTU의 차이는 무엇인가요?
Modbus TCP는 Ethernet을 사용하고, Modbus RTU는 RS-232 또는 RS-485 시리얼 통신을 사용합니다.
Q2. Modbus TCP는 어떤 PLC에서 사용할 수 있나요?
Mitsubishi, Siemens, LS ELECTRIC, Omron, Schneider Electric 등 대부분의 산업용 PLC에서 지원합니다.
Q3. 대용량 이미지도 Modbus TCP로 전송할 수 있나요?
아닙니다. Modbus TCP는 제어 데이터 전송에 적합하며 이미지 파일 전송에는 적합하지 않습니다.
Q4. Holding Register를 가장 많이 사용하는 이유는 무엇인가요?
읽기와 쓰기가 모두 가능해 검사 결과, 측정값, 제품 번호 등 다양한 데이터를 관리하기에 편리하기 때문입니다.
Q5. Modbus TCP를 사용할 때 가장 중요한 점은 무엇인가요?
레지스터 주소 관리, 데이터 형식 통일, 네트워크 안정성 확보, 예외 처리 로직 구현이 가장 중요합니다.
마무리
Modbus TCP는 구조가 단순하면서도 다양한 장비와 쉽게 연동할 수 있어 산업자동화 분야에서 오랫동안 활용되고 있는 표준 프로토콜입니다. 특히 비전 시스템과 PLC를 연결하는 프로젝트에서는 구현이 쉽고 유지보수가 편리하다는 장점이 있습니다.
성공적인 시스템 구축을 위해서는 단순히 통신을 연결하는 것에 그치지 않고, 레지스터 설계, 데이터 형식, 네트워크 안정성, 장애 복구 전략까지 함께 고려하는 것이 중요합니다.
다음 편에서는 OPC UA 연동을 주제로 스마트팩토리 환경에서 많이 사용하는 보안 중심의 산업용 통신 기술과 실제 적용 사례를 소개하겠습니다.