Instromet MODUBS ASCII 통신 드라이버

 

Instromet MODBUS ASCII 는 벨기에의 Instromet International 사에서 개발/판매하는 GAS Measurement Corrector 장비 ( 793-1K, … ) 등과 통신을 위한 드라이브이다.

 

1. 읽기 설정

 

<그림 1>은 Instromet MODUBS ASCII 통신 드라이브를 사용할 때의 통신설정 예이다.

 

             <그림 1> Instromet MODUBS ASCII 드라이브의 통신설정 예

 

<그림 1>의 DEVICE 설정은 연결된 통신포트(COM1), 통신속도( 4800 ), Parity Bit ( 0 ), Data Bit ( 8 ), Stop Bit ( 1 ), 순으로 장비에 설정된 값을 입력한다.

Instromet 장비의 통신속도 등의 설정은 앞면 조작스위치로 설정할 수 있다. ( 3절 참조 )

또한 옵션 부 에는 DWORD/FLOAT 등의 값을 읽을 때 읽을 크기를 WORD 단위 비 사용여부( 1 = 사용안함, 0 = WORD 단위로 계산, 기본 : 0 )를 입력한다.

 

참고) Instromet 793-1K 등은 MODBUS ASCII 프로토콜로 통신하는 장비이다.

             MODBUS ASCII 프로토콜은 MODBUS 프로토콜과 프레임 구조 등은 동일하고 통신코드가 ASCII 라는 것이 다르다.

 

 

읽기 설정 방법

READ 스테이션 읽을 종류 읽을 시작주소 메모리 저장위치 읽는 개수
DOUBLE, 1, 3fd, 1, 0, 20,
FLOAT, 1, 3f, 101, 20, 8,
DWORD, 1, 3, 117, 0, 3,

 

1) 스테이션 : 장비의 스테이션 (ID) 번호. (1 ~ 247)

2) 읽을 종류 : 읽을 데이터 종류를 지정.

3 – WORD 단위의 데이터 읽기,

3D – DWORD 단위의 데이터 읽기 ( LO, HI 데이터 순 ),

3d – DWORD 단위의 데이터 읽기 ( HI, LO 데이터 순 ),

3M – HI WORD x 10000 + LO WORD 형식의 DWORD 데이터 읽기 ( LO, HI 데이터 순 ),

3m – HI WORD x 10000 + LO WORD 형식의 DWORD 데이터 읽기 ( HI, LO 데이터 순 ),

3F2 – FLOAT 단위의 데이터 읽기 ( LO, HI 데이터 순 ),

3F – FLOAT 단위의 데이터 읽기 ( LO, HI 데이터 순 ),

3f – FLOAT 단위의 데이터 읽기 ( HI, LO 데이터 순 ),

3fd – DOUBLE 단위의( 8 Byte ) 데이터 읽기 ( HI, LO 데이터 순 ),

3B – BYTE 단위의 데이터 읽기,

1X – 16 BIT 단위의 데이터 읽기.

3) 읽을 시작주소 : 읽을 시작번지. (modbus 주소 )

4) 메모리 저장 위치 : 읽어온 상태 값을 저장할 버퍼위치.

5) 읽는 크기: 읽을 크기.

3 – WORD 단위 개수,

3D, 3d, 3M, 3m, 3F, 3f – 2 WORD 단위 개수,

3fd – 4 WORD 단위 개수,

3B – BYTE 단위 개수,

1X – 읽을 크기 x 16 Bit 단위 개수.

 

 

주의) Instromet 793-1K 장비는 DOUBLE, FLOAT, WORD의 3가지 종류의 데이터가 있다.

             그러므로 읽기 설정 시 위의 예처럼 3가지 데이터를 구분해서 읽을 필요가 있다.

 

 

Instromet 793-1K 장비의 MODBUS 번지 및 내용은 <표 1>과 같다.

 

MODBUS 번지

내용

데이터 형식

단위

1 ~ 4

V Main

DOUBLE

( 64 bit )

m3

5 ~ 8

Vb-c Main

9 ~ 12

Vn Main

13 ~ 16

E Main

Kcal

17 ~ 20

M Main

Tonnes

21 ~ 24

V Current Day

m3

25 ~ 28

Vb-c Current Day

29 ~ 32

Vn Current Day

33 ~ 36

E Current Day

Kcal

37 ~ 40

M Current Day

Tonnes

41 ~ 44

V Current Hour

m3

45 ~ 48

Vb-c Current Hour

49 ~ 52

Vn Current Hour

53 ~ 56

E Current Hour

Kcal

57 ~ 60

M Current Hour

Tonnes

61 ~ 64

V Previous Day

m3

65 ~ 68

Vb-c Previous Day

69 ~ 72

Vn Previous Day

73 ~ 76

E Previous Day

Kcal

77 ~ 80

M Previous Day

Tonnes

81 ~ 84

V Previous Hour

m3

85 ~ 88

Vb-c Previous Hour

89 ~ 92

Vn Previous Hour

93 ~ 96

