iconDreamine
← 목록

Dreamine.Gem

stablev1.0.0

타입 기반 Equipment 프로필과 E30-0611 파생 상호운용 부분집합을 제공하는 GEM 런타임.

#dreamine#gem#secs#runtime#equipment
TFM net8.0Package Dreamine.Gem참조 Dreamine.Gem.Abstractions, Dreamine.Secs.Abstractions, Dreamine.Secs.Com
설치 dotnet add package Dreamine.Gem --version 1.0.0

Dreamine.Gem

Dreamine.Gem은 Dreamine SECS-II/HSMS Stack 위에 만든 Code-first GEM Equipment/Host 구현 Surface입니다.

➡️ English Version

상태 경계

범위 상태 Evidence 경계
E30-0611 derived subset profile v1 구현 Surface IMPLEMENTED_UNVERIFIED 동결된 Source 범위이며 적합성 판정이 아닙니다.
로컬 Unit 및 수작업 Wire Fixture Evidence PASS 구조, 상태, ACK, 거부, No-mutation, Correlation을 확인합니다.
로컬 별도 Host/Equipment Process 실제 TCP Evidence PASS 공개 QuickStart가 고정 Dialogue 전체와 명시적 Equipment-origin Direction을 실행합니다.
외부 Simulator 또는 생산 장비 NOT_RUN 로컬 Evidence로 외부·Field 결과를 승격하지 않습니다.
E37.1 적합성 BLOCKED_STANDARD 필요한 라이선스 Revision을 사용할 수 없습니다.

Target Source는 E30-0611과 E5-0813입니다. 최신 Revision 적합성, 인증 또는 외부 상호운용을 주장하지 않습니다.

공개 구현 Surface

  • GemEquipmentProfileBuilder는 검증된 Code-first Equipment Profile을 Freeze하며 CreateContext를 호출할 때마다 격리된 Mutable Runtime 상태를 만듭니다.
  • E30DemoEquipmentProfile.Create()는 고객 장비 의미가 없는 작은 범용 공개 Demo Profile을 제공합니다.
  • E30HostClient는 고정 Host Surface의 형식화된 Call과 Outcome을 제공합니다. E30EquipmentRouter는 정확한 Equipment-side Dispatch와 명시적 Equipment-origin Operation을 담당합니다.
  • E30IdentifierPolicy는 CEID/RPTID/VID/SVID/DVID/ECID/ALID/DATAID별 독립 정수 형식을 보존하며 Raw ACK 값도 관찰할 수 있습니다.
  • HsmsGemTransport는 Application 소유 ISecsMessageSession을 연결합니다. Runtime은 전달받은 Session을 소유하거나 Dispose하지 않습니다.
  • Variable, Constant, Event/Report Snapshot, Alarm, Remote Command, Process Program, Clock, 제한 용량 메모리 Spool 도메인 서비스도 제공합니다. 도메인 서비스의 존재는 Wire 지원을 뜻하지 않습니다.

고정 Dialogue Manifest

정확한 Profile 이름은 E30-0611 derived subset profile v1입니다. 20개 정상 Primary/Secondary Dialogue Definition은 다음과 같습니다.

공개 Demo 실행의 Direction Dialogue
Host Request → Equipment Response S1F1/F2, S1F3/F4, S1F11/F12, S1F13/F14, S1F15/F16, S1F17/F18; S2F13/F14, S2F15/F16, S2F17/F18, S2F29/F30, S2F31/F32, S2F33/F34, S2F35/F36, S2F37/F38, S2F41/F42; S5F3/F4, S5F5/F6; S6F15/F16
Equipment Primary → Host Response S5F1/F2, S6F11/F12

같은 실제 TCP 실행에서 Router의 Typed Operation으로 Equipment-initiated S1F1/F2와 S2F17/F18도 확인합니다. Router는 Equipment-initiated S1F13/F14도 공개합니다. Direction은 명시적이며 20개 Manifest를 모든 Dialogue의 양방향 지원으로 해석하면 안 됩니다.

Code-first Equipment 조립

var profile = E30DemoEquipmentProfile.Create();
var context = profile.CreateContext(new HsmsGemTransport(equipmentSession));

await using var router = new E30EquipmentRouter(
    equipmentSession,
    context,
    new E30EquipmentRouterOptions
    {
        CommandCompletionEvents = new Dictionary<string, ulong>
        {
            [E30DemoEquipmentProfile.StartCommand] =
                E30DemoEquipmentProfile.CommandCompletedEventId
        }
    });

Host Process는 선택한 Profile의 Identifier Policy를 사용합니다.

using var host = new E30HostClient(
    hostSession,
    new E30IdentifierPolicy(profile.IdentifierFormats));

var result = await host.ReadStatusAsync(
    [E30DemoEquipmentProfile.EquipmentStateVariableId],
    cancellationToken);

Session 연결, Select, Dispatcher 수명, 연결 해제는 Application 책임입니다. 별도 Process 명령은 빠른 시작을 참고하십시오.

WPF Demo 선택

공개 WPF Workbench의 기본값 **E30-0611 derived subset profile v1 (Demo)**는 E30DemoEquipmentProfile.Create()E30EquipmentRouter를 사용합니다. 대안 **Educational basic responder (Demo-only, not GEM)**은 일곱 Pair 교육용 Fallback입니다. 선택은 상호 배타적이므로 고정 Router와 Fallback Responder가 동시에 등록되지 않습니다. Workbench README를 참고하십시오.

명시적 제외와 차단된 의미

  • 알 수 없는 RPTID의 S6F19/F20은 BLOCKED_STANDARD입니다.
  • S2F35 Empty Outer-list와 Empty RPTID-list Unlink/Delete Variant는 BLOCKED_STANDARD이며 v1은 상태 변경 없이 Transaction을 종료합니다.
  • S9F1, S9F9, S9F13은 현재 Safe Provider/Router 경계에서 임의 추정 없이 구성하는 데 필요한 Source Context를 제공하지 않으므로 고정 v1에서 INTENTIONALLY_EXCLUDED입니다.
  • Multi-block S2F39/F40·S6F5/F6, Trace, Limits, Wire Spooling, S7 Process Program Wire Service, S10 Terminal Service, Material Handling, Enhanced Remote Command는 INTENTIONALLY_EXCLUDED입니다.

알려진 제한, 요구사항 추적표, 공개 API Review를 참고하십시오.

라이선스

MIT.

구조 다이어그램

flowchart LR
    Runtime["Dreamine.Gem"] --> Contracts["Dreamine.Gem.Abstractions"]
    Runtime --> SecsContracts["Dreamine.Secs.Abstractions"]
    Runtime --> SecsCom["Dreamine.Secs.Com"]
    SecsCom --> SecsContracts

API 문서

타입

E30AlarmData

\if KO 알람 wire 데이터입니다. \endif \if EN Represents alarm wire data. \endif

E30CallOutcome

\if KO wire 요청 결과의 종료 형태입니다. ACK 승인과 명령 완료를 혼동하지 않습니다. \endif \if EN Defines how a wire request ended without conflating ACK acceptance with command completion. \endif

