Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

작성된 각각의 프로그램은 독립된 스레드(Thread)로 동작되며, 멀티태스킹으로 처리됩니다. 또한, 각 프로그램마다 우선순위가 부여되어 등급에 따라 처리 속도가 다르게 적용됩니다. 최저 우선순위인 1부터 최고 우선순위 10까지 지정할 수 있습니다.

특징

  • 프로그램 구문 검사의 모든 단계에서 대/소문자를 구분하지 않습니다.

  • Xpanel의 데이터베이스에 등록된 모든 태그는 별도의 기호 없이 프로그램 내부의 변수로 직접 사용할 수 있습니다.

  • 변수는 실수형, 문자열형을 지원하며 프로그램 실행 중 자동으로 결정됩니다.단, 하나의 변수를 실수/문자열형 데이터의 처리에 동시에 사용할 수 없습니다.

 

설정 화면

[도구] – [스크립트]를 클릭하여 스크립트 편집기로 진입할 수 있습니다.

...

항목

설명

스크립트를 추가합니다. 스크립트의 실행 옵션을 선택하는 화면이 나타납니다.

선택한 스크립트를 편집합니다. 스크립트 실행 옵션을 선택하는 화면이 나타납니다. 단, 스크립트 이름을 변경할 수는 없습니다.

선택한 스크립트를 검사합니다. 검사 결과는 편집화면 하단의 [빌드] 영역에 표시됩니다.

등록된 모든 스크립트를 검사합니다. 검사 결과는 편집화면 하단의 [빌드] 영역에 표시됩니다.

선택한 스크립트 내 커서가 위치한 곳에 상세 디바이스 어드레스를 입력합니다.

선택한 스크립트 내 커서가 위치한 곳에 태그 이름을 입력합니다.

 

Image RemovedImage Added

항목

설명

스크립트 이름

스크립트의 이름을 입력합니다. 편집 화면일 경우 해당 영역은 비활성화됩니다.

실행방식

스크립트가 실행될 방식을 선택합니다. 자동으로 선택한 경우 프로젝트 실행과 동시에 해당 스크립트를 1회 동작 시킵니다. 수동으로 선택한 경우 명령식 등의 외부 호출에 의하여 1회 동작합니다. 정주기를 선택하면 실행주기에 지정한 초마다 해당 스크립트를 반복하여 실행합니다.

실행주기

해당 스크립트의 반복 주기를 설정합니다. 정주기를 선택한 경우에만 활성화됩니다. 1초에서 65535초까지 지정할 수 있습니다.

우선순위

해당 스크립트의 실행 우선순위를 지정합니다. 가장 낮은 우선순위는 1이며 가장 높은 우선순위는 10입니다.

 

 

프로그램 구조

스크립트는 크게 선언부와 프로그램부로 구분됩니다. 선언부는 내부 변수 및 입력 파라미터를 선언하며, 프로그램부는 변수와 파라미터 선언 외의 모든 프로그램 구문을 입력하는 영역입니다.

...

정의된 기호

의미

_PI_

 

3.141592… 원주율 값

_LOCAL_

0

Local Flash Memory

_SDMEM_

1

SD/MMC Memory

_USBMEM_

2

USB Memory

_COM232_

0

COM1 포트를 RS232C Mode로 사용한다.

_COM422_

1

COM1 포트를 RS422 Mode로 사용한다.

_COM485_

2

COM1 포트를 RS485 Mode로 사용한다.

_COMAUX_

3

COM2 포트를 RS232C Mode로 사용한다.

_BPS300_

 

300 bps

_BPS600_

 

600bps

_BPS1200_

 

1200bps

_BPS2400_

 

2400bps

_BPS4800_

 

4800bps

_BPS9600_

 

9600bps

_BPS19200_

 

19200bps

_BPS38400_

 

38400bps

_BPS56000_

 

56000bps

_BPS57600_

 

57600bps

_BPS115200_

 

115200bps

_BPS128000_

 

128000bps

_BPS256000_

 

256000bps

_PARITY_NONE_

 

NO PARITY BIT

_PARITY_EVEN_

 

EVEN PARITY

_PARITY_ODD_

 

ODD PARITY

_PARITY_MARK_

 

MARK PARITY

_PARITY_SPACE_

 

SPACE PARITY

_STOPBIT_ONE_

 

1 STOP BIT

_STOPBIT_TWO_

 

2 STOP BITS

_STOPBIT_ONE5_

 

1.5 STOP BIT

 

연산자

프로그램 내에서 사용자가 사용할 수 있는 연산자에는 산술, 논리/비교, 기타 연산자로, 총 3 종류가 있습니다.

...

NOTE

“=” 연산자의 특성 때문에 다음 예와 같이 검출되지 않는 프로그램 오류가 빈번하게 발생합니다. 이 경우 A와 B의 값이 같지 않음에도 IF 문의 연산 결과는 True가 될 수 있으며, 원하지 않는 값이 A에 기록될 수도 있습니다.

//===================
//검출되지 않는 프로그램 예
//===================

If (A=B) // A와 B의 값이 동일한지의 여부를 검사하는 부분, (A==B)의 오기
{

}

명령식 및 조건식

경우에 따라 오브젝트의 동작을 설정할 때, 간단한 스크립트를 사용해야 하는 경우가 발생합니다. 예를 들어 다음 그림과 같이 터치 설정의 오브젝트 동작에 조건과 명령식을 입력할 수 있습니다. 표현 방법은 스크립트 프로그램 방법과 동일합니다.

...

입력 예

설명

Tag_A = 100;
PageOpen(“NewPage”);

Tag_A의 값을 100으로 변경하고, “NewPage”로 지정된 페이지를 엽니다.

Tag_B = Tab_B + 1

Tag_B의 값을 1 증가시킵니다.

Tag_A = 100;
Tag_B = 1;
RunScript MyLoop();
MakeCsv(“LogModel”,1);

Tag_A 와 Tag_B의 값을 각각 100과 1로 변경하고 MyLoop() 으로 작성된 스크립트를 실행합니다. 스크립트가 실행되면 스크립트의 실행 종료와 관계없이 데이터 수집모델 “LogModel”의 데이터를 CSV 파일 형식으로 SD메모리에 저장합니다.

프로그램 문법

다음은 스크립트 프로그램 내에서 사용할 수 있는 구문 및 키워드입니다.

...

If (A == 0)
RunScript NewThread(); // 다른 프로그램 (NewThread)를 기동시킵니다.
A = A + 1;              // 이후 대기없이 나머지 작업을 진행합니다.

함수 일람

Xpanel의 스크립트에서 사용할 수 있는 함수의 종류로 삼각함수, 산술함수, 특수함수가 있습니다.

...

※ 자세한 내용은 스크립트 (부록)을 참조하여 주시기 바랍니다.


 

사용 예제

본 예제는 기능을 설명하기 위해 삽입된 예제입니다. 실제 사용 시 사용자의 환경에 맞게 설정하여 사용해주십시오.

...