Operator EnumParamTranslator

Operator Library: Parameters

Operator EnumParamTranslator는 하나 이상의 다른 operator의 parameter에 대해 변환된 접근(읽기 및 쓰기)을 허용합니다. 계산을 위해 수식을 정의합니다. 이 수식의 구문은 GenICam API 버전 2.0을 따릅니다.

Operator EnumParamTranslator는 VA_ENUM 유형의 map parameter를 생성합니다. map parameter의 이름은 Value입니다.

Operator가 Value parameter의 유형을 VA_ENUM으로 정의하더라도, 읽기 또는 쓰기 작업 중에 접근하는 parameter의 데이터 유형을 제한하지는 않습니다. 예를 들어, operator에 정의된 수식에는 float 유형의 parameter에 대한 접근이 포함될 수 있습니다.

Read Action

파라미터 ReadAction에서는 번역 오퍼레이터의 파라미터 Value에 대한 읽기 액세스 시 어떤 작업이 수행될지 정의합니다. 파라미터 Value는순순히 값을 유지하는 것뿐만 아니라, 파라미터 Value의 값이 수식으로부터 계산됩니다. 이 수식은 파라미터 ReadAction에서 정의합니다. 파라미터 Value에 대한 읽기 액세스가 발생하는 즉시, ReadAction에서 정의한 수식이 실행되며 그 결과가 값을 요청한 엘리먼트로 전달됩니다.

수식은 디자인 내 어디에 있든 오퍼레이터 파라미터의 값을 포함할 수 있습니다. 이러한 값 중 하나가 변경되는 즉시, 번역 오퍼레이터의 파라미터 Value의 계산은 새로운 결과를 도출하게 됩니다 (파라미터 Value가 이전에 유지하던 값과 다름). 수식은 파라미터의 값뿐만 아니라 최소값, 최대값, 스텝 크기 또는 열거형 항목의 수치 값과 같은 파라미터의 특정 Property도 포함할 수 있습니다.

Write Action

WriteAction parameter에서는 translation operator의 Value parameter에 대한 쓰기 접근 시 발생하는 동작을 정의합니다. 참조 operator와 달리 Value parameter의 값을 단순히 디자인 내의 다른 parameter로 전달하지 않습니다. 대신 Value parameter의 값은 translation operator의 WriteAction parameter에 정의하는 일련의 쓰기 작업에 사용됩니다. 쓰기 작업은 하나 또는 여러 개의 등식으로 구성됩니다. 이러한 등식의 좌변을 사용하여 어떤 operator의 어떤 parameter가 계산 결과를 받을지 정의합니다. 둘 이상의 등식을 정의하는 경우 세미콜론으로 등식을 구분하세요. Value parameter에 쓰기 접근이 발생하는 즉시 WriteAction parameter에 정의한 등식의 우변에 있는 수식이 실행되며, 그 결과가 등식의 좌변에 지정된 parameter로 전달됩니다.

수식은 디자인 내 어디에 있든 오퍼레이터 파라미터의 값을 참조할 수 있습니다. 이러한 값 중 하나가 변경되는 즉시, 이전과 동일한 값을 Value 파라미터에 다시 쓸 때 계산 결과가 달라지게 됩니다. 수식은 파라미터의 값뿐만 아니라 최소값, 최대값, 스텝 크기 또는 열거형 항목의 수치 값과 같은 파라미터의 특정 Property도 포함할 수 있습니다.

[팁] Translation Operator Parameter 구문

구문은 GenICam API 표준 버전 2.0을 따릅니다. 허용되는 수식 요소는 GenICam 표준에 정의된 수식 요소와 동일합니다.

[팁]

Parameter 경로

디자인 내의 어느 위치에서든 operator parameter에 접근하려면 수식에 해당 parameter의 경로를 제공해야 합니다.

operator의 parameter에 접근하려면 다음 구문을 사용합니다:

"PathToModule": 여기서 접근하려는 parameter가 속한 operator의 상대 경로를 정의합니다. 경로는 translation operator 자체가 위치한 계층적 수준을 기준으로 합니다. 또한 접근하는 operator의 이름을 정의합니다. 계층 구분 기호로 슬래시를 사용하세요.

"Module": 모듈의 이름.

translation operator 인스턴스 자체의 이름으로는 "this"를 사용합니다.

[중요] 모듈 독립성 유지

translation operator가 위치한 계층적 수준보다 더 높은 계층적 수준을 향하는 경로는 정의할 수 없습니다. 이 규칙은 계층적 모듈이 인스턴스화된 환경에 대해 어떠한 정보도 알 수 없어야 한다는 논리를 따르며, 오직 이 경우에만 자유롭게 이동 및 복제 가능한 모듈로 사용할 수 있습니다.

