PortDock

MC 프로토콜 3E 이진 프레임 읽는 법 — 머리·명령·디바이스·종료 코드

«50 00 00 FF FF 03 00 0C 00 …» 요청과 응답을 바이트마다 풉니다. 서브헤더·국 정보·길이·감시 타이머·명령·디바이스·종료 코드, 4E·ASCII 와 다른 점.

이 글에서 쓰는 도구PLC Simulator 윈도우 프로그램 · 무료MC 프로토콜(SLMP) 프레임 해석기 웹 · 설치 없음정수·진수 변환기 웹 · 설치 없음

MC 프로토콜(SLMP)의 3E 프레임은 «서브헤더 + 국 정보 + 데이터 길이» 로 시작하고, 요청은 그 뒤에 감시 타이머·명령·서브명령·명령 데이터를, 응답은 종료 코드·응답 데이터를 싣습니다. 이진 코드는 2바이트 이상인 숫자를 작은 자리 바이트부터 보냅니다(리틀 엔디언). 아래는 D100 부터 3워드를 읽는 요청과 그 응답입니다.

요청: D100~D102 일괄 읽기

50 00 00 FF FF 03 00 0C 00 10 00 01 04 00 00 64 00 00 A8 03 00
바이트칸뜻
50 00서브헤더3E 요청
00네트워크 번호00
FFPC 번호FF
FF 03요청 대상 모듈 I/O 번호03FF(작은 자리 먼저)
00요청 대상 모듈 국번00 — 위 넷이 00·FF·03FF·00 이면 연결된 국 자신
0C 00요청 데이터 길이12 바이트 — 감시 타이머부터 끝까지
10 00감시 타이머0x0010 = 16 × 0.25 s = 4 s
01 04명령0401 일괄 읽기
00 00서브명령0000 워드 단위
64 00 00시작 디바이스 번호100(3바이트)
A8디바이스 코드D 데이터 레지스터
03 00디바이스 점 수3 워드

길이 칸 12 는 감시 타이머 2 + 명령 2 + 서브명령 2 + 디바이스 4 + 점 수 2 바이트입니다. 이 값이 실제와 다르면 받는 쪽은 프레임을 제대로 끊지 못하고, PortDock PLC Simulator 는 C057 로 답합니다.

응답: 값 0x1995, 0x1202, 0x1130

D0 00 00 FF FF 03 00 08 00 00 00 95 19 02 12 30 11
바이트칸뜻
D0 00서브헤더3E 응답
00 FF FF 03 00국 정보요청의 값을 그대로 돌려줌
08 00응답 데이터 길이8 바이트 — 종료 코드부터 끝까지
00 00종료 코드0000 완료
95 19D1000x1995 = 6549
02 12D1010x1202 = 4610
30 11D1020x1130 = 4400

응답에는 디바이스 번호가 없습니다. 어느 디바이스의 값인지는 짝이 되는 요청을 보고 압니다.

오류 응답

D0 00 00 FF FF 03 00 0B 00 59 C0 00 FF FF 03 00 01 01 00 00

종료 코드 «59 C0» 는 C059 입니다. 그 뒤 9바이트는 오류 정보로, 요청의 네트워크·PC·I/O·국번(00 FF FF 03 00)과 명령 «01 01»(0101)·서브명령 «00 00» 입니다. 길이 0B 00 = 종료 코드 2 + 오류 정보 9. 여러 요청을 보내는 프로그램은 이 칸으로 어느 요청이 거절됐는지 압니다. 코드마다 볼 곳은 «MC 종료 코드 확인 순서» 에 있습니다.

비트 단위 읽기(서브명령 0001)

M100~M107 8점을 비트 단위로 읽는 명령 데이터는 «01 04 01 00 64 00 00 90 08 00», 응답 데이터는 «00 01 00 11» 입니다. 1점이 4비트이고 앞 점이 위 4비트라서 M100=0, M101=0, M102=0, M103=1, M104=0, M105=0, M106=1, M107=1 입니다. 점 수가 홀수면 마지막 바이트의 아래 4비트는 0 입니다.

비트 디바이스를 워드 단위로(서브명령 0000)

M100 을 워드 단위로 2워드 읽으면 M100~M131, 32점이 옵니다. 1워드가 16점이고 번호가 작은 점이 비트 0 입니다. 응답 «34 12 02 00» 은 M100~M115 = 0x1234, M116~M131 = 0x0002 — 0x1234 의 켜진 비트 2·4·5·9·12 는 M102·M104·M105·M109·M112 가 ON 이라는 뜻입니다.

4E 와 ASCII 는 어디가 다른가

받은 바이트를 직접 풀어 보려면 웹 도구 «MC 프로토콜(SLMP) 프레임 해석기» 에 붙여 넣으세요. 응답과 짝 요청을 함께 넣으면 디바이스마다 값을 붙여 줍니다.

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

근거

작성 2026-10-29