...
작성된 각각의 프로그램은 독립된 스레드(Thread)로 동작되며, 멀티태스킹으로 처리됩니다. 또한, 각 프로그램마다 우선순위가 부여되어 등급에 따라 처리 속도가 다르게 적용됩니다. 최저 우선순위인 1부터 최고 우선순위 10까지 지정할 수 있습니다.
특징
프로그램 구문 검사의 모든 단계에서 대/소문자를 구분하지 않습니다.
Xpanel의 데이터베이스에 등록된 모든 태그는 별도의 기호 없이 프로그램 내부의 변수로 직접 사용할 수 있습니다.
변수는 실수형, 문자열형을 지원하며 프로그램 실행 중 자동으로 결정됩니다.단, 하나의 변수를 실수/문자열형 데이터의 처리에 동시에 사용할 수 없습니다.
설정 화면
[도구] – [스크립트]를 클릭하여 스크립트 편집기로 진입할 수 있습니다.
...
항목 | 설명 |
스크립트를 추가합니다. 스크립트의 실행 옵션을 선택하는 화면이 나타납니다. | |
선택한 스크립트를 편집합니다. 스크립트 실행 옵션을 선택하는 화면이 나타납니다. 단, 스크립트 이름을 변경할 수는 없습니다. | |
선택한 스크립트를 검사합니다. 검사 결과는 편집화면 하단의 [빌드] 영역에 표시됩니다. | |
등록된 모든 스크립트를 검사합니다. 검사 결과는 편집화면 하단의 [빌드] 영역에 표시됩니다. | |
선택한 스크립트 내 커서가 위치한 곳에 상세 디바이스 어드레스를 입력합니다. | |
선택한 스크립트 내 커서가 위치한 곳에 태그 이름을 입력합니다. |
항목 | 설명 |
스크립트 이름 | 스크립트의 이름을 입력합니다. 편집 화면일 경우 해당 영역은 비활성화됩니다. |
실행방식 | 스크립트가 실행될 방식을 선택합니다. 자동으로 선택한 경우 프로젝트 실행과 동시에 해당 스크립트를 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; | Tag_A의 값을 100으로 변경하고, “NewPage”로 지정된 페이지를 엽니다. |
Tag_B = Tab_B + 1 | Tag_B의 값을 1 증가시킵니다. |
Tag_A = 100; | Tag_A 와 Tag_B의 값을 각각 100과 1로 변경하고 MyLoop() 으로 작성된 스크립트를 실행합니다. 스크립트가 실행되면 스크립트의 실행 종료와 관계없이 데이터 수집모델 “LogModel”의 데이터를 CSV 파일 형식으로 SD메모리에 저장합니다. |
프로그램 문법
다음은 스크립트 프로그램 내에서 사용할 수 있는 구문 및 키워드입니다.
...
If (A == 0) |
함수 일람
Xpanel의 스크립트에서 사용할 수 있는 함수의 종류로 삼각함수, 산술함수, 특수함수가 있습니다.
...
※ 자세한 내용은 스크립트 (부록)을 참조하여 주시기 바랍니다.
사용 예제
본 예제는 기능을 설명하기 위해 삽입된 예제입니다. 실제 사용 시 사용자의 환경에 맞게 설정하여 사용해주십시오. |
...