E Previous Hour

Kcal

97 ~ 100

M Previous Hour

Tonnes

101 ~ 102

Qb

FLOAT

( 32 bit )

m3/hr

103 ~ 104

Qn

105 ~ 106

QE

Kcal/hr

107 ~ 108

QM

Tonnes/hr

109 ~ 110

Pressure

Kg/cm2

111 ~ 112

Temperature

Deg C

113 ~ 114

Z Factor

 

115 ~ 116

Z base

 

117

Status Bit Code

( <표 2> 참조 )

WORD

( 16 bit )

 

118

 

119

 

<표 1> Instromet 793-1K 장비의 MODBUS 번지 및 내용

 

 

MODBUS 번지

비트위치

내용

비고

117

0 번 비트 ( LSB )

Any Alarm

ON = Alarm, Fault 등

 

OFF = 정상

1 번 비트

Flow Computer Fault

2 번 비트

Pulse Output Alarm

3 번 비트

Print Alarm

4 번 비트

Calibrate Alarm

5 번 비트

사용안함

6 번 비트

Qb High Alarm

7 번 비트

Qb Low Alarm

8 번 비트

Blade Failure < HF/LF

9 번 비트

Blade Failure > HF/LF

10 ~ 15 번 비트 ( MSB )

사용안함

118

0 번 비트 ( LSB )

Pressure Max

ON = Max, Min, High,

Low, Fault 등

 

OFF = 정상

1 번 비트

Pressure Min

2 번 비트

Pressure High

3 번 비트

Pressure Low

4 번 비트

Pressure Transmitter Fault

5 번 비트

Pressure Transmitter Comms

6 ~ 7 번 비트

사용안함

8 번 비트

Temperature Max

9 번 비트

Temperature Min

10 번 비트

Temperature High

11 번 비트

Temperature Low

12 번 비트

Temperature Transmitter Fault

13 번 비트

Temperature Transmitter Comms

14 ~ 15 번 비트 ( MSB )

사용안함

119

0 번 비트 ( LSB )

Hs Max

ON = Max, Min,

High, Low 등

 

OFF = 정상

1 번 비트

Hs Min

2 번 비트

Hs High

3 번 비트

Hs Low

4 번 비트

Hi Max

5 번 비트

Hi Min

6 번 비트

Hi High

7 번 비트

Hi Low

8 번 비트

CO2 Max

9 번 비트

CO2 Min

10 번 비트

CO2 High

11 번 비트

CO2 Low

12 번 비트

d Max

13 번 비트

d Min

14 번 비트

d High

15 번 비트 ( MSB )

d Low

<표 2> Instromet 793-1K 장비의 Status Bit Code 내용

 

 

<그림 1> 프로토콜 옵션부의  아이콘을 클릭하면 <그림 2>의 대화상자가 나타나는데 여기서도 READ 스케쥴을 작성할 수 있다.

 

<그림 2> Instromet MODUBS ASCII 드라이브의 통신 읽기 설정 대화상자

 

<그림 2>의 , ,  버턴과 리스트 박스를 이용하여 READ 스케쥴을 작성한다.

<그림 2>의 ‘Don’t Use WORD Unit Read Size’ 영역에 DWORD/FLOAT 등의 값을 읽을 때 읽을 크기를 WORD 단위 비 사용여부를 설정할 수 있다.

 

<그림 3> Instromet MODUBS ASCII 드라이브의 통신 읽기 설정 READ 추가/편집 대화상자의 예

 

 

<그림 3>는 <그림 2>의 대화상자에서 READ 스케쥴을 추가 또는 편집할 때 나타나는 대화상자이다.

 

 

2. 쓰기 설정

출력은 SCAN File과 상관없이 컨트롤러의 직접 ADDRESS에 쓴다.

 

디지털 출력 설정법

디지털 출력으로 장비의 상태 값(reset 등)을 설정하거나 Relay 등을 제어할 수 있다.

 

디지털 출력 TAG 설정 시 필요한 요소는 아날로그 출력태그 설정요소와 동일하고 출력 값만 다르다.

 

 

아날로그 출력 설정법

아날로그 출력은 BYTE/WORD/DWORD/FLOAT 값을 메타에 쓰는 것을 말한다.

 

아날로그 출력 TAG 설정 시 필요한 요소

1) PORT           연결된 PORT 번호.

2) STATION      장비의 Station( ID )번호. ( 1 ~ 247 )

3) Address      출력 번지. 10진수 단위의 출력번지. (Modbus 번지 )

                        단 Extra1 이 TIME, TIME3 일 때 : 상위 2자리 = 년, 하위 2자리 = 월

4) Extra1          출력하고자 하는 데이터 종류.

16 – WORD 단위의 데이터 쓰기,

16D – DWORD 단위의 데이터 쓰기 ( LO, HI 데이터 순 ),

16d – DWORD 단위의 데이터 쓰기 ( HI, LO 데이터 순 ),

16M – HI WORD x 10000 + LO WORD 형식의 DWORD 데이터 쓰기 ( LO, HI 데이터 순 ),

