====== 모드버스란 ====== MODPORT는 MODBUS-RTU 프로토콜을 이용해서 상위기기와 통신합니다. MODBUS 란 MODICON 이라는 회사에서 자사의 PLC 를 위하여 개발된 PLC 접속 프로토콜로써, PLC 와 외부기기와의 인터페이스를 위하여 고안된 통신 방식입니다. 산업용 필드버스 분야에서 자주 사용되는 통신 프로토콜입니다. MODBUS-RTU 통신규격에는 마스터와 슬레이브의 역할이 나누어져 있습니다. 슬레이브는 마스터가 물어보는 데이터에 대해 응답을 해줍니다 {{ :modport:modbus란:modbus_modport.png?nolink |}} 주로 마스터에는 산업용터치 HMI 기기, 또는 PC 와 같은 상위 기기가 위치합니다. 그리고 슬레이브에는 MODPORT 나 PLC 등이 위치합니다. 슬레이브는 상위기기에서 원하는 동작만하는 수동적인 위치에 있습니다. 반면 마스터쪽에서는 원하는 데이터를 읽어오거나, 원하는 데이터를 기입하는등 적극적으로 슬레이브 기기를 다루어 주어야 합니다. ===== MODBUS RTU 펑션코드별 동작 ===== MODBUS RTU 규격에는 여러가지 펑션코드가 있지만, MODPORT SLAVE 모드에서는 아래와 같은 펑션코드만 지원합니다. ^펑션코드 (10 진) 동작 ^설명^ |[[.:Modbus_Code1:|Code 1 - Read Coil Status]] |하나의 비트데이터 읽기| |[[.:Modbus_Code3:|Code 3 -Read Holding Registers]] |여러 개의 워드 읽기| |[[.:Modbus_Code5:|Code 5 -Force Single Coil]] |1 비트 쓰기| |[[.:Modbus_Code6:|Code 6 -Preset Single Register]] |1 워드 쓰기| |[[.:Modbus_Code15:|Code 15 -Force Multiple Coils]] |여러 개의 비트 쓰기| |[[.:Modbus_Code16:|Code 16 -Preset Multiple Registers]] |여러 개의 워드 쓰기| MODBUS RTU 에서 Register 는 16 비트 저장공간을 의미합니다. MODBUS 규격에는 16 비트 저장공간도 여러종류가 있습니다. (Holding Register, Input Register) MODPORT 에서는 3 번 펑션코드나, 4 번 펑션코드를 따로 구분을 두지않고 3 번 펑션코드만 사용하기 때문에 하나의 16 비트 저장공간만 사용합니다. 1 비트 저장공간도 마찬가지입니다. Coil Status 와 Input Status 가 있지만 MODPORT 에서는 1 번 펑션코드만 사용합니다 [[modport:index|산업용 필드 I/O MODPORT]]