E30CallResult`1

\if KO typed 값, raw ACK, timeout·취소를 함께 노출하는 host 호출 결과입니다. \endif \if EN Represents a host call result that exposes its typed value, raw ACK, timeout, and cancellation outcome. \endif

E30CapabilityDisposition

\if KO E30-0611 파생 부분 프로필의 기능 판정입니다. 표준 적합성 판정이 아닙니다. \endif \if EN Describes a capability disposition in the E30-0611 derived subset profile; it is not a standards-conformance verdict. \endif

E30CapabilityEntry

\if KO 하나의 E30 파생 기능과 근거 제한을 설명합니다. \endif \if EN Describes one E30-derived capability and its evidence boundary. \endif

E30CommandParameter

\if KO 명령 매개변수입니다. \endif \if EN Represents a command parameter. \endif

E30DemoEquipmentProfile

\if KO 공개 샘플과 Workbench가 함께 사용하는 작고 범용적인 Demo 장비 프로필입니다. 고객 장비 의미를 포함하지 않으며 SEMI/GEM 적합성을 주장하지 않습니다. \endif \if EN Provides the small generic Demo equipment profile shared by the public sample and Workbench. It contains no customer-equipment semantics and makes no SEMI/GEM conformance claim. \endif

E30DerivedSubsetManifest

\if KO 동결된 E30-0611 파생 부분 프로필 v1의 대화 목록과 명시적 제외 목록입니다. \endif \if EN Exposes the dialogue catalog and explicit exclusions for the frozen E30-0611 derived subset profile v1. \endif

E30Dialogues

\if KO E30-0611 파생 부분 프로필 v1에서 사용하는 정상 SECS 대화 정의입니다. \endif \if EN Defines the normal SECS dialogues used by the E30-0611 derived subset profile v1. \endif

E30EquipmentConstantName

\if KO 장비 상수 이름 응답 한 항목입니다. \endif \if EN Represents one equipment-constant name response entry. \endif

E30EquipmentRouter

\if KO provider-neutral session의 exact dispatcher에 E30-0611 파생 부분 프로필 v1 장비 대화를 연결합니다. 표준 적합성 주장이 아닙니다. \endif \if EN Connects E30-0611 derived subset profile v1 equipment dialogues to a provider-neutral session's exact dispatcher; this is not a standards-conformance claim. \endif

E30EquipmentRouterOptions

\if KO E30 장비 router의 bounded queue와 single-block 경계를 설정합니다. \endif \if EN Configures the bounded queue and single-block boundary of an E30 equipment router. \endif

E30EventLink

\if KO ordered RPTID 목록을 보존하는 event link입니다. \endif \if EN Represents an event link preserving ordered RPTID values. \endif

E30EventReport

\if KO S6F11/F16 event report의 typed 표현입니다. \endif \if EN Represents a typed S6F11/F16 event report. \endif

E30HostClient

\if KO provider-neutral session 위에서 동결 E30-0611 파생 부분 프로필 v1 대화를 제공하는 typed host client입니다. 표준 적합성 주장이 아닙니다. \endif \if EN Provides typed host dialogues for the frozen E30-0611 derived subset profile v1 over a provider-neutral session; this is not a standards-conformance claim. \endif

E30HostCommandAcknowledgement

\if KO HCACK와 매개변수별 CPACK를 분리해 보존합니다. \endif \if EN Preserves HCACK separately from per-parameter CPACK values. \endif

E30IdentifierFormat

\if KO E30 파생 프로필 ID에 사용하는 고정 무부호 정수 형식입니다. \endif \if EN Defines a fixed unsigned-integer representation for E30-derived identifiers. \endif

E30IdentifierPolicy

\if KO wire ID 계열별 고정 형식을 선택합니다. 동일한 컨텍스트에서 형식 추측을 허용하지 않습니다. \endif \if EN Selects a fixed wire format per identifier family and prevents per-message format guessing in one context. \endif

E30PeerIdentity

\if KO peer의 MDLN과 SOFTREV입니다. \endif \if EN Represents a peer's MDLN and SOFTREV. \endif

E30RejectedCommandParameter

\if KO 거부된 명령 매개변수와 raw CPACK입니다. \endif \if EN Represents a rejected command parameter and its raw CPACK. \endif

E30ReportDefinition

\if KO ordered VID 목록을 보존하는 report 정의입니다. \endif \if EN Represents a report definition preserving ordered VID values. \endif

E30ReportValues

\if KO 한 report의 ordered 값 목록입니다. \endif \if EN Represents the ordered values in one report. \endif

E30StatusVariableName

\if KO 상태 변수 이름 응답 한 항목입니다. \endif \if EN Represents one status-variable name response entry. \endif

E30WireCodec

\if KO E5-0813 구조를 사용하는 E30-0611 파생 부분 프로필 v1 body codec입니다. \endif \if EN Encodes and decodes the E30-0611 derived subset profile v1 bodies using E5-0813 structures. \endif

E30WireFormatException

\if KO 동결 E30 파생 구조와 맞지 않는 body를 나타냅니다. \endif \if EN Indicates that a body does not match a frozen E30-derived structure. \endif

GemAlarmService

\if KO 알람 설정과 보고 활성화를 독립적으로 관리합니다. \endif \if EN Manages alarm set state independently from reporting enablement. \endif

GemAssemblyMarker

\if KO Dreamine GEM 구현 어셈블리를 검색하거나 등록할 때 사용하는 표식입니다. \endif \if EN Marks the assembly boundary used to discover or register Dreamine GEM implementations. \endif

GemClockService

\if KO 시스템 시계를 변경하지 않고 논리 오프셋을 적용하는 GEM 시계입니다. \endif \if EN Provides a GEM clock using a logical offset without changing the system clock. \endif

GemCommunicationStateMachine

\if KO E30 통신 상태와 통신 수립 하위 상태를 직렬화합니다. \endif \if EN Serializes E30 communication and establishment state transitions. \endif

GemControlStateMachine

\if KO E30 장비 제어 상태 전이를 직렬화합니다. \endif \if EN Serializes E30 equipment-control transitions. \endif

GemEquipmentConstantService

\if KO 검증 가능한 스레드 안전 장비 상수 저장소입니다. \endif \if EN Provides a validated, thread-safe equipment-constant store. \endif

GemEquipmentContext

\if KO frozen 프로필과 context-local GEM 런타임을 묶습니다. \endif \if EN Associates a frozen profile with a context-local GEM runtime. \endif

GemEquipmentProfile

\if KO E30-0611에서 파생한 명시적 subset v1의 불변 장비 프로필입니다. 전체 GEM 적합성 선언이 아닙니다. \endif \if EN Represents an immutable equipment profile for the explicit E30-0611-derived subset v1; it is not a full GEM conformance declaration. \endif

GemEquipmentProfileBuilder

\if KO E30-0611 파생 subset v1 프로필을 코드 우선으로 구성하고 한 번 freeze합니다. \endif \if EN Builds and freezes an E30-0611-derived subset-v1 profile through a code-first API. \endif

GemEventReportService

\if KO 동적 보고서 연결과 이벤트 데이터 수집을 관리합니다. \endif \if EN Manages dynamic report links and event data collection. \endif

GemProcessingStateMachine

\if KO E30 장비 처리 상태 전이를 직렬화합니다. \endif \if EN Serializes E30 equipment-processing transitions. \endif

GemProcessProgramService

\if KO 불투명 PPBODY를 방어적으로 복사하는 메모리 공정 프로그램 저장소입니다. \endif \if EN Provides an in-memory process-program store with defensive PPBODY copies. \endif

GemProtocolEngine

\if KO E30-0611 근거의 S1 통신 수립·온라인 식별 시나리오를 처리합니다. 다른 GEM Stream/Function은 이 클래스가 지원한다고 주장하지 않습니다. \endif \if EN Handles E30-0611-based S1 communication-establishment and online-identification scenarios; it does not claim support for other GEM stream/functions. \endif

GemRemoteCommandService

\if KO 취소와 주입 시간 기반 제한 시간을 지원하는 원격 명령 서비스입니다. \endif \if EN Provides remote commands with cancellation and injected-time timeouts. \endif

GemRuntime

\if KO GEM의 독립 상태 모델과 기능별 서비스를 조립하는 런타임입니다. 전송 연결의 소유권은 호출자에게 있습니다. \endif \if EN Composes independent GEM state models and feature services; the caller owns the transport connection. \endif

GemSpoolService

\if KO 제한 용량 FIFO 메모리 스풀입니다. 영속 저장소나 완전한 wire 시나리오를 주장하지 않습니다. \endif \if EN Provides a bounded FIFO memory spool without claiming persistent storage or complete wire scenarios. \endif

GemVariableCatalog

\if KO 스레드 안전 GEM 변수 카탈로그입니다. \endif \if EN Provides a thread-safe GEM variable catalog. \endif

HsmsGemTransport

\if KO provider-neutral 을 GEM 메시지 전송 경계에 연결하며 기존 생성자와 호환됩니다. \endif \if EN Adapts a provider-neutral to the GEM message transport boundary while retaining the legacy constructor. \endif

E30AlarmData

#ctor Method

\if KO 알람 wire 데이터입니다. \endif \if EN Represents alarm wire data. \endif

E30CallOutcome

Canceled Field

\if KO 호출이 취소되었습니다. \endif \if EN The call was canceled. \endif

Completed Field

\if KO 정상 Secondary를 수신했습니다. \endif \if EN A normal secondary was received. \endif

FunctionZero Field

\if KO 원격 측이 Function 0으로 transaction을 종료했습니다. \endif \if EN The peer terminated the transaction with Function 0. \endif

Malformed Field

\if KO 정상 Secondary의 구조가 동결 프로필과 맞지 않습니다. \endif \if EN The normal secondary did not match the frozen profile structure. \endif

NotSent Field

\if KO 상태 또는 보고 정책 때문에 wire 메시지를 전송하지 않았습니다. \endif \if EN No wire message was sent because state or reporting policy suppressed it. \endif

TimedOut Field

\if KO transaction 제한 시간이 만료되었습니다. \endif \if EN The transaction timed out. \endif

E30CallResult`1