[팁]

Parameter Property 접근

수식에는 parameter 값뿐만 아니라 최소값, 최대값, 또는 step size와 같은 parameter의 특정 Property도 포함할 수 있습니다:

  • ${PathToModule/Module.ParamName.From} 또는 ${PathToModule/Module.ParamName.Min}: parameter의 유효한 최소값 PathToModule/Module.ParamName.
  • ${PathToModule/Module.ParamName.To} 또는 ${ PathToModule/Module.ParamName.Max}: parameter의 유효한 최대값 PathToModule/Module.ParamName.
  • ${PathToModule/Module.ParamName.Inc}: parameter의 두 유효값 사이의 Increment(step size) PathToModule/Module.ParamName.
  • ${PathToModule/Module.ParamName.Enum("EnumName")}: 열거형 이름의 정수 값 EnumName.

변환 수식에서는 전역 상수를 참조할 수도 있습니다. 전역 상수는 변환 수식에서 다음을 사용하여 :: 접두사를 사용하여 참조됩니다. 예: ${::DesignClock} 또는 ${::MyGlobalConst}.

[팁]

Write Access 수식 구문

Parameter WriteAction에서 정의하는 쓰기 작업 수식은 다음과 같은 구문을 갖습니다:

여기서는 여러 대상 parameter에 대한 여러 수식을 정의할 수 있습니다. 개별 수식 사이의 구분 기호로는 세미콜론(;)을 사용하세요.

"this"는 translation operator 인스턴스 자체를 가리킵니다.

WriteAction 수식 예시:

예:

[팁]

Read Access Equation 구문

The equation for the read action you define in parameter ReadAction. The equation always starts with "${this.Value}=" . It has the following syntax:

ReadAction equation 예시:

"Range" parameter에서 열거형을 정의하기 위한 구문

Use the following Syntax: "<String1>"=0;"<String2>"=1; "<String3>"=2;

예:

Map Parameter 참조

map parameter Value가 표시되고 액세스 가능해질 디자인 계층 구조 내의 타겟을 정의할 수 있습니다. 타겟은 두 개의 파라미터인 DisplayHierarchy 및 DisplayName으로 정의됩니다. DisplayHierarchy에서는 translation operator 자체가 위치한 것과 동일한 프로세스 내의 계층 구조 상자를 지정합니다. 파라미터 DisplayName에서는 타겟 파라미터의 이름을 설정합니다. DisplayHierarchy와 DisplayName이 모두 설정된 경우, DisplayName으로 정의된 파라미터는 DisplayHierarchy에서 지정한 계층 구조 상자에서 사용할 수 있게 됩니다. DisplayName이 비어 있으면 파라미터가 생성되지 않습니다. DisplayName은 설정되어 있지만 DisplayHierarchy가 비어 있는 경우, DisplayName으로 정의된 파라미터가 상위 계층 구조(즉, translation operator 자체가 위치한 계층 구조 상자)에 추가됩니다.

이를 통해 원하는 (디자인의) 모든 계층 수준에서 map parameter Value에 액세스할 수 있습니다. 이는 보호된 계층 구조 상자(protected hierarchical boxes) 작업 시 특히 유용합니다. 보호된 계층 구조 상자 자체의 Property 바로 아래에서 파라미터를 사용할 수 있도록 만들 수 있습니다.

매핑된 파라미터 자체를 참조할 수 있습니다. 따라서 translation operator에서 파라미터 Value의 콘텐츠를 참조하거나, 파라미터 DisplayName 및 DisplayHierarchy에서 정의한 파라미터를 참조할 수 있습니다. 이는 보호된 계층 구조 상자가 다른 보호된 계층 구조 상자로 구성될 때 특히 중요합니다.

이 오퍼레이터는 디자인의 데이터 흐름 구조에 간섭하지 않으므로 입력과 출력이 없습니다.

library Parameter에 대한 일반적인 소개는 Library Parameters에서 확인할 수 있습니다.

I/O Properties

Property Value
Operator Type 없음(입출력이 없으므로)

Supported Link Format

없음

Parameters

Status
Type 정적 읽기(GUI에는 쓰기로 표시되지만) 파라미터
Default 없음
Range OK 또는 오류 메시지

오류 상태를 표시합니다. 파라미터 Activate가 Yes로 설정된 경우 다른 오퍼레이터 설정이 확인됩니다. 이 파라미터는 OK 또는 오류 메시지 등 이 확인 결과를 표시합니다.

