Operator LinkParamTranslator

Operator Library: Parameters

이 연산자는 연결된 링크의 속성에 대한 읽기 또는 쓰기 액세스 권한을 제공합니다. 쓰기 액세스는 쓰기 작업을 통해 2차 매개변수 업데이트를 유발할 수 있습니다.

이 연산자의 장점은 라이브러리 ‘Parameters’의 다른 연산자를 통해 링크 속성을 변경할 수 있다는 점입니다. 또한, 이 연산자를 사용하여 링크 매개변수가 변경될 때 다른 모듈 매개변수를 변경할 수도 있습니다. 이를 위해 쓰기 동작을 정의할 수 있습니다. 또한 이 연산자를 사용하여 링크 속성을 고정하고 여러 링크 속성 간의 종속성을 강제 적용할 수도 있습니다.

출력 O의 링크 형식은 입력 I의 형식을 엄격하게 따릅니다. 모듈 매개변수는 포트 I에서 링크 속성의 현재 상태를 반영합니다. 모듈 매개변수를 읽기 (기본값)에서 쓰기로 변경할 수 있습니다. 읽기 모드는 해당 링크 속성이 읽기 전용임을 의미합니다. 이 경우 연산자는 LinkProperties 연산자와 동일하게 작동합니다. 매개변수가 쓰기(Write)로 설정된 경우, 해당 매개변수를 설정할 수 있습니다. 이 경우, 매개변수 값이 해당 링크 속성으로 전파됩니다. 이로 인해 출력 포트 O의 해당 링크 속성을 더 이상 편집할 수 없게 되는데, 이는 링크 속성을 선택적으로 고정하는 데 유용합니다. 또한, 더 이상 I 및 O의 속성으로 전파되지 않습니다. Write 모드에서는, 연결된 입력 링크의 동일한 속성을 편집할 수 없는 경우에도 링크 속성 매개변수를 편집할 수 있습니다. 이 경우 입력 링크에 오류가 표시될 수 있으며, 이는 연결된 이전 모듈의 형식이 LinkParamTranslator 인스턴스의 형식과 일치하지 않음을 나타냅니다.

WriteAction 매개변수에서 링크 속성이 변경될 때 어떤 동작이 수행될지 정의합니다. Activate 매개변수는 WriteAction에 정의된 쓰기 동작을 활성화합니다:

  • '활성화'가 '아니요'로 설정된 경우, '쓰기' 액세스 플래그가 설정된 매개변수는 여전히 변경될 수 있지만, 쓰기 작업은 실행되지 않습니다. 모든 링크 속성은 정적 매개변수이므로, 쓰기 대상이 될 수 있는 항목도 정적이어야 합니다.
  • 쓰기 대상이 해당 모듈의 매개변수인 경우, 참조된 모듈 매개변수의 모드는 Read 또는 Write일 수 있습니다.
  • 매개변수의 모드가 ‘읽기( Read)’인 경우, 쓰기(write) 작업을 사용하여 링크 속성에 대한 특정 규칙을 적용할 수 있습니다.

쓰기 작업은 하나 또는 여러 개의 방정식으로 구성됩니다. 두 개 이상의 방정식을 정의하는 경우, 방정식 사이에 세미콜론을 넣어 구분하십시오. 이 방정식들의 좌변에서는 어떤 모듈의 어떤 매개변수가 계산 결과를 수신할지 정의합니다. 다음 표기법을 사용하십시오. this 이 모듈의 매개변수를 참조할 때. 들어오는 링크의 업데이트나 이 모듈의 매개변수에 대한 쓰기 액세스 등으로 인해 링크 속성이 변경되는 즉시, 매개변수에서 정의한 방정식의 우변에 있는 수식(들)은 WriteAction 이(가) 수행되고, 그 결과가 방정식의 왼쪽에 지정된 매개변수(들)로 전달됩니다. 왼쪽과 마찬가지로, 다음 표기법을 사용하여 이 모듈의 매개변수를 참조할 수 있습니다. this.

예:

${this.MaxImgWidth} = (${this.MaxImgWidth} <= 1024) ? ${this.MaxImgWidth} : 1024;

이 수식은 설계 내 어디에서나 정적 모듈 매개변수의 값을 참조할 수 있습니다. 이 수식은 매개변수의 값뿐만 아니라 최소값, 최대값, 단계 크기 또는 열거형 항목의 수치와 같은 매개변수의 특정 속성도 포함할 수 있습니다.

[팁]

수식 구문: 산술 연산

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

기본 조작:
() 대괄호
+ - * / 더하기, 빼기, 곱하기, 나누기
% 나머지
** 전력
& | ^ ~ 비트 연산: and / or / xor / not
<> = > < <= >= 논리 관계: 같지 않음 / 같음 /보다 큼 /보다 작음 / 이하 / 이상
&& || 논리적 AND / 논리적 OR
<< >> 왼쪽으로 이동 / 오른쪽으로 이동

표 54. 기본 연산


