Data Object 설정
DNP3 프로토콜은 매우 다양한 종류의 데이터를 지원합니다. CIMON PLC는 이들 중 다음의 여섯 가지 데이터 종류를 제공합니다.
(보다 상세한 사양은 부록의 "Implementation Table" 을 참고하십시오.)
Type | Obj-Var | 최대 용량 | 비 고 |
BI | O01-V01, O01-V02 | 1024점 | 64 Words x 16 bits |
Event : O02-V01, O02-V02 | |||
BO | Rd:O10-V01, Wr:O12-V01 | 512점 | 32Words x 16 bits |
Counter | O20-V05 | 128개 | D-Word (32bits) |
AI (Word) | O30-V02, O30-V04 | 512개 | Word (16bits) |
AI (Float) | O30-V05 | 128개 | Floating Point (32bits) |
AO | Rd:O40-V02, Wr:O41-V02 | 128개 | Word (16bits) |
각 데이터 종류별 설정 방법을 아래에 설명하였습니다.
[Binary Input Object]
SC01DNP 모듈은 최대 1024점의 BI 데이터를 제공할 수 있습니다. 이 데이터는 Object 01 – Variation 02 (Binary Input with Status)의 데이터 형태로 관리됩니다. 이 형태의 데이터에는 Status 정보가 부가되어 있는데, 이것을 생략한 형태인 Object 01 – Variation 01 (Single Bit Binary Input) 데이터 형태로도 Host 측에서 읽기 가능합니다.
SC01DNP 모듈은 최대 두 개의 분리된 PLC 메모리 영역을 연속된 하나의 공간처럼 구성하여 제공할 수 있습니다. 아래 그림과 같이 설정하는 경우 X0000 부터 X009F 까지의 10 Word 데이터에 이어서, M0050 부터 M014F 까지의 10 Word 데이터가 연속으로 구성되어 총 20 Word, 320 Bits의 Binary Input 데이터를 구성하게 됩니다. 이때, 두 영역의 합이 최대 64 Word, 1024 Bits를 초과하지 않도록 설정하십시오.
Host 측에서 이벤트 정보를 필요로 하는 경우 Binary Input Object에 Event 속성을 부여할 수 있습니다. Event 속성을 부여한다는 것은 해당 데이터의 상태 변화가 있을 경우, 변경 시각과 상태를 버퍼에 기록하고, Class 1, 2, 3 중의 한 그룹으로 등록하여 관리한다는 것입니다. 이렇게 관리된 Event 데이터는 Host 측에서 그룹 단위로 읽기(Class Poll) 가능합니다. 또한, 앞서 설명된 SC01DNP 모듈 설정 Dialog Box에서 "Unsolicited Response 사용" 항목을 선택하였다면, 이벤트 발생 즉시 메시지 형태로 Host에게 자동 전송됩니다.
(참고 : Unsolicited Response 방법 또는 Class Poll 방식을 통하여 성공적으로 전송된 이벤트 데이터는 SC01DNP 모듈의 버퍼에서 자동 삭제됩니다.)
위의 이벤트 접점 설정 예를 통하여 볼 수 있듯이, 이벤트 그룹은 Class 1, 2, 3 중의 하나를 선택할 수 있습니다. Class 부분이 '0' 으로 설정된 것은 이벤트 관리를 하지 않는다는 의미입니다. SOE 부분은 이벤트 데이터에 발생 시각 정보를 기록하여 관리하고자 하는 경우 '1'로 설정합니다. 시각 정보가 필요하지 않을 경우에는 ‘0’으로 둡니다. (Class 0 상태에서 지정된 SOE 설정은 의미 없습니다.)
시각 정보가 포함된 SOE 이벤트 데이터는 Object 02 – Variation 02 (Binary Input Change with Time) 형태로 기록됩니다. SOE로 지정되지 않은 이벤트 데이터는 Object 02 – Variation 01 (Binary Input Change without Time) 포멧으로 저장되어 Host 측으로 전송됩니다.
[Binary Output Object]
SC01DNP 모듈은 최대 512점의 BO 데이터를 제공할 수 있습니다. 이 데이터는 Object 10 – Variation 01 (Binary Output)의 데이터 형태로 현재 상태가 관리됩니다. 즉, Host에서 읽기 명령이 하달되면, 현재의 출력 상태를 O10-V01 형태의 데이터로 반송합니다. 이 상태를 변경하고자 하는 경우, 즉, Host에서 쓰기 명령이 하달될 때는 Object 12 – Variation 01 (Control Relay Output Block) 포멧을 사용하여야 합니다.
SC01DNP 모듈은 최대 두 개의 분리된 PLC 메모리 영역을 연속된 하나의 공간처럼 구성하여 제공할 수 있습니다. 아래 그림과 같이 설정하는 경우 M0100 부터 M019F 까지의 10 Word 데이터에 이어서, M0500 부터 M059F 까지의 10 Word 데이터가 연속으로 구성되어 총 20 Word, 320 Bits의 Binary Output 데이터를 구성하게 됩니다. 이 때, 두 영역의 합이 최대 32 Word, 512 Bits를 초과하지 않도록 설정하십시오.
Host에서 Binary Output의 제어 명령을 Object 12 – Variation 01 포멧으로 전송하여야 합니다. 이 제어 명령에는 ‘Control Code’가 포함되어 있습니다. SC01DNP 모듈은 여러 종류의 ‘Control Code’ 중 아래의 세 가지 제어 방식을 지원합니다. Host 측의 매뉴얼을 함께 확인한 후 어떤 제어 방식을 사용할 지 결정하여야 합니다. 위의 그림에서 보인 것과 같이, ‘DNP3 프로그램’ 설정창의 ‘Type’ 항목에서 제어 방식을 선택합니다. 선택된 제어 방식은 모든 Binary Output 접점에 공통 적용됩니다.
Pulse On
하나의 물리적 접점을 On 상태로 전환시킨 후 지정된 시간이 경과하면 Off 상태로 복귀 시키는 제어 방식입니다. 시간은 Host에서 전송하는 제어 명령에 Control Code와 함께 포함되어 있습니다. 이 때 사용되는 Host 측의 제어 코드는 01h 입니다.
Latch On/Off
하나의 물리적 접점 제어 결과가 On 또는 Off 두 상태로 구별되는 가장 보편적인 제어 방식입니다. Host의 제어 데이터에 지정된 'Control Code'가 03h(Latch On) 또는 04h(Latch Off) 일 때 사용할 수 있습니다.
Pulse Close/Trip (Complementary)
두 개의 물리적 접점이 하나의 제어 목적에 사용되는 방식입니다. Host의 제어 데이터에 지정된 'Control Code'가 41h(Close) 또는 81h(Trip) 일 때 사용할 수 있습니다.
이 제어 방식에서는 PLC의 출력 접점 한 쌍이 하나의 DNP3 Binary Output 접점과 연동됩니다. 위 Binary Output 설정 그림을 예로 들자면, Host로부터 DNP index 0 접점에 대하여 Close (Control Code 41h) 명령이 하달되면, PLC의 M0100 접점이 지정된 시간 동안 On으로 전환되었다 Off 상태로 복귀합니다. 이 때, On 시간은 Host 측에서 결정하는 것이며, 전송한 명령에 Control Code와 함께 포함되어 있습니다. 같은 접점에 대하여 Trip (Control Code 81h) 명령이 수행되면 PLC의 M0101 접점이 지정된 시간 동안 On으로 전환 되었다 Off 상태로 복귀합니다.
따라서, Binary Output에 지정된 PLC 영역의 크기(위의 예에서는 20 Words, 320 Bits)의 절반만큼 DNP Binary Output 인덱싱이 가능합니다. 예에서는 DNP Index #0 부터 #159 까지 사용할 수 있게 됩니다.
SC01DNP 모듈은 Binary Output과 Analog Output 접점의 제어에 SBO(Select Before Output) 방식을 사용할 수 있습니다. 이 방식은 DNP에 정의된 ‘Select (Application Function Code 03h)’ 명령과 ‘Operate (Application Function Code 04h) 명령이 제한된 시간 이내에 순서대로 연속하여 수신 되어야 정상 제어가 진행되는 방식입니다. SBO 제어를 사용하는 이유는 절차가 복잡하기는 하지만, 1회의 명령(Direct Operate : Function Code 05h, 06h)만으로 제어하는 방식 보다 안전하고 신뢰할 수 있는 제어 수순이기 때문입니다.
Binary Output 설정창의 ‘Handoff’ 시간 설정은 SBO 제어의 최대 허용 시간차를 지정하는 것입니다. Host로부터 수신된 'Select' 명령과 'Operate' 명령의 수신 시간 차이가 Handoff로 지정된 시간을 초과하는 경우, 제어 명령이 취소됩니다. 위의 예는 그 시간을 1초로 설정한 상태입니다.
[Counter Object]
SC01DNP 모듈은 최대 128개의 Counter 데이터(double word)를 제공할 수 있습니다. 이 데이터는 Object 20 – Variation 05 (32-Bit Binary Counter Without Flag)의 데이터 형태로 전송됩니다. SC01DNP 모듈은 카운터의 기능에 대한 처리는 수행하지 않습니다. 카운터 값의 처리와 관리는 전적으로 PLC의 Sequence Program에 의하여 결정됩니다. SC01DNP 모듈은 지정된 PLC 디바이스 메모리의 double word 데이터를 Host 측으로 전송하는 역할을 수행할 뿐입니다.
[Analog Input Object]
SC01DNP 모듈은 최대 512개의 16-Bit AI 데이터를 제공할 수 있습니다. 이 데이터는 Object 30 – Variation 02 (16-Bit Analog Input)의 데이터 형태로 관리됩니다. 이 형태의 데이터에는 Status 정보가 부가되어 있는데, 이것을 생략한 형태인 Object 30 – Variation 04 (16-Bit Analog Input Without Flag) 데이터 형태로도 Host 측에서 읽기 가능합니다.
부동소수점 데이터를 제공하기 위하여 SC01DNP 모듈은 Object 30 – Variation 05 (Short Floating Point Analog Input)형태의 데이터를 최대 128개 까지 지원합니다. 부동소수점 데이터(32-Bit)의 포멧은 IEEE-754 규격을 따릅니다. CIMON PLC의 CPU가 지원하는 Floating Point 데이터 역시 동일한 규격을 사용합니다. 따라서, SC01DNP 모듈은 지정된 PLC 디바이스 메모리에
[Analog Output Object]
SC01DNP 모듈은 최대 128개의 16-Bit AO 데이터를 제공할 수 있습니다. 이 데이터는 Object 40 – Variation 02 (16-Bit Analog Output Status)의 데이터 형태로 현재 출력값이 관리됩니다. 즉, Host에서 읽기 명령이 하달되면, 현재의 출력 상태를 O40-V02 형태의 데이터로 반송합니다. 이 출력값을 변경하고자 하는 경우, 즉, Host에서 쓰기 명령이 하달될 때는 Object 41 – Variation 02 (16-Bit Analog Output Block) 포멧을 사용하여야 합니다.