이 블로그는 원래 cimetrix.com에 게시되었습니다.
배경
인텔의 크리스 말로니와 저는 북미 GEM 300 태스크포스의 공동 리더입니다. 저희는 GEM 기술과 관련된 모든 SEMI 표준에 관한 태스크포스 활동을 주도합니다. 여기에는 수많은 SEMI 표준이 포함됩니다.
APCSM 학회
최근 텍사스주 오스틴에서 열린 APCSM(고급 공정 제어 스마트 제조) 컨퍼런스에 참여하여 GEM 표준에 대해 강의했습니다. 제가 발표한 자료에는 'GEM의 핵심 철학'이라 명명한 내용을 포함시켰습니다. 이는 GEM 기술의 채택과 활용이 증가하는 것을 정당화하는 GEM의 특징들입니다. 이러한 핵심 철학은 다음과 같습니다:
두 가지 구독 등급
장비의 GEM 인터페이스는 메시지 중개자 역할을 하며 그 이상의 기능을 수행합니다. 단순한 메시지 구독 서비스가 아닙니다. 최종 사용자 호스트는 장비에서 전송되는 각 메시지의 내용을 상당히 제어할 수 있습니다. 동일한 GEM 인터페이스가 한 최종 사용자 사이트에서는 더 적고 작은 메시지를 전송하는 반면, 다른 사이트에서는 각 최종 사용자 호스트의 데이터 수집 설정에 따라 더 많고 큰 메시지를 전송할 수 있습니다. 클라이언트가 특정 메시지를 수신하거나 수신하지 않도록 구독만 가능하고 메시지 내용이나 빈도를 제어할 수 없는 일반적인 메시지 브로커 구독 모델과 다음 기능을 비교해 보십시오.
수집 이벤트 보고서는 최종 사용자가 수집 이벤트 메시지 알림을 활성화 및 비활성화할 수 있도록 하며, 이는 일반적인 클라이언트 구독 모델입니다. 두 번째 수준의 구독으로, 최종 사용자는 해당 메시지에 보고되는 데이터도 선택할 수 있습니다.
추적 보고서는 최종 사용자가 추적 보고서 메시지 빈도를 선택할 수 있도록 합니다. 두 번째 수준의 구독으로, 최종 사용자는 해당 메시지에 보고되는 데이터도 선택합니다.

경보 보고서를 통해 최종 사용자는 경보 메시지 알림을 활성화하거나 비활성화할 수 있습니다. 두 번째 구독 수준으로, 최종 사용자는 경보와 연관된 수집 이벤트에 대한 수집 이벤트 보고서 구성도 독립적으로 선택합니다.
적응력
간단하거나 복잡한 모든 제조 장비에는 GEM 인터페이스를 적용할 수 있습니다. GEM 인터페이스의 복잡성은 장비의 복잡성을 반영합니다. 예를 들어, 한 GEM 인터페이스에는 15개의 고유 수집 이벤트가 있을 수 있는 반면, 다른 인터페이스에는 20,000개가 있을 수 있습니다. 한 장비에는 10개의 상태 변수가 있을 수 있는 반면, 다른 장비에는 5,000개가 넘을 수 있습니다.
또한 GEM 인터페이스 내 기술은 충분히 성숙되어 있어 Windows, Linux, PLC 또는 기타 운영 체제를 포함한 모든 장비 플랫폼에 GEM 인터페이스를 구현할 수 있습니다. 놀랍게도 상당수의 장비들이 여전히 Visual Basic 6.0이나 Visual C++ 6.0 같은 구형 소프트웨어 개발 기술을 사용하고 있지만, 이들 역시 GEM을 구현할 수 있습니다. 그리고 네, PLC로 완전히 구현된 장비조차도 직렬 통신이나 TCP/IP를 사용하여 PLC 내부에 최소한의 GEM 인터페이스를 가질 수 있습니다. GEM 표준은 구현 환경이 적합한 기능들을 선택적으로 구현할 수 있도록 허용합니다.
확장성
기존 GEM 인터페이스에 추가 수집 이벤트, 알람 및 변수를 쉽게 추가할 수 있으며, 이로 인해 하위 호환성에 영향을 미치지 않습니다. 또한 새로운 항목이 GEM 인터페이스에 포함되면 최종 사용자 호스트는 원하는 대로 해당 데이터를 사용할 수도 있고 사용하지 않을 수도 있습니다.
또한 서로 다른 출처의 요구사항을 통합하여 하나의 GEM 인터페이스에 통합하는 것입니다. 보다 구체적으로 설명하자면, GEM 인터페이스에 대한 요구사항은 다양한 최종 사용자, GEM 표준 자체, 장비 공급업체 및 추가 표준에서 비롯됩니다. 이러한 모든 출처의 요구사항을 하나의 GEM 인터페이스에 통합하는 것은 상대적으로 쉬운 작업입니다. 그리고 통합된 데이터 수집 기능은 본질적으로 추적 보고서 및 수집 이벤트 보고서에 함께 통합될 수 있습니다.

