본문 바로가기

모드버스2

[ JAVA ] 자바로 구현해보는 모드버스의 crc16 체크섬 C로 구현해본데 이어 이번엔 java로 구현해 보았다. 추가로 시리얼모드외에 TCP모드의 프로토콜 생성함수도 포함 ^^. [Java Souce] package hclass.solra; import hclass.util.HtypeCast; /** * MODBUS 통신 프로토콜 * 작정자명: HwangKyuseok(황규석) * 작성일자: 2013.06.011 ~ 06. 18 * 비 고: * 1. Modbus RTU (바이너리) 통신: CRC16 체크섬 생성, 주소생성모듈(시리얼용, TCP/IP용) * *2. 2013.06.18 완료: 현재 펑션코드 0x03 Read Multipe Registers * (워드 단위 입/출력포트 상태읽기) 의 주소 체계만 진행됨 * */ public class Modbus ex.. 2013. 6. 26.
[ 통신 ] Modbus TCP 프로토콜 log분석 ※ Modbus 통신중 시리얼통신 외에 TCP 소켓통신은 CRC 체크섬이 없는 대신 앞쪽 헤더가 더들어간다. ※ 아래 이미지는 모드버스 프로토콜의 TCP/IP용 로그를 캡쳐해서 보관했던 자료입니다. - 각 필드의 간단한 설명 - ○ Transaction identifier (드랙잭션 아이디) : 0x0000부터 매 명령마다 1씩 증가시킨다. 슬레이브(서버)로 동작 할 땐 마스터(클라이언트)가 설정 한 값에 맞게 응답 ○ Protocol identifier : 프로토콜 아이디를 나타내며 0x0000으로 고정 ○ Unit identifier : 유닛 아이디 ○ Lenght: LENGTH 이후부터 해당 프로토콜의 마지막까지의 길이를 나타낸다 (단위 Byte) page 1/3 page 2/3 page 3/3 2013. 6. 18.