Complete Method

\if KO 정상 결과를 만듭니다. \endif \if EN Creates a completed result. \endif

CompleteWithAck Method

\if KO 값 없는 정상 ACK 결과를 만듭니다. \endif \if EN Creates a completed ACK result without a separate value. \endif

Ended Method

\if KO 비정상 종료 결과를 만듭니다. \endif \if EN Creates a non-normal outcome. \endif

Acknowledgement Property

\if KO 메시지에 ACK가 있을 때의 raw 한 바이트 값입니다. \endif \if EN Gets the raw one-byte ACK when the dialogue contains one. \endif

Error Property

\if KO bounded 일반 오류 설명입니다. \endif \if EN Gets a bounded generalized error description. \endif

HasNormalSecondary Property

\if KO 정상 Secondary 수신 여부입니다. raw ACK 0 여부와는 독립적입니다. \endif \if EN Gets whether a normal secondary was received, independently of whether a raw ACK is zero. \endif

IsAcknowledged Property

\if KO raw ACK가 0인지 나타냅니다. \endif \if EN Gets whether a present raw ACK is zero. \endif

Outcome Property

\if KO 종료 형태입니다. \endif \if EN Gets the call outcome. \endif

Value Property

\if KO 정상 typed 결과입니다. \endif \if EN Gets the normal typed value. \endif

E30CapabilityDisposition

BlockedBoundary Field

\if KO 현재 provider/router 관찰 경계에서 필요한 원본 문맥을 얻을 수 없어 차단되었습니다. \endif \if EN Blocked because the current provider/router observation boundary does not expose the required original context. \endif

BlockedStandard Field

\if KO 현재 보유 표준 근거만으로 의미를 닫을 수 없어 차단되었습니다. \endif \if EN Blocked because the available standards evidence does not close the required semantics. \endif

Implemented Field

\if KO 로컬 구조·상태·loopback 검증 범위에서 구현되었습니다. \endif \if EN Implemented within the local structural, state, and loopback verification boundary. \endif

ImplementedUnverified Field

\if KO 구현되었으나 독립 외부 검증이 남아 있습니다. \endif \if EN Implemented while independent external verification remains outstanding. \endif

IntentionallyExcluded Field

\if KO 동결된 v1 범위에서 의도적으로 제외되었습니다. \endif \if EN Intentionally excluded from the frozen v1 scope. \endif

E30CapabilityEntry

#ctor Method

\if KO 기능 항목을 만듭니다. \endif \if EN Creates a capability entry. \endif

Disposition Property

\if KO 구현 판정입니다. \endif \if EN Gets the implementation disposition. \endif

Name Property

\if KO 기능 이름입니다. \endif \if EN Gets the capability name. \endif

Rationale Property

\if KO 판정 근거와 제한입니다. \endif \if EN Gets the rationale and limitation. \endif

E30CommandParameter

#ctor Method

\if KO 명령 매개변수입니다. \endif \if EN Represents a command parameter. \endif

E30DemoEquipmentProfile

Create Method

\if KO 불변이며 여러 장비 context에서 공유 가능한 Demo 프로필을 반환합니다. \endif \if EN Returns the immutable Demo profile that can be shared by multiple equipment contexts. \endif

AlarmId Field

\if KO Demo ALID입니다. \endif \if EN Gets the Demo ALID. \endif

BatchSizeConstantId Field

\if KO Demo batch 크기 ECID입니다. \endif \if EN Gets the Demo batch-size ECID. \endif

CommandCompletedEventId Field

\if KO 원격 명령 완료 CEID입니다. \endif \if EN Gets the remote-command-completion CEID. \endif

CompletedCountVariableId Field

\if KO 완료 횟수 DVID입니다. \endif \if EN Gets the completed-count DVID. \endif

EquipmentStateVariableId Field

\if KO 장비 상태 SVID입니다. \endif \if EN Gets the equipment-state SVID. \endif

ProfileName Field

\if KO Demo 프로필 이름입니다. \endif \if EN Gets the Demo profile name. \endif

StartCommand Field

\if KO Demo 원격 명령 이름입니다. \endif \if EN Gets the Demo remote-command name. \endif

StatusEventId Field

\if KO 상태 CEID입니다. \endif \if EN Gets the status CEID. \endif

StatusReportId Field

\if KO 기본 RPTID입니다. \endif \if EN Gets the default RPTID. \endif

E30DerivedSubsetManifest

Capabilities Property

\if KO 구현·차단·제외 상태의 불변 목록입니다. \endif \if EN Gets the immutable capability disposition list. \endif

IncludedDialogues Property

\if KO 정상 인접 Secondary를 갖는 포함 대화의 불변 목록입니다. \endif \if EN Gets the immutable list of included dialogues with adjacent normal secondaries. \endif

ProfileName Field

\if KO 표준 적합성 주장이 아닌 동결 프로필 이름입니다. \endif \if EN Gets the frozen profile name, which is not a standards-conformance claim. \endif

E30Dialogues

S1F1 Property

\if KO S1F1/F2 대화입니다. \endif \if EN Gets the S1F1/F2 dialogue. \endif

S1F11 Property

\if KO S1F11/F12 대화입니다. \endif \if EN Gets the S1F11/F12 dialogue. \endif

S1F13 Property

\if KO S1F13/F14 대화입니다. \endif \if EN Gets the S1F13/F14 dialogue. \endif

S1F15 Property

\if KO S1F15/F16 대화입니다. \endif \if EN Gets the S1F15/F16 dialogue. \endif

S1F17 Property

\if KO S1F17/F18 대화입니다. \endif \if EN Gets the S1F17/F18 dialogue. \endif

S1F3 Property

\if KO S1F3/F4 대화입니다. \endif \if EN Gets the S1F3/F4 dialogue. \endif

S2F13 Property

\if KO S2F13/F14 대화입니다. \endif \if EN Gets the S2F13/F14 dialogue. \endif

S2F15 Property

\if KO S2F15/F16 대화입니다. \endif \if EN Gets the S2F15/F16 dialogue. \endif