탑다운 연결성
많은 상황에서 한 장비에 다른 장비의 데이터에 대한 접근 권한을 부여하는 것이 유용할 수 있습니다. 이를 위한 한 가지 가능한 해결책은 장비 간 직접 통신입니다. 그러나 GEM을 사용할 때는 장비 간 직접 연결이 금지되지는 않지만 일반적으로 사용되지 않습니다. 대신 GEM은 상향식 연결 방식을 채택합니다. 즉, 최종 사용자 호스트가 GEM 인터페이스를 통해 한 장비의 정보를 수집한 후, 해당 정보를 하위 장비로 전달하는 방식입니다. 간접적이어서 비효율적으로 보일 수 있지만, 이 상향식 접근법은 공장 현장에 통합하기 더 용이합니다. 그 이유는 다음과 같습니다:
1. 시나리오는 장비에 구애받지 않을 수 있습니다. 장비 간 통신을 검증하는 것은 어려울 수 있습니다. 또한 한 공급업체의 장비를 다른 공급업체의 장비로 쉽게 교체할 수 없습니다. 각 장비는 하나의 호스트 엔티티와만 테스트되어야 합니다.
2. 이는 장비 공급업체가 지원하기 더 쉽습니다. 장비 공급업체는 추가적인 장비 간 통신 프로토콜이 아닌 GEM 인터페이스만 지원하면 됩니다.
3. 이는 최종 사용자에게 더 많은 제어권을 부여합니다. 최종 사용자는 각 장비에서 발생하는 상황을 정확히 기록할 수 있으며, 필요 시 해당 정보를 조작할 수도 있습니다. 장비 간 독립적인 연결은 문제 진단 시 추가적인 복잡성을 야기합니다.

GEM 표준의 흥미로운 변화
몇 주 후, SEMI E30 GEM 표준을 수정하는 제안인 투표안 6572C가 가을 북미 정보 및 제어 위원회(North American Information & Control Committee)에서 심의될 예정입니다. 회의는 2022년 11월 9일 캘리포니아주 밀피타스에 위치한 SEMI 본부에서 개최됩니다. 본 투표안은 수년간 GEM 표준에 제안된 가장 큰 변경 사항을 포함하고 있습니다. 이번이 해당 변경 사항에 대한 네 번째 투표인 만큼, 특히 지난 투표에서 변경안에 대한 강력한 지지가 확인된 점을 고려할 때 변경안이 승인될 가능성이 매우 높습니다. 제안된 변경 사항의 요약은 다음과 같습니다.
프로세스 프로그램 관리
장비 레시피(일명 공정 프로그램) 처리와 관련하여 몇 가지 변경 사항이 제안되었습니다. 가장 큰 변경 사항은 모든 표준 메시지 정의 라이브러리인 SEMI E5(SECS-II) 표준에서 이전에 승인된 Stream 21 SECS-II 메시지를 공식적으로 채택하자는 제안입니다. Stream 21 메시지를 통해 장비는 16.7MB를 초과하는 비정형 공정 프로그램도 장비 간에 전송할 수 있게 됩니다. 이는 GEM 표준에 오랫동안 필요했던 개선 사항으로, 현재는 대형 공정 프로그램을 지원하기 위한 대체 방식을 정의하고 있으나 그 방식이 너무 복잡하여 실제로 구현한 사례가 거의 없습니다.
또한 프로세스 프로그램 관리 섹션은 각 구현 대안을 분리하여 시나리오 집합을 식별하기 쉽게 완전히 재구성되었습니다. 예를 들어, 각 시나리오에 대한 메시지를 요약한 새로운 표는 다음과 같습니다:
표 7 SECS-II 메시지 요약 (각 프로세스 프로그램 관리 옵션별)

