Bit Block Write 명령어 실행
PLC 디바이스 메모리를 직접 지정하여 Bit 블럭을 쓰는 기능입니다. 데이터가 최대 16개까지 반복되어 지정되어질 수 있습니다.
그러나, Write하고자 하는 Bit의 전체 개수는 반드시 256Bit를 초과하지 않아야 합니다.
요구 포맷 (PC > PLC)
Bit Block Write (Master 송신)
Cmd – 77h
ID | Frame No. | Cmd | Res. | Length | Data | Check Sum |
ID : 9 Byte로 구성된 문자열
Frame No. : 0 ~ 127 범위의 값을 갖는 1 Byte Data로서, Master 측에서 관리하는 프레임 번호입니다.
Cmd : 1 Byte, 77h (Bit Block Write)
Res. : 1 Byte의 예약 영역 (00h)
Length : Data 영역의 총 Byte 수
Data :
(예) ‘Y0000D’ 부터 4 Bit를 각각 1, 0, 0, 1로 쓰는 경우
Offset (Byte) | 데이터 의미 | 예 | 비 고 |
0 | 주 Device Prefix (ASCII) | ‘Y’ | PLC에서 지원되는 Bit Device의 ASCII Prefix를 지정한다. |
1 | 보조Device Prefix 또는‘0’ (ASCII) | ‘0’ | Prefix가 2 문자로 구성되는 Device인 경우의 보조 Prefix |
2 | Device Address (ASCII) | ‘0’ | 해당 Device의 Bit Address를 지정한다. |
3 | ‘0’ | ||
4 | ‘0’ | ||
5 | ‘0’ | ||
6 | ‘0’ | ||
7 | ‘D’ | ||
8 | Write Size (Bit) | 00h | Bit 수, 0001h ~ 0100h (1~256) 범위의 값 |
9 | 04h | ||
10 | Bit Data | ‘1’ | Bit Value (ASCII, Set=’1’, Reset=’0’) |
11 | Bit Data | ‘0’ | Bit Value (ASCII, Set=’1’, Reset=’0’) |
12 | Bit Data | ‘0’ | Bit Value (ASCII, Set=’1’, Reset=’0’) |
13 | Bit Data | ‘1’ | Bit Value (ASCII, Set=’1’, Reset=’0’) |
Check Sum : 2 Byte의 값으로, 전체 프레임을 Byte 단위로 ‘Binary Sum’을 한 뒤 그 결과값 중 하위 2 Byte를 사용합니다.
응답 포맷
ACK 응답
Master 요구를 정확히 수신해서 정확한 응답을 해준 경우
Master가 쓰기 요청한 Bit Block Write에 대한 요청 프레임
Cmd – 41h
[Data 영역]
Offset (Byte) | 데이터 의미 | 예 | 비 고 |
0 | Error Code | 00h | Error Code (Non Error Code) |
1 | 00h |
NACK 응답
시스템 이상 또는 다른 이유로 인하여 ‘Word Block Write’에 대한 서비스가 이루어 질 수 없는 경우
Cmd – 41h
Error Code를 응답하는 경우 (*Error Code는 전용 서비스Error Code표를 참고)
[Data 영역]
Offset (Byte) | 데이터 의미 | 예 | 비 고 |
0 | Error Code | 00h | Error Code (Bit Write Data 이상) |
1 | 0Dh |