스크립트의 변수

스크립트 내에서 변수 사용하기

변수를 사용하여 원하는 연산을 수행할 수 있습니다.

메모:

  • OR/AND/XOR/NOT은 항상 부호가 없는 32비트 정수값을 반환합니다.
  • 입력값이 음수인 경우 비트 시프트 표현식은 32비트 정수값을 반환합니다.
  • 입력값이 양수인 경우 비트 시프트 표현식은 32비트 정수값을 반환합니다.

스크립트 내에서 외부 변수 사용하기

스크립트에서 외부 변수를 사용하는 경우 외부 장치에 할당된 디바이스 주소가 스크립트 처리 중 변경될 수 있습니다.

할당 작업에 장치 주소를 사용할 경우, 디스플레이 장치가 연결된 장치로부터 주소 데이터를 읽어야 하기 때문에 쓰기가 지연될 수 있습니다.

메모: 외부 변수의 값을 스크립트에서 단일 트리거로 여러 번 변경하면 해당 외부 변숫값이 즉시 업데이트되지 않습니다.

트리거된 스크립트에서 업데이트된 외부 변수의 값을 사용하려면 그 값을 내부 변수에 저장한 다음 스크립트에서 사용하십시오. 또는 외부 변수의 값을 사용하기 전에 다른 트리거로 외부 변수의 값을 업데이트하십시오.

(예)

다음 변수를 추가합니다.

[이름] [데이터 종류] [소스] [디바이스 어드레스] [바이트수/워드수]

Var1

[INT]

Schneider Modbus Serial Equipment 400020 -

Var2

[INT]

400021 -

Var3

[INT]

400022 -

다음 오브젝트를 화면에 그립니다.

스위치 오브젝트(이름: Switch1)

특별한 구성이 없습니다.

스크립트

범례 블록

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]

- -

스크립트