GEM 표준의 본문에서 제외된 각 프로세스 프로그램 구현 대안은 부록으로 재배치되었습니다.
레시피 관리가 더 쉽게 이해되고, 더 쉽게 구현되며, 더 적은 노력으로 점점 커지는 공정 프로그램의 규모를 처리할 수 있기를 바랍니다.
추가 새 메시지
투표안 6572C는 또한 새로운 메시지 S2F51부터 F64까지의 추가를 제안합니다. 이 메시지들은 이전에 SEMI E5(SECS-II) 표준에서 승인된 바 있으며, 이제 GEM 표준에 추가될 것을 제안합니다. 이 메시지들은 GEM 인터페이스에 추가적인 투명성을 제공합니다. 새로운 메시지에 대한 간략한 요약은 다음과 같습니다:
| 메시지 | 설명 |
| S2F51 | 장비에 모든 보고서 식별자 목록을 반환하도록 요청합니다. |
| S2F53 | 하나 이상의 보고서 정의 반환 요청 |
| S2F55 | 하나 이상의 수집 이벤트에 대해 연결된 보고서 식별자 목록을 반환하도록 장비에 요청합니다. |
| S2F57 | 보고를 위해 활성화된 모든 수집 이벤트 식별자 목록을 반환하도록 장비에 요청합니다. |
| S2F59 | 스풀링이 활성화될 때마다 스풀링될 스트림 및 함수 목록을 반환하도록 장비에 요청합니다. |
| S2F61 | 장비에 모든 추적 식별자 목록을 반환하도록 요청합니다. |
| S2F63 | 장비에 하나 이상의 추적 정의 목록을 반환하도록 요청합니다. |
이러한 새로운 메시지는 GEM 인터페이스 설정 및 구성을 더욱 투명하게 할 뿐만 아니라, GEM 인터페이스 테스트도 개선할 수 있게 합니다. 예를 들어, 다음과 같은 단계를 따라 GEM 인터페이스를 테스트할 수 있게 될 것입니다:
1. 메시지 S2F33을 사용하여 보고서를 정의합니다.
2. 새 메시지 S2F51을 사용하여 보고서의 존재 여부를 확인합니다.
3. 새 메시지 S2F53을 사용하여 보고서 정의를 확인합니다.
4. 메시지 S2F35을 사용하여 보고서를 수집 이벤트에 연결합니다.
5. 새 메시지 S2F55을 사용하여 보고서 연결을 확인합니다.
6. 메시지 S2F37을 사용하여 수집 이벤트를 활성화합니다.
7. 새 메시지 S2F57을 사용하여 수집 이벤트 활성화 상태 확인
8. 장비에서 연결 해제 후 장비 재시작
9. 새 메시지 S2F51을 사용하여 보고서 존재 여부 확인
10. 새 메시지 S2F53을 사용하여 보고서 정의 확인
11. 새 메시지 S2F55을 사용하여 보고서 연결 확인
12. 새 메시지 S2F57을 사용하여 수집 이벤트 활성화 상태 확인
오늘날 호스트가 GEM 인터페이스에 재연결할 때 데이터 수집을 재정의하는 것이 일반적입니다. 이는 연결이 끊어진 동안 다른 호스트 애플리케이션이 데이터 수집 설정을 변경했을 가능성을 방지하기 위함입니다. 데이터 수집을 재정의하는 대신, 호스트는 데이터 수집이 여전히 동일한지 확인할 수 있습니다.
장비 식별
현재 장비는 GEM 인터페이스를 통해 장비의 소프트웨어 버전과 모델 번호를 사용하여 식별됩니다. 동일한 모델 번호를 가지며 동일한 소프트웨어 버전을 실행 중인 두 장비는 쉽게 구분할 수 없습니다.
몇 가지 새로운 식별 기능이 추가되었습니다.
| E30 장비 공급업체 | 이것은 장비 공급업체를 선정하기 위한 새로운 제안입니다. |
| 장비 일련 번호 | 장비의 일련번호. 이는 수년간 E5 SECS-II 표준의 일부였으나, GEM 표준에서는 요구되지 않았습니다. |
| 장비명 | 운영자 또는 호스트가 할당할 수 있는 이름입니다. 이는 수년간 E5 SECS-II 표준의 일부였으나, GEM 표준에서는 요구되지 않았습니다. |
개선된 장비 식별 기능은 고급 공정 제어 애플리케이션에 도움이 될 것입니다.
문서 접근
GEM 인터페이스 사용 시 흔히 발생하는 어려움 중 하나는 장비에 대한 올바른 문서와 해당 문서의 정확한 버전을 확보하는 것입니다. 본 투표안은 GEM 인터페이스를 통해 GEM 문서를 획득하는 두 가지 방법을 제공하는 것을 제안합니다.
1. 기존 GEM 문서(PDF 또는 CSV 파일)를 다운로드하십시오.
2. GEM 인터페이스를 설명하는 XML 파일인 SEDD 파일을 다운로드하십시오. SEDD는 SECS 장비 데이터 사전(SECS Equipment Data Dictionary)을 의미합니다.
두 경우 모두 문서가 Stream 21 메시지를 사용하여 다운로드되며, 이는 프로세스 프로그램 전송에 사용 가능한 동일한 신규 메시지입니다.
기타 변경 사항
제안된 몇 가지 추가 변경 사항이 있습니다. SEMI는 최근 제한된 편향 용어에 대한 요구사항과 기타 편향 용어에 대한 지침을 채택했습니다. GEM 표준에는 제한된 편향 용어가 포함되지 않았지만 일부 편향 용어가 존재합니다. 해당 투표안은 SEMI 지침에 따라 처리 가능한 편향 용어들을 다룹니다.
GEM 규정 준수 선언문도 GEM 변경 사항을 반영하여 업데이트되었습니다. 새로운 규정 준수 선언문은 다음과 같습니다:
