< 뒤로

Modbus 프로토콜: RTU, ASCII 및 TCP 통신의 기초

1. Modbus란 무엇인가?

Modbus는 제어기와 장치 사이에서 데이터를 교환하는 응용 계층 메시징 프로토콜입니다. RS-485와 RS-232는 전기적 인터페이스이며, Modbus RTU, ASCII 및 TCP는 각 메시지 형식과 전송 방식을 정의합니다. RS-485 인터페이스가 있다는 사실만으로 Modbus 지원을 의미하지는 않습니다.

유체 제어에서는 상태를 읽거나 제어 매개변수를 전달하는 데 사용할 수 있습니다. 지원 여부, 기능 코드 및 레지스터는 해당 제어기 모델의 통신 매뉴얼에서 확인해야 합니다. 이 글은 모든 FOREACH 제품이 이러한 인터페이스를 지원한다고 설명하는 것이 아닙니다.

2. RTU, ASCII 및 TCP는 어떻게 다른가?

커넥터만 보고 통신 모드를 판별할 수는 없습니다. 직렬 장치는 전송 모드, 전송 속도 및 프레임 형식이 일치해야 합니다. TCP에서는 네트워크 설정과 장치 서비스 설정이 호환되어야 합니다.

모드메시지 구조확인 항목
Modbus RTU주소 + 기능 코드 + 데이터 + CRC직렬 통신 설정, 장치 주소 및 프레임 타이밍
Modbus ASCIILRC와 지정된 시작·종료 문자를 사용하는 ASCII 인코딩직렬 통신 설정, 인코딩 및 LRC
Modbus TCPMBAP 헤더 + 기능 코드 + 데이터; RTU용 CRC를 추가하지 않음IP 주소, 포트, 트랜잭션 식별자 및 Unit Identifier

3. 직렬 주소와 요청·응답

직렬 유니캐스트 장치 주소는 1~247입니다. 0은 브로드캐스트이고 248~255는 예약되어 있습니다. 일반적으로 제어기가 유니캐스트 요청을 시작하면 지정된 장치가 응답합니다. 브로드캐스트 쓰기 요청에는 응답하지 않습니다. 주소 필드가 8비트라고 해서 0~255의 모든 값이 유효한 개별 장치 주소인 것은 아닙니다.

이 규칙은 직렬 링크에 적용됩니다. Modbus TCP에는 MBAP 헤더의 Unit Identifier가 있으며, 게이트웨이 라우팅에서의 의미는 구현에 따라 달라집니다. 직렬 주소 규칙을 모든 TCP 설정에 그대로 적용하지 마십시오.

4. 기능 코드와 레지스터 맵을 함께 확인하기

기능 코드는 데이터 유형과 읽기·쓰기 동작을 지정하며, 데이터 필드에는 주소, 수량 또는 값이 들어갑니다. Modbus를 사용하는 두 장치의 레지스터 정의가 반드시 같은 것은 아닙니다.

매뉴얼의 레지스터 번호와 메시지 시작 주소 사이에 오프셋이 있는지 확인하십시오. 여러 레지스터에 걸친 값은 데이터 폭, 부호 유무, 배율, 단위 및 워드 순서를 확인해야 합니다. 속도, 위치 및 액체 부피 값은 서로 바꾸어 사용할 수 없습니다.

방향정상 직렬 유니캐스트 메시지
제어기 → 장치주소 | 기능 코드 | 데이터 | CRC(RTU) / LRC(ASCII)
장치 → 제어기주소 | 기능 코드 | 데이터 | CRC(RTU) / LRC(ASCII)
기능 코드(16진수)동작
01코일 읽기
02이산 입력 읽기
03홀딩 레지스터 읽기
04입력 레지스터 읽기
05단일 코일 쓰기
06단일 레지스터 쓰기
0F여러 코일 쓰기
10여러 레지스터 쓰기
요청·응답 표는 정상적인 직렬 유니캐스트 교환을 설명합니다. 브로드캐스트에는 응답이 없으며, 예외 응답에서는 기능 코드와 데이터의 의미가 다릅니다. TCP는 앞에서 설명한 형식을 사용합니다. 장치가 표에 있는 모든 기능을 구현해야 하는 것은 아닙니다.

5. 유체 제어 장치 시운전

배선과 전원을 먼저 확인하고 통신 설정을 매뉴얼과 일치시키십시오. 알려진 상태를 읽어 장치 주소, 기능 코드 및 데이터의 의미를 확인한 다음, 허용된 매개변수 쓰기와 동작 명령을 시험하십시오.

통신 성공, 명령 수락, 동작 완료 및 실제 토출 부피를 각각 검증하십시오. 쓰기 응답만으로 펌프의 동작 완료를 입증할 수는 없습니다. 시간 초과가 발생하면 분주 명령을 반복하기 전에 상태를 조회하여 중복 분주를 방지하십시오.

요청, 응답, 예외 코드 및 시간 초과 조건을 기록하십시오. 리미트, 원점 복귀, 밸브 상태 및 시퀀스 타이밍을 함께 확인하여 문제를 찾으십시오. 정확한 명령, 주소 및 카운트 단위는 장치 통신 매뉴얼을 따라야 합니다.

참고 자료

이전 글이전 뉴스가 없습니다
다음 글다음 뉴스가 없습니다

통신과 동작을 함께 설계하십시오

제어기 모델, 통신 매뉴얼, 레지스터 맵, 배선 및 필요한 동작 순서를 공유해 주십시오. 통합 전에 인터페이스 지원 여부와 명령 단위를 확인하십시오.