알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)

secs-II 개념과 데이터 작성 방법 본문

산업용 프로토콜/secs gem 프로토콜 개념

secs-II 개념과 데이터 작성 방법

백곳 2017. 8. 28. 16:01

secs-II 개념


secs-II 개념은 이전 secs-I 강의 에서 



부분중에 C영역에 대한 규약을 정의한 것이 secs-II 프로토콜 입니다. 

 


먼저 secs-II 개념에서는 


이름

내용

stream 

카테코리

Funtion

stream의 세부 내용 Message


2용어가 먼저 나옵니다. 


secs-II 문서를 보면 

기본 카테고리가 정의되어 있고 



Funtion 에 대한 세부 내용이 들어가 있습니다. 


그래서 C영역을 작성 하는것은 



위 부분을 작성 하는것 입니다. 


데이터 작성 기본 규칙 


secs-II 에서 데이터는 header 와 body를 가지고 있습니다. 




Number of length byte,Length byte



빨간색으로 박스친 부분을 같이 봐야합니다. 


number of length byte는 length byte을 하는데 얼마를 사용할 것인가에 대한 이야기 입니다. 


위의 그림의 경우 Length1,Length2,Length3 총 3개를 작성하니


number of length byte 에 3이들어가 합니다 3을 비트로 표현 하면 11 입니다. 


만약에  Length1,Length2 만 사용한다면 2을 비트로 표현 하면 10 입니다. 


length byte 는 Item Body의 바이트 수를 적어 줍니다. 


Item format Code



Item format code 는 secs-II 표준 문서에 




위와 같이 정의 되어 있습니다. 


Item body



item Body 는 Item Format Code에 맞춰 데이터를 적어 주는것입니다. 



example 구조 

TRID,SMPLN,STIME 은 secs-II 문서에 정의 되어 있는 변수 이름입니다. 




RPM01,RPM2는 제가 임의로 설정한 변수 이름입니다.  



Example 데이터 만들기 

그럼 byte 코드는 어떻게 작성 되는지 알아 보겠습니다. 


데이터를 위와 같이 보냈다고 가정했을대 


01 04 B1 04 00 03 92 FA

B1 04 00 01 DD 00 41 09

31 32 33 31 32 33 31 32

33 01 02 41 06 32 33 34

32 33 34 41 09 32 33 34

32 33 34 32 33 34   


와 같은 코드가 만들어 집니다. 


차근 차근 분석 하겠습니다. 


L(4) 영역

01 04 B1 04 00 03 92 FA

B1 04 00 01 DD 00 41 09

31 32 33 31 32 33 31 32

33 01 02 41 06 32 33 34

32 33 34 41 09 32 33 34

32 33 34 32 33 34   

이부분만 작성 한것입니다. 

리스트는 헤더만 있고 데이터는 없는것이 특징입니다. 자식의 갯수만 헤더에 입력해주죠.


<U4 234234> 영역 U4는 4byte unsigned interger 


01 04 B1 04 00 03 92 FA

B1 04 00 01 DD 00 41 09

31 32 33 31 32 33 31 32

33 01 02 41 06 32 33 34

32 33 34 41 09 32 33 34

32 33 34 32 33 34 

주황색은 헤더 빨간색은 Body 입니다.


헤더는 

10010001(0xB1) 

00000100(0x04)


로 만들고 


234234은 hex로 바꾸면 0x0392FA 입니다.


이렇게 데이터를 만들어 줍니다. 


그뒤에 패킷도 분석 해보면 똑같이 문서랑 대조해서 흘러 값니다. 





Comments