KR100288158B1 - 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법 - Google Patents

표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법 Download PDF

Info

Publication number
KR100288158B1
KR100288158B1 KR1019990001634A KR19990001634A KR100288158B1 KR 100288158 B1 KR100288158 B1 KR 100288158B1 KR 1019990001634 A KR1019990001634 A KR 1019990001634A KR 19990001634 A KR19990001634 A KR 19990001634A KR 100288158 B1 KR100288158 B1 KR 100288158B1
Authority
KR
South Korea
Prior art keywords
control
node
data
block
nodes
Prior art date
Application number
KR1019990001634A
Other languages
English (en)
Other versions
KR20000051286A (ko
Inventor
우희곤
곽귀일
조지용
장태인
변승현
Original Assignee
이종훈
한국전력공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이종훈, 한국전력공사 filed Critical 이종훈
Priority to KR1019990001634A priority Critical patent/KR100288158B1/ko
Publication of KR20000051286A publication Critical patent/KR20000051286A/ko
Application granted granted Critical
Publication of KR100288158B1 publication Critical patent/KR100288158B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 표준 LAN을 이용하는 필드버스 통신 시스템 및 그 제어방법에 관한 것으로서, 필드버스 전용 통신 카드 대신 기존의 데이터 통신용으로 표준화되어 있는 개방형 표준 LAN 카드를 통신망 인터페이스 카드로 이용하며, 상기 표준 LAN이 제어 자동화 시스템에 사용될 때 문제가 되는 단점들을 제거하고 장점을 최대한으로 이용하도록 하는 제어자동화용 실시간 통신 프로토콜을 개발하여 그 표준 LAN 상위에 탑재함으로써, 필드 버스 통신 시스템이 특정 시스템 공급 업체에 종속되지 않고, 대용량 제어점에 대한 저가 및 고신뢰성의 실시간 통신 서비스를 제공하도록 하는 것을 특징으로 한다.

Description

표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법{Fieldbus communication system and fieldbus communication control method over standard LAN}
본 발명은 표준 랜(LAN)을 이용하는 필드버스 통신 시스템 및 통신 제어방법에 관한 것으로서, 특히, 표준 랜(LAN)이 가지는 넓은 전송 대역폭과 긴 프레임 길이의 특징을 효과적으로 이용하도록 하는 제어자동화용 실시간 통신 프로토콜(VTBP:Virtual Terminal Box/Block Protocol)을 개발하여 그 개발된 프로토콜(VTBP)을 표준 랜카드의 상위 계층에 사용함으로써, 대형 플랜트에서 저가, 고신뢰도의 대용량 제어 자동화 시스템의 구축을 가능하도록 하는 필드버스 통신 시스템 및 통신 제어방법에 관한 것이다.
일반적으로 필드버스란 필드에 설치된 다수의 센서 및 액츄에이터, 그리고 상위의 제어기기 등과 같은 현장 기기간의 통신에 사용되는 디지털, 양방향, 멀티드롭, 직렬버스의 특성을 갖는 실시간 제어/자동화용 네트워크로서 1980년대 후반에 그 필요성이 대두되어 1990년대에 처음 출현하였는데, 기존의 필드버스 통신 시스템 중에서 많이 사용되는 것으로는 유럽 표준으로 제정된 Profibus(독일), WorldFIP(프랑스), 그리고 북미 지역의 FF(Foundation Fieldbus)등이 있고, 이들 외에도 지역별 또는 적용 영역별로 다양한 시스템이 존재한다.
이들 시스템들은 처음에는 개방형 통신 구조를 지향하고 출발하였으나, 현재 필드버스의 3개 계층 중 제 1 계층인 물리계층만이 IEC/ISA를 통해 92년에 표준화 되었으며, 제 2 계층 및 3 계층은 표준화가 이루어지지 못한 채 10여년 이상을 지내왔고, 결국 각 업체에서는 업체 나름대로의 고유 모델을 개발/발전 시켜왔다. 따라서, 상기 World FIP, Profibus, FF 등 대부분의 해외 유명 필드버스 제품들은 국제 표준화가 되지 않은 상태에서 각 공급업체 고유모델의 전용 통신 카드를 사용하기 때문에 가격이 비싸고 타 제품과의 호환성이 없으며 일단 시스템을 도입하면 그 업체에 의존적이 되어 유지/보수 및 확장에 큰 어려움이 있다.
또한 이들은 모두 초창기 디지털 통신회선의 전송 속도와 신뢰성이 낮을 때 설계된 후 발전되어 왔기 때문에 적은 대역폭을 나누어 쓰기 위한 복잡한 프로토콜을 가지고 있고, 대용량 I/O 제어점에 대해 고속 통신 서비스를 수행하려면 전송 제어량도 그 대용량 I/O 제어점에 비례하여 증가함으로써, 프로토콜에서 소모하는 지연시간이나 오버헤드(Over-Head)가 크다는 단점이 있다. 예를 들어 제어 자동화용 통신망에서 중요한 성능지수의 하나인 최대 샘플링 속도를 살펴보면, 가능한 한 많은 I/O 포인트(제어점)에 대한 실시간 통신 서비스를 제공하면서도 상대적으로 짧은 샘플링 주기를 보장할 수 있는 프로토콜이 우수한 프로토콜이 되는데 반해, 기존 필드버스 제품들은 프로토콜 알고리즘상 각 센서, 액츄에이터 등의 I/O 포인트의 수량이 증가하면 전체적인 데이터 전송시간이 커지고, 결국 모든 데이터 전체를 읽기 위한 최대 샘플링 속도는 떨어지는 문제가 있다. 실 예로 WorldFIP 에서는 주기적으로 전송을 요청하는 각 I/O 포인트 개개에 대한 '제어점id-호명'과 그 '응답'이 반복되기 때문에 I/O 포인트의 수에 비례하여 전체적인 샘플링 주기가 길어짐을 알 수 있고, 비주기 데이터에 대한 처리는 상대적으로 늦어지며 비주기 데이터의 폭주시 그 처리의 보장이 어렵다.
최근에 이더넷이나 기타 표준 LAN을 이용하는 필드버스들이 시도되고 있지만 표준 LAN카드는 실시간 통신용으로 개발된 카드가 아니므로 실시간 제어자동화용 통신망에 사용하려면 여러가지 문제점을 해결해야 한다. 예를 들어 이더넷 카드는 데이터 링크 계층에서 전송매체 사용경쟁 및 충돌이 있어 제어시스템의 생명인 실시간성을 제대로 보장하지 못하며, 데이터 프레임 길이(length)가 길어 짧은 길이의 제어데이타의 송수신에는 효율성이 떨어진다. 그러므로 지금까지 표준 LAN을 이용하는 필드버스는 소용량 제어점을 갖는 소형 제어자동화 시스템에서만 일부 사용될 수 있었으며, 실시간 요구값이 수백 msec 이상 되어 실시간 여유폭이 큰 시스템의 통신망, 또는 DCS(분산 제어 시스템)에서 실시간을 요구하지 않는 운전정보 통신망(Information Network) 등에 사용되기도 한다. 그러므로 표준 LAN을 수 msec∼수십 msec 이내의 엄격한 실시간 요구치를 갖는 필드버스 통신망에 사용하기 위해서는 이러한 실시간성 문제를 해결하고, 표준 LAN이 가지는 넓은 전송 대역폭의 특징을 잘 활용하여 상기 기존 필드버스 통신 프로토콜이 갖는 프로토콜 오버헤드를 줄이기 위한 기법들을 도입해야 한다.
따라서, 기존 필드버스 통신 시스템의 이러한 문제들을 해결하기 위해 본 발명에서는, 필드버스 통신 시스템이 특정 시스템 공급 업체에 종속되지 않으면서 저가격과 고신뢰성을 갖도록 통신망 인터페이스 카드(NIC)에 개방형 표준 LAN을 이용하고, 상기 표준 LAN카드들이 제어 자동화에 사용될 때의 단점을 제거하고, 장점을 효과적으로 이용하도록 하는 제어자동화용 실시간 통신 프로토콜을 그 표준 LAN 카드위에 탑재함으로써, 수천점 이상의 대용량 제어점에 대해서 수 msec∼수십 msec 이내의 실시간 요구치를 만족시킬 수 있는 고속 대용량의 필드버스 통신 시스템 및 통신 제어방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 발명에서는, 실제 제어현장의 터미널 박스 및 터미널 블록을 모델링하여 컴퓨터 메모리안에 구성한 가상 터미널 박스 및 블록(VTB:Virtual Terminal Box/Block)을 메모리안에 설치해 두고, 이 VTB안에 제어 현장의 각 제어점에서 발생하는 주기 및 비주기 데이터들을 모두 최소 주기를 갖는 주기적 데이터로 간주하여 블록화 시켜두고, 원격에 있는 VTB 사이에서 상기 블록 정보를 주기적으로 고속 교환함으로써 현장의 모든 주기/비주기 데이터들을 실시간으로 송수신 처리하도록 하는 제어자동화용 실시간 통신 프로토콜(VTBP:Virtual Terminal Block/Box Protocol)을 개발한 후, 필드 버스 통신망으로 연결된 각 노드들의 제1 및 제2계층에는 표준 LAN 카드를 통신망 인터페이스 카드로 사용하고, 그 노드들의 상위 계층에 상기 제어용 실시간 통신 프로토콜(VTBP)을 탑재하여, 상기 실시간 통신 제어용 프로토콜에 의해 필드 버스 통신 시스템의 노드간 데이터 전송을 수행하는 것을 특징으로 한다.
도 1은 본 발명에 대한 개념 설명도,
도 2는 비주기 데이터의 주기 데이터화에 대한 개념도,
도 3은 최소 주기 블록전송의 개념도,
도 4는 VTBP의 구성 요소 및 관계를 나타낸 설명도,
도 5는 VTB의 구성 및 통신망에서의 사용 예시도,
도 6은 ATNB의 세부 구성도,
도 7는 VTBP 계층의 PDU와 하위 계층 PDU 사이의 관계도,
도 8은 VTBP 계층의 확장 MAC 기능에 대한 설명도,
도 9은 VTBP 계층의 고속 블록 버퍼 교환 기능에 대한 처리 절차도,
도 10은 VTBI의 위치 정보를 나타낸 구성도,
도 11은 VTBI의 주요 서비스 함수 및 사용 절차도,
도 12는 본 발명의 실시예에 따른 필드버스 통신 시스템의 구성도,
도 13은 본 발명의 실시예에 따른 필드버스 통신 시스템의 프로토콜 계층 구성도,
도 14는 본 발명의 실시예에 따른 필드버스 통신 시스템의 통신 제어 흐름도.
〈도면의 주요부분에 대한 부호의 설명〉
11 : 최소주기 블록전송 개념12 : VTBP 계층
13 : 표준 LAN 과 VTBP를 이용한 필드버스 통신 시스템
41 : VTB42 : 확장 MAC
43 : 고속 블록 버퍼 교환43 : VTBI 서비스
이하, 첨부된 도면을 참조하여 본 발명의 필드버스 통신 시스템 및 통신 제어방법을 좀 더 구체적으로 설명하고자 한다.
도 1은 본 발명에 대한 개념 설명도로서, 도 1을 참조하면, 본 발명의 필드 버스 통신 시스템(13)은 표준 LAN 카드를 통신망 인터페이스 카드로 이용하며, 상기 표준 LAN 카드들이 제어 자동화에 사용될 때 문제가 되는 단점들을 제거하고 장점을 효과적으로 이용하도록 하는 제어 자동화 전용 프로토콜로서 '가상 터미널 박스 프로토콜(VTBP:Virtual Terminal Box Protocol)(12)'을 고안한 후, 그 프로토콜을 상기 표준 LAN 카드 상위에 탑재하여 사용한다.
이처럼 특정 공급업체(Vendor)의 전용 통신카드 대신 범용적인 표준 LAN 카드를 사용함으로써, 저가격으로 필드 버스 통신 시스템을 구현할 수 있으며, 필드 버스 통신 시스템의 신뢰성을 높이고, 필드 버스 통신 시스템이 특정 시스템 공급 업체에 종속되지 않도록 해준다. 또한, 상기 VTBP는 표준 LAN의 긴 프레임 길이와 넓은 전송대역폭의 장점을 효과적으로 사용하도록 해준다.
상기 VTBP(12)의 특징을 좀 더 구체적으로 살펴보면, 상기 VTBP(12)는 VTBP 계층 내부에 실제 현장의 터미널 박스 및 터미널 블록을 컴퓨터 메모리안에 모델링한 '가상 터미널 박스(VTB:Virtual Terminal Box/ Block)'를 보유하며, 상위 사용자층의 응용 프로그램이 상기 가상 터미널 박스(VTB)에 접근할 수 있도록 해주는 인터페이스인 'VTBI(Virtual Terminal Box Interface) 기능'과, 상기 VTB안의 블록 정보를 통신망상의 다른 노드와 교환하는 '고속 블록 버퍼 교환 기능'과, 제어 정보의 전송시 하위 계층 전송 매체(Medium)로의 접근을 자체적으로 통제하는 '확장 매체 접근 제어(MAC:Medium Access Control)기능'등 3가지 주요기능을 갖는다.
여기에서 상기 고속 블록 버퍼 교환 기능은, 주기 및 비주기의 모든 제어 데이터를 최소 주기화하여 처리하도록 고안한 '최소주기 블록전송 개념(11)'을 적용한 실시예가 된다.
상기 최소주기 블록전송 개념(11)이란, 표준 LAN과 같이 통신망의 대역폭이 충분히 클 경우, 자동화 시스템에서 취급되는 실시간 주기 데이터 및 실시간 비주기 데이터들을 통신망상에서 서비스 할 때, 모두 최소 주기의 데이터로 간주하여 서비스해도 통신망의 지연을 유발하지 않고 오히려 통신망의 이용율을 높일 수 있다는 점을 이용하여, 다수의 제어 포인트들의 정보를 실시간으로 송수신하는 필드버스 통신 시스템에 있어서, 제어현장의 각종 데이터를 모두 최소 주기의 주기적 데이터로 전송 서비스 하되, 이들 데이터를 개개로 전송하는 것이 아니라 블록으로 묶어 그룹으로 전송하게 함으로써 전송횟수 및 프로토콜의 처리 지연을 최소화하도록 하는 전송 개념이다.
즉, 최소주기 블록전송 개념은 다수의 제어 포인트 정보를 실시간으로 송수신 하는 제어자동화 통신 시스템에서, 먼저 상기 다수의 제어 포인트에서 발생되는 비주기 데이터들을 상태값이나 상태 변화값을 갖는 특정 단위 주기 또는 최소 샘플링 주기의 주기 데이터로 간주하고, 다양한 주기의 여러 주기 데이터들도 모두 최소 샘플링 주기의 주기 데이터로 간주한 후, 상기 최소 주기로 분류된 비주기 및 주기 데이터들을 모두 하나의 데이터 프레임 블록으로 묶어 그 데이터 프레임 블록을 상기 최소 주기 이하의 주기로 전송하는 일련의 과정을 말하며 이 최소주기 블록전송 개념은 VTBP 계층내 VTB 구성 및 주요 기능의 하나인 고속 블록 버퍼 교환기능 기본 원리가 된다.
이러한 최소주기 블록전송의 개념도가 도 2 및 도 3에 나타나 있는데, 도 2는 비주기 데이터의 주기 데이터화에 대한 개념도이고, 도 3은 최소주기 블록 데이터의 구성 및 전송방법에 대한 개념도이다.
먼저, 도 2를 참조하면, 일반적으로 데이터 집합(21)은 주기적으로 그 값을 갱신하는 주기 데이터와 갱신주기가 일정하지 않은 비주기 데이터로 구성되는데, 이 때, 상기 비주기 데이터의 경우 디지털 시스템과 같은 이산 시스템에서는 발생 시점이 완전 연속일 수 없으며, 이산된 시간 축위에서 특정 단위 시간의 배수의 시점에 생성된다. 그러므로 통신망상에서 그 특정 단위 시간(tg)을 주기로 비주기 데이터의 상태값이나 상태 변화값을 주기적으로 반복 전송하면, 수신측에서는 그 값의 변화를 감지하여 그 비주기 데이터의 발생 시점과 발생된 값을 알 수 있다. 이러한 특성에 의해 비주기 데이터를 상기 특정 단위 시간(tg)을 주기로 하는 주기 데이터로 간주할 수 있는 것이다.
도 3은 최소 주기 블록전송의 개념도로서, 도 3(a)에는 주기화된 비주기 데이터(32)와 여러 가지 주기 데이터(31)를 모두 최소 주기(T1)의 주기 데이터로 간주한 후, 이들을 하나의 블록(30)으로 구성한 형태가 나타나 있으며, 도 3(b)에는 이와 같이 구성된 블록(30)을 표준 LAN에서 제공하는 긴 데이터 프레임(30)에 탑재시켜 상기 최소 주기 이하의 주기로 통신망으로 전송하는 상태에 대한 개념이 나타나 있다.
일반적으로, 다양한 주기(T1<T2<T3<…<Tn) 데이터들의 각 입출력점에서는 본래의 주기에 따른 샘플링(Sampling) 입출력이 필요하지만, 통신망상에서 전달될 때는 본래의 샘플링(Sampling) 주기 이하의 더 빠른 주기로 자주 전달되어도 무방하다. 따라서 최소 주기화된 비주기 데이터(32)와 다양한 주기의 주기 데이터(31)들은 모두 최소 주기(T1, 이 때, T1=tg)를 갖는 주기 데이터로 분류될 수 있으며, 이에 따라 이러한 주기 및 비주기의 모든 데이터가 모두 동일한 주기 데이터가 되므로 이들을 모두 하나의 블록으로 모아 그룹화하여 표준 LAN이 가지는 긴 길이의 데이터 프레임 위에 실어 전송할 수 있는 것이다. 이 때 요구 주기가 긴 데이터는 불필요하게 반복 전달되어 통신대역폭을 소모하지만 표준 LAN과 같이 대역폭이 큰 통신망에서는 지연에 영향을 주지 않게 되며, 데이터들이 블록으로 전송되므로 오히려 전송횟수가 현저히 줄어들게 되어 프로토콜 오버헤드가 줄고 통신망 이용율이 높아지게 된다.
또한, 상기 고안한 최소주기 블록전송 개념을 실제 적용하기 위해서는, 통신망 송수신측에 각각 여러 가지의 주기 및 비주기 데이터를 함께 보관하는 동일한 구조의 버퍼블록을 두고, 그 버퍼 블록에 의해 송수신측에서 데이터를 전송하는데, 먼저, 송신측에서 상기 버퍼블록안의 지정된 위치에 각 제어점들의 데이터를 그 특성에 맞는 주기에 의해 기록하면, 통신망에서는 이 송신측 버퍼블록 전체를 상기 제어점이 갖는 다양한 요구주기 중 최소 주기(T1)의 1/2이하, 즉 최소 주기보다 2배이상 빠른 주기로 송신측에서 수신측으로 반복 전송하여 수신측 버퍼를 실시간으로 갱신하며, 수신측에서는 이렇게 최소주기 이하로 갱신되어 저장되어 있는 버퍼 블록의 값을 자신의 특성에 맞는 주기로 샘플링하든지, 버퍼 블록의 도착신호(Indication)에 의해 값의 변화를 확인하게 한다.
본 발명에서는 이러한 방법을 적용하기 위한 버퍼 블록으로서 실제 현장의 각종 I/O 제어점이 접속되는 터미널 박스/블록을 모델링하여 사용자의 로컬 컴퓨터 메모리 안에 가상적으로 구성한 가상 터미널 박스 및 블록(VTB:Virtual Terminal Box/Block)을 제공하고 있으며 상기 VTBP(12) 프로토콜은 이러한 VTB의 정보를 통신망 상에서 실시간으로 전달하고 공유하는 통신 제어방법(규약)을 제공한다.
도 4는 이러한 VTBP(12) 계층 내부의 구성 요소 및 상호 관계를 나타낸 설명도로서 도 4를 참조하면, 상기 VTBP(12)는 먼저, 프로토콜의 구동과 함께 사전에 정의된 I/O 포인트의 수량에 따라 VTBP계층 내부에 상기 가상 터미널 박스(VTB)(41)를 생성한 후, 하위 계층과의 인터페이스를 위해 확장 MAC 기능(42)을 제공하고, 통신망에 연결된 노드들간의 통신을 위해 고속 블록 버퍼 교환 기능(43)을 제공하며. 상위 사용자 계층과의 인터페이스 및 입출력 서비스를 위해 상기 가상 터미널 박스 인터페이스(VTBI)(44)를 제공한다.
이들 VTB 구성은 뒤에 상세히 설명하기로 하고 먼저 상기 세가지 기능을 좀 더 구체적으로 살펴보면 다음과 같다.
첫번째로, 상기 확장 MAC 기능(42)는 상기 VTBP가 표준 LAN 카드를 인터페이스 카드로 사용할 때, 이더넷과 같이 경쟁방식의 MAC(Medium Access Control)을 가진 카드를 사용하게 되면 사용권 경쟁 및 충돌등이 발생하여 실시간 지연 요소로 작용하게 되므로 이를 해소하기 위해 하위 LAN 카드의 MAC은 그대로 보존하되, 경쟁이나 충돌에 의한 지연을 없애고 VTBP 계층의 엔티티(Entity)가 효율적으로 매체(Medium)를 사용할 수 있도록 VTBP 계층에서 매체 접근 권한을 자체적으로 통제하는 기능으로서, 필드 버스 통신 망에 포함된 모든 노드들을 마스터/슬레이브 방식으로 통제하면서, 상기 마스터 노드가 슬레이브 노드들에게 전송 권한을 부여하도록 하여 전송 권한을 가진 노드 만이 전송 매체를 사용하도록 제한하는 기능(도 8참조)을 말한다.
한편, 상기 고속 블록 버퍼 교환 기능은(43)는 상기 최소 주기 블록 전송 개념에 따라 다수의 현장 데이터 값들을 하나의 블록으로 구성하여 최소 주기로 전송하되, 사용자의 입출력 요청과는 독립적으로 VTBP 계층이 상기 VTB(41) 내의 제어데이타 정보를 자율적으로 상호 교환하여 VTB내에 있는 가상 입력단자로 입력된 모든 값이 원격지 VTB에 있는 가상 출력단자로 상시 전달 되도록 하는 기능이다.
또한 상기 가상 터미널 박스 인터페이스(VTBI)(44)는 상위 계층의 응용프로그램이 VTBP 계층에 접근하여 VTBP계층의 동작과는 독립적으로 입출력을 수행할 수 있도록 통신망 접속점 및 입출력 서비스를 제공해주는 기능으로서, 사용자는 VTBP 계층 및 하위 계층의 동작을 몰라도 상기 VTBI(44)를 통해 독립적으로 VTB(41)의 정보를 읽고 쓰는 작업을 수행 할 수 있다.
도 5는 VTBP계층에 설치되는 상기 VTB의 기본 구성(a) 및 통신망에 설치된 예(b)가 나타나 있는데, VTB는 실제 존재하는 터미널 박스/블록의 구조와 특징을 모델링하여 컴퓨터 메모리 안에 표현한 것으로서, 제어 자동화를 위한 필드버스 통신망에 접속된 노드(Node)들은 각각 유일한 id(예를 들어 노드1에서는 1, 노드2에서는 2)를 갖는 하나의 VTB(51, 52)를 각각 가지며, 도 5(a)를 참조하면 상기 VTB(51, 52)안에는 터미널 블록을 나타내는 연속된 주소의 버퍼 영역이 존재하는데, 이 터미널 블록 버퍼 영역은 입력 터미널 블록 버퍼(ATNB:Application-To- Network Block)(53)와 출력 터미널 블록 버퍼(NTAB:Network-To-Application Block)(54)로 나누어지며, 상기 ATNB(53) 및 NTAB(54) 각각은 입출력 단자에 대응하는 데이터 필드로 구성되며, 상기 블록내의 데이터 필드의 개수와 길이 및 데이터 값의 범위는 당연히 제어 자동화 시스템이 설계될 때 사전에 정해진다.
또한, 상기 ATNB 버퍼 영역(53)은 VTBP 층의 고속 블록 버퍼 교환 기능에 의해 통신망을 통하여 항상 원격지 터미널 박스에 있는 NTAB 버퍼 영역(54)으로 실시간 전달함으로써, 가상의 터미널 박스 사이에 직접 배선이 연결되어 있는 것처럼 NTAB 버퍼 영역은 항상 최신의 값으로 갱신된다. 그러므로, 입력측 사용자는 임의의 시간에 입력단자를 의미하는 ATNB의 특정 필드에 값을 기록해 줌으로써 입력을 완료하고, 출력측 사용자 역시 임의의 시간에 출력 단자를 의미하는 NTAB에서 특정 필드의 값을 읽어옴으로써 값의 측정을 완료한다.
이 때 실제 배선이 연결된 실제 터미널 박스는 터미널 박스 상호간 1대1로 연결되어 있지만, 가상 터미널 박스는 통신망에 의해 하나의 터미널 박스의 ATNB를 전달할 때 여러개의 터미널 박스안의 NTAB에 동시에 전달하여 공유하는 1:N의 통신 서비스를 기본으로 한다. 1:N 통신은 ATNB를 통신망으로 보낼 때 브로드 캐스팅(Broadcasting) 또는 멀티캐스팅(Multicasting) 시키면 구현이 가능하며, 수신쪽에서는 송신지 노드-id를 확인하여 ATNB의 수신 및 해당 NTAB로의 복사 갱신 여부를 선택할 수 있다. 물론 수신지 노드-id를 직접 지정하는 1:1 통신도 가능하다.
상기 입력 터미널 블록(ATNB)(53)에는 노드가 제어하는 제어점 ID와 제어값이 (제어점-id, 제어값)의 쌍(pair)으로 저장되는 것이 아니라 ATNB 블록내 특정위치에 제어값 만이 저장되고, 그 값이 저장되는 블록내의 위치가 제어점-id를 나타내는 구조를 갖는다. 즉 사전에 정해진 블록의 특정 위치에 제어값 자체만을 저장한 후 블록을 송신하면 수신측에서는 그 블록내의 저장위치에 의해 제어점-id를 찾도록 한다. 또한, 상기 출력 터미널 블록(NTAB)은 ATNB의 복사 저장구조로서 수신 노드는 다른 노드로부터 전송되어 오는 ATNB를 전송노드-id에 따라 구분하여 자신이 가지고 있는 NTAB에 저장한다. 즉, 한 노드1의 VTB(51)내 특정 NTAB(2)에 다른 노드2의 ATNB(53)의 내용이 저장되고, 반대로 노드2의 VTB(52)내 특정 NTAB(1)에는 노드1의 ATNB(53)의 내용이 저장된다.
이 때, 상기 출력 터미널 블록(NTAB)은 하나의 VTB 내에 다수개가 존재할 수 있는데, 필드 버스 통신 시스템에 연결된 모든 노드의 제어 데이터를 공유하고자 할 경우 그 수를 '필드 버스 통신 시스템에 연결된 모든 노드의 수 - 1'로 설정하고, 원하는 노드의 제어 데이터만을 선택적으로 공유하고자 할 경우 그 수를 '제어 데이터를 공유하기 원하는 노드의 수'로 할당한다.
도 5(b)를 참조하면, 통신망에 4개의 노드(51, 52, 55, 56)가 접속되어 있고 그 노드들(51, 52, 55, 56)이 각각 VTB를 갖고 있는 경우의 예로서, 첫 번째 노드(51)에서 자신의 ATNB에 저장된 내용을 통신망으로 전송하면, 각 노드(52, 55, 56)들은 자신의 NTAB들 중에서 첫 번째 노드(51)의 ATNB의 내용을 저장하도록 지정된 영역(1)에 데이터를 저장한다.
도 6은 상기 ATNB의 세부적인 구성도로서, ATNB는 곧바로 네트워크로 보내져 다른 노드로 전달될 수 있는 메모리상의 연속된 버퍼 영역으로 할당하며, 이 버퍼가 곧바로 VTBP의 PDU(Packet Data Unit)로 사용할 수 있도록 VTBP 계층의 프로토콜 헤더(Header) 영역도 함께 가지고 있도록 구성하여 메모리 프로세싱 시간을 최소화 한다. 즉 ATNB는 VTBP층의 패킷(PDU) 또는 프레임 자체가 되며, 특별한 헤더(Header)의 조합과정이 필요없이 하위계층에 곧바로 주기적으로 전달되어 하위계층의 SDU(Service Data Unit)가 되도록 하는데, 도 6을 참조하면, 상기 ATNB는 VTBP층의 헤더정보로서 각 노드 고유의 노드-id가 저장되는 영역(Des.j)(61)과, 자신이 통신망을 통해 전달하려는 수신측 노드-id가 저장되는 영역(Src.i)(62)과, 폴링 패킷, 데이터 패킷 등의 구분 및 기타 제어를 위한 메시지가 저장되는 제어 코드 영역(Ctl-Cd)(63)과, 일련 번호 영역(seq-no)(64)을 포함하며, 그 뒤에 실제 각종 디지털, 아날로그 입출력 데이터를 저장하는 데이터 영역(65)을 포함한다.
도 7은 상기 VTBP 계층의 PDU와 하위 계층 PDU 사이의 관계도로서, 하위 표준 LAN 1,2계층이 이더넷인 경우를 나타내었으며, 도 7를 참조하면, VTBP층 헤더 영역과 입출력 데이터 영역을 함께 포함하고 있는 ATNB(74)는 특별한 조합 과정없이 그대로 VTBP층 PDU가 되어 주기적으로 하부 계층으로 넘겨져 하부 계층의 SDU(74)로 사용된다.
한편, VTBP PDU를 확장 MAC을 통하여 하위계층에 넘길 때, 만일 하부 계층이 LAN의 데이터 링크계층 또는 LAN상의 TCP/IP층 일 경우 브로드캐스팅 서비스로 요청하고, 하부 계층이 WAN 상에서의 TCP/IP인 경우는 멀티캐스트(multicast)가 지원되는 WAN망이면 멀티캐스트(multicast) 주소로 전송 서비스를 요청하고, 멀티캐스트(multicast)가 지원되지 않은 WAN이면 별도의 브로드캐스팅 서버를 두고 그 서버의 IP 주소로 전송서비스를 요청한다.
도 8은 VTBP 계층의 첫 번째 기능인 확장 MAC 기능의 처리방법에 대한 설명도로서, 상기 VTBP의 확장 MAC은 간단한 알고리즘인 마스터-슬레이브 방식을 기본으로 하여, 필드버스 통신망에 접속된 각 노드중 하나를 마스터로 선정하고 이 마스터 노드가 다른 서브 노드들이 통신망에 접근하는 것을 VTBP 계층에서 자체적으로 통제하도록 하는데 여기에서 마스터 노드는 FIP 표준의 버스 중재자(BA: Bus Arbitrator) 또는 ISO/IEC 표준의 LAS(Link Active Scheduler)와 같은 역할을 수행하게 된다.
도 8에서는, 통신망에 하나의 마스터 노드와 다수의 서브 노드가 연결될 때 확장 MAC을 구현하기 위해 상기 마스터 노드가 다수의 서브 노드들 중 원하는 서브 노드에게 전송 권한을 부여하는 과정을 나타내는데, 도 8a는 상기 마스터 노드가 첫 번째 서브 노드에게 데이터의 전송을 요청(Request 1)(s81)하는 과정을 나타내고, 도 8b는 그 마스터 노드의 요청에 대해 첫 번째 서브노드가 응답(Response)(s82)하는 과정을 나타내며, 도 8c는 상기 마스터 노드가 두 번째 서브 노드에게 데이터의 전송을 요청(Request 2)(s83)하는 과정을 나타내고, 도 8d는 상기 마스터 노드의 요청에 대해 두 번째 서브 노드가 응답(Response)(s84)하는 과정을 나타낸다.
한편 하위 LAN 카드가 이더넷 MAC과 같은 경쟁방식이 아니고, FDDI, 토큰링, 토큰버스등 비경쟁/비충돌 방식의 MAC일 경우, MAC 카드 자체에서 경쟁/충돌문제를 해결해 주므로 확장 MAC은 마스터-슬레이브의 기본 특징을 유지하되, VTBP층의 마스터 노드가 통신망에 데이터 전송1주기 시작 알리는 하나의 패킷만을 주기적으로 브로드캐스팅 하고 이 요청주기는 마스터 노드가 결정하며, 이 전송요청을 받은 각 서브노드는 LAN 내부의 토큰 순회에 의해 전송권한을 부여받았을 때 자신의 데이터를 통신망에 보내도록 한다. 실시간 응답시간의 한계치가 큰 TCP/IP 프로토콜을 이용하는 WAN에서도 이와 같은 방법을 그대로 사용한다.
도 9는 VTBP 계층의 두 번째 기능인 고속 블록 버퍼 교환 기능에 대한 처리 절차도로서, 도 9를 참조하면, 송신측의 서브노드(91)는 상위 사용자층의 입출력 요청과는 독립적으로, 자신에게 전송권한이 주어졌을 때 VTB내의 ATNB 블록을 통신망에 브로드캐스트 전송 또는 특정 수신노드(92)에게로 전송한다. 이 때, 상기 전송권한은 응용 프로그램에서 데이터를 읽고 쓰는 입출력 요청 주기 이하, 즉 최소 샘플링(Sampling) 속도 이상의 속도로 마스터에 의해 부여되는데, 보통 상기 서브 노드 A(91)에서 서브 노드 B(92) 또는 통신망으로 보내는 데이터 전송 주기(τ)가 사용자층의 데이터 입출력 요청 최소 주기(T1)의 1/2이내가 되도록 마스터 노드가 서브 노드 A(91)에게 전송 권한을 부여한다.
이 때, 송신측에서 전송하는 상기 통신망에 전달되는 ATNB 블록 내부에는 ATNB의 구성 특징상 블록의 정해진 위치에 현장 제어점의 id를 제외한 데이터 값(value)만을 저장하도록 되어 있기 때문에, 많은 양의 정보가 단 하나의 데이터 블록에 실려 수신측에 전달되게 되며, 수신측에서는 이 정보가 자신이 필요한 정보이면 자신의 NTAB에 그대로 복사 저장한 후, 제어값이 저장된 위치에 의해 해당 데이터의 제어점-id를 식별한다. 이로써 통신망에서의 제어 데이터는 VTB 송수신단 간에 동일하게 유지하게 되며, 이렇게 제어점-id를 통신망에 보내는 별도의 과정이 없고, 사용자층과는 독립적으로 VTBP계층이 자율적으로 고속 블록 버퍼 교환을 수행함으로써, VTBP 계층간에 대용량 제어정보의 실시간 송수신이 가능하게 되는 것이다.
한편 송신 노드는 ATNB의 주기 전송전에 사용자의 ATNB의 갱신이 있었으면 전송후 'ATNB의 전송 확인(Confirm) 메시지' 사용자층에 전달하여 사용자가 필요시 이 전송확인 메시지(Confirm)를 이용할 수 있게 해주며, 수신노드는 복사 저장 전후의 내용에 차이가 있으면 저장후 사용자 층에 'NTAB 갱신 지시(Indication) 메시지'를 사용자층에 전달하여 사용자가 필요시 이 갱신 지시 메시지(Indication)를 이용할 수 있게 한다.
도 10은 상기 VTBP 계층에서 API 서비스(23)를 제공하기 위한 VTBI 인터페이스의 위치를 나타내는데, 도 10을 참조하면, 본 발명의 VTBP층 인터페이스로 사용되는 VTBI(102)는 응용 프로그램(103)과 VTBP 계층(101) 사이에 위치하는 서비스 접근 포인트(SAP:Service Access Point)가 되며, 이 SAP에 접근하는데 필요한 응용 프로그램 인터페이스 함수를 함께 제공한다. 즉, 응용 프로그램은 VTBP 계층 상위에 VTBI를 생성시키고, 이 VTBI를 통해 VTBP 계층 내에 존재하는 VTB 정보에 접근한다. 그러므로, 사용자인 응용 프로그래머는 프로토콜 하위 계층의 상세한 동작을 알지 못해도 단순히 이 VTBI를 통해 VTB버퍼의 특정 I/O 포인트 값을 읽고 쓸 수 있는 것이다.
한편, 도 11은 VTBI에서 서비스하는 주요 함수 및 사용 과정에 대한 절차도로서, 도 11을 참조하면, VTBI는 사용자가 VTBP 계층내에 이미 존재하는 가상 터미널 박스(VTB)를 접근하기 위해 접속점 자체인 VTBI(111)를 생성하는 과정과, 그 접속점 VTBI를 여는 과정(112)과, 상기 VTBI를 통해 사용자가 VTB내 입출력 제어점에 대한 입/출력을 수행하는 과정(113)과, 입/출력을 완료하였으면 해당 VTBI를 닫는(114) 과정과, VTBI를 닫을 때 더 이상 VTBI가 필요없으면 그 VTBI를 자동으로 삭제(115)하는 과정을 포함하여 구성된다. 이러한 VTBI는 TCP/IP의 소켓 인터페이스(Socket Interface)와 유사한 면이 있으나, 그 내부적으로는 다음과 같이 여러 가지 차이점이 있다.
먼저, 상기 소켓의 생성은 '사용자 접속점이고 동시에 데이터 송수신점이 되는 엔드-포인트(End-point)를 생성'하는 것이지만, VTBI의 데이터 송수신점은 시스템 시작 후 VTBP 계층 내에 자동으로 형성되어 진 VTB가 되고, VTBI의 생성은 단순히 사용자가 상기 VTB를 접근하기 위한 접속점 생성의 의미만을 갖는다. 즉, VTBI는 터미널 박스의 덮개(cover)와 같으며, VTBI의 생성은 터미널 박스의 덮개를 찾는 일이라 생각할 수 있다.
또한, 사용자는 소켓(Socket) 생성후 바인드(bind)를 통해 비로소 주소를 부여하고, 이 주소를 이용하여 데이터 송수신을 수행하지만, VTBI내에서의 입출력의 최종 송수신점이 되는 각 제어점의 논리적/물리적 주소는 VTBP 계층내 VTB안의 ATNB 버퍼블록의 위치가 되므로 새로운 주소 부여 과정은 필요 없다.
마지막으로, 소켓(Socket)의 TCP 프로토콜은 원격지 상대방과의 연결(Connection) 및 통신망을 통한 데이터 송수신 명령의 API 함수를 제공한다. 그러나, VTBI의 경우 데이터 송수신은 VTBP 계층이 자율적으로 수행하므로 연결과정이 필요없으며, 단순히 VTBI를 오픈(Open)하여 VTBP 계층이 최신으로 갱신시켜 놓은 VTB내의 I/O 포인트(Point) 값을 읽고 쓸 수 있도록 해주는 API 함수를 제공한다.
도 12는 이러한 VTBP 계층 및 표준 LAN을 이용한 본 발명의 일 실시예에 따른 필드버스 통신 시스템의 구성도로서, 도 12를 참조하면, 상기 필드 버스 통신 시스템은 하나의 마스터 노드(121)와 다수의 서브 노드들(122, 123, 124)이 필드 버스 통신망(120)에 의해 연결되는 구조로 되어 있는데, 상기 실시예에서 각 노드들은 PC를 활용하고 네트웍 인터페이스 카드(NIC)는 표준 이더넷 카드를 이용하였다.
이 때, 상기 필드 버스 통신망(120)은 3계층의 구조를 가지며, 각 노드들간에 교환되는 실시간 정보의 송수신을 담당하는데, 프로토콜의 1, 2계층인 물리 계층 및 데이터 링크 계층은 이더넷 랜 카드와 그에 수반되는 통신선을 사용하며, 제 3 계층에 본 발명에서 고안한 VTBP(Virtual Terminal Box/Block Protocol)을 탑재하였다.
상기 마스터 노드(121)는 전체 노드들 사이에서 필드버스 전송 매체의 사용권을 제어하는 노드로서 접속된 여러개의 서브노드들 중 한 개의 노드가 마스터 노드가 되는데, 상기 예에서는 상기 마스터 노드(121)가 외부 네트워크로 서비스를 제공할 수 있도록 하는 게이트 웨이 노드(Gateway Node) 역할을 겸하도록 구성되었다. 상기 게이트 웨이 노드는 서브 노드로도 구성이 가능하다.
또한, 상기 다수의 분산 I/O 서브 노드(122, 123, 124)들은 아날로그 및 디지털 제어점의 데이터를 수집, 가공, 입/출력 처리하고, 필요시 이 데이터를 통신망을 통해 다른 서브 노드와 주고 받는다. 즉, 현장의 서로 관련이 있는 여러개의 센서 및 구동기 등이 하나의 I/O 노드에 접속되고, I/O 서브 노드는 이들에 대한 입/출력 포인트 데이터를 처리한다. 이 경우 각각 센서 및 구동기마다 네트워크 접속 장비를 설치할 필요가 없고, 기존의 센서 및 구동기 등을 그대로 사용할 수 있다.
상기 도 12의 예에서, 상기 마스터 노드(121)의 VTB는 특별히 상기 통신망에 연결된 모든 노드들로부터 전송되는 정보들을 저장하고, 또한, 상기 모든 노드들로 정보를 전송하도록 하기 위해, ATNB 및 NTAB의 갯수를 상기 통신망에 연결된 모든 노드의 수 만큼 구성되며, 상기 마스터 노드(121)를 제외한 나머지 서브 노드들(122, 123, 124)의 VTB는 상기 마스터 노드(121)로 정보를 전송하고, 그 마스터 노드(121)로부터 전송되는 정보를 저장하도록 하기 위해, 하나의 ATNB 및 NTAB를 포함하도록 구성된다.
한편, 도 13은 상기와 같은 본 발명의 일 실시예예 따른 필드버스 통신 시스템의 프로토콜 계층 구성도로서, 도 13a는 보통 빠른 실시간 통신을 위해 전형적인 물리층, 데이터 링크 계층, 그리고 응용층의 3계층 구조로 구성된 경우를 나타내며, 도 13b는 특별히 TCP/IP과 응용층을 이용한 5계층의 구조를 나타낸다.
먼저, 도 13a를 참조하면, 본 발명의 일 실시예에 따른 프로토콜 계층의 물리계층인 제 1 계층(131)과 데이터 링크 계층인 제 2 계층(132)은 이더넷 표준 LAN으로 구성하며, 응용 계층인 제 3 계층(133)은 본 발명에서 고안한 VTBP를 사용하였는데, 이 때, 확장 MAC을 통해 상기 LAN과 인터페이스하는 하위계층의 인터페이스는 PC의 마이크로 소프트 표준인 NDIS 또는 IEEE의 802.2 LLC를 사용하며, 상기 VTBP계층과 인터페이스하는 상위 계층의 인터페이스는 본 발명에서 고안된 VTBI를 사용한다.
도 13b의 응용 계층은 종래의 TCP/IP 계층(134)을 유지한 채, 상기 TCP/IP 계층(134) 상부에 본 발명에서 고안한 VTBP 층(133)을 탑재한 경우의 예이다.
도 14는 본 발명의 일 실시예에 따른 필드버스 통신 시스템의 통신 제어 흐름도로서, 도 14를 참조하면, 먼저, 마스터 노드는 여러 개의 서브 노드에 대한 각각의 폴링이 1순회하여 전체 폴링 및 응답이 완료될 때까지 소요되는 시간(GCT:Global Cycle Time)을 초기화(s1401)한다. 이 때, 상기 GCT는 '노드 싸이클 타임(NCT:Node Cycle Time) * 노드수의 값'보다 크며, '최소 주기'보다 작게하되, 가능한 한 최소 주기의 1/2 이하가 되게 설정한다.
그리고, 상기와 같이 GCT를 초기화하였으면, NCT를 위한 타이머를 초기화(s1402)한 후, 각 서브 노드들에게 차례로 버퍼 요청 프레임(Buffer Request Frame)을 전송(s1403)한다. 즉, 폴링을 통하여 매체 사용권을 부여한다. 이 때, 마스터 노드는 자신이 송신하는 ATNB 데이터를 버퍼 요청 프레임에 실어 보낸다.
그러면, 데이터 프레임의 수신을 대기(s1411)하던 서브 노드는 이를 수신하여 자신에 대한 버퍼 요청 프레임 인지를 확인(s1412)한 후, 마스터 노드가 자신의 버퍼를 요청하는 경우 자신의 ATNB 내용을 버퍼 응답 프레임에 실어 네트워크로 브로드캐스팅(s1413)한다. 이 버퍼 응답 프레임은 모든 노드에게 알려지므로 필요한 노드에서는 이 프레임을 수신하여 그 값을 갱신하거나 참조할 수 있다.
한편, 서브 노드로부터 데이터 프레임의 수신을 대기(s1409)하던 마스터 노드는 이 버퍼 프레임 응답을 수신(s1406)한 후, 마지막 서브 노드가 아니면(s1407) NCT를 다시 초기화(s1402)하고, 다음 노드에게 버퍼 요청 프레임을 전송(s1403)하여 매체 사용권을 부여한다. 만약, NCT가 종료될 때까지 버퍼 응답 프레임이 도착하지 않으면 그 노드는 문제가 있는 것으로 간주하고 에러 메시지를 출력(s1405)한 후 다음 노드의 폴링에 들어간다.
전체 노드에 대한 폴링을 마치고, GCT 타이머가 종료(s1408)되면 다음 주기의 GCT를 시작하여 상기 과정(s1401∼s1416)을 반복 수행한다.
한편, LAN 카드가 이더넷이 아닌 토큰 버스나 링 형태의 비경쟁/비충돌 방식이면, 상기와 같이 서브 노드 각각에 대한 순차적인 폴링 보다는 아래와 같은 방법을 사용하는데, (이에 대한 그림은 생략한다.) 이 때, NCT는 각 노드가 토큰을 보유할 수 있는 한계 시간으로 본다.
① 마스터 노드는 GCT(Global Cycle Time)을 위한 타이머를 초기화한다.
이 때, 상기 GCT는 토큰 순회시간이 되는 [NCT * 노드수] 보다 크며, 최소 주기값보다 작게 한다. 가능한 한 최소 주기의 1/2 이하가 되게 한다.
② 모든 서브 노드들에게 동시에 전달되도록 버퍼 응답 요구 프레임(Buffer Request Frame)을 브로드캐스팅 또는 멀티캐스팅을 통해 전달한다. 이 때, 마스터 노드는 자신이 송신하는 ATNB 데이터를 이 응답 요구 프레임에 실어 보낸다.
③ 버퍼 응답 요구 프레임을 수신받은 각 서브 노드는 자신의 ATNB 내용을 버퍼 응답 프레임에 실어 네트워크에 브로드캐스팅한다. 이 때, 전송권한은 통신망 하위 프로토콜에 의해 자동적으로 순차적으로 부여받게 되므로 신경쓰지 않아도 된다. 이 응답 프레임은 모든 노드에게 알려지므로 필요한 노드에서는 이 프레임을 수신하여 값을 갱신, 참조할 수 있다.
④ 마스터 노드는 이 버퍼 응답 프레임을 모두 수신한 후, GCT 타이머가 종료되면 다음 주기의 GCT를 시작하여 상기 과정을 반복 수행한다. 만약, GCT가 종료될 때까지 버퍼 응답 프레임을 보내지 않는 서브 노드는 문제가 있는 것으로 간주하고 에러 메시지를 출력한다.
상기와 같은 본 발명의 필드버스 통신 시스템 및 통신제어방법은 다음과 같은 효과가 있다.
① 표준 LAN 카드를 사용함으로써 제어자동화 시스템이 높은 신뢰성과 저렴한 가격을 가지게 해주고, 벤더(Vendor) 종속을 탈피하게 해주며, 넓은 대역폭을 제공해 준다. 또한, 손쉬운 유지보수와 확장성을 제공한다.
② 비주기 데이터까지 주기적 데이터로 간주한 후, 넓은 대역폭을 이용, 모든 데이터를 최소 주기의 주기적 데이터로 취급하여 한꺼번에 블록 전송을 수행함으로써, 주기 및 비주기 데이터를 포함하는 대용량 제어점을 갖는 제어 자동화 시스템에서 결정적(Determinstic)인 주기성을 보장하고 최대 샘플링 속도를 높인다는 장점이 있다.
③ 확장 MAC 기능을 제공함으로써, 이더넷 등의 사용권 경쟁이 있는 전송 매체상에서도 충돌없이 데이터를 실시간으로 교환할 수 있도록 해준다.
④ 최소주기의 블록전송 개념을 적용하여 구성한 고속 블록 버퍼 교환기능은 사용자층과는 독립적으로 VTBP계층이 자율적으로 수행하며, 기존 필드버스 시스템에서와 달리 제어점-id를 통신망에 Broadcasing하거나 프레임에 실어 보내는 별도의 과정 없이 곧바로 블록데이타를 통신망에 보냄으로써, 프로토콜 자체가 소모하는 오버헤드(Overhead)를 줄여 처리 속도를 높이고, 대량 데이터에 대한 실시간 교환을 가능하게 해준다.
④ 실제 현장의 각종 I./O 제어점이 접속되는 터미널 박스/블록을 모델링한 가상 터미널 박스 이미지 및 VTBI 인터페이스의 제공으로 사용자에게 아주 친숙한 사용자 환경을 제공해 준다.
특히, 상기 VTBP 프로토콜은 TCP/IP 등 데이터의 실시간 전송 및 수신을 충분히 보장하지 못하는 복잡한 프로토콜 계층을 제거하고, 그 자리를 VTBP로 대체한 3계층 구조로 사용할 수 있어, 아주 대용량 제어정보의 실시간 서비스 지원에 효과적이다. 또한, TCP/IP 위에서도 사용이 가능하여 높은 유연성을 제공한다.

Claims (17)

  1. 다수의 제어자동화 노드들이 통신망으로 연결되어 그 노드들이 해당 제어 포인트들을 제어하는 플랜트 제어자동화용 필드버스 통신 시스템의 통신 제어방법에 있어서,
    상기 다수의 제어 포인트에서 발생되는 비주기 데이터들을 상태값 또는 변화값을 갖는 특정 단위 주기 또는 최소 샘플링 주기의 주기 데이터로 간주하여 분류하는 제 1 과정과,
    상기 다수의 제어 포인트에서 발생되는 다양한 샘플링 주기의 주기 데이터들을 최소 샘플링 주기의 주기 데이터로 간주하여 분류하는 제 2 과정과,
    상기 제 1 과정 및 제 2 과정에서 최소 샘플링 주기의 주기 데이터로 간주하여 분류된 비주기 데이터 및 다양한 주기의 데이터들을 모두 하나의 데이터 블록안에 묶어 그룹화시키는 제 3 과정과,
    상기 제 3 과정에서 생성된 데이터 블록을 상기 최소 샘플링 주기의 이하의 주기로 전송하는 제 4 과정을 포함하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  2. 다수의 제어자동화 노드들이 통신망으로 연결되어 그 노드들이 해당 제어 포인트들을 플랜트 제어자동화용 필드버스 통신 시스템의 통신 제어방법에 있어서,
    상기 제어자동화 통신 시스템을 구성하는 노드들의 수와 상기 각 노드별로 제어하는 제어 포인트의 수를 결정하는 제 1 과정과,
    상기 결정된 노드의 수 및 그 노드별로 제어하는 제어포인트의 수에 의거하여, 실제 제어 현장의 터미널 박스 및 블록을 모델링한 가상 터미널 박스 및 블록(VTB:Virtual Terminal Box/Bolck)의 크기를 결정한 후, 그 노드의 메모리 안에 그 노드가 제어하는 주기 및 비주기 제어점 정보를 포함하는 상기 가상 터미널 블록 및 블록을 구성하여 사용자층에 제시하는 제 2 과정과,
    상기 노드들간에, 상기 가상 터미널 박스 및 블록(VTB)안에 포함되어 있는 현장의 모든 제어점들에 대한 주기 및 비주기 데이터값을 통신망을 통해 블록단위로 최소 주기 이하의 주기로 교환 복사함으로써, VTB 정보를 교환하는 송수신단 간에 제어 데이터의 값을 항시 동일하게 유지하고, 사용자는 단순히 그 가상 터미널 박스 및 블록(VTB)에 표시된 값을 읽거나 그 가상 터미널 박스 및 블록(VTB)에 제어값을 기록하여 현장의 제어 포인트들을 제어하는 제 3 과정으로 구성된 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  3. 제 2 항에 있어서, 상기 제 2 과정의 VTB는
    상기 각 노드 ID에 해당되는 고유한 ID를 동일하게 가지게 하고,
    VTB 내부에는 해당 노드가 현장의 제어점들로부터 제어값을 입력받아 통신망으로 전송하고자 하는 데이터를 저장하는 하나의 가상 입력 터미널 블록(ATNB)을 설계하고,
    상기 필드버스 통신망에 연결된 다른 노드로부터 전송되어 오는 해당 제어 포인트들의 제어값을 저장하도록 하는 ATNB의 복사 저장구조인 가상 출력 터미널 블록(NTAB)을 설계하여,
    상기 가상 입력 터미널 블록(ATNB)과 가상 출력 터미널 블록(NTAB)에 의해 가상 터미널 박스/블록(VTB)을 구성하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  4. 제 3 항에 있어서, 상기 가상 입력 터미널 블록(ATNB)은
    해당 노드가 제어하는 제어점의 ID를 제외한 제어값만을 상기 ATNB의 지정된 특정위치에 저장하고, 그 제어값이 저장되는 위치에 의해 상기 제어값의 ID를 결정하도록 설계하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  5. 제 2 항 또는 제 3 항에 있어서, 상기 제 2 과정은
    상기 가상 출력 터미널 블록(NTAB) 설계시,
    상기 가상 출력 터미널 블록(NTAB)의 수를 '상기 필드 버스 통신 시스템에 연결된 모든 노드의 수 - 1' 또는 '제어 데이터를 공유하기 원하는 노드의 수'로 할당하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  6. 제 2 항 또는 제 3 항에 있어서, 상기 제 3 과정은
    상기 임의의 노드가 상기 가상 입력 터미널 블록(ATNB)에 입력된 제어값을, 사용자층의 입출력 요청과는 독립적으로, 제어자동화 시스템이 요청하는 최소 주기이하의 주기를 가지고 통신망으로 주기적 전송하는 제 1 단계와,
    상기 임의의 노드와 함께 통신망에 연결된 다른 노드가 상기 전송된 내용을 자신의 가상 출력 터미널 블록(NTAB)에 복사/저장하는 제 2 단계와,
    상기 다른 노드의 사용자가 상기 가상 출력 터미널 블록(NTAB)에 저장된 제어값을 상기 제 1 및 제 2 단계의 동작과 독립된 주기 또는 비주기적으로 읽는 제 3 단계로 구성된 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  7. 다수의 제어자동화 노드들이 통신망으로 연결되어 그 노드들이 해당 제어 포인트들을 제어하는 플랜트 제어자동화용 필드버스 통신 시스템에 있어서,
    상기 필드버스 통신망에 연결된 각 노드들의 제1 및 제2계층에는 표준 LAN 지원 카드를 통신망 인터페이스 카드로 사용하고,
    상기 각 노드들의 LAN 계층 상위에 존재하는 제어자동화 프로토콜 계층(응용계층) 위치에는, 실제 제어현장의 터미널 박스 또는 터미널 블록을 모델링하여 메모리에 구성한 가상 터미널 박스/블록(VTB)과, 하부 통신망에 접근을 자체적으로 통제하는 확장 MAC 기능과, 상기 제어 포인트들에서 발생되어 VTB내 가상 터미널 블록에 기록되는 주기/비주기 데이터들을 모두 최소 주기의 주기 데이터로 간주하여 최소 주기 이하의 주기를 가지고 블록단위로 실시간 교환하는 고속 블록버퍼 교환 기능과, 상기 VTB 내의 정보를 사용자가 접근하여 상기 고속 블록버퍼 교환 기능과는 독립적으로 입출력을 수행할 수 있게 서비스 해주는 가상 터미날 박스 인터페이스(VTBI) 기능을 포함하는 제어자동화용 실시간 통신 프로토콜(VTBP)을 탑재하여,
    상기 제어자동화용 실시간 통신 프로토콜(VTBP)에 의해 필드 버스 통신 시스템의 제어자동화 노드간 데이터 송수신을 수행하는 것을 특징으로 하는 표준 LAN을 이용하는 필드 버스 통신 시스템.
  8. 제 7 항에 있어서, 상기 노드들의 응용계층에 해당되는 VTBP계층을
    LAN 계층 상위의 제 3계층에 탑재하여 사용자층을 제외한 도합 3계층의 프로토콜 스택 구조를 갖거나, 또는 LAN 계층 위에 TCP/IP층을 두고 상기 TCP/IP 층위에 제어자동화용 실시간 통신 프로토콜(VTBP)층을 탑재하여 사용자층을 제외한 도합 5계층으로 구성하는 것을 특징으로 하는 표준 LAN을 이용하는 필드 버스 통신 시스템.
  9. 제어자동화용 통신망에 연결된 상기 각 노드들의 제1 및 제2계층에는 표준 LAN을 사용하고, LAN 계층 상위에 존재하는 제어자동화 프로토콜을 제공하는 응용 계층 위치에는, 실제 제어현장의 터미널 박스 또는 터미널 블록을 모델링하여 메모리에 구성한 가상 터미널 박스/블록(VTB)와, 하부 통신망에 접근을 자체적으로 통제하는 확장 MAC 기능과, 상기 제어 포인트들에서 발생되어 VTB내 가상 터미널 블록에 기록되는 주기/비주기 데이터들을 모두 최소 주기의 주기 데이터로 간주하여 최소 주기 이하의 주기를 가지고 블록단위로 실시간 교환하는 고속 블록버퍼 교환 기능과, 상기 VTB내의 정보를 사용자가 접근하여 상기 고속 블록 버퍼 교환 기능과는 독립적으로 입출력을 수행할 수 있게 하는 가상 터미날 박스 인터페이스(VTBI) 기능을 포함하여 제공하는 제어자동화용 실시간 통신 프로토콜(VTBP)을 탑재한 후, 그 제어자동화용 실시간 통신 프로토콜(VTBP)에 의해 상기 노드간 데이터 송수신을 수행하도록 하는 필드버스 통신 시스템의 통신 제어방법으로서,
    상기 제어자동화용 실시간 통신 프로토콜(VTBP)은
    상기 가상 터미널 박스/블록(VTB) 버퍼를 각 노드가 취급하는 주기 및 비주기 제어점의 모든 데이터를 포함하는 다수의 필드로 구성된 연속된 메모리 영역으로 구성하고,
    하부 통신망 전송 매체(Medium)로의 접근을 자체적으로 통제하기 위해 필드 버스 통신망에 포함된 노드들에게 전송 권한을 부여하여 전송 권한을 가진 노드만이 전송 매체를 사용하도록 제한하는 확장 MAC 기능을 수행하며,
    상기 제어 포인트들에서 발생되어 VTB에 기록되는 주기/비주기 데이터들을 모두 최소 주기의 주기 데이터로 간주하여 최소 주기의 이하의 주기적 교환을 통해 실시간 전송처리 하는 고속 블록버퍼 교환 기능을 수행하고,
    상기 VTB 버퍼의 내용을 상위 사용자 계층에서 VTBP계층의 동작과는 독립적으로 주기 및 비주기적으로 접근하여 조작하도록 하기 위해, 응용 프로그램 인터페이스(API)를 통해 VTBP층 접근점과 입출력 서비스를 제공하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  10. 제 9 항에 있어서, 상기 고속 블록 버퍼 교환 기능은
    송신측 노드에서 상기 다수의 현장 제어점들에 대하여 그 제어점 ID는 제외시키고 하나의 송신노드 ID와 다수 제어점의 데이터값 만을 포함하도록 상기 하나의 가상 터미널 블록을 구성하여 전송하면,
    수신측 노드에서는 그 가상 터미널 블록을 받아 송신노드 ID를 파악한 후 상기 가상 터미널 블록내에 제어값이 저장된 위치에 의해 제어 포인트의 제어점 id와 데이타 값을 찾아내는 것을 특징으로 하는 필드 버스 통신 시스템의 통신 제어방법.
  11. 제 9 항에 있어서, 상기 응용 프로그램 인터페이스(API) 서비스 기능은
    사용자가 VTBP 계층내에 이미 존재하는 가상 터미널 박스(VTB)를 접근하기 위한 접속점인 VTBI를 생성하는 과정과,
    논리적 주소를 부여하는 별도의 바인딩 과정이나 연결과정 없이 곧바로 점속점 VTBI를 여는 과정과,
    상기 VTBI를 통해 사용자가 VTB내 입출력 제어점에 대한 입/출력을 수행하는 과정과,
    VTBI를 닫을 때 더 이상 VTBI가 필요없으면 그 VTBI를 자동으로 삭제하는 것을 포함하여 구성된 것을 특징으로 하는 필드버스 통신 시스템의 통신제어방법.
  12. 분산된 제어자동화 서브 노드와, 상기 서브 노드들을 제어하는 마스터 노드와 상기 노드를 연결하는 통신망으로 구성하되, 표준 LAN 카드를 상기 노드간 통신망 인터페이스 카드로 사용하는 표준 LAN에 의해, 입출력 이미지 메모리 버퍼에 저장되는 현장의 주기 및 비주기의 모든 데이터를 블록단위로 실시간으로 상대편 노드와 송수신하는 필드버스 통신 프로토콜에 의해 각 노드들의 통신을 제어하는 필드버스 통신 시스템의 필드버스 통신 제어방법에 있어서,
    상기 마스터 노드가 모든 서브 노드들에 대하여 폴링을 마치는 데에 걸리는 시간 주기인 트랜잭션 사이클(GCT) 값을 아래 [NCT의 값 × 전체 서브노드 수] 값보다 크게 초기화하는 제 1 단계와,
    상기 마스터 노드가 임의의 한 서브 노드를 선택하고, 그 서브 노드에 대하여 폴링을 수행하는 데에 걸리는 시간 주기인 노드 사이클(NCT)을 초기화하는 제 2 단계와,
    상기 마스터 노드가 서브 노드에게 매체 사용권을 부여하기 위해, 그 서브 노드로 전송 요구 프레임을 전송하는 제 3 단계와,
    상기 제 3 단계에서 마스터 노드로부터 전송된 전송 요구 프레임에 의해 매체 사용권을 부여받은 서브 노드가 정상적으로 동작하는 경우, 그 서브 노드는 송신용 블록버퍼 내용을 버퍼 응답 프레임에 실어 네트워크에 브로드캐스팅하고, 상기 마스터 노드는 상기 서브 노드의 버퍼 응답 프레임을 대기하는 제 4 단계와,
    상기 마스터 노드가 상기 제 2 단계에서 설정된 노드 사이클(NCT) 동안 상기 버퍼 응답 프레임을 수신하였으면, 다음 서브 노드를 선택하고 상기 노드 사이클을 다시 초기화한 후, 상기 제 3 단계로 진행하는 제 5 단계로 구성된 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  13. 제 12 항에 있어서, 상기 통신 제어방법은
    상기 필드버스 통신 시스템에 포함된 모든 서브 노드에 대하여 폴링을 마친 후, 상기 트랜잭션 사이틀(GCT)이 종료되어 다시 GCT를 초기화하는, 상기 1 단계로 진행할 때까지 상기 제 3 단계 내지 제 5 단계를 반복 수행하여,
    결국 모든 노드에 전송권한이 1순회 하여 모든 제어점의 제어값이 고속 블록 버퍼 교환을 통해 갱신 완료될 때까지의 시간이 GCT 값 이하로 결정적(Deterministc) 으로 정해지는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  14. 제 12 항에 있어서, 상기 제 4 단계는
    상기 서브 노드가 자신의 송신 버퍼의 내용을 브로드캐스팅할 때,
    상기 필드 버스 통신 시스템에서 사용되는 비주기 데이터를 주기 데이터의 일부로 간주하여,
    다양한 주기의 주기 데이터 및 비주기 데이터를 모두 하나의 데이터 프레임 블록으로 그룹화하고,
    상기 데이터 프레임 블록을 최소 샘플링 주기 이하의 주기로 전송하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  15. 제 12 항 또는 제 14 항에 있어서,
    상기 데이터 프레임 블록의 전송 주기는
    최소 샘플링 주기의 1/2 이하로 설정하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  16. 제 12 항에 있어서, 상기 표준 LAN이 토큰 버스 또는 링 형태의 비경쟁/비충돌 방식이면,
    상기 마스터 노드가 토큰 순회 시간(NCT * 노드수)보다 크고 최소 주기값 보다 작은 값으로 GCT(Global Cycle Time)을 위한 타이머를 초기화하는 제 1 단계와,
    상기 마스터 노드가 자신이 송신하는 ATNB 데이터를 버퍼 응답 요구 프레임을 브로드 캐스팅 또는 멀티 캐스팅 방식에 의해 모든 서브 노드들에게 동시에 전달하는 제 2 단계와,
    상기 마스터 노드로부터의 버퍼 응답 요구 프레임을 수신한 각 서브 노드들이 자신의 데이터를 필요한 임의의 노드에서 수신하여 갱신, 참조하도록 자신의 ATNB 내용을 버퍼 응답 프레임에 실어 네트워크에 브로트 캐스팅하는 제 3 단계와,
    상기 마스터 노드에서는 상기 서브 노드들에서 송신되는 ATNB 내용을 모두 수신하며, 상기 GCT가 종료될 때까지 버퍼 응답 프레임을 보내지 않는 서브노드가 있는 경우 그 서브 노드에 대한 에러 메시지를 출력한 후, 다음 주기의 GCT를 시작하여 상기 제 1 단계 내지 제 3 단계의 과정을 반복 수행하는 것을 특징으로 하는 필드버스 통신 시스템의 통신 제어방법.
  17. 다수의 노드들이 통신망으로 연결되어 그 서브 노드들이 해당 제어 포인트들을 제어하는 플랜트 제어용 필드버스 통신 시스템의 통신 제어방법에 있어서,
    상기 다수의 제어 포인트들에서 발생되는 비주기 데이터들을 상태값 또는 상태 변화값을 갖는 특정 단위 주기 또는 최소 샘플링 주기의 주기 데이터로 분류하여 통신하는 것을 특징으로 하는 필드 버스 통신 시스템의 통신 제어방법.
KR1019990001634A 1999-01-20 1999-01-20 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법 KR100288158B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990001634A KR100288158B1 (ko) 1999-01-20 1999-01-20 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990001634A KR100288158B1 (ko) 1999-01-20 1999-01-20 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법

Publications (2)

Publication Number Publication Date
KR20000051286A KR20000051286A (ko) 2000-08-16
KR100288158B1 true KR100288158B1 (ko) 2001-04-16

Family

ID=19571860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990001634A KR100288158B1 (ko) 1999-01-20 1999-01-20 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법

Country Status (1)

Country Link
KR (1) KR100288158B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567296B2 (en) 2014-07-21 2020-02-18 Samsung Electronics Co., Ltd. Server for performing low power communication and operation method thereof, and scheduling map generation method for performing low power communication

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455030B1 (ko) * 2001-07-16 2004-11-12 홍승호 프로피버스에서 실시간 데이터 전송을 위한 대역폭 할당방법
CN101794150A (zh) * 2010-04-20 2010-08-04 杭州和利时自动化有限公司 一种现场总线仪表管理系统的数据管理方法及系统
US10320958B2 (en) * 2014-12-19 2019-06-11 Emerson Process Management Lllp Fast data transfer communication protocol for an industrial process network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567296B2 (en) 2014-07-21 2020-02-18 Samsung Electronics Co., Ltd. Server for performing low power communication and operation method thereof, and scheduling map generation method for performing low power communication

Also Published As

Publication number Publication date
KR20000051286A (ko) 2000-08-16

Similar Documents

Publication Publication Date Title
US8990444B2 (en) Fieldbus gateway using virtual serial fieldbus port and data transmission method thereof
US4926375A (en) Multiple nodes broadcast communication method with receiver identification by bit position in transferred massage
US9667699B2 (en) Method for transmitting data via a CANopen bus
CN101111807B (zh) 具有多个空间分布站的控制系统和在所述控制系统中传送数据的方法
US4942552A (en) Method and apparatus for saving and performing industrial control commands
KR920001576B1 (ko) 토큰패싱 버스 방식을 사용한 네트워크 시스템
CN102360206B (zh) 具有多个空间分布站的控制系统和在所述控制系统中传送数据的方法
US6005869A (en) Communication network
EP1124357B1 (en) Method and device for communicating between a first and a second network
US20070147387A1 (en) Interface link layer device for long delay connections
CN108809949A (zh) profinet、FF H1、CAN和profibus协议之间转换和调度的方法
KR100288158B1 (ko) 표준 엘에이엔을 이용하는 필드버스 통신 시스템 및 통신 제어방법
Farsi et al. An introduction to CANopen
CN101809941B (zh) 控制节点网络的控制节点
CN102255784A (zh) 使用虚拟串列现场总线埠的现场总线闸道器及其资料传递方法
CN115967592A (zh) EtherCAT总线与Profinet总线互联的网关设备
EP1384355B1 (en) Interface circuit
KR101071086B1 (ko) 로봇 통신용 통합 네트워크 시스템 및 그의 운용 방법
CN115051888B (zh) 一种基于AM335X的EtherCat主站控制系统
Sveda et al. Coupling architectures for low-level fieldbusses
Cena et al. An arbitration-based access scheme for EtherCAT networks
Tovar et al. Analysis of the worst-case real token rotation time in PROFIBUS networks
Wang et al. Design and Implementation of EtherCAT Master of Gyrowheel under RTX System
Ruiz et al. Using Firewire as industrial network
EP1610498A1 (en) Synchronization and communication protocol for remote process

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100202

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee