PLC 장치들과 통신을 위해서 만들어졌다. 즉, 이 프로토콜은 마스터 장치와 슬레이브 장치와의 통신을 담당한다. 보통 HMI 장치는 마스터역할을 하고, 센서값을 읽고 액추에이터를 구동하는 것은 슬레이브 장치(PLC)로 구성된다.
모드버스 프로토콜은 아래에 정의되어 있다.
https://modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf
구글 검색했더니 아래내용을 정리할 수 있었다.
1. 모드버스 프로토콜은 MODBUS RTU, MODBUS ASCII, MODBUS TCP 등등 많은 형제 프로토콜을 낳았으나 원조는 MODBUS RTU이다.
2. PLC처럼 Bit 접근과 Word 데이타 접근을 위해서 메모리 블록을 만들었다.
명령어만을 보면 어떤 주소(어떤 블록)을 사용하는지 알 수 있다.
3. 읽기만 가능한 비트 및 워드영역이 있고 읽기/쓰기가 가능한 비트 및 워드영역이 있다.
I.O system에서 접근하는 메모리는 Read-Only이다. PLC의 P메모리는 센서값을 읽고(Discrete Inputs), 액추에이터를 작동(Coils)하는 장치이다. (LS PLC XBCDR20E에서 P00~P11는 Input Port로 사용하고 P40~P47은 Output Port로 사용하고 있다.)
또한 I.O system에서 접근하는 메모리는 워드단위로 사용될 수 있다. 단순히 ON/OFF 가 아닌 물리량, 문자 등도 PLC에 추가 장착하는 카드를 통해서 송/수신 할 수 있다. 그래서 Input Registers라는 것이 필요하다.
4. 패킷과 마스터/슬레이브
패킷형태 : 국번-CODE-길이-데이타-CRC
국번 : 장치번호이다. PLC를 설정하면 항상 장치번호를 셋팅하게 된다.
CODE : <그림1>에서 말하는 명령어이다.
길이 : 데이타의 워드 갯수이다.
데이타 : 주소, 불린, 물리량, 숫자, 문자 일 수 도 있다.
CRC : 체크섬이며 자동 계산된다.
예) 마스터 -> 슬레이브 요청
01-04-1-0-CRC
1번 슬레이브 장치야, Input Register의 0번지 에서 1워드 만큼 나한테 보내!
슬레이브->마스터 응답
XX-YY-2-1234-CRC
XX번 슬레이브 장치야, 값은 1234야. 알아서 잘 써.
(XX와 YY는 본인이 몰라서 ... 그러나 결론은 마스터와 슬레이브는 서로 다른 프로세스를 가지고 동작한다. 하나는 모드버스 마스터이고 다른 하나는 모드버스 슬레이브여야 한다.)
'PLC' 카테고리의 다른 글
PLC 표준언어 (0) | 2022.11.28 |
---|---|
PLC란? (0) | 2022.11.28 |
EasyBuilder Pro의 매크로 (0) | 2022.11.15 |
EasyBuilder Pro의 전역 화면전환 기능 (0) | 2022.11.15 |
PLC의 COM(공통단자)의 의미 (3) | 2022.11.14 |