Bit Block Read 명령어 실행
PLC 디바이스 메모리를 직접 지정하여 Bit 타입의 블럭을 읽는 기능입니다. 데이터가 최대 16개까지 반복되어 지정될 수 있습니다.
그러나, Read하고자 하는 Bit 데이터 크기의 전체 합은 반드시 1024Bit를 초과하지 않아야 합니다.
요구 포맷 (PC → PLC) |
---|
Bit Block Read (Master 송신)
Cmd – 72h
ID | Frame No. | Cmd | Res. | Length | Data | Check Sum |
ID : 9 Byte로 구성된 문자열
FrameNo : 0 ~ 127 범위의 값을 갖는 1 Byte Data로서, Master 측에서 관리하는 프레임 번호입니다.
Cmd : 1 Byte, 72h (Bit Block Read)
Res. : 1 Byte의 예약 영역 (00h)
Length : Data 영역의 총 Byte 수
Data :
(예) ‘X0000’ 부터 128 Bit를 읽는 경우
Offset (Byte) | 데이터 의미 | 예 | 비 고 |
0 | 주 Device Prefix (ASCII) | ‘X’ | PLC에서 지원되는 Bit Device의 ASCII Prefix를 지정한다. |
1 | 보조 Device Prefix 또는 ‘0’ (ASCII) | ‘0’ | Prefix가 2 문자로 구성되는 Device인 경우의 보조 Prefix (TC, TS, CC, CS 등이 해당됨) |
2 | Device Address (ASCII) | ‘0’ | 해당 Device의 Bit Address를 사용한다. |
3 | ‘0’ | ||
4 | ‘0’ | ||
5 | ‘0’ | ||
6 | ‘0’ | ||
7 | ‘0’ | ||
8 | Read Size (Bit) | 00h | 0001h ~ 0400h (1~1024) 범위의 값 |
9 | 80h |
Check Sum : 2 Byte의 값으로, 전체 프레임을 Byte 단위로 ‘Binary Sum’을 한 뒤 그 결과값 중 하위 2 Byte를 사용합니다.
응답 포맷 |
---|
ACK 응답
Master 요구를 정확히 수신해서 정확한 응답을 해준 경우
Master가 읽기 요청한 Bit Block의 데이터를 전송하는 프레임.
Cmd – 72h
[Data 영역]
Offset (Byte) | 데이터 의미 | 예 | 비 고 |
0 ~ 9 | Block Address | - | Master 프레임에서 지정한 블록의 데이터 부분중 선두 10 Byte가 복사되어 저장된다. |
10 | Bit Data #0 | ‘1’ | Read Block의 첫 번째 Bit Data |
11 | Bit Data #1 | ‘1’ | Read Block의 두 번째 Bit Data |
| |||
m | Bit Data #n |
| Read Block의 마지막 Bit Data |
NACK 응답
시스템 이상 또는 다른 이유로 인하여 ‘Word Block Read’에 대한 서비스가 이루어질 수 없는 경우.
Cmd – 41h
Error Code를 응답하는 경우 (*Error Code는 전용 서비스Error Code표를 참고)
[Data 영역]
Offset (Byte) | 데이터 의미 | 예 | 비 고 |
0 | Error Code | 00h | Error Code (요구 데이터 사이즈 에러) |
1 | 04h |