변수를 사용하여 원하는 연산을 수행할 수 있습니다.
스크립트에서 외부 변수를 사용하는 경우 외부 장치에 할당된 디바이스 주소가 스크립트 처리 중 변경될 수 있습니다.
할당 작업에 장치 주소를 사용할 경우, 디스플레이 장치가 연결된 장치로부터 주소 데이터를 읽어야 하기 때문에 쓰기가 지연될 수 있습니다.
외부 변수의 값을 스크립트에서 단일 트리거로 여러 번 변경하면 해당 외부 변숫값이 즉시 업데이트되지 않습니다.
트리거된 스크립트에서 업데이트된 외부 변수의 값을 사용하려면 그 값을 내부 변수에 저장한 다음 스크립트에서 사용하십시오. 또는 외부 변수의 값을 사용하기 전에 다른 트리거로 외부 변수의 값을 업데이트하십시오.
(예)
다음 변수를 추가합니다.
| [이름] | [데이터 종류] | [소스] | [디바이스 어드레스] | [바이트수/워드수] |
|
Var1 |
[INT] |
Schneider Modbus Serial Equipment | 400020 | - |
|
Var2 |
[INT] |
400021 | - | |
|
Var3 |
[INT] |
400022 | - |
다음 오브젝트를 화면에 그립니다.
특별한 구성이 없습니다.

| 범례 | 블록 |
|
1 |
[트리거] ➞ [터치] ➞ [터치] |
|
2 |
[오퍼레이션] ➞ [값 변경] ➞ [값 변경] |
| 3 |
[값] ➞ [화면 오브젝트] |
|
4 |
[로직] ➞ [Math] |
|
5 |
[값] ➞ [변수] |
|
6 |
[값] ➞ [상수] |
Switch1을 누르면 Var1+1 값이 Var2에 할당됩니다. 그러나 장치와의 통신에 시간이 소모되기 때문에 Var2값이 Var3에 할당되지는 않았습니다.
이런 경우에는 다음 예에서 볼 수 있듯이 실행하기 전에 Var1의 결과가 우선 내부 변수 Var4에 저장되도록 스크립트를 프로그래밍하면 됩니다.
다음 변수를 추가합니다.
| [이름] | [데이터 종류] | [소스] | [디바이스 어드레스] | [바이트수/워드수] |
|
Var1 |
[INT] |
Schneider Modbus Serial Equipment | 400020 | - |
|
Var2 |
[INT] |
400021 | - | |
|
Var3 |
[INT] |
400022 | - | |
|
Var4 |
[INT] |
[Internal] |
- | - |