S2F17 Property

\if KO S2F17/F18 대화입니다. \endif \if EN Gets the S2F17/F18 dialogue. \endif

S2F29 Property

\if KO S2F29/F30 대화입니다. \endif \if EN Gets the S2F29/F30 dialogue. \endif

S2F31 Property

\if KO S2F31/F32 대화입니다. \endif \if EN Gets the S2F31/F32 dialogue. \endif

S2F33 Property

\if KO S2F33/F34 대화입니다. \endif \if EN Gets the S2F33/F34 dialogue. \endif

S2F35 Property

\if KO S2F35/F36 대화입니다. \endif \if EN Gets the S2F35/F36 dialogue. \endif

S2F37 Property

\if KO S2F37/F38 대화입니다. \endif \if EN Gets the S2F37/F38 dialogue. \endif

S2F41 Property

\if KO S2F41/F42 대화입니다. \endif \if EN Gets the S2F41/F42 dialogue. \endif

S5F1 Property

\if KO S5F1/F2 대화입니다. \endif \if EN Gets the S5F1/F2 dialogue. \endif

S5F3 Property

\if KO S5F3/F4 대화입니다. \endif \if EN Gets the S5F3/F4 dialogue. \endif

S5F5 Property

\if KO S5F5/F6 대화입니다. \endif \if EN Gets the S5F5/F6 dialogue. \endif

S6F11 Property

\if KO S6F11/F12 대화입니다. \endif \if EN Gets the S6F11/F12 dialogue. \endif

S6F15 Property

\if KO S6F15/F16 대화입니다. \endif \if EN Gets the S6F15/F16 dialogue. \endif

E30EquipmentConstantName

#ctor Method

\if KO 장비 상수 이름 응답 한 항목입니다. \endif \if EN Represents one equipment-constant name response entry. \endif

E30EquipmentRouter

#ctor Method

\if KO isolated profile context를 nonzero Session ID의 장비 session에 연결합니다. session 소유권은 호출자에게 있습니다. \endif \if EN Connects an isolated profile context to an equipment session with a nonzero Session ID; session ownership remains with the caller. \endif

AreYouThereAsync Method

\if KO 장비 주도 S1F1/F2로 host 존재를 확인하고 선택적 식별 정보를 읽습니다. \endif \if EN Performs equipment-initiated S1F1/F2 to verify host presence and read optional identity data. \endif

DisposeAsync Method

\if KO exact registrations와 bounded command worker를 종료합니다. session은 폐기하지 않습니다. \endif \if EN Stops exact registrations and the bounded command worker without disposing the session. \endif

EstablishCommunicationsAsync Method

\if KO 장비 주도 S1F13/F14를 수행하고 communication state를 갱신합니다. \endif \if EN Performs equipment-initiated S1F13/F14 and updates communication state. \endif

GetEventLinks Method

\if KO 현재 context-local event/report link 스냅샷을 반환합니다. \endif \if EN Returns the current context-local event/report-link snapshot. \endif

GetReportDefinitions Method

\if KO 현재 context-local wire report 정의 스냅샷을 반환합니다. \endif \if EN Returns the current context-local wire report-definition snapshot. \endif

PublishAlarmChangeAsync Method

\if KO enabled alarm 상태 변경을 S5F1/F2로 먼저 보고한 뒤 선택적 S6F11/F12 event를 보냅니다. \endif \if EN Reports an enabled alarm change with S5F1/F2 before sending an optional S6F11/F12 event. \endif

PublishEventAsync Method

\if KO enabled CEID의 single-block S6F11/F12를 전송합니다. \endif \if EN Sends a single-block S6F11/F12 for an enabled CEID. \endif

ReadHostTimeAsync Method

\if KO 장비 주도 S2F17/F18로 host UTC 시각을 읽습니다. \endif \if EN Reads host UTC time with equipment-initiated S2F17/F18. \endif

E30EquipmentRouterOptions

CommandCompletionEvents Property

\if KO 명령 이름별 완료 CEID입니다. 명령 승인 HCACK와 별도로 실행 후 발생합니다. \endif \if EN Gets completion CEIDs by command name; they are emitted after execution separately from acceptance HCACK. \endif

CommandQueueCapacity Property

\if KO 명령 실행 queue 용량입니다. \endif \if EN Gets the command-work queue capacity. \endif

CommandTimeout Property

\if KO 한 명령 실행 제한 시간입니다. \endif \if EN Gets the execution timeout of one command. \endif

MaximumSingleBlockBodyBytes Property

\if KO v1에서 허용하는 단일 block body 최대 바이트 수입니다. \endif \if EN Gets the maximum single-block body size permitted by v1. \endif

E30EventLink

#ctor Method

\if KO event link를 만듭니다. \endif \if EN Creates an event link. \endif

CollectionEventId Property

\if KO CEID입니다. \endif \if EN Gets the CEID. \endif

ReportIds Property

\if KO 순서를 보존한 RPTID 목록입니다. \endif \if EN Gets the ordered RPTID list. \endif

E30EventReport

#ctor Method

\if KO event report를 만듭니다. \endif \if EN Creates an event report. \endif

CollectionEventId Property

\if KO CEID입니다. \endif \if EN Gets the CEID. \endif

DataId Property

\if KO DATAID입니다. \endif \if EN Gets the DATAID. \endif

Reports Property

\if KO 정의 순서의 report 목록입니다. \endif \if EN Gets reports in definition order. \endif

E30HostClient

#ctor Method

\if KO nonzero Session ID의 host client를 만들고 장비 주도 필수 대화를 정확한 S/F로 등록합니다. \endif \if EN Creates a host client for a nonzero Session ID and registers equipment-initiated fundamental dialogues by exact S/F. \endif

AreYouThereAsync Method

\if KO S1F1/F2로 장비 식별 정보를 조회합니다. \endif \if EN Reads equipment identification with S1F1/F2. \endif

DefineReportsAsync Method

\if KO single-block S2F33/F34로 report를 정의하고 raw DRACK를 반환합니다. \endif \if EN Defines reports with single-block S2F33/F34 and returns raw DRACK. \endif

Dispose Method

\if KO exact dispatcher 등록을 해제합니다. session 소유권은 호출자에게 남습니다. \endif \if EN Removes exact dispatcher registrations; session ownership remains with the caller. \endif

EstablishCommunicationsAsync Method

\if KO host 주도 S1F13/F14를 수행합니다. \endif \if EN Performs host-initiated S1F13/F14. \endif

LinkEventReportsAsync Method

\if KO single-block S2F35/F36으로 event/report를 연결하고 raw LRACK를 반환합니다. \endif \if EN Links events and reports with single-block S2F35/F36 and returns raw LRACK. \endif

ReadAlarmsAsync Method

\if KO S5F5/F6으로 선택 alarm 데이터를 읽습니다. 빈 ID vector는 전체를 뜻합니다. \endif \if EN Reads selected alarm data with S5F5/F6; an empty ID vector means all. \endif

ReadEquipmentConstantNamesAsync Method

\if KO S2F29/F30으로 장비 상수 메타데이터를 읽습니다. \endif \if EN Reads equipment-constant metadata with S2F29/F30. \endif

ReadEquipmentConstantsAsync Method

\if KO S2F13/F14로 장비 상수 값을 요청 순서대로 읽습니다. \endif \if EN Reads equipment-constant values in request order with S2F13/F14. \endif

ReadEventReportAsync Method

\if KO S6F15/F16으로 CEID의 현재 report를 읽습니다. \endif \if EN Reads the current report for a CEID with S6F15/F16. \endif

ReadStatusAsync Method

\if KO S1F3/F4로 선택 상태 값을 요청 순서대로 읽습니다. 빈 ID 목록은 전체를 뜻합니다. \endif \if EN Reads selected status values in request order with S1F3/F4; an empty ID list means all. \endif

