SKY-CONTROL SIDC-100M 통신 드라이버

 

SIDC-100M 컨트롤러는 국내의 (주)스카이 콘트롤에서 제작/판매하는 컨트롤러로 <그림 1>의 예와 같이 사용한다.

 

1. 읽기 설정

 

<그림 1> (주)스카이 콘트롤의 SIDC-100M 컨트롤러의 통신설정 예

 

SIDC-100M 컨트롤러의 DEVICE 설정은 연결된 통신포트, 속도(9600 BPS), PARITY BIT(0), DATA BIT(8), STOP BIT(1) 등을 입력하고 485 통신의 BACK 신호를 받지않게 TxRTS, RxECHO, 30000(읽기 TRS end Delay) , 30000(쓰기 TRS end Delay) 순으로 입력한다.

 

 

SIDC-100M 의 읽기 스케쥴 작성형식

SIDC-100M의 통신 프로토콜의 READ 형식은 다음과 같은 인자 순으로 작성 한다.

1) STATION - STATION 번호.

2) COMMAND – 명령어 종류.

TIME : 현재시간 읽기.

AI, AO, AD : 아날로그 값 읽기.

BI, BO, BD : 디지털 값 읽기.

COS(COS 읽기), ACOS(강제 COS 읽기) : COS 값 읽기.

SCH1 ~ SCH7  : 일요일 ~ 토요일 스케쥴 데이터 읽기.

3) 읽을 번지 – TIME, COS, ACOS : 사용안함.

- AI, AO, AD, BI, BO, BD : 읽을 번지(1 ~ 40). 단 읽을 크기가 2 이상이면 40개의 모든 아날로그 또는 디지털 값을 읽어온다.

- SCH1 ~ SCH7  : 스케쥴 번호(1 ~ 20).

4) 통신 메모리 저장 위치 - 읽은 값이 저장될 ScanBuf의 위치.

5) 읽을크기 - AI, AO, AD, BI, BO, BD 의 경우 읽을 크기가 2 이상이면 40개의 모든 아날로그/디지털 데이터를 읽어온다.

6) 상태값 표시선택 - AI, AO, AD, BI, BO, BD 읽기의 상태 값과 COS값을 메모리에 저장할 것인지를 선택.

                     - 0 : 상태값과 COS값 저장없이 실제 데이터만 메모리에 표시.  AI 를 40개 읽어면 40개 실제 자료값만 워드 메모리에 표시.

                     - 1 : 상태값과 COS값을 메모리에 표시 .  AI 를 40개 읽어면 120개의 워드 메모리에 상태, COS, 계측값을 각각 40워드 씩 표시.

 

READ 예)

READ,   1,   TIME,   1,    0,   1,

READ,   1,      AI,    1,   10,  40,  0,

READ,   1,      AO,   1,  200,  40,  0,

READ,   1,      BI,    1,  400,  40,  0,

READ,   1,      BO,   1,  600,  40,  0,

 

AI, AO, AD, BI, BO, BD 메모리를 상태값 표시를 하도록 설정하고 데이터를 읽으면  상태값, COS, 실제 계측값 (AI, AO, AD : 워드,  BI, BO, BD : 바이트) 순으로 표시한다.

 

 

2. 출력 설정

SIDC-100M 컨트롤러의 쓰기는 시간, 아날로그, 디지털, 스케쥴, configuration download 등을 출력할 수 있다.

 

SIDC-100M 디지털 출력 설정법

TAG 설정 시 필요한 설정 5 가지

1) PORT : 설정 PORT 번호.

2) STATION : SIDC/FCU2000의 STATION 번호.

3) ADDRESS : 출력 명령어가 AI, AO, AD, BI, BO, BD, OVRAI, OVRAO, OVRAD, OVRBI, OVRBO, OVRBD – 출력번지(1 ~ 40).

                      출력 명령어가 SCH1 ~ SCH7 – 상위 2 자리 : RunFlag (ON/OFF), 하위 2 자리 : 스케쥴 번호 (1 ~ 20).

                      기타 : 사용안함.

4) EXTRA1 :  출력 명령어.

TIME : 현재시간 쓰기.

AI, AO, AD, BI, BO, BD : 아날로그/디지털 값 쓰기.

OVRAI, OVRAO, OVRAD, OVRBI, OVRBO, OVRBD : 아날로그/디지털 override point value 쓰기.

SCH1 ~ SCH7  : 일요일 ~ 토요일 스케쥴 데이터 쓰기.

CFG00 ~ CFG90 : Configuration Download Pkt No 00 ~ 90.

Configuration Data 입력법)

128 바이트 Configuration Data 는 작업 디렉토리 하부 SCAN 디렉토리 “CFGss_pp.ppp”에 ‘,’ 로 가각의 데이터를 구분하여 128개의 바이트 데이터를 입력한다.

여기서 ss 는 스테이션 번호 (00 ~ 255) 이고 pp 는 Pkt No (00 ~ 90) 이며 ppp 는 포트번호 (000 ~ 255)이다.

5) EXTRA2 : 설정타입 선택영역.

출력 명령어가 OVRAI, OVRAO, OVRAD, OVRBI, OVRBO, OVRBD 이면 OvrType 설정– 0 : RELEASE, 1 : Set Only, 2 Set With Value.