조건 연산자

<condition> ? <true_expr> : <false_expr>

예:

${target.Value} = (${this.BitWidth} > 8) ? 2 : 1;

함수:
SGN(x) x의 부호를 반환합니다. 양수 인자일 경우 +1을, 음수 인자일 경우 -1을 반환합니다.
NEG(x) x의 부호를 바꿉니다.
ABS(x) x의 절댓값을 반환합니다.
SQRT(x) x의 제곱근을 반환합니다.
TRUNC(x) x를 잘라내어, 즉 x보다 절대값이 크지 않은 가장 가까운 정수 값을 반환합니다.
FLOOR(x) x 이하인 가장 큰 정수 값을 반환하며, 소수점 이하를 반올림합니다.
CEIL(x) x보다 작지 않은 가장 작은 정수 값을 반환하며, 소수점 이하를 올림합니다.
ROUND(x, precision) 정밀도(precision)로 지정된 소수 자릿수만큼 x를 반올림하며, 반올림 경계가 0인 경우 0에서 멀어지는 방향으로 반올림합니다.
SIN(x) x 라디안의 각도에 대한 사인 값을 반환합니다.
COS(x) x 라디안의 각도에 대한 코사인을 반환합니다.
TAN(x) x 라디안의 각도에 대한 탄젠트를 반환합니다.
ASIN(x) x의 아크 사인 값을 라디안 단위로 반환합니다.
ACOS(x) x의 아크코사인의 실수부를, 라디안 단위로 반환합니다.
ATAN(x) x의 아크탄젠트의 주값을, 라디안 단위로 반환합니다.
EXP(x) x에 대한 기수 e의 지수 함수를 반환합니다. 이는 e를 x제곱한 값입니다: ex.
LN(x) x의 자연로그를 반환합니다. 자연로그란 기수 e인 로그로, 자연 지수함수 (exp)의 역함수입니다.
LG(x) x의 일반(10진) 로그를 반환합니다.
E() 오일러 수인 2.7182818284590451을 반환합니다.
PI() 상수 3.1415926535897931을 반환합니다.

표 55. 함수


예:

${target.Value} = NEG(${this.Parallelism})

[팁]

매개변수 경로

설계 내 어느 곳에서든 연산자 매개변수에 접근하려면, 수식 내에 해당 매개변수의 경로를 지정해야 합니다.

연산자의 매개변수에 접근하려면 다음 구문을 사용하십시오:

PathToModule: 여기에서는 매개변수에 접근하려는 연산자에 대한 상대 경로를 정의합니다. 이 경로는 변환 연산자 자체가 위치한 계층 수준을 기준으로 합니다. 또한 접근할 연산자의 이름도 정의해야 합니다. 계층 구분자로 슬래시를 사용하십시오.

Module: 모듈 이름.

번역 연산자 인스턴스 자체의 이름으로는 다음 이름을 사용하십시오. this.

[중요] 모듈 간의 독립성을 유지하세요

번역 연산자가 위치한 계층 수준보다 더 높은 계층 수준으로 향하는 경로를 정의하는 것은 허용되지 않습니다. 이 규칙은 계층적 모듈이 자신이 인스턴스화되는 환경에 대해 아무것도 알 수 없어야 한다는 논리에 따른 것으로, 오직 이 경우에만 해당 모듈을 자유롭게 재배치 및 복제할 수 있는 모듈로 사용할 수 있기 때문입니다.

[팁]

매개변수 속성에 대한 액세스

이 공식들은 매개변수의 값뿐만 아니라 최소값, 최대값, 단계 크기와 같은 매개변수의 특정 속성도 반영할 수 있습니다:

  • ${PathToModule/Module.ParamName.From} 또는 ${PathToModule/Module.ParamName.Min}: 매개변수의 최소 유효값 PathToModule/Module.ParamName.
  • ${PathToModule/Module.ParamName.To} 또는 ${ PathToModule/Module.ParamName.Max}: 해당 매개변수의 최대 유효값 PathToModule/Module.ParamName.
  • ${PathToModule/Module.ParamName.Inc}: 증분(단계 크기) 매개변수의 두 유효한 값 사이에서 PathToModule/Module.ParamName.
  • ${PathToModule/Module.ParamName.Enum("EnumName")}: 정수 열거형 이름의 값 EnumName.

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

[팁]

쓰기 접근 방정식의 구문

쓰기 작업에 대한 방정식은 WriteAction 매개변수에서 정의합니다. 이 방정식의 구문은 다음과 같습니다:

여기에서는 여러 대상 매개변수에 대해 여러 방정식을 정의할 수 있습니다. 개별 방정식 사이에는 세미콜론을 구분 기호로 사용하십시오.

this 번역 연산자 인스턴스 자체를 가리킵니다.

이 문서를 통해 라이브러리에 대한 전반적인 소개를 확인할 수 있습니다 Parameters 에서 Library Parameters.

I/O Properties