ReadStatusVariableNamesAsync Method

\if KO S1F11/F12로 상태 변수 이름과 단위를 읽습니다. \endif \if EN Reads status-variable names and units with S1F11/F12. \endif

ReadTimeAsync Method

\if KO S2F17/F18로 장비 UTC 시각을 읽습니다. \endif \if EN Reads equipment UTC time with S2F17/F18. \endif

RequestOfflineAsync Method

\if KO S1F15/F16 OFF-LINE 전환을 요청하고 raw OFLACK를 반환합니다. \endif \if EN Requests OFF-LINE with S1F15/F16 and returns raw OFLACK. \endif

RequestOnlineAsync Method

\if KO S1F17/F18 ON-LINE 전환을 요청하고 raw ONLACK를 반환합니다. \endif \if EN Requests ON-LINE with S1F17/F18 and returns raw ONLACK. \endif

SendRemoteCommandAsync Method

\if KO S2F41/F42 명령 승인 결과를 읽습니다. HCACK 0/4는 완료 증거가 아닙니다. \endif \if EN Reads S2F41/F42 command acceptance; HCACK 0/4 is not completion evidence. \endif

SetAlarmEnablementAsync Method

\if KO S5F3/F4로 하나 또는 모든 alarm 보고를 enable/disable하고 raw ACKC5를 반환합니다. \endif \if EN Enables or disables one or all alarm reports with S5F3/F4 and returns raw ACKC5. \endif

SetEquipmentConstantsAsync Method

\if KO S2F15/F16으로 장비 상수를 일괄 변경하고 raw EAC를 반환합니다. \endif \if EN Changes equipment constants as one batch with S2F15/F16 and returns raw EAC. \endif

SetEventEnablementAsync Method

\if KO S2F37/F38로 event report를 enable/disable하고 raw ERACK를 반환합니다. \endif \if EN Enables or disables event reports with S2F37/F38 and returns raw ERACK. \endif

SetTimeAsync Method

\if KO S2F31/F32로 UTC 시각을 설정하고 raw TIACK를 반환합니다. \endif \if EN Sets UTC time with S2F31/F32 and returns raw TIACK. \endif

AlarmReceived Event

\if KO 장비가 보낸 S5F1을 구조 검증한 뒤 발생합니다. \endif \if EN Raised after structural validation of an equipment S5F1. \endif

EventReportReceived Event

\if KO 장비가 보낸 S6F11을 구조 검증한 뒤 발생합니다. \endif \if EN Raised after structural validation of an equipment S6F11. \endif

E30HostCommandAcknowledgement

#ctor Method

\if KO 명령 ACK 결과를 만듭니다. \endif \if EN Creates a command acknowledgement. \endif

Acknowledgement Property

\if KO raw HCACK입니다. \endif \if EN Gets the raw HCACK. \endif

RejectedParameters Property

\if KO HCACK=3일 때의 매개변수별 raw CPACK 목록입니다. \endif \if EN Gets per-parameter raw CPACK values when HCACK is 3. \endif

E30IdentifierFormat

UInt16 Field

\if KO U2 식별자 형식입니다. \endif \if EN Selects the U2 identifier format. \endif

UInt32 Field

\if KO U4 식별자 형식입니다. \endif \if EN Selects the U4 identifier format. \endif

UInt64 Field

\if KO U8 식별자 형식입니다. \endif \if EN Selects the U8 identifier format. \endif

UInt8 Field

\if KO U1 식별자 형식입니다. \endif \if EN Selects the U1 identifier format. \endif

E30IdentifierPolicy

#ctor Method

\if KO 기본 U4 정책을 만듭니다. \endif \if EN Creates the default U4 policy. \endif

#ctor Method

\if KO 장비 프로필의 계열별 형식 정책에서 wire 정책을 만듭니다. \endif \if EN Creates a wire policy from an equipment profile's per-family format policy. \endif

Alarm Property

\if KO ALID 형식입니다. \endif \if EN Gets the ALID format. \endif

CollectionEvent Property

\if KO CEID 형식입니다. \endif \if EN Gets the CEID format. \endif

Data Property

\if KO DATAID 형식입니다. \endif \if EN Gets the DATAID format. \endif

EquipmentConstant Property

\if KO ECID 형식입니다. \endif \if EN Gets the ECID format. \endif

Report Property

\if KO RPTID 형식입니다. \endif \if EN Gets the RPTID format. \endif

StatusVariable Property

\if KO SVID 형식입니다. \endif \if EN Gets the SVID format. \endif

Variable Property

\if KO 일반 VID 형식입니다. \endif \if EN Gets the general VID format. \endif

E30PeerIdentity

#ctor Method

\if KO peer의 MDLN과 SOFTREV입니다. \endif \if EN Represents a peer's MDLN and SOFTREV. \endif

E30RejectedCommandParameter

#ctor Method

\if KO 거부된 명령 매개변수와 raw CPACK입니다. \endif \if EN Represents a rejected command parameter and its raw CPACK. \endif

E30ReportDefinition

#ctor Method

\if KO report 정의를 만듭니다. 중복 VID는 의도적으로 보존됩니다. \endif \if EN Creates a report definition; duplicate VIDs are intentionally preserved. \endif

ReportId Property

\if KO RPTID입니다. \endif \if EN Gets the RPTID. \endif

VariableIds Property

\if KO 순서와 중복을 보존한 VID 목록입니다. \endif \if EN Gets the ordered VID list with duplicates preserved. \endif

E30ReportValues

#ctor Method

\if KO report 값 묶음을 만듭니다. \endif \if EN Creates a report-value group. \endif

ReportId Property

\if KO RPTID입니다. \endif \if EN Gets the RPTID. \endif

Values Property

\if KO VID 정의 순서를 따르는 값 목록입니다. \endif \if EN Gets values in VID-definition order. \endif

E30StatusVariableName

#ctor Method

\if KO 상태 변수 이름 응답 한 항목입니다. \endif \if EN Represents one status-variable name response entry. \endif

E30WireCodec

Acknowledgement Method

\if KO 한 바이트 Binary ACK를 만듭니다. \endif \if EN Creates a one-byte Binary ACK. \endif

Alarm Method

\if KO S5F1 alarm body를 만듭니다. \endif \if EN Creates an S5F1 alarm body. \endif

AlarmEnablement Method

\if KO S5F3 enable/disable body를 만듭니다. ALID null은 전체 alarm을 의미합니다. \endif \if EN Creates an S5F3 enable/disable body; a null ALID means all alarms. \endif

Alarms Method

\if KO S5F6 alarm 목록 body를 만듭니다. \endif \if EN Creates an S5F6 alarm-list body. \endif

CommunicationAcknowledgement Method

\if KO COMMACK와 식별 데이터를 포함한 S1F14 body를 만듭니다. \endif \if EN Creates an S1F14 body containing COMMACK and identification data. \endif

DataIdentifier Method

\if KO zero를 허용하는 DATAID item을 만듭니다. \endif \if EN Creates a DATAID item, for which zero is permitted. \endif

EquipmentConstantNames Method

\if KO S2F30 장비 상수 이름 body를 만듭니다. \endif \if EN Creates an S2F30 equipment-constant name body. \endif

EquipmentConstantUpdates Method

\if KO S2F15 ECID/ECV body를 만듭니다. \endif \if EN Creates an S2F15 ECID/ECV body. \endif

EventEnablement Method

\if KO S2F37 enable/disable body를 만듭니다. 빈 CEID 목록은 전체 event를 의미합니다. \endif \if EN Creates an S2F37 enable/disable body; an empty CEID list means all events. \endif

EventLinks Method