이 파라미터는 최종 애플릿의 일부가 아닙니다.

DisplayName
Type static write parameter
Default 없음
Range 임의의 문자열

디자인의 다른 지점에서 파라미터 Value에 대한 액세스 권한을 부여하거나 액세스하려는 경우 새 파라미터를 정의해야 합니다. 여기에 이 새 파라미터의 이름을 지정하십시오.

이 필드가 비어 있으면 새 파라미터가 생성되지 않습니다.

DisplayHierarchy
Type static write parameter
Default 없음
Range 임의의 문자열

파라미터 DisplayName에서 정의한 새 map parameter를 연결하려는 계층 구조 상자를 여기에 지정하십시오.

이 파라미터에는 자동 완성 기능과 구문 강조(syntax highlighting)를 사용할 수 있습니다. 자동 완성을 사용하려면 Module Properties 대화 상자에서 이 파라미터의 Parameter Values 필드를 클릭하고 키보드의 TAB 키를 누르십시오. 자동 완성 기능에 대한 자세한 지침은 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'에서 확인할 수 있습니다.

새 파라미터 DisplayName을 정의했지만 파라미터 DisplayHierarchy를 비워 둔 경우: 새 파라미터가 reference operator 인스턴스를 포함하는 계층 구조 상자에 추가됩니다. (reference operator 인스턴스가 가장 높은(프로세스) 수준에 있는 경우에는 이 작업이 불가능하다는 점에 유의하십시오.)

[참고] 디스플레이 타겟 경로 설정을 위한 구문

새로운 파라미터를 디자인의 다른 위치에 표시하려면, DisplayHierarchy 파라미터에서 새로운 파라미터를 포함할 계층형 박스(hierarchical box)의 경로를 지정해야 합니다.

구문은 다음과 같습니다.

<Path> is the relative path from process level to the hierarchical level of the design where the <Hierarchical Box> is located that is to receive the new parameter. Thus, parameter DisplayHierarchy can only address hierarchical boxes within the same process. Use a slash as separator between different hierarchical levels.

<HierarchicalBox> is the name of the hierarchical box that is to receive the new map parameter.

예: Level0/Level1

Value
Type static, dynamic, write, read parameter
Default Default
Range

읽기 및 쓰기 접근을 위해 지정된 등식을 통해 다른 parameter에 접근하기 위한 Parameter.

설명
Type static write parameter
Default -
Range any text

여기에 파라미터 Value의 설명을 입력합니다.

Range
Type static write parameter
Default "Default"=0;
Range

이름-값 조합의 정의.

WriteAction
Type static write parameter
Default
Range

파라미터 Value에 대한 쓰기 액세스 중 변환을 위한 수식 정의.

이 parameter에는 자동 완성 기능과 구문 강조(syntax highlighting)를 사용할 수 있습니다. 자동 완성을 사용하려면 이 parameter의 Module Properties 대화 상자에서 Parameter Values 필드를 클릭하고 “${”를 입력하세요. 자동 완성 기능에 대한 보다 자세한 지침은 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'에서 확인하실 수 있습니다.

ReadAction
Type static write parameter
Default
Range

파라미터 Value에 대한 읽기 액세스 중 변환을 위한 수식 정의.

수식은 항상 "${this.Value}="로 시작합니다.

이 parameter에는 자동 완성 기능과 구문 강조(syntax highlighting)를 사용할 수 있습니다. 자동 완성을 사용하려면 이 parameter의 Module Properties 대화 상자에서 Parameter Values 필드를 클릭하고 “${”를 입력하세요. 자동 완성 기능에 대한 보다 자세한 지침은 'Autocompletion and Syntax Highlighting for Translator and Reference Operators'에서 확인하실 수 있습니다.

Activate
Type dynamic write parameter
Default No
Range {No,Yes}

Yes = 참조된 파라미터와의 액세스(읽기 및 쓰기 수식을 통한)가 활성화됩니다.

No = 참조된 파라미터와의 액세스(읽기 및 쓰기 수식을 통한)가 비활성화되며 파라미터 Status가 비활성화됩니다. 파라미터 DisplayName과 DisplayHierarchy는 영향을 미치지 않습니다.

사용 예제

Operator EnumParamTranslator의 사용법은 다음 예제에 나와 있습니다:

  • 'Hardware Test'

    DMA, RAM, GPIO, 트리거 및 LED의 하드웨어 자체 테스트 예시.

  • 'Parameter Translation'

    예시 - 파라미터 조작을 위해 파라미터 변환 오퍼레이터를 사용하는 방법을 시연합니다.