https://www.cimetrix.com/blog/secs-gem-series-protocol-layer
SECS/GEM series: Protocol Layer
The SECS/GEM Protocol Layer using HSMS provides an efficient means of exchanging accurate data between the factory host and equipment.
www.cimetrix.com
출처는 위의 링크를 따라가면 나옵니다. 해당 링크의 영문을 한글로 번역기 돌려서 공유합니다.
SECS/GEM 통신과 JSON, XML 비교내용이 디테일하게 설명되어있습니다.
프로토콜 계층은 데이터를 패키징하고 공장 호스트와 장비 GEM 인터페이스간에 안정적으로 전송합니다.
프로토콜 계층 정의
프로토콜 계층은 공장 호스트와 장비 GEM 인터페이스 사이의 와이어를 통해 메시지를 보내는 데 사용되는 전송 기술 및 데이터 패킹 알고리즘을 구현합니다.
SEMI E5 표준 인 SEMI 장비 통신 표준 2 메시지 콘텐츠 (SECS-II)는 데이터로 사용되는 SECS 메시지를 정의하고 전송을 위해 이진 버퍼로 패킹되는 방법을 정의합니다.
SEMI E37 및 E37.1 표준 인 HSMS (High-Speed SECS Message Services)는 TCP / IP 연결을 통해 SECS 메시지를 교환하기위한 프로토콜을 정의합니다. 이것은 SECS / GEM에서 가장 많이 사용되는 전송 기술입니다.
HSMS 프로토콜 스택
SEMI E4 표준 인 SEMI 장비 통신 표준 1 메시지 전송 (SECS-I)은 RS-232를 통해 SECS 메시지를 교환하기위한 메커니즘을 정의합니다. 이것은 일반적으로 구형 장비 또는 EFEM 컨트롤러와 같은 장비 내부의 일부 하드웨어에 사용됩니다.
문서의 나머지 부분에서는 HSMS를 통한 SECS 메시지에 중점을 둡니다.
프로토콜 계층 이점
GEM의 프로토콜 계층은 연결을 유지하고 연결 손실을 감지하여 양쪽 당사자가 스풀링 활성화와 같은 적절한 조치를 취할 수 있습니다 .
프로토콜 계층은 원하는 경우 메시지 전달을 보장하는 핸드 셰이 킹 메커니즘을 정의합니다.
프로토콜 계층 연결은 공장 호스트와 장비 간의 지점 간 연결입니다. 브로드 캐스트 기능이없는 전용 연결입니다. 이렇게하면 네트워크로드를 더 쉽게 예측할 수 있습니다.
데이터 밀도
SECS / GEM은 적은 오버 헤드와 고밀도로 데이터를 전송합니다. 이는 주어진 데이터 세트에 대한 네트워크 대역폭 사용량이 적다는 것을 의미합니다.
설명을 위해 이벤트 보고서의 일반적인 예를 살펴보고 SECS / GEM 메시징을 다소 동등한 XML 및 JSON 메시지와 비교해 보겠습니다.
ID에 대해 부호없는 4 바이트 정수를 사용하는 일반적인 GEM 인터페이스와 8 바이트 부동 소수점 숫자와 4 바이트 정수를 포함 하는 이벤트 보고서 를 사용하십시오. 이 메시지의 예는 E5 당 SECS / GEM 형식과 동등한 JSON 및 XML 형식으로 아래 표에 나와 있습니다.
바이너리 SECS / GEM 메시지는 유선으로 58 바이트, JSON은 약 206 바이트 및 XML 175를 차지합니다. JSON 및 XML 번호는 키 / 요소 이름에 따라 약간 변경 될 수 있으며 위는 가능한 많은 표현 중 하나 일뿐입니다.
예제 메시지에 대한 데이터 밀도 비교를 보여주는 차트는 아래와 같습니다. 실제 데이터 크기는 4 바이트 정수 2 개 + 8 바이트 부동 소수점 숫자 2 개 + 4 바이트 이벤트 ID 1 개 + 4 바이트 보고서 ID 1 개 = 실제 데이터 32 바이트입니다. 오버 헤드는 메시지의 총 바이트 수에서 실제 데이터 크기를 빼서 계산됩니다.
SECS의 데이터 밀도 예제 메시지의 경우 데이터 밀도 백분율이 아래 그래프에 표시됩니다. 데이터 밀도 백분율은 (실제 데이터) / 오버 헤드 * 100으로 계산됩니다.
이제 100 개의 8 바이트 부동 소수점 숫자를 포함하도록 예제 메시지를 변경하면 데이터 밀도 % 그래프가 아래 차트로 변경됩니다. JSON과 XML은 상대적으로 동일하지만 SECS / GEM 데이터 밀도는 78 %로 증가합니다.
SECS / GEM 인코딩은 오버 헤드가 거의 없습니다. 메시지의 오버 헤드는 메시지를 설명하는 헤더의 경우 10 바이트에 메시지 본문 크기의 경우 1-4 바이트입니다. SECS 메시지의 4 바이트 정수 또는 부동 소수점 숫자의 경우 6 바이트가 와이어를 통해 전송되고 정수 값의 경우 4 바이트 + 유형의 경우 1 + 데이터 길이의 경우 1입니다. 마찬가지로 8 바이트 정수 또는 부동 소수점 숫자의 경우 10 바이트가 전송됩니다. 문자열 값의 경우 길이는 문자 수에 2-4 바이트를 더한 값입니다. SECS 메시지에 List (위에서 읽을 수있는 예에서 L)가 나타날 때마다 메시지에 2 ~ 4 바이트가 추가됩니다.
숫자 배열은 SECS / GEM에서 매우 효율적입니다. 배열의 오버 헤드는 유형의 경우 1 바이트에 배열 길이의 경우 1-4 바이트와 기본 크기의 데이터를 더한 것입니다. 예를 들어, 10 개의 4 바이트 정수 배열은 42 바이트, 즉 95 %의 데이터 밀도를 차지합니다!
JSON 예제에서 4 바이트 정수에는 16 바이트 + 정수를 나타내는 데 필요한 문자 수가 필요하므로 17 ~ 28 바이트가 필요합니다. 부동 소수점 숫자는 동일한 오버 헤드이지만 값을 표시하려면 더 많은 문자가 필요할 수 있습니다.
XML에서 오버 헤드는 XML 요소 이름의 크기를 기반으로합니다. 위의 예에서 요소 이름을 사용하면 4 바이트 정수의 경우 와이어 전체의 바이트 수는 정수를 나타내는 데 필요한 9 + 문자 수이므로 10 ~ 21 바이트가됩니다. 부동 소수점 숫자는 값을 나타내는 데 사용되는 문자열 형식화에 따라 다릅니다.
요약하면 와이어 전체의 항목 당 바이트 크기를 살펴보면 SECS / GEM이 매우 밀집되어 있습니다. SECS / GEM이 와이어 전체에 걸쳐 6 바이트이고 JSON 예제가 17 ~ 28이고 XML 예제가 10 ~ 21 바이트 인 4 바이트 정수 예제를 살펴보면 오버 헤드가 실제로 중요한 매개 변수 수를 조정할 때 알 수 있습니다. 300mm 반도체 장비는 프로세스 모듈 당 초당 1000 개의 매개 변수를 호스트로 전송할 것으로 예상됩니다. 2 모듈 장비의 경우 데이터에 대해서만 다음과 같은 바이트 수가 생성됩니다. SECS / GEM을 통한 12K 바이트, JSON의 경우 34K-56K, XML 예제의 경우 20K-42K입니다. 이 숫자는 나머지 메시지의 크기를 고려하지 않고 매개 변수 값과 관련된 실제 부분 만 설명합니다. 해당 데이터가 메시지 당 값이 적은 많은 메시지로 전송되면 네트워크로드가 더욱 악화됩니다. 더 적게,
XML 및 JSON도 사용되는 전송 프로토콜에 따라 오버 헤드에 추가 될 수 있습니다. 예를 들어 XML은 SOAP를 사용하여 HTTP를 통해 전송되는 경우가 많으며, 이는 두 개의 추가 오버 헤드 레이어와 각 메시지에 대해 와이어를 통해 더 많은 바이트를 추가합니다. SECS / GEM에 대해 표시된 바이트 수는 TCP 상단에서 와이어를 통해 전송되는 것입니다. / IP.
데이터 번역 없음
숫자 데이터는 SECS / GEM에서 변환없이 전송됩니다. 숫자는 기본 형식으로 전송됩니다. 예 : 8 바이트 부동 소수점 숫자는 변환, 절단 또는 반올림없이 8 바이트 표현으로 전송됩니다.
JSON 또는 XML과 같은 모든 프로토콜은 이러한 8 바이트 부동 소수점 숫자를 텍스트 표현으로 변환해야합니다. 이것은 인코딩 및 디코딩을위한 컴퓨팅 리소스를 필요로하며 유선을 통해 훨씬 더 많은 바이트를 사용합니다. IEEE754는 8 바이트 부동 소수점 숫자를 문자열로 정확하게 나타 내기 위해 17 개의 십진수가 필요합니다. 부호, 소수점, 지수 및 지수 부호에 대한 문자를 추가하면 21자가됩니다. 이는 SECS / GEM이 전선을 통해 전송하는 것의 두 배 이상입니다.
회로 보증
HSMS는 링크 테스트라는 회로 보증 메커니즘을 정의합니다. 프로토콜 계층에는 활성 메시지 교환이없는 경우 시작되는 타이머가 있습니다. 타이머가 만료 될 때마다 연결이 열려 있는지 확인하기 위해 프로토콜 메시지가 교환됩니다.
보안
HSMS는 보안을 정의하지 않습니다. 연결 당사자에 대한 유효성 검사가 없으며 연결하는 데 자격 증명이나 인증서가 필요하지 않습니다. 데이터는 일반 암호화 알고리즘으로 암호화되지 않습니다. 그러나 데이터는 데이터 패키징 프로세스를 통해 난독 화되며 일반적으로 사람이 읽을 수 없습니다.
공장 네트워크는 외부 세계와 격리되어 있으므로 보안은 일반적으로 문제로 간주되지 않습니다.
결론
HSMS를 사용하는 SECS / GEM 프로토콜 계층은 공장 호스트와 장비간에 정확한 데이터를 교환하는 매우 효율적인 수단을 제공합니다.
'반도체 프로그램 개발 > SECS_GEM' 카테고리의 다른 글
SECS/GEM 시리즈: GEM Control State 에 대해서 (0) | 2021.07.13 |
---|