\if KO S2F35 event/report link body를 만듭니다. \endif \if EN Creates an S2F35 event/report-link body. \endif

EventReport Method

\if KO S6F11/F16 event report body를 만듭니다. \endif \if EN Creates an S6F11/F16 event-report body. \endif

FunctionZero Method

\if KO 동일 Session ID·Stream·System Bytes를 보존한 expert Function 0을 만듭니다. \endif \if EN Creates an expert Function 0 preserving the same session ID, stream, and System Bytes. \endif

HostCommand Method

\if KO S2F41 명령 body를 만듭니다. \endif \if EN Creates an S2F41 command body. \endif

HostCommandAcknowledgement Method

\if KO S2F42 HCACK/CPACK body를 만듭니다. \endif \if EN Creates an S2F42 HCACK/CPACK body. \endif

Identifier Method

\if KO ID 형식에 맞는 단일 무부호 정수 item을 만듭니다. \endif \if EN Creates one unsigned-integer item in the selected identifier format. \endif

IdentifierList Method

\if KO 새 구현용 ID list 구조를 만듭니다. \endif \if EN Creates the list-of-ID structure used by new implementations. \endif

IdentifierVector Method

\if KO 선택 형식의 ID vector를 만듭니다. 빈 vector는 'all' 의미에 사용할 수 있습니다. \endif \if EN Creates an ID vector in the selected format; an empty vector may represent 'all' where defined. \endif

Identity Method

\if KO MDLN/SOFTREV body를 만듭니다. \endif \if EN Creates an MDLN/SOFTREV body. \endif

MessageHeader Method

\if KO offending message의 10-byte HSMS data header를 MHEAD/SHEAD로 만듭니다. \endif \if EN Creates the 10-byte HSMS data header of an offending message for MHEAD/SHEAD. \endif

ReadAcknowledgement Method

\if KO 한 바이트 Binary ACK를 읽습니다. \endif \if EN Reads a one-byte Binary ACK. \endif

ReadAlarm Method

\if KO S5F1 alarm body를 읽습니다. \endif \if EN Reads an S5F1 alarm body. \endif

ReadAlarmEnablement Method

\if KO S5F3 enable/disable body를 읽습니다. \endif \if EN Reads an S5F3 enable/disable body. \endif

ReadAlarms Method

\if KO S5F6 alarm 목록 body를 읽습니다. \endif \if EN Reads an S5F6 alarm-list body. \endif

ReadCommunicationAcknowledgement Method

\if KO S1F14 body를 읽습니다. \endif \if EN Reads an S1F14 body. \endif

ReadDataIdentifier Method

\if KO zero를 허용하는 단일 DATAID를 읽습니다. \endif \if EN Reads one DATAID, for which zero is permitted. \endif

ReadEquipmentConstantNames Method

\if KO S2F30 장비 상수 이름 body를 읽습니다. \endif \if EN Reads an S2F30 equipment-constant name body. \endif

ReadEquipmentConstantUpdates Method

\if KO S2F15 ECID/ECV body를 stage용 불변 목록으로 읽습니다. \endif \if EN Reads an S2F15 ECID/ECV body into an immutable staging list. \endif

ReadEventEnablement Method

\if KO S2F37 enable/disable body를 stage용으로 읽습니다. \endif \if EN Reads an S2F37 enable/disable body for staging. \endif

ReadEventLinks Method

\if KO S2F35 event/report link를 stage용으로 읽습니다. \endif \if EN Reads S2F35 event/report links for staging. \endif

ReadEventReport Method

\if KO S6F11/F16 event report body를 읽고 report/value 순서를 보존합니다. \endif \if EN Reads an S6F11/F16 event-report body while preserving report and value order. \endif

ReadHostCommand Method

\if KO S2F41 명령 body를 stage용으로 읽습니다. \endif \if EN Reads an S2F41 command body for staging. \endif

ReadHostCommandAcknowledgement Method

\if KO S2F42 HCACK/CPACK body를 읽습니다. \endif \if EN Reads an S2F42 HCACK/CPACK body. \endif

ReadIdentifier Method

\if KO 선택 형식의 단일 ID를 엄격히 읽습니다. \endif \if EN Strictly reads one identifier in the selected format. \endif

ReadIdentifierList Method

\if KO 새 구현용 ID list 구조를 엄격히 읽습니다. \endif \if EN Strictly reads the list-of-ID structure used by new implementations. \endif

ReadIdentifierVector Method

\if KO 선택 형식의 ID vector를 엄격히 읽습니다. \endif \if EN Strictly reads an identifier vector in the selected format. \endif

ReadIdentity Method

\if KO MDLN/SOFTREV 또는 host zero-length list를 읽습니다. \endif \if EN Reads MDLN/SOFTREV or the host zero-length list. \endif

ReadReportDefinitions Method

\if KO S2F33 report 정의를 stage용으로 읽고 report·VID 순서를 보존합니다. \endif \if EN Reads S2F33 report definitions for staging while preserving report and VID order. \endif

ReadStatusVariableNames Method

\if KO S1F12 상태 변수 이름 body를 읽습니다. \endif \if EN Reads an S1F12 status-variable name body. \endif

ReadTime Method

\if KO 12 또는 16자리 TIME을 엄격히 UTC로 읽습니다. \endif \if EN Strictly reads a 12- or 16-character TIME as UTC. \endif

ReadValues Method

\if KO value list를 읽습니다. \endif \if EN Reads a value list. \endif

ReportDefinitions Method

\if KO S2F33 report 정의 body를 만듭니다. \endif \if EN Creates an S2F33 report-definition body. \endif

StatusVariableNames Method

\if KO S1F12 상태 변수 이름 body를 만듭니다. \endif \if EN Creates an S1F12 status-variable name body. \endif

StreamNine Method

\if KO offending header와 System Bytes를 연결한 expert S9 message를 만듭니다. \endif \if EN Creates an expert S9 message correlated with the offending header and System Bytes. \endif

Time Method

\if KO 12 또는 16자리 UTC TIME을 만듭니다. \endif \if EN Creates a 12- or 16-character UTC TIME. \endif

Values Method

\if KO 요청 순서의 value list를 만듭니다. \endif \if EN Creates a value list in request order. \endif

E30WireFormatException

#ctor Method

\if KO 일반화된 구조 오류를 만듭니다. \endif \if EN Creates a generalized structural error. \endif

GemAlarmService

ChangeAlarm Method
ChangeEnabled Method

\if KO 보고 활성화를 변경하고 unknown/no-change/changed를 결정적으로 구분합니다. \endif \if EN Changes reporting enablement and deterministically distinguishes unknown, no-change, and changed results. \endif

GetSetAlarmIds Method
GetSnapshots Method

\if KO ALID 순서의 정의·enable·set 불변 스냅샷을 반환합니다. \endif \if EN Returns immutable definition/enable/set snapshots ordered by ALID. \endif

Register Method
SetAlarm Method
SetEnabled Method
TryGetState Method

GemClockService

#ctor Method

\if KO 시간 공급자로 시계를 만듭니다. \endif \if EN Creates the clock with a time provider. \endif

Format Method
GetUtcNow Method
SetUtcNow Method

GemCommunicationStateMachine

Accept Method

\if KO 통신 수립 수락을 기록합니다. 동시 수립 시도에도 사용할 수 있습니다. \endif \if EN Records accepted communication establishment, including simultaneous attempts. \endif

CommunicationLost Method

\if KO 수립된 통신의 손실을 기록합니다. \endif \if EN Records loss of established communication. \endif

Disable Method

\if KO 통신 기능을 비활성화합니다. \endif \if EN Disables communication. \endif

Enable Method

\if KO 통신 기능을 활성화합니다. \endif \if EN Enables communication. \endif

RequestSent Method

