# 변수값 입력

입력 변수 값 트리거는 값이 디스플레이 장치에서 선택한 변수로 입력될 때 작업을 실행합니다.

이 트리거는 입력 값이 현재 값과 같은 경우에도 발생합니다.

##### 블록

##### 텍스트

onVariableInput(VARIABLE, ()=>{
1
});

1: 변수

메모:

- 값이 디스플레이 장치 표시기가 아닌 외부 장치의 장치 주소에서 직접 외부 변수에 입력되면 트리거가 실행되지 않습니다.

- 외부 변수 품질 상태가 양호하지 않으면 외부 변수에 값을 입력하더라도 트리거가 실행되지 않습니다. 소스 속성(<변수 이름>.Quality)에서 변수 품질 상태를 모니터링할 수 있습니다.
  변수

(예)

1. 두 개의 숫자 표시 오브젝트를 생성합니다.
2. 변수 편집기에 있는 2개의 변수 DINT1과 DINT2를 추가합니다.
3. DINT1을 첫 번째 숫자 표시 오브젝트에 할당하고 DINT2를 두 번째 숫자 표시 오브젝트에 할당합니다.
4. 입력 변수값 트리거를 추가하고 DINT1을 변수로 설정합니다.
5. 값 변경 작업을 추가하고DINT2를 오브젝트로, [AddTo]를 [값 변경]로, 20을 파라미터로 각각 할당합니다.
   → 표시기에서 첫 번째 숫자 표시 오브젝트에 값을 입력할 때마다 두 번째 숫자 표시 오브젝트에 있는 값이 20씩 증분됩니다. 이전 입력과 동일한 값을 입력하는 경우에도 두 번째 숫자 표시 값은 20이 증가된 값으로 표시됩니다.

##### 블록

##### 텍스트

onVariableInput(DINT1, ()=>{
DINT2 += 20;
});

## [Input Variable Value] 및 [Value Change] 트리거 간의 차이점

[Input Variable Value] 트리거와 기능이 유사한 [Value Change] 트리거를 사용할 수도 있습니다. [Input Variable Value] 트리거가 요구 사항을 충족하지 않는 경우 [Value Change] 트리거의 사용을 고려하십시오.

다음은 두 트리거 간의 차이점에 대해 설명합니다.

| [Input Variable Value] | [Value Change]
트리거 대상 | 변수만 | 변수 및 소스 속성
값이 장치 주소에서 직접 외부 변수에 입력되는 경우: | 트리거가 실행되지 않습니다. | 트리거가 실행됩니다.
현재값과 동일한 값을 입력하는 경우: | 트리거가 실행됩니다. | 트리거가 실행되지 않습니다.

## [Input Variable Value] 트리거 및 연결된 블록에 동일한 변수 할당 시 참고 사항

슬레이브 장치 드라이버가 [Input Variable Value] 트리거 및 연결된 블록에 할당된 것 이외의 동일한 외부 변수를 사용하는 경우, 입력 값이 아닌 현재 값이 연결된 블록에서 참조될 수도 있습니다.

##### 블록

##### 텍스트

onVariableInput(Var1, ()=>{

$GraphicObject.NumericDisplay2.CurrentValue = Var1;

});

변수 유형 | 드라이버 | 비동기식 작업 사용*2 | 연결된 블록에서 참조된 변수 값
내부 변수 | - | 예 | 값 입력
아니요 | 값 입력
외부 변수 | 슬레이브 장치 드라이버 *1 | 예 | 값 입력
아니요 | 값 입력
슬레이브 장치 드라이버 이외 | 예 | 값 입력
아니요 | 현재값(값을 입력하기 전)

*1 슬레이브 장치 드라이버에는 다음이 포함됩니다.

- Modbus Organization

- MODBUS SIO Slave
- MODBUS TCP Slave

- Pro-face by Schneider Electric

- Memory Link Ethernet
- Memory Link SIO

- Schneider Electric

- EcoStruxure Augmented Operator Advisor

*2 [Input Variable Value] 트리거와 대상 작업 사이에 비동기식 연산을 삽입하는 경우.

##### 블록

##### 텍스트

onVariableInput(Var1, ()=>{

exportAlarmData(false, false, $Enums.AlarmMode.Log);

$GraphicObject.NumericDisplay2.CurrentValue = Var1;

});

비동기식 작업에 대한 자세한 내용은 다음을 참조하십시오.
동작 블록

테이블 하단의 항목에 해당하는 경우 [Input Variable Value] 트리거 대신 [Value Change] 트리거를 사용할 수 있는지 여부를 고려하십시오.
[Value Change] 트리거와 [변수값 입력] 트리거 간의 차이점에 대한 자세한 내용은 이 항목의 “[Input Variable Value] 및 [Value Change] 트리거 간의 차이점”을 참조하십시오.
[Value Change] 트리거에 대한 자세한 내용은 다음을 참조하십시오.
값 변경