출력 명령어가 SCH1 ~ SCH7 – 출력 포인트 번호 (1 ~ 40).

기타 : 사용안함.

 

 

설정 예1)

PORT : 0  STATION : 1  ADDRESS : 0001  EXTRA1 : BO  라고 설정하면 0번 포트 1번 STATION의 SIDC-100M 컨트롤러의 첫번째 BO 값을 제어(ON/OFF) 할 수 있다.

 

설정 예2)

PORT : 0  STATION : 1  ADDRESS : 0012  EXTRA1 : OVRBO  EXTRA2:2 라고 설정하면 0번 포트 1번 STATION의 SIDC-100M 컨트롤러의 12번째 BO 포인트를 Set With Value 상태로 Override 할 수 있다.

 

설정 예3)

PORT : 0  STATION : 1  EXTRA1 : CFG00  라고 설정하면 0번 포트 1번 STATION의 SIDC-100M 컨트롤러의 0번 Pkt No 번지에 Configuration  Download 데이터를 출력한다.

단, Configuration Download 데이터는 ‘작업디렉토리\SCAN\CFG01_00.000’ 파일에 콤마로 각 데이터를 구분하여 128 바이트를 입력하였다고 가정한다.

 

 

SIDC-100M 아날로그 출력 설정법

TAG 설정 시 필요한 설정 5 가지

1) PORT : 설정 PORT 번호.

2) STATION : SIDC/FCU2000의 STATION 번호.

3) ADDRESS : 출력 명령어가 AI, AO, AD, BI, BO, BD, OVRAI, OVRAO, OVRAD, OVRBI, OVRBO, OVRBD – 출력번지(1 ~ 40).

                      출력 명령어가 SCH1 ~ SCH7 – 상위 2 자리 : RunFlag (ON/OFF), 하위 2 자리 : 스케쥴 번호 (1 ~ 20).

                      기타 : 사용안함.

4) EXTRA1 :  출력 명령어.

TIME : 현재시간 쓰기.

AI, AO, AD, BI, BO, BD : 아날로그/디지털 값 쓰기.

OVRAI, OVRAO, OVRAD, OVRBI, OVRBO, OVRBD : 아날로그/디지털 override point value 쓰기.

SCH1 ~ SCH7  : 일요일 ~ 토요일 스케쥴 데이터 쓰기.

CFG00 ~ CFG90 : Configuration Download Pkt No 00 ~ 90.

Configuration Data 입력법)

128 바이트 Configuration Data 는 작업 디렉토리 하부 SCAN 디렉토리 “CFGss_pp.ppp”에 ‘,’ 로 가각의 데이터를 구분하여 128개의 바이트 데이터를 입력한다.

여기서 ss 는 스테이션 번호 (00 ~ 255) 이고 pp 는 Pkt No (00 ~ 90) 이며 ppp 는 포트번호 (000 ~ 255)이다.

5) EXTRA2 : 설정타입 선택영역.

출력 명령어가 OVRAI, OVRAO, OVRAD, OVRBI, OVRBO, OVRBD 이면 OvrType 설정– 0 : RELEASE, 1 : Set Only, 2 Set With Value.

                     출력 명령어가 SCH1 ~ SCH7 – 출력 포인트 번호 (1 ~ 40).

                     기타 : 사용안함.

 

출력명령어가 SCH1 ~ 7 일 때는 아날로그 출력 값의 상위 4자리가 시작시간(시간 : 분) 이고 하위 4자리가 종료시간(시간 : 분) 이다.

 

 

설정 예1)

PORT : 0  STATION : 1  ADDRESS : 0002  EXTRA1 : AO  라고 설정하면 0번 포트 1번 STATION의 SIDC-100M 컨트롤러의 두번째 AO 값을 바꿀 수 있다.

 

설정 예2)

PORT : 0  STATION : 1  ADDRESS : 0027  EXTRA1 : OVRAO  EXTRA2:1 라고 설정하면 0번 포트 1번 STATION의 SIDC-100M 컨트롤러의 27번째 AO 포인트를 Set Only 상태로 Override 할 수 있다.

 

설정 예3)

PORT : 0  STATION : 1  ADDRESS : 0115  EXTRA1 : SCH2  EXTRA2:3 라고 설정하고 12201635 값을 출력하면 0번 포트 1번 STATION의 SIDC-100M 컨트롤러의 월요일 스케쥴의 15번 스케쥴 번호를 RunFlag = 1 (ON), 포인터 번호 = 3, 스케쥴 시작시간(start time)을 12시 20분, 스케쥴 종료시간(stop time)을 16시 35분으로 설정하여 스케쥴 데이터를 컨트롤러에 전송한다.

 

설정 예4)

PORT : 2  STATION : 3  EXTRA1 : CFG89  라고 설정하면 2번 포트 3번 STATION의 SIDC-100M 컨트롤러의 89번 Pkt No 번지에 Configuration  Download 데이터를 출력한다.

단, Configuration Download 데이터는 ‘작업디렉토리\SCAN\CFG03_89.002’ 파일에 콤마로 각 데이터를 구분하여 128 바이트를 입력하였다고 가정한다.