\if KO 장비 주도 통신 요청의 전송을 기록합니다. \endif \if EN Records transmission of an equipment-initiated communication request. \endif

Retry Method

\if KO 통신 요청 거부 또는 제한 시간 만료 후 재시도를 예약합니다. \endif \if EN Schedules a retry after rejection or timeout. \endif

EstablishmentState Property

\if KO 현재 통신 수립 하위 상태입니다. \endif \if EN Gets the current establishment substate. \endif

State Property

\if KO 현재 통신 상태입니다. \endif \if EN Gets the current communication state. \endif

GemControlStateMachine

AcceptOnline Method

\if KO 온라인 시도를 로컬 상태로 수락합니다. \endif \if EN Accepts an online attempt into local control. \endif

AttemptOnline Method

\if KO 장비가 온라인 전환을 시도하게 합니다. \endif \if EN Starts an equipment-initiated online attempt. \endif

EquipmentOffline Method

\if KO 장비 오프라인으로 전환합니다. \endif \if EN Transitions to equipment offline. \endif

HostOffline Method

\if KO 호스트 오프라인으로 전환합니다. \endif \if EN Transitions to host offline. \endif

RejectOnline Method

\if KO 온라인 시도를 거부하여 장비 오프라인으로 돌아갑니다. \endif \if EN Rejects an online attempt and returns equipment offline. \endif

SelectLocal Method

\if KO 온라인 로컬로 전환합니다. \endif \if EN Selects online local control. \endif

SelectRemote Method

\if KO 온라인 원격으로 전환합니다. \endif \if EN Selects online remote control. \endif

State Property

\if KO 현재 제어 상태입니다. \endif \if EN Gets the current control state. \endif

GemEquipmentConstantService

GetSnapshots Method

\if KO ECID 순서의 정의·현재값 불변 스냅샷을 반환합니다. \endif \if EN Returns an immutable definition/current-value snapshot ordered by ECID. \endif

Register Method
RegisterTyped Method

\if KO 정확한 SECS Item 형식을 포함해 상수를 등록합니다. \endif \if EN Registers a constant with an exact SECS item format. \endif

SetValue Method
SetValues Method

\if KO 모든 항목을 먼저 stage·검증한 후 한 번에 적용합니다. 실패 시 어떤 값도 변경하지 않습니다. \endif \if EN Stages and validates every entry before applying them together; no value changes on failure. \endif

TryGetValue Method
TrySetValue Method

GemEquipmentContext

Profile Property

\if KO 공유 가능한 불변 프로필입니다. \endif \if EN Gets the shareable immutable profile. \endif

Runtime Property

\if KO 이 컨텍스트만의 mutable 상태와 서비스를 소유하는 런타임입니다. \endif \if EN Gets the runtime owning mutable state and services for this context only. \endif

GemEquipmentProfile

CreateContext Method

\if KO 이 frozen 프로필에서 완전히 격리된 mutable 장비 컨텍스트를 만듭니다. 전송 소유권은 호출자에게 있습니다. \endif \if EN Creates a fully isolated mutable equipment context from this frozen profile; the caller owns the transport. \endif

Alarms Property

\if KO ALID 순서의 알람 정의 스냅샷입니다. \endif \if EN Gets alarm definitions ordered by ALID. \endif

Capabilities Property

\if KO 고정 기능 스냅샷입니다. \endif \if EN Gets the frozen capability snapshot. \endif

CollectionEvents Property

\if KO CEID 순서의 기본 수집 이벤트 스냅샷입니다. \endif \if EN Gets default collection events ordered by CEID. \endif

EquipmentConstants Property

\if KO ECID 순서의 장비 상수 정의 스냅샷입니다. \endif \if EN Gets equipment-constant definitions ordered by ECID. \endif

IdentifierFormats Property

\if KO 식별자 계열별 형식 정책입니다. \endif \if EN Gets the identifier-family format policy. \endif

Identity Property

\if KO 장비 식별 정보입니다. \endif \if EN Gets the equipment identity. \endif

Name Property

\if KO 프로필 이름입니다. \endif \if EN Gets the profile name. \endif

RemoteCommands Property

\if KO 이름 순서의 원격 명령 정의 스냅샷입니다. \endif \if EN Gets remote-command definitions ordered by name. \endif

Reports Property

\if KO RPTID 순서의 기본 보고서 스냅샷입니다. \endif \if EN Gets default reports ordered by RPTID. \endif

TargetRevision Property

\if KO 명시적 대상 Revision/범위 라벨입니다. \endif \if EN Gets the explicit target revision/scope label. \endif

V1Capabilities Property

\if KO subset v1의 고정 기능 스냅샷입니다. Process Program, Spool, Trace, Limits 및 Terminal은 포함하지 않습니다. \endif \if EN Gets the fixed subset-v1 capability snapshot; Process Program, Spool, Trace, Limits, and Terminal are not included. \endif

Variables Property

\if KO ID 순서의 변수 정의 스냅샷입니다. \endif \if EN Gets variable definitions ordered by ID. \endif

GemEquipmentProfileBuilder

#ctor Method

\if KO 프로필 builder를 만듭니다. 기본 식별자 형식은 모든 계열 U4입니다. \endif \if EN Creates a profile builder; every identifier family defaults to U4. \endif

AddAlarm Method

\if KO 알람을 추가합니다. \endif \if EN Adds an alarm. \endif

AddCollectionEvent Method

\if KO 기본 수집 이벤트를 추가합니다. \endif \if EN Adds a default collection event. \endif

AddEquipmentConstant Method

\if KO 장비 상수와 검증·제어 상태 정책을 추가합니다. \endif \if EN Adds an equipment constant with validation and control-state policy. \endif

AddRemoteCommand Method

\if KO 형식화된 원격 명령과 실행기를 추가합니다. \endif \if EN Adds a typed remote command and handler. \endif

AddReport Method

\if KO 기본 보고서를 추가합니다. \endif \if EN Adds a default report. \endif

AddVariable Method

\if KO 상태 또는 데이터 변수와 판독기를 추가합니다. \endif \if EN Adds a status or data variable and its reader. \endif

Build Method

\if KO 모든 참조·중복·범위를 검증하고 프로필을 영구 freeze합니다. \endif \if EN Validates every reference, duplicate, and range and permanently freezes the profile. \endif

IdentifierFormats Property

\if KO 식별자 형식 정책입니다. \endif \if EN Gets the identifier format policy. \endif

Identity Property

\if KO 장비 식별 정보입니다. \endif \if EN Gets the equipment identity. \endif

Name Property

\if KO 프로필 이름입니다. \endif \if EN Gets the profile name. \endif

TargetRevision Property

\if KO 대상 Revision/범위 라벨입니다. \endif \if EN Gets the target revision/scope label. \endif

GemEventReportService

#ctor Method

\if KO 변수 카탈로그와 시간 공급자로 서비스를 만듭니다. \endif \if EN Creates the service with a variable catalog and time provider. \endif

ApplyEventLinks Method

\if KO 여러 이벤트의 연결을 검증하고 선택적으로 기존 연결을 거부하며, 연결 교체와 disable을 하나의 원자적 commit으로 적용합니다. \endif \if EN Validates links for multiple events, optionally rejects existing links, and applies link replacement plus disablement in one atomic commit. \endif

ApplyReportChanges Method

\if KO 보고서 추가와 삭제를 하나의 candidate 구성에서 검증하고 원자적으로 적용합니다. 삭제된 보고서의 이벤트 연결도 같은 commit에서 제거합니다. \endif \if EN Validates report additions and deletions in one candidate configuration and applies them atomically; event links to removed reports are pruned in the same commit. \endif

CollectAsync Method
DefineEvent Method
DefineReport Method
DefineReports Method

