이 블로그는 원래 cimetrix.com에 게시되었습니다.
GEM 제어 상태란 무엇인가?
GEM 제어 상태는 E30 GEM의 기본 요구사항 중 하나입니다. 이는 호스트와 장비 간의 협력 수준을 정의하고, 운영자가 호스트 제어의 다양한 수준에서 상호작용할 수 있는 방식을 명시합니다.
반도체 공장에서는 호스트 또는 작업자가 장비 처리를 제어할 수 있습니다. 양측이 동시에 장비를 제어하는 것은 문제를 야기합니다. 한 쪽이 장비를 제어할 때는 다른 쪽이 수행할 수 있는 작업이 제한되어야 합니다. 예를 들어, 작업자가 처리를 일시 중지한 경우 호스트가 처리 재개 명령이나 새 작업 시작 명령을 전송하는 것이 허용되어서는 안 됩니다. GEM 제어 상태는 이러한 유형의 문제가 발생하는 것을 방지하기 위해 제공됩니다.
그림 1: SEMI E30 GEM 제어 상태 모델
제어 상태는 어떻게 작동하나요?
제어 상태는 세 가지 기본 제어 수준을 제공합니다. 각 수준은 호스트 측과 장비 측에서 수행할 수 있는 작업을 설명합니다.
원격
- 호스트는 가능한 한 최대한으로 장비를 제어할 수 있습니다.
- 해당 장비는 현장 운영자의 장비 제어 능력에 제한을 가할 수 있으나, 이는 표준의 요구사항이 아닙니다. 호스트는 장비 현장에서 운영자가 호출하는 예기치 못한 명령을 처리할 수 있어야 합니다.
- GEM 원격 명령어는 호스트가 장비에서 명령어를 호출하는 데 사용됩니다.
지역
- 운영자는 가능한 한 최대한으로 장비를 제어할 수 있습니다.
- 호스트는 정보에 대한 완전한 접근 권한을 가집니다. 호스트는 수집 이벤트, 추적, 상태 데이터 수집과 같은 다른 GEM 기능을 사용하여 데이터를 수집할 수 있습니다.
- 호스트가 장비 운영에 영향을 미칠 수 있는 방식에는 제한이 적용됩니다:
- 처리 시작(예: START) 또는 물리적 움직임을 유발하는 원격 명령은 금지됩니다. 처리 중에는 처리 과정에 영향을 미치는 원격 명령(STOP, ABORT, PAUSE, RESUME) 역시 금지됩니다.
- 다른 원격 명령은 처리를 시작하지 않거나 물리적 움직임을 유발하지 않거나 처리에 영향을 미치지 않는 경우 허용될 수 있습니다.
- 처리 중에는 호스트가 해당 프로세스에 영향을 미치는 장비 상수를 수정하는 것이 금지됩니다.
- 현재 실행 중인 프로세스에 영향을 미치지 않는 장비 상수는 변경될 수 있습니다.
- 모든 장비 상수는 처리 중이 아닐 때 변경 가능합니다.
오프라인
- 운영자는 장비에 대한 완전한 통제권을 가집니다.
- 호스트는 장비 운영을 통제할 수 없으며 정보 수집 능력도 매우 제한적입니다.
- 호스트로부터 장비가 수락하는 유일한 메시지는 다음과 같습니다:
- GEM 통신을 설정하는 데 사용되는 메시지(S1F13/F14).
- 온라인 제어 상태(S1F17)를 활성화하라는 요청이지만, 현재 활성화된 상태가 호스트 오프라인(제어 상태 모델의 전환 #11)인 경우에만 해당됩니다.
- S1F2 온라인 접속 시도 중 "Are You There 응답"
- 장비가 호스트에 전송할 수 있는 유일한 기본 메시지는 다음과 같습니다:
- 통신을 수립하기 위해 사용되는 메시지 (S1F13).
- S9Fx 메시지이지만, 장비의 오프라인 상태에서 일반적으로 응답하는 메시지(즉, S1F13 및 S1F17)에 대한 응답으로만 발생합니다.
- S1F1 "Are You There Request"는 "Attempt ON-LINE" 하위 상태로 진입할 때 호스트에게 전송됩니다. 이 메시지는 온라인 상태(전환 #5)로 전환하기 위한 호스트의 허가를 얻기 위해 사용됩니다.
- 오프라인 상태에서는 메시지가 스풀링되지 않습니다.
제어 상태 모델은 장비 운영자가 호스트보다 상태 기계에 대해 더 많은 제어권을 가질 수 있도록 설계되었습니다. 이는 운영자가 호스트에서 시작된 예상치 못한 상태 변화로부터 보호받도록 합니다.
- 장비 운전자는 운전 인터페이스를 통해 활성화될 온라인 하위 상태를 선택할 수 있습니다. 호스트 측에서는 활성화될 온라인 하위 상태를 선택할 수 없습니다.
- 장비 측에서는 제어 상태 모델을 장비 오프라인 상태(전환 #6)로 전환할 수 있습니다. 이 상태에서는 호스트가 온라인 전환을 요청할 수 없습니다.
- 호스트 측에서는 제어 상태를 호스트 오프라인 상태(전환 #10)로 전환할 수 있으나, 장비 측에서는 이 요청을 거부할 수 있습니다. 호스트 오프라인 상태에서는 장비 측이 항상 먼저 장비 오프라인 상태(전환 #12)로 전환한 후 온라인 상태로 전환 시도(전환 #3)를 통해 온라인 상태로 전환을 시도할 수 있습니다.
운영자 인터페이스 요구사항
해당 장비는 현재 제어 상태를 표시하는 방법을 제공하여 운영자가 장비의 제어권을 누가 가지고 있는지 알 수 있도록 해야 합니다.
해당 장비는 장비 오프라인 상태로의 전환을 시작하기 위한 순간 스위치와, 장비 오프라인 상태에서 온라인 상태로 전환을 시도하기 위한 또 다른 스위치를 제공해야 합니다. 이는 전면 패널의 하드웨어 스위치일 수 있으나, 버튼 컨트롤을 사용하는 소프트웨어로 구현되는 경우가 많습니다.
해당 장비는 운영자가 원하는 온라인 하위 상태(로컬 또는 원격)를 표시할 수 있는 독립적인 2위치 스위치를 제공해야 합니다. 이는 전면 패널의 하드웨어 스위치일 수 있으나, 버튼 컨트롤을 사용한 소프트웨어 방식으로 구현되는 경우가 많습니다. 소프트웨어로 구현된 경우, 설정값은 비휘발성 저장 장치에 저장되어야 합니다.
조건부 상태 전환
제어 상태 모델에서 상태 전환 #1, #2, #4 및 #7은 조건부 상태 전환입니다. 장비 애플리케이션은 전환할 상태를 구성하는 방법을 제공해야 합니다. 이러한 구성 설정에는 장비 상수를 사용할 수 있습니다.
조건부 전환 #1 및 #2는 시작 시 제어 상태 모델의 초기 상태를 결정합니다. 이러한 전환을 제어하는 구성은 다음 상태 중 하나로 설정할 수 있습니다:
- 온라인
- 장비 오프라인
- 온라인 시도
- 호스트 오프라인
조건부 전환 #4는 장비의 온라인 전환 시도가 실패한 후 어떤 상태로 전환할지 결정하는 데 사용됩니다. 구성은 다음 상태 중 하나로 설정할 수 있습니다:
- 장비 오프라인
- 호스트 오프라인
조건부 전환 #7은 제어 상태가 온라인 상태가 될 때 활성화되어야 할 온라인 하위 상태(로컬 또는 원격)를 결정하는 데 사용됩니다. 구성은 다음 온라인 하위 상태 중 하나로 설정할 수 있습니다:
- 지역
- 원격
어떤 메시지가 제어 상태에 사용됩니까?
| 메시지 ID |
방향 |
설명 |
| 시즌1 에피소드1 | Host <- Equipment | 이 메시지는 장비가 온라인 상태로 전환을 시도할 때(“온라인 시도” 상태) 호스트에 전송됩니다. 호스트는 S1F2 응답 메시지를 전송하여 권한을 부여합니다. 호스트는 S1F0을 전송하거나 메시지 전송이 시간 초과되도록 방치함으로써 권한을 거부할 수 있습니다. |
| S1F15 | 호스트 -> 장비 | 호스트는 "호스트 오프라인" 상태에서 온라인 상태로의 전환(전환 #11)을 요청하기 위해 이 메시지를 전송합니다. |
| S1F17 | 호스트 -> 장비 | 호스트는 온라인 상태에서 "호스트 오프라인" 상태로의 전환을 요청하기 위해 이 메시지를 전송합니다(전환 #10). |