프레임 구조
CIMON PLC Ethernet 모듈의 Application Frame 구조 |
---|
Application Data Format | |
Application Header Format | Application Instruction Format |
Master Frame Format(PC측) |
---|
ID | Frame No. | Cmd | Res. | Length | Data | Check Sum |
항 목 | 크기(Byte) | 내 용 |
ID | 9 | Company ID |
Frame No. | 1 | 프레임 번호 |
Cmd | 1 | 명령어 |
Res. | 1 | 예약 영역 |
Length | 2 | Data 필드의 크기 표시 |
Data | 1456 | Data영역 |
Check Sum | 2 | 데이터의 정확성 검사 |
상세 설명
ID : 9 Byte로 구성된 문자열
Frame NO. : 0 ~ 127 범위의 값을 갖는 1 Byte Data로서, Master 측에서 관리하는 프레임 번호입니다. 번호의 시작은 범위내의 어떤 값이어도 관계없지만, 새로운 프레임을 전송할 때는 반드시 이전 프레임에 부여된 번호에서 ‘1’을 증가한 값이어야 합니다. Slave 측에서는 이전 프레임에 대한 응답 프레임이 전송되지 않은 상태에서 동일한 번호의 프레임이 중복 수신되면 이 프레임은 무시 됩니다.
Cmd : Master에서는 다음의 표와 같은 1 Byte 크기의 명령어를 사용할 수 있으며, 각 명령어에 따라 ‘Data’ 필드의 포맷이 결정됩니다.
Cmd Code | 기 능 | 설 명 |
52h | Word Block Read | 데이터를 WORD 단위로 읽어옵니다. |
57h | Word Block Write | 데이터를 WORD 단위로 씁니다. |
72h | Bit Block Read | 데이터를 BIT 단위로 읽어옵니다. |
77h | Bit Block Write | 데이터를 BIT 단위로 씁니다. |
Res : Reserved. (1 Byte, 00h) – 예약 영역
Length : ‘Data’ 필드의 크기를 표시하는 2 Byte의 값입니다. (16진수)
Check-Sum : 데이터 정확성을 검사하기 위한 용도로 사용되며 데이터를 하나씩 받아들여 합산한 다음 이를 최종적으로 들어온 검사합계와 비교하여 착오가 있었는지 체크합니다.
2 Byte의 값으로, 전체 프레임을 Byte 단위로 ‘Binary Sum’을 한 뒤 그 결과값 중 하위 2 Byte를 사용합니다.
Slave Frame(Ethernet 모듈 측) |
---|
ID | Frame No. | Cmd | Res. | Length | Data | Check Sum |
ID : 9 Byte로 구성된 문자열 KDT_PLC_S
Frame No. : 1 Byte의 데이터로서, Master로부터 수신 된 명령 프레임의 번호에 128을 더한 값을 사용합니다. 이 응답 프레임을 수신한 Master는 명령 프레임에 사용한 프레임 번호로부터 응답 프레임의 프레임 번호를 예상할 수 있으므로, 이것을 이용하여 프레임의 정상 여부를 확인할 수 있습니다.
Cmd : Slave에서는 다음의 표와 같은 1 Byte 크기의 명령어를 사용할 수 있으며, 각 명령어에 따라 ‘Data’ 필드의 포맷이 결정됩니다.
Cmd Code | 기 능 | 설 명 |
52h | Word Block Read | 데이터를 WORD 단위로 읽어옵니다. |
72h | Bit Block Read | 데이터를 BIT 단위로 읽어옵니다. |
41h | ACK Resp. |
|
Res. : Reserved. (1 Byte, 00h) – 예약 영역
Length : ‘Data’ 필드의 크기를 표시하는 2 Byte의 값입니다. (16진수)
Check-Sum : 데이터 정확성을 검사하기 위한 용도로 사용되며 데이터를 하나씩 받아들여 합산한 다음 이를 최종적으로 들어온 검사합계와 비교하여 착오가 있었는지를 체크합니다.
2 Byte의 값으로, 전체 프레임을 Byte 단위로 ‘Binary Sum’을 한 뒤 그 결과값 중 하위 2 Byte를 사용합니다.