\if KO 보고서 정의 묶음을 전체 검증한 뒤 원자적으로 추가합니다. Wire ACK를 생성하지 않습니다. \endif \if EN Validates a report-definition batch completely before adding it atomically; this does not produce a wire ACK. \endif

DeleteAllEventLinks Method

\if KO 모든 수집 이벤트의 보고서 연결을 하나의 원자적 변경으로 제거합니다. Wire 의미는 상위 프로필이 결정합니다. \endif \if EN Removes report links from every collection event as one atomic change; the upper profile decides wire semantics. \endif

DeleteAllReports Method

\if KO 모든 보고서 정의와 이벤트 연결을 하나의 원자적 변경으로 제거합니다. \endif \if EN Removes every report definition and event link as one atomic change. \endif

DeleteReport Method
DeleteReports Method

\if KO RPTID 묶음을 전체 검증한 뒤 원자적으로 삭제합니다. 연결 중인 보고서가 있으면 변경하지 않습니다. \endif \if EN Validates an RPTID batch before deleting it atomically; no change occurs when a selected report is linked. \endif

GetEventSnapshots Method

\if KO CEID 순서의 정의·연결·enable 스냅샷을 반환합니다. \endif \if EN Returns definition/link/enablement snapshots ordered by CEID. \endif

GetReportDefinitions Method

\if KO RPTID 순서의 불변 보고서 정의 스냅샷을 반환합니다. \endif \if EN Returns immutable report definitions ordered by RPTID. \endif

LinkReport Method
ReplaceEventLinks Method

\if KO 여러 이벤트의 보고서 연결을 전체 검증한 뒤 원자적으로 교체합니다. \endif \if EN Validates and atomically replaces report links for multiple events. \endif

SetAllEventsEnabled Method

\if KO 모든 이벤트의 enable 상태를 원자적으로 설정합니다. \endif \if EN Atomically sets enablement for every event. \endif

SetEnabled Method
SetEventsEnabled Method

\if KO 여러 이벤트의 enable 상태를 전체 검증한 뒤 원자적으로 적용합니다. \endif \if EN Validates and atomically applies enablement updates for multiple events. \endif

UnlinkReport Method

GemProcessingStateMachine

Abort Method

\if KO 활성 공정을 중단하고 유휴 상태로 돌아갑니다. \endif \if EN Aborts an active process and returns idle. \endif

BeginSetup Method

\if KO 공정 설정을 시작합니다. \endif \if EN Begins process setup. \endif

Complete Method

\if KO 실행을 완료하고 유휴 상태로 돌아갑니다. \endif \if EN Completes execution and returns idle. \endif

CompleteInitialization Method

\if KO 초기화를 완료합니다. \endif \if EN Completes initialization. \endif

Execute Method

\if KO 공정 실행을 시작합니다. \endif \if EN Starts execution. \endif

Pause Method

\if KO 실행을 일시 정지합니다. \endif \if EN Pauses execution. \endif

Ready Method

\if KO 공정 실행 준비를 완료합니다. \endif \if EN Marks the process ready. \endif

Resume Method

\if KO 일시 정지된 실행을 재개합니다. \endif \if EN Resumes paused execution. \endif

State Property

\if KO 현재 처리 상태입니다. \endif \if EN Gets the current processing state. \endif

GemProcessProgramService

Delete Method
GetIds Method
Put Method
TryGet Method

GemProtocolEngine

#ctor Method

\if KO 주입된 전송, 상태, 식별 정보 및 시간 정책으로 엔진을 만듭니다. \endif \if EN Creates the engine from injected transport, state, identity, and time policy. \endif

EstablishCommunicationsAsync Method

\if KO 장비 주도 S1F13을 한 번 수행합니다. 거부 시 재시도 대기 상태를 반환합니다. \endif \if EN Performs one equipment-initiated S1F13 attempt and enters retry-wait state on rejection. \endif

HandleAsync Method

\if KO 지원되는 host-initiated S1 primary를 처리하고 응답 여부를 반환합니다. \endif \if EN Handles a supported host-initiated S1 primary and returns whether it responded. \endif

GemRemoteCommandService

#ctor Method

\if KO 시간 공급자로 서비스를 만듭니다. \endif \if EN Creates the service with a time provider. \endif

ExecuteAsync Method
Register Method
RegisterProfileCommand Method

\if KO 필수/선택 및 형식화된 매개변수를 가진 프로필 명령을 등록합니다. \endif \if EN Registers a profile command with required/optional typed parameters. \endif

GemRuntime

#ctor Method

\if KO 전송, 장비 식별 정보, 시간 정책 및 스풀 용량으로 런타임을 만듭니다. \endif \if EN Creates a runtime from transport, equipment identity, time policy, and spool capacity. \endif

Alarms Property

\if KO 알람 서비스입니다. \endif \if EN Gets the alarm service. \endif

Clock Property

\if KO 논리 GEM 시계입니다. \endif \if EN Gets the logical GEM clock. \endif

Commands Property

\if KO 원격 명령 서비스입니다. \endif \if EN Gets the remote-command service. \endif

Communication Property

\if KO 통신 상태 모델입니다. \endif \if EN Gets the communication state model. \endif

Constants Property

\if KO 장비 상수 서비스입니다. \endif \if EN Gets the equipment-constant service. \endif

Control Property

\if KO 제어 상태 모델입니다. \endif \if EN Gets the control state model. \endif

Events Property

\if KO 이벤트·보고서 서비스입니다. \endif \if EN Gets the event/report service. \endif

Processing Property

\if KO 장비 처리 상태 모델입니다. \endif \if EN Gets the equipment-processing state model. \endif

ProcessPrograms Property

\if KO 공정 프로그램 서비스입니다. \endif \if EN Gets the process-program service. \endif

Profile Property

\if KO 이 런타임을 구성한 frozen 장비 프로필입니다. 기존 생성자로 만든 런타임은 null입니다. \endif \if EN Gets the frozen equipment profile that configured this runtime; null for runtimes created by the legacy constructor. \endif

Protocol Property

\if KO 지원되는 S1 시나리오 엔진입니다. \endif \if EN Gets the supported S1 scenario engine. \endif

SecsConnection Property
Spool Property

\if KO 제한 용량 메모리 스풀입니다. \endif \if EN Gets the bounded memory spool. \endif

Transport Property

\if KO GEM 메시지 전송 경계입니다. \endif \if EN Gets the GEM message transport. \endif

Variables Property

\if KO 변수 카탈로그입니다. \endif \if EN Gets the variable catalog. \endif

GemSpoolService

#ctor Method

\if KO 양의 용량으로 스풀을 만듭니다. \endif \if EN Creates a spool with positive capacity. \endif

DrainAsync Method
Enqueue Method
Purge Method
Start Method
Count Property
State Property

GemVariableCatalog

GetDefinitions Method
ReadAsync Method
Register Method
Register Method

\if KO 정확한 SECS Item 형식과 함께 변수를 등록합니다. 판독 결과 형식은 매번 확인됩니다. \endif \if EN Registers a variable with an exact SECS item format that is checked on every read. \endif

TryGetDefinition Method

HsmsGemTransport

#ctor Method

\if KO HSMS 세션과 SECS Session ID로 어댑터를 만듭니다. 세션 소유권은 호출자에게 있습니다. \endif \if EN Creates an adapter from an HSMS session and SECS session ID; the caller retains session ownership. \endif

#ctor Method

\if KO provider-neutral 메시지 세션으로 어댑터를 만들고 설정된 Session ID를 사용합니다. 세션 소유권은 호출자에게 있습니다. \endif \if EN Creates an adapter from a provider-neutral message session, uses its configured session ID, and leaves session ownership with the caller. \endif

AllocateSystemBytes Method
RequestAsync Method
SendAsync Method
Connection Property
SessionId Property
MessageReceived Event