Property Value
Operator Type O
입력 링크 I, 이미지 데이터 입력
출력 링크 O, 이미지 데이터 출력

지원되는 Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 ~처럼 I
Arithmetic {부호 없음, 부호 있음} ~처럼 I
Parallelism 어떤 ~처럼 I
Kernel Columns 어떤 ~처럼 I
Kernel Rows 어떤 ~처럼 I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D, VALT_SIGNAL} ~처럼 I
Color Format 어떤 ~처럼 I
Color Flavor 어떤 ~처럼 I
Max. Img Width 어떤 ~처럼 I
Max. Img Height 어떤 ~처럼 I

1

입력 비트 폭의 범위는 [1, 64]입니다. 부호 있는 입력의 경우, 범위는 [2, 64]입니다. 부호 없는 색상 입력의 경우 범위는 [3, 63]이며, 부호 있는 색상의 경우 범위는 [6, 63]입니다.

Parameters

Status
Type 정적 읽기(GUI에는 쓰기로 표시됨) 파라미터
Default None
Range OK 또는 오류 메시지가 표시됩니다

오류 상태를 표시합니다. 매개변수 Activate가 Yes로 설정된 경우, 다른 모듈 매개변수들이 검증됩니다. 이 매개변수는 해당 검증 결과, 즉 OK 또는 오류 메시지를 표시합니다.

이 파라미터는 최종 앱릿에 포함되지 않습니다.

프로토콜
Type 정적 쓰기 파라미터
Default VALT_IMAGE2D
Range {VALT_IMAGE2D,VALT_LINE1D,VALT_PIXEL0D,VALT_SIGNAL}

링크 속성에 대한 액세스를 허용합니다. 프로토콜. 가능한 값은 VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D, VALT_SIGNAL입니다.

ColorFormat
Type 정적 쓰기 파라미터
Default VAF_GRAY
Range {VAF_GRAY,VAF_COLOR,VAF_NONE,VAF_UNDEFINED}

링크 속성인 ColorFormat에 대한 액세스를 허용합니다. 가능한 값은 VAF_GRAY, VAF_COLOR, VAF_NONE, VAF_UNDEFINED입니다.

ColorFlavor
Type 정적 쓰기 파라미터
Default FL_NONE
Range {FL_NONE, FL_RGB, FL_HSI, FL_YUV, FL_LAB, FL_XYZ, FL_HSL, FL_HSV, FL_YCrCb}

link 속성에 대한 액세스를 허용합니다. ColorFlavor. 가능한 값은 FL_NONE, FL_RGB, FL_HSI, FL_YUV, FL_LAB, FL_XYZ, FL_HSL, FL_HSV, FL_YCrCb입니다.

Arithmetic
Type 정적 쓰기 파라미터
Default 작성자 미상
Range {서명됨, 서명 없음}

link 속성에 대한 액세스를 허용합니다 Arithmetic. 가능한 값은 SIGNED 및 UNSIGNED입니다.

비트 폭
Type 정적 쓰기 파라미터
Default 1
Range

링크 속성에 대한 액세스를 허용합니다. BitWidth.

Parallelism
Type 정적 쓰기 파라미터
Default 1
Range

링크 속성에 대한 액세스를 허용합니다 Parallelism.

KernelRows
Type 정적 쓰기 파라미터
Default 1
Range

link 속성에 대한 액세스를 허용합니다. KernelRows.

KernelColumns
Type 정적 쓰기 파라미터
Default 1
Range

링크 속성에 대한 액세스를 허용합니다. KernelColumns.

MaxImgWidth
Type 정적 쓰기 파라미터
Default 1024
Range

링크 속성인 MaxImgWidth에 대한 액세스를 허용합니다.

MaxImgHeight
Type 정적 쓰기 파라미터
Default 1024
Range

링크 속성인 MaxImgHeight에 대한 액세스를 허용합니다.

WriteAction
Type 정적 쓰기 파라미터
Default
Range

링크에 대한 쓰기 액세스 중 평행 이동 방정식의 정의 속성 매개변수.

이 매개변수의 경우 자동 완성 기능과 구문 강조 표시 기능을 사용할 수 있습니다. 자동 완성 기능을 사용하려면, 모듈 속성 대화 상자에서 해당 매개변수의 ‘매개변수 값’ 필드 내부를 클릭한 다음 “${”를 입력하십시오 . 자동 완성 기능에 대한 자세한 지침은 ‘번역자 및 참조 연산자에 대한 자동 완성 및 구문 강조 표시’에서 확인할 수 있습니다 .

Activate
Type dynamic write 파라미터
Default 아니요
Range {아니요, 예}

예 = WriteAction 내의 쓰기 방정식을 통해 참조된 매개변수에 대한 액세스가 활성화됩니다.

아니요 = 쓰기 방정식을 통한 참조 매개변수 접근이 비활성화되며 ‘상태’ 매개변수도 비활성화됩니다.

사용 예

다음 예제에서는 LinkParamTranslator 연산자의 사용법을 보여줍니다: