스크립트는 크게 선언부와 프로그램부로 구분됩니다. 선언부는 내부 변수 및 입력 파라미터를 선언하며, 프로그램부는 변수와 파라미터 선언 외의 모든 프로그램 구문을 입력하는 영역입니다.
주석은 프로그램 어느 위치에도 입력할 수 있으며, ‘//’ 기호를 입력하여 주석의 시작을 표시합니다. 해당 기호 이후에 입력되는 모든 문자열은 해당 행이 끝나는 부분까지만 주석으로 인식합니다.
(1) 선언부
항목 | 설명 |
변수의 선언 | VAR variable_name [, variable_name]; 의 형태로 내부 변수를 선언합니다. 선언된 변수의 초기 값은 0입니다. 하나 이상의 변수를 선언하고자 하는 경우 쉼표 “ , ” 를 사용하여 변수 이름을 기술합니다. 프로그램부가 시작되기 전까지 여러 개의 VAR 키워드를 사용할 수 있습니다. 단, 변수 이름은 데이터베이스에 추가된 태그 (그룹, 디지털, 아날로그, 문자열) 이름과 중복하여 사용할 수 없습니다. 태그 이름과 동일한 이름의 변수를 선언하는 경우 컴파일 오류 또는 실행 중 오동작의 원인일 될 수 있으므로 주의하시기 바랍니다. |
입력 파라미터의 선언 | PARAM 1st parameter [, 2nd parameter …]; 의 형태로 파라미터를 선언합니다. 다른 프로그램 또는 명령식에서 호출되는 경우에 필요한 입력 파라미터를 선언합니다. 선언의 순서는 입력 파라미터의 지정 순서와 동일하여야 합니다. 파라미터는 프로그램이 호출될 때 호출자가 지정하는 값으로초기화됩니다. 하나 이상의 파라미터가 선언되는 경우에는 쉼표 “ , ” 를 사용하여 파라미터 이름을 기술합니다. 프로그램부가 시작되기 전까지 여러 개의 PARAM 키워드를 사용할 수 있습니다. |
예시 | 프로그램명: MyPgm VAR a, b; VAR c; PARAM p1, p2; PARAM p3; 위처럼 작성된 프로그램 (MyPgm)은 외부 명령식 또는 프로그램에서 다음과 같이 호출할 수 있습니다. MyPgm(1,2,3); 이 때, p1, p2, p3파라미터에는 각각 값 1, 2, 3이 저장됩니다. 변수 a, b, c는 0으로 초기화됩니다. |
(2) 프로그램부
프로그램부에는 변수(VAR) 또는 파라미터(PARAM) 선언을 제외한 모든 프로그램 구문이 사용될 수 있습니다. 가장 기본적인 구문의 형태의 예로 함수 호출과 연산 및 그 결과의 저장을 들 수 있습니다.
기본 구문을 사용한 프로그램 예시는 다음과 같습니다.
Tag_a = Tag_a + 1;
Tag_b = MyPgm(Tag_a, 2, 3);
구문의 끝에는 항상 “ ; ” 기호를 사용하여 해당 구문의 끝을 표시하여야 합니다. 모든 함수는 하나의 결과값을 호출자에게 되돌려줍니다. 위 예시는 그 값을 Tag_b에 저장하는 프로그램입니다.
(3) 상수의 표기
프로그램 내에서 상수를 사용하고자 하는 경우, 다음과 같은 표기법을 사용할 수 있습니다.
항목 | 설명 |
8진 상수 | 0에서 7까지의 숫자만 이용하여 연속된 숫자로 표기합니다. (예: 01277) |
10진 상수 | 일반적인 표기법을 따릅니다. (예: 153, 3.14, 2.45E-12) |
16진 상수 | ‘0x’로 시작하여 ‘0’-‘F’ 범위의 연속된 알파벳 또는 숫자를 사용하여 표기합니다. (예: 0xFFFF) |
문자열 상수 | 두개의 큰따옴표 (“ ”) 기호 사이에 사용하고자 하는 문자열을 기록합니다. (예: “String Variable1”) |
그 외에도 PI_ (pi: 3.14……) 등 다음의 표에 기록된 기호를 이용하여 상수를 이용할 수 있습니다.
정의된 기호 | 값 | 의미 |
_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 |