PortDock

MC 프로토콜(SLMP) 프레임 해석기

MC 프로토콜(SLMP) 3E·4E 프레임을 HEX 나 ASCII 로 붙여 넣으면 머리 칸·명령·디바이스·점 수·값·종료 코드를 풀어 줍니다. 요청 프레임 만들기도 함께.

예시

모든 풀이는 이 브라우저 안에서만 하고, 붙여 넣은 내용은 어디에도 보내지 않습니다.

요청 만들기

일괄 읽기·쓰기(0401·1401, 서브명령 0000·0001) 요청을 자기 국(00·FF·03FF·00), 감시 타이머 0010 으로 만듭니다.

자주 묻는 것

이진과 ASCII 는 어떻게 가리나요?

HEX 로 읽혀서 첫 2바이트가 50 00(3E 요청)·D0 00(3E 응답)·54 00(4E 요청)·D4 00(4E 응답)이면 이진으로, 글자가 5000·D000·5400·D400 으로 시작하면 ASCII 로 봅니다. «500000FF…» 처럼 둘 다 될 수 있으면 머리의 데이터 길이 칸이 실제 뒤따르는 길이와 맞는 쪽을 고릅니다. ASCII 프레임을 HEX 로 적은 것(35 30 30 30 …)도 ASCII 로 풉니다.

왜 응답에 디바이스 번호가 없나요?

MC 프로토콜의 응답은 종료 코드 뒤에 값만 싣습니다. 어느 디바이스의 값인지는 짝 요청을 봐야 알 수 있어서, «짝 요청» 칸에 요청을 넣으면 D100·D101 … 처럼 붙여 보여 줍니다. 없으면 16비트 워드로만 나눠 보여 줍니다.

이진에서 03FF 가 FF 03 으로 보입니다

이진 코드는 숫자를 작은 자리 바이트부터 보냅니다(리틀 엔디언). I/O 번호 03FF 는 FF 03, 길이 12 는 0C 00, 명령 0401 은 01 04 입니다. ASCII 코드는 16진 글자를 큰 자리부터 쓰므로 «03FF» 그대로입니다.

«PortDock PLC Simulator 가 답할 종료 코드» 는 무엇인가요?

요청을 PortDock PLC Simulator 의 처리 규칙(점 수 한도·디바이스 코드·데이터 길이)으로 따져 본 결과입니다. 디바이스 크기(점 수)를 넘는 번호(C056)와 «자기 국 요청만 받기»(C05F), 모니터 등록 전의 모니터 실행(C05D, 0.6.0 부터)은 앱 상태에 따라 달라서 여기서는 따지지 않습니다. 실제 PLC 는 기종·설정에 따라 다르게 답할 수 있습니다.

종료 코드 (이 해석기가 설명하는 것)

코드이름PortDock PLC Simulator 가 이 코드로 답하는 경우
C050ASCII 변환 불가ASCII 코드에 16진이 아닌 글자, 10진 디바이스 번호에 A~F
C051점 수 범위 밖(워드)일괄 읽기·쓰기 워드 점 수가 0 이거나 960 초과
C052점 수 범위 밖(비트)일괄 읽기·쓰기 비트 점 수가 0 이거나 이진 7168·ASCII 3584 초과
C053랜덤 점 수 범위 밖(비트)랜덤 쓰기 비트 점 수가 0 이거나 188(서브 0003 은 94) 초과
C054랜덤 점 수 범위 밖(워드)랜덤 읽기·쓰기 워드·더블워드 점 수가 0 이거나 한도 초과
C056주소 범위 밖디바이스 크기(점 수)를 넘는 번호
C057요청 길이 불일치머리의 요청 데이터 길이가 실제 뒤따르는 길이와 다름
C059명령·서브 명령 틀림구현하지 않은 명령·서브 명령
C05B디바이스 지정 틀림모르는 디바이스 코드, 워드 디바이스를 비트 단위로
C05C요청 데이터 틀림루프백 데이터 수가 1~960 밖, 원격 조작의 모드 값이 틀림
C05D모니터 등록 전 실행모니터 등록(0801) 전에 모니터 실행(0802)
C05F접근 대상 틀림다른 국 요청(«자기 국 요청만 받기» 켬)
C060비트 값 틀림비트 쓰기 값이 0·1 이 아님
C061데이터 길이 불일치명령 데이터가 점 수보다 짧거나 김

이름은 MELSEC iQ-R Ethernet User's Manual (Application) SH-081257ENG 3.5 «List of Error Codes» 의 설명을 줄인 것입니다. 어느 조건에 어느 코드를 쓸지는 PortDock PLC Simulator 가 고른 것이며, 실제 PLC·모듈과 다를 수 있습니다.

디바이스 코드

디바이스이름이진 코드번호종류
X입력9C16진비트
Y출력9D16진비트
M내부 릴레이9010진비트
L래치 릴레이9210진비트
F어넌시에이터9310진비트
B링크 릴레이A016진비트
SM특수 릴레이9110진비트
D데이터 레지스터A810진워드
W링크 레지스터B416진워드
R파일 레지스터AF10진워드
ZR파일 레지스터(연번)B016진워드
SD특수 레지스터A910진워드
TS타이머 접점C110진비트
TC타이머 코일C010진비트
TN타이머 현재값C210진워드
CS카운터 접점C410진비트
CC카운터 코일C310진비트
CN카운터 현재값C510진워드

근거

미쓰비시 전기의 공개 매뉴얼(SLMP·MC 프로토콜)을 기준으로 만든 해석기이며, 제휴 관계가 아닙니다.

칸마다 풀이는 가이드 MC 프로토콜 3E 이진 프레임 읽는 법, 종료 코드는 MC 종료 코드 확인 순서 를 보세요.

PLC 없이 자기 프로그램의 통신을 시험하려면 PortDock PLC Simulator — PLC 없이 MC 프로토콜 통신 시험하기.

Wireshark·pktmon 으로 뜬 캡처 파일을 통째로 보려면(요청·응답 짝, 응답 시간, 무응답) 산업 통신 pcap 해석기 를 쓰세요. 표의 행을 누르면 이 해석기로 그 프레임을 넘겨 줍니다.