16m – HI WORD x 10000 + LO WORD 형식의 DWORD 데이터 쓰기 ( HI, LO 데이터 순 ),

16F2 – FLOAT 단위의 데이터 쓰기 ( LO, HI 데이터 순 ),

16F – FLOAT 단위의 데이터 쓰기 ( LO, HI 데이터 순 ),

16f – FLOAT 단위의 데이터 쓰기 ( HI, LO 데이터 순 ),

16fd – DOUBLE 단위의 데이터 쓰기 ( HI, LO 데이터 순 ),

16B – BYTE 단위의 데이터 쓰기,

TIME – 기존 모델 날짜/시간 쓰기,

TIME1 – 기존 모델의 컴퓨터 날짜/시간을 장비 날짜/시간과 동기화,

TIME2 – 컴퓨터 날짜/시간을 장비 날짜/시간과 동기화,

TIME3– 날짜/시간 쓰기.

5) Extra2          사용안함.

                        단 Extra1 이 TIME, TIME3 일 때 : 상위 2자리 = 일, 하위 2자리 = 시

 

 

Extra1 이 TIME, TIME3 일 때 출력 값 : 상위 2자리 = 분, 하위 2자리 = 초

 

 

예1) Station : 1  Address : 0100  Extra1 : 16f, EXTRA2 : 빈칸으로 설정하고 아날로그 출력을 하면 1번 Station Instromet 장비의 100 Modbus 번지 값을 설정한 값으로 변경할 수 있다.

 

예2) Station : 1  Address : 0102  Extra1 : 16f, EXTRA2 : 빈칸으로 설정하고 아날로그 출력을 하면 1번 Station Instromet 장비의 0102 Modbus 번지 값을 설정한 값으로 변경할 수 있다.

 

예3) Station : 1  Address : 0305  Extra1 : TIME, EXTRA2 : 2716 로 설정하고 2545 아날로그 값을 출력하면 1번 Station Instromet 장비의 날짜/시간을 03년 05월 27일 16시 25분 45초로 설정할 수 있다.  ( Modbus 출력번지는 FFFFh 즉 65535 번지로 고정 : 기존모델 )

 

예4) Station : 1  Address : 0305  Extra1 : TIME3, EXTRA2 : 2716 로 설정하고 2545 아날로그 값을 출력하면 1번 Station Instromet 장비의 날짜/시간을 03년 05월 27일 16시 25분 45초로 설정할 수 있다.  ( Modbus 출력번지는 01F4h 즉 500번지로 고정 : 신규모델 )

 

예5) Station : 1  Address : 0000  Extra1 : TIME2, EXTRA2 : 빈칸으로 설정하고 아날로그 출력을 하면 1번 Station Instromet 장비의 날짜/시간을 현재 컴퓨터 시간과 동기화(같게) 시킬 수 있다.  ( Modbus 출력번지는 01F4h 즉 500번지로 고정 : 신규모델 )

 

 

3. Instromet 장비의 전원, 통신케이블 연결 및 통신속도 설정

 

기본전원 연결

<그림 4>의 전원단자에 24V DC 전원을 연결한다.  (보통 24V DC UPS 와 연결 : <그림 5> 참조 )

 

<그림 4> Instromet 793-1K 장비의 뒷면 단자대

 

 

통신 케이블 연결

<그림 4>의 SKT1 단자에 일반 RS-232C 시리얼 통신 케이블을 연결한다.

 

 

통신속도 설정

Instromet 장비의 ( 793-1K의 경우 ) 통신속도는 앞면 조작스위치로 ( <그림 5> 참조 ) 다음과 같은 순서로 설정할 수 있다.

1)      운전상태 설정 열쇠를 ‘EDIT’ 또는 ‘DATA’ 에 위치시킨다.

2)      숫자 키 패드의 ‘L’ 키를 누른다.

3)      숫자 키 패드로 ‘5004’ 를 입력한다.

4)      ‘E’ 키를 누르면 Communication port 1 을 설정할 수 있는 내용이 액정화면이 표시된다.

5)      키 패드의 위, 아래 방향키로 Baud, Data, Parity, MB id 등의 설정 메뉴로 이동한다.

6)      설정할 메뉴로 이동 후 ‘E’ 키를 누른다.

7)      Baud, Data, Parity 메뉴는 위, 아래 방향키로 통신속도를 선택하고, MB id 는 키 패드의 숫자를 눌러 id를 입력한다.

8)      선택 또는 입력을 완료한 후 ‘E’ 키를 다시 누르면 설정이 완료된다.

 

 

참고) 설정 가능한 통신속도의 인자 및 범위는 다음과 같다. ( 굵은 글자 : 기본 값 )

        Baud : 1200, 2400, 4800, 9600

        Data : 8Bit, 7 Bit

        Parity : None, Even, Odd

        MB id : 1 ~ 247

 

 

<그림 5> Instromet 793-1K 장비와 ( 위쪽 ) UPS ( 아래쪽 )의 모습