KR100729930B1 - 이중화 시스템의 절체 회로 - Google Patents
이중화 시스템의 절체 회로 Download PDFInfo
- Publication number
- KR100729930B1 KR100729930B1 KR1020050124477A KR20050124477A KR100729930B1 KR 100729930 B1 KR100729930 B1 KR 100729930B1 KR 1020050124477 A KR1020050124477 A KR 1020050124477A KR 20050124477 A KR20050124477 A KR 20050124477A KR 100729930 B1 KR100729930 B1 KR 100729930B1
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- primary
- signal
- dpm
- notification signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2035—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
본 발명은 이중화된 CPU(Central Processing Unit) 보드(Board)의 중간에 절체 로직(Logic)이 구비된 보드를 구현하여 시스템 절체에 대한 판단을 수행하도록 한 이중화 시스템의 절체 회로에 관한 것이다. 본 발명은 이중화된 CPU 보드의 중간에 절체 로직이 들어 있는 보드, 즉 DPM을 구현하여 시스템 절체에 대한 판단을 수행하도록 하는데, 이때 시스템 절체를 위한 다수 개의 신호선에 대한 회로 구성을 지닌 백플레인(Backplane) 또는 통신 라인을 해당 각 CPU 보드의 제어기에 각각 구현하며, 또한 해당 각 제어기 사이에 DPM을 설치하고 해당 각 제어기에 구현된 신호선과 동일하게 이에 대응하는 신호선의 회로 구성을 해당 DPM에 구현함으로써, 이중화 구조를 가지는 시스템의 절체 시에 발생할 수 있는 에러 상황에 대하여 하드웨어적으로 에러를 방지하며, 이에 해당 이중화 시스템의 절체를 보다 안정적으로 수행할 수 있다.
Description
도 1은 일반적인 이중화 시스템의 구조를 일 예로 나타낸 도면.
도 2는 일반적인 이중화 시스템의 구조를 이 예로 나타낸 도면.
도 3은 일반적인 이중화 시스템의 구조를 삼 예로 나타낸 도면.
도 4는 본 발명의 실시 예에 따른 이중화 시스템의 절체 회로를 나타낸 구성 블록도.
* 도면의 주요 부분에 대한 부호의 설명 *
40, 50: 제어기(Controller)
60: DPM(Dual Port Memory)
본 발명은 이중화 시스템의 절체 회로에 관한 것으로, 특히 이중화된 CPU(Central Processing Unit) 보드(Board)의 중간에 절체 로직(Logic)이 구비된 보드를 구현하여 시스템 절체에 대한 판단을 수행하도록 한 이중화 시스템의 절체 회로에 관한 것이다.
일반적으로, DCS(Distributed Control System), 터빈 제어 시스템(Turbine Control System), 철도 제어 시스템, 교환기 등과 같이, 산업용으로 사용되는 제어 시스템은 거의 모두 이중화 구조 또는 삼중화 구조로 구성되어 있다.
특히, 발전소에 사용되는 제어 시스템, 즉 발전용 제어 시스템은 제어 대상이 발전 설비가 되기 때문에, 고장 시에 해당 발전 설비의 오작동으로 인한 위험성을 가지고 있다. 그래서, 해당 발전용 제어 시스템의 고장 시에 해당 발전 설비를 정상적으로 제어하기 위하여, 해당 발전용 제어 시스템을 이중화 구조 또는 삼중화 구조로 구현하여 해당 발전 설비를 보호할 수 있는 방식으로 이루어지고 있다.
그리고, 대부분의 경우에 마스터 보드(Master Board)와 슬레이브 보드(Slave Board) 사이의 이중화 구조로 이루어져 있는데, 이때 소프트웨어(Software) 방식으로 이중화가 이루어져 있다. 즉, 대부분의 경우에 통신을 이용하여 소프트웨어적으로 응답 여부에 따라 시스템 절체를 수행하도록 하는 방식으로 이중화 구조를 이루고 있다.
도 1은 일반적인 이중화 시스템의 구조를 나타낸 도면이다.
도 1에 도시된 바와 같이, 산업용에서 많이 사용되는 이중화 시스템으로, 두 개의 랙(Rack)(11, 12) 내에 각각 구비되어 있는 제1CPU 보드(11-1)와 제2CPU 보드(12-1) 사이의 이중화를 위하여 통신 라인(13)을 이용하여 이루어져 있다.
이때, 상기 이중화 시스템은 상기 두 개의 CPU 보드(11-1, 12-1)간의 동기를 맞추기 위하여 통신 라인(13)을 이용하고, 상기 각 CPU 보드(11-1, 12-1) 내에 구비된 소프트웨어 프로토콜을 이용하여 상대방의 응답 여부에 따라 시스템 절체(Failover)를 판단하도록 이루어져 있다.
다르게는, 도 2에 도시된 바와 같이, 하나의 랙(20)에 이중화를 구현한 형태로, 하나의 랙(20) 내에 구비되어 있는 두 개의 제1CPU 보드(21)와 제2CPU 보드(22) 사이의 이중화를 위하여 통신 라인(23)을 이용하여 시스템 절체를 판단하는 구조이다.
그런데, 도 1 및 도 2와 같은 이중화 시스템의 경우에는 소프트웨어 프로토콜에 의해 통신 라인을 통해 상대방의 응답에 따라 시스템 절체를 판단함으로써, 해당 통신 라인의 에러나 상대방 시스템의 문제가 발생한 경우에 이를 식별할 수 없는 문제점이 있었다.
그래서, 이를 보완하기 위한 이중화 시스템은 도 3에 도시된 바와 같이, 두 개의 랙(31, 32) 내에 각각 구비되어 있는 제1CPU 보드(31-1)와 제2CPU 보드(32-1) 사이의 이중화를 위하여 통신 라인(33)뿐만 아니라 디지털 신호 라인(34)을 이용하여 이루어지도록 하는데, 즉 도 1과 같은 구성에서의 통신 라인(33) 이외에 디지털 신호 라인(34)을 더 구비하여 하드웨어(Hardware)의 건전성 여부를 판단하고 시스템 절체 여부를 판단하기 위한 디지털 신호를 송수신하도록 한 형태의 이중화 시스템을 형성하였다.
이때, 상기 이중화 시스템은 상기 두 개의 CPU 보드(31-1, 32-1)간의 동기를 맞추기 위하여 통신 라인(33)과 디지털 신호 라인(34)을 이용하고, 상기 각 CPU 보드(31-1, 32-1) 내에 구비된 소프트웨어 프로토콜에 의해 해당 통신 라인(33)을 통해 상대방의 응답을 송수신하고 해당 디지털 신호 라인(34)을 통해 디지털 신호를 송수신하도록 하여, 보다 효과적으로 시스템 절체를 판단하여 절체할 수 있도록 이루어져 있다.
도 1, 도 2 및 도 3에 도시된 바와 같은 구성을 가지는 이중화된 산업용 제어 시스템이 가장 보편적인 모습인데, 즉 현재 사용되고 있는 이중화 시스템의 형태는 대부분이 도 1, 도 2 및 도 3의 형태를 지녔다.
이러한 일반적인 이중화 시스템에 있어서, 시스템 운용 중에 통신 라인이 물리적으로 끊어지거나, 통신 상태에 문제가 발생하는 경우에는, 시스템 절체 시에 큰 문제를 일으킬 수 있고 잘못된 절체 판단을 수행할 수도 있는 문제점이 있었다.
특히, 필드(Field) 상황에 따라 잡음(Noise)이 많이 발생하는 필드의 경우에서는 통신에 문제가 발생할 수 있는 가능성이 높으며, 대부분의 통신은 잡음에 민감한 반응을 보이기 때문에 CPU간의 통신 문제는 시스템 절체로 이어지는 상황도 발생할 수 있다. 또한, 하드웨어적으로 하나의 신호를 이용하는 구조이기 때문에 잡음 발생에 의하여 해당 신호의 라인이 온/오프를 반복할 경우에 시스템 절체에 많은 문제점을 야기할 수도 있다.
그리고, 시스템 절체 시에는 시스템마다 틀리지만, 수 미리세크(msec)에서 수초까지도 시스템이 불안정할 수 있는데, 특히 통신을 이용한 이중화 구조는 여러 번의 에러 체크(Error Check)를 거치기 때문에 시스템 절체를 수행하는 데에 시간 이 오래 걸리는 문제점도 있다.
그리고, 하나의 신호를 이용하여 시스템 절체를 수행하고 현재 동작 중인 CPU 보드 중의 마스터를 확인한 후에, 수동으로 시스템 절체를 위해 CPU 보드의 전원을 끄는 방식으로 절체가 이루어질 때, 운용자의 잘못된 판단으로 정상적인 CPU 보드를 선택하여 전원을 끄게 되면 전체 시스템의 동작이 불가능한 상태로 만들 수도 있다. 또한, 시스템이 적용되는 분야마다 다를 수 있으나, 때때로 시스템 절체가 정상적으로 이루어지지 않아 공장 전체가 생산을 멈춰야 하는 경우도 발생하는 문제점도 있었다.
전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 이중화된 CPU 보드의 중간에 절체 로직이 구비된 보드를 구현하여 시스템 절체에 대한 판단을 수행하도록 한 이중화 시스템의 절체 회로를 제공하는데, 그 목적이 있다.
또한, 본 발명은 이중화된 CPU 보드에서 DPM(Dual Port Memory)을 이용하여 이중화 절체 여부를 판단하도록 함으로써, 이중화 구조를 가지는 시스템의 절체를 보다 안정적으로 수행할 수 있도록 하는데, 그 목적이 있다.
또한, 본 발명은 이중화 시스템의 절체 시에 발생할 수 있는 에러 상황에 대하여 하드웨어적으로 에러를 방지하도록 함으로써, 안정된 이중화 시스템을 구현할 수 있도록 하는데, 그 목적이 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 이중화 시스템의 절체 회로는, 이중화된 제어기를 구비한 이중화 시스템에 있어서, 상기 이중화된 제어기에 대하여 시스템 절체에 관련된 신호를 입출력하여 상기 제어기에 대한 시스템 절체를 수행하는 로직을 구비하는 DPM(Dual Port Memory)을 포함하고; 상기 제어기는, 자신이 프라이머리임을 알려 주기 위한 프라이머리 통보 신호, 자신이 프라이머리로 동작할 수 있음을 알려 주기 위한 인에이블 통보 신호 및 자신의 동작 상태를 나타내는 상태 통보 신호를 생성시켜 상기 DPM으로 출력하고, 자신이 시스템 절체 가능함을 나타내는 절체 가능 통보 신호를 생성시켜 상대편 제어기로 출력하여 해당 상대편 제어기에 시스템 절체 가능함을 나타내는 절체 가능 신호를 송신하고, 상기 DPM으로부터 인가되는 프라이머리 요구 신호 또는 세컨더리 요구 신호에 따라 시스템 절체를 수행한 후에, 자신이 프라이머리로 동작 시에 다른 제어기를 세컨더리로 동작하도록 함을 나타내는 절체 통보 신호를 생성시켜 상기 DPM로 출력하며; 상기 DPM은, 상기 제어기로부터 인가되는 프라이머리 통보 신호 또는 절체 통보 신호에 따라 프라이머리 여부를 판단하고, 상기 제어기로부터 인가되는 인에이블 통보 신호에 따라 세컨더리에서 프라이머리로의 절체 가능 여부를 판단하고, 상기 제어기로부터 인가되는 상태 통보 신호에 따라 시스템 절체 여부를 판단하고, 시스템 절체 시에 상기 제어기를 프라이머리로 동작하도록 요구하는 프라이머리 요구 신호 또는 상기 제어기를 세컨더리로 동작하도록 요구하는 세컨더리 요구 신호를 생성하여 상기 제어기로 출력하는 것을 특징으로 한다.
그리고, 상기 제어기들 중 하나는 자신의 식별 신호 라인을 상기 DPM의 그라운드에 접속시켜 상기 제어기들 중 다른 하나와 식별하도록 하는 것을 특징으로 한다.
삭제
삭제
본 발명은 높은 신뢰성을 가지는 이중화된 중복 시스템(Redundancy System)의 하드웨어 구조에 관한 것으로, 이중화된 CPU 보드의 중간에 절체 로직이 들어 있는 보드, 즉 DPM을 구현하여 시스템 절체에 대한 판단을 수행하도록 하는데, 이때 시스템 절체를 위한 다수 개의 신호선에 대한 회로 구성을 지닌 백플레인(Backplane) 또는 통신 라인을 해당 각 CPU 보드의 제어기에 각각 구현하며, 또한 해당 각 제어기 사이에 DPM을 설치하고 해당 각 제어기에 구현된 신호선과 동일하게 이에 대응하는 신호선의 회로 구성을 해당 DPM에 구현함으로써, 보다 안정된 이중화 시스템을 구현하도록 해 준다. 이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
도 4는 본 발명의 실시 예에 따른 시스템 절체를 위한 회로를 나타낸 도면으로서, 이중화된 두 개의 제어기(40, 50)와 DPM(60)의 하드웨어적인 연결을 나타내 고 있다.
도 4에 도시된 바와 같이, 본 발명의 실시 예에 따른 이중화 시스템의 절체 회로은, 이중화된 CPU 보드의 제어기(40, 50) 사이에 절체 로직이 구비된 보드, 즉 DPM(60)를 설치하여 이루어진다.
그리고, 본 발명의 실시 예에 따른 이중화 시스템의 절체 회로는 상기 두 개의 제어기(40, 50)가 하나의 제어 대상(설명의 편의상으로 도면에는 도시하지 않음)을 제어하며, 프라이머리(Primary) 제어 시스템의 이상 발생 시에 준비 상태(Ready State)에 있는 세컨더리(Secondary) 제어 시스템에 제어권을 넘겨주어 제어 대상을 안전하게 제어하도록 이루어지는데, 이때 상기 각 제어기(40, 50) 내에는 시스템 절체를 수행하기 위한 스위치(SW1, SW2)를 구비하여 시스템 가동 중인 CPU 보드를 손대지 않고도 시스템 절체를 수행하도록 한다. 여기서, 해당 시스템 절체란 프라이머리 제어기(예를 들어 제1제어기(40))에서 세컨더리 제어기(예를 들어, 제2제어기(50))로 제어권을 넘겨주는 동작을 말한다.
상기 각 제어기(40, 50)는 식별 신호(CPUSEL)를 통해 자신을 식별하도록 하는데, 해당 식별 신호(CPUSEL)가 '1'이면 상기 제2제어기(50)임을 나타내며, '0'이면 상기 제1제어기(40)를 나타낸다.
그리고, 상기 각 제어기(40, 50)는 자신이 프라이머리임을 알려 주기 위한 프라이머리 통보 신호(PRIMARY/)를 생성시켜 상기 DPM(60) 측으로 출력한다.
그리고, 상기 각 제어기(40, 50)는 자신이 프라이머리로 동작할 수 있음을 알려 주기 위한 인에이블 통보 신호(FAILOVER_ENABLE/)를 생성시켜 상기 DPM(60) 측으로 출력한다.
그리고, 상기 각 제어기(40, 50)는 자신의 동작 상태를 나타내는 상태 통보 신호(SANE/)를 생성시켜 상기 DPM(60) 측으로 출력한다. 즉, 상기 각 제어기(40, 50)는 초기화를 완료한 후에 내부의 와치도그 타이머(Watchdog Timer)(설명의 편의상으로 도면에는 도시하지 않음)를 이용하여 자기 자신의 동작 상태를 확인한 후에, 에러가 발생하지 않는 경우에 자신이 정상 상태임을 나타내는 상태 통보 신호(SANE/)를 상기 DPM(60) 측으로 출력하며, 일정 시간 내에 해당 와치도그 타이머에 신호가 입력되지 않는 경우에 해당 상태 통보 신호(SANE/)를 비정상 상태로 표시하여 상기 DPM(60) 측으로 출력한다. 여기서, 해당 상태 통보 신호(SANE/)는 상기 각 제어기(40, 50) 자신의 동작 상태를 상기 DPM(60)에 알려 주기 위한 신호이다.
그리고, 상기 각 제어기(40, 50)는 자신이 시스템 절체가 가능함을 나타내는 절체 가능 통보 신호(PRIMARY+)를 생성시켜 상대방 측으로 출력하며, 해당 절체 가능 통보 신호(PRIMARY+)를 절체 가능 신호(FAILOVER+)로 수신받는데, 이때 해당 절체 가능 신호(FAILOVER+)는 상대방 측이 시스템 절체가 가능함을 나타내는 신호이다.
그리고, 상기 각 제어기(40, 50)는 상기 DPM(60)로부터 인가되는 프라이머리 요구 신호(REQ_PRI/) 또는 세컨더리 요구 신호(REQ_SEC/)를 프라이머리 동작 신호(REQUEST_FOR_PRI/) 또는 세컨더리 동작 신호(REQUEST_FOR_SEC/)로 수신받아, 내부의 스위치(SW1, SW2)를 통해 시스템 절체를 수행한 후에, 자신이 프라이머리로 동작 시에 다른 제어기를 세컨더리로 동작하도록 함을 나타내는 절체 통보 신호 (FAILOVER/)를 생성시켜 상기 DPM(60) 측으로 출력한다. 이때, 해당 프라이머리 동작 신호(REQUEST_FOR_PRI/)는 시스템 절체 시에 상기 제1제어기(40)를 프라이머리로 동작하도록 하는 신호이며, 해당 세컨더리 동작 신호(REQUEST_FOR_SEC/)는 시스템 절체 시에 상기 제1제어기(40)를 세컨더리로 동작하도록 하는 신호이다.
상기 DPM(60)은 이전에 프라이머리 제어기에서 제어하고 있던 로직의 위치, 필드 신호(Field Signal), 로직 신호(Logic Signal) 등을 저장해 둔 후에, 이를 세컨더리 제어기로 판독시켜 로직의 동기를 맞추어 추후 시스템 절체 로직으로 구현되도록 해 준다.
다시 말해서, 상기 DPM(60)은 상기 제1제어기(40)로부터 인가되는 식별 신호(CPUSEL)를 내부 그라운드와 연결시켜 상기 제1제어기(40)를 식별하도록 해 준다.
상기 DPM(60)은 상기 각 제어기(40, 50)로부터 인가되는 프라이머리 통보 신호(PRIMARY/) 또는 절체 통보 신호(FAILOVER/)를 프라이머리 신호(PRI_A/, PRI_B/)로 수신받아 프라이머리 여부를 판단하는데, 이때 해당 제1프라이머리 신호(PRI_A/)는 상기 제1제어기(40)가 프라이머리로 동작하는 제어기인지의 여부를 나타내는 신호이며, 해당 제2프라이머리 신호(PRI_B/)는 상기 제2제어기(50)가 프라이머리로 동작하는 제어기인지의 여부를 나타내는 신호이다.
그리고, 상기 DPM(60)은 상기 각 제어기(40, 50)로부터 인가되는 인에이블 통보 신호(FAILOVER_ENABLE/)를 인에이블 신호(FAILENB_A/, FAILENB_B/)로 수신받아 세컨더리에서 프라이머리로의 절체 가능 여부를 판단하는데, 이때 해당 제1인에이블 신호(FAILENB_A/)는 상기 제1제어기(40)가 세컨더리로 동작 중에 프라이머리 로 동작을 수행할 수 있음을 나타내는 신호이며, 해당 제2인에이블 신호(FAILENB_B/)는 상기 제2제어기(50)가 세컨더리로 동작 중에 프라이머리로 동작을 수행할 수 있음을 나타내는 신호이다.
그리고, 상기 DPM(60)은 상기 각 제어기(40, 50)로부터 인가되는 상태 통보 신호(SANE/)를 상태 신호(SANE_A/, SANE_B/)로 수신받아 시스템 절체 여부를 판단한다. 즉, 상기 DPM(60) 내부에는 CPLD(Complex Programmable Logic Device)(설명의 편의상으로 도면에는 도시하지 않음)를 구비하여 상기 DPM(60)으로 입출력되는 신호들을 제어하도록 해 준다. 또한, 해당 CPLD는 상기 각 제어기(40, 50)로부터 인가되는 두 개의 상태 통보 신호(SANE/)를 해당 상태 신호(SANE_A/, SANE_B/)로 각각 수신받아, 해당 두 개의 상태 신호(SANE_A/, SANE_B/)를 이용하여 시스템 절체 여부를 판단하도록 한다. 여기서, 해당 제1상태 신호(SANE_A/)는 상기 제1제어기(40)가 정상적으로 동작하는지의 여부를 나타내는 신호이며, 상기 제2상태 신호(SANE_B/)는 상기 제2제어기(50)가 정상적으로 동작하는지의 여부를 나타내는 신호이다.
그리고, 상기 DPM(60)은 상술한 시스템 절체 여부 판단 동작을 수행한 결과에 따라 시스템 절체 시에 상기 제1제어기(40)를 프라이머리로 동작하도록 요구하는 프라이머리 요구 신호(REQ_PRI/) 또는 시스템 절체 시에 상기 제1제어기(40)를 세컨더리로 동작하도록 요구하는 세컨더리 요구 신호(REQ_SEC/)를 생성시켜 상기 제1제어기(40)로 출력한다.
본 발명의 실시 예에 따른 이중화 시스템의 절체 회로에 대한 동작을 설명하면 다음과 같다.
본 발명은 이중화된 두 개의 제어기(40, 50)와 DPM(60)으로 이루어지는데, 해당 두 개의 제어기(40, 50) 중 하나의 제어기(예를 들어, 제1제어기(40))가 프라이머리 제어기가 되며, 다른 하나의 제어기(예를 들어, 제2제어기(50))가 준비 상태의 세컨더리 제어기가 되며, 이에 해당 제2제어기(50)는 준비 상태에서 해당 제1제어기(40)의 이상 발생 시에 이를 감지하여 자신이 프라이머리 제어기가 되는 구조로 이루어진다.
이때, 상기 제어기(40, 50)의 시스템 절체 시에 가장 중요한 것은, 이전의 제어 로직과 필드 신호를 그대로 유지한 채, 부드럽게 절체되어 제어권을 세컨더리 제어기로 넘겨주는 것이다.
이것을 위해서, 상기 DPM(60)이라는 메모리 보드를 설치하여 이전에 프라이머리 제어기(40)에서 제어하고 있던 로직의 위치, 필드 신호, 로직 신호 등을 해당 메모리 보드에 저장해 둔 후에, 이를 세컨더리 제어기(50)에서 수신받아 로직의 동기를 맞추어 추후 시스템 절체 로직을 구현하도록 해 준다. 또한, 상기 DPM(60) 내부에 CPLD를 구비하여 상기 DPM(60)으로 입출력되는 신호들을 제어하도록 해 준다.
우선, 상기 각 제어기(40, 50)가 초기화를 완료한 후에 자기 자신의 동작 상태를 확인한 후에 에러가 발생하지 않는 경우에 자신이 정상 상태임을 나타내는 상태 통보 신호(SANE/)를 상기 DPM(60) 측으로 출력하게 되는데, 이때 해당 상태 통 보 신호(SANE/)는 상기 각 제어기(40, 50) 자신의 안정성을 나타내는 신호이다.
그리고, 상기 상태 통보 신호의 라인(SANE/)은 상기 각 제어기(40, 50) 내부의 와치도그 타이머(Watchdog Timer)를 이용하여 감시되어지는데, 이때 일정 시간 내에 해당 와치도그 타이머에 신호가 입력되지 않는 경우에 상기 상태 통보 신호(SANE/)를 비정상 상태로 표시하여 상기 DPM(60) 측으로 출력하게 되며, 이에 시스템 절체를 실행하도록 하게 된다.
도 4에 도시된 바와 같이, 프라이머리 통보 신호 라인(PRIMARY/), 절체 가능 통보 신호 라인(PRIMARY+), 절체 가능 신호 라인(FILOVER+), 절체 통보 신호 라인(FAILOVER/) 중에서 해당 프라이머리 통보 신호 라인(PRIMARY/)은 제어기(예를 들어, 상기 제1제어기(40)가 정상 동작 시에 '0'으로 동작하며, 또한 반대편 제어기(예를 들어, 상기 제2제어기(50))의 절체 통보 신호 라인(FAILOVER/)과 연결되어 있다. 또한, 상기 절체 가능 신호 라인(FILOVER+)은 5V의 입력을 나타내고 있다.
그리고, 상기 제1제어기(40)에서 출력되는 절체 가능 통보 신호(PRIMARY+) 및 프라이머리 통보 신호(PRIMARY/)는, 상기 제1제어기(40)가 정상 동작 중이라면 상기 제2제어기(50)의 절체 통보 신호(FAILOVER/)를 '1'로 만들어 줌으로써, 상기 제2제어기(50)의 시스템 절체 로직이 동작하는 것을 막아 세컨더리로서의 역할을 수행하도록 한다.
하지만, 비정상적인 상태에 의해서 상기 제1제어기(40)의 프라이머리 통보 신호(PRIMARY/)가 '1'이 되면, 상기 제2제어기(50)의 절체 통보 신호(FAILOVER/)가 '0'이 되며, 이에 상기 제2제어기(50)의 시스템 절체 로직이 동작하게 되어 프라이 머리로서의 역할을 수행하게 된다. 또한, 그 반대 상황에서도 마찬가지가 된다.
한편, 인에이블 통보 신호(FAILOVER_ENABLE/)는 세컨더리 제어기가 프라이머리 제어기로 동작할 수 있느냐의 여부를 알려 주는 신호로서, 해당 인에이블 통보 신호(FAILOVER_ENABLE/)가 '로우'레벨 상태라면, 세컨더리 제어기(예를 들어, 상기 제2제어기(50))가 프라이머리 제어기로서의 동작을 수행하게 된다.
그리고, 프라이머리 요구 신호 라인(REQ_PRI/)과 세컨더리 요구 신호 라인(REQ_SEC/)은 상기 DPM(60)의 CPLD에서 상기 제1제어기(40)의 프라이머리 동작 신호 라인(REQUEST_FOR_PRI/)과 세컨더리 동작 신호 라인(REQUEST_FOR_SEC/)으로만 연결되어 있다. 또한, 해당 프라이머리 요구 신호(REQ_PRI/)와 세컨더리 요구 신호(REQ_SEC/)는 둘 다 '하이'레벨이거나 둘 다 '로우'레벨이면 의미가 없으며, 상기 DPM(60)의 CPLD에서 상기 제1제어기(40)의 상태를 제어하기 위하여 사용하는 신호로서, 예를 들어 해당 프라이머리 요구 신호(REQ_PRI/)가 '하이'레벨이면 해당 세컨더리 요구 신호(REQ_SEC/)는 '로우'레벨이 된다.
그리고, 상기 제1제어기(40)의 식별 신호 라인(CPUSEL)은 상기 DPM(60)의 내부 그라운드와 연결시켜 '0'으로 연결되어 있으며, 상기 제2제어기(50)는 '1'로 연결이 되어 있으므로, 이중화 시스템에서 제어기의 위치를 알기 위하여 사용되는 신호이다.
상술한 시스템 절체의 메커니즘을 간략하게 살펴보면, 프라이머리 제어기(예를 들어, 상기 제1제어기(40))의 하드웨어적인 이상이나 소프트웨어적인 이상에 따라 발생하는 것으로, 이때 상기 제1제어기(40)의 상태 신호(SANE/)가 '1'이 되면서 상기 제1제어기(40)의 절체 상황을 알려주게 되며, 이에 상기 DPM(60)의 CPLD에서는 세컨더리 요구 신호(REQ_SEC/)를 상기 제1제어기(40)로 출력하여, 상기 제1제어기(40)의 프라이머리 통보 신호(PRIMARY/)를 '하이'레벨로 만들어 주게 되며, 이에 따라 해당 프라이머리 통보 신호(PRIMARY/)는 반대편 보드(예를 들어, 제2제어기(50))에 절체 통보 신호(FAILOVER/)를 생성시켜 줌으로써, 해당 절체 통보 신호(FAILOVER/)에 따라 상기 제1제어기(40)에서 상기 제2제어기(5)로의 시스템 절체를 수행하게 된다.
다른 한편, 상술한 바와 같은 도 4의 신호들 이외에 시스템 특성에 맞는 신호들을 더 추가하여 이중화 시스템의 안정성을 높여 구성할 수 있다는 것을 잘 이해해야 한다. 또한, 도 4에서 사용된 신호들의 일부분을 사용하여 본 발명에서 제시한 기능의 일부분만을 이용하여 이중화 시스템의 절체 회로를 구성하는 것도 가능하다는 점을 잘 이해해야 한다.
이상과 같이, 본 발명에 의해 이중화된 CPU 보드의 중간에 절체 로직이 구비된 보드인 DPM을 구현하여 시스템 절체에 대한 판단을 수행하도록 함으로써, 이중화 구조를 가지는 시스템의 절체 시에 발생할 수 있는 에러 상황에 대하여 하드웨어적으로 에러를 방지하며, 이에 해당 이중화 시스템의 절체를 보다 안정적으로 수행할 수 있다.
Claims (4)
- 이중화된 제어기를 구비한 이중화 시스템에 있어서,상기 이중화된 제어기에 대하여 시스템 절체에 관련된 신호를 입출력하여 상기 제어기에 대한 시스템 절체를 수행하는 로직을 구비하는 DPM(Dual Port Memory)을 포함하고;상기 제어기는, 자신이 프라이머리임을 알려 주기 위한 프라이머리 통보 신호, 자신이 프라이머리로 동작할 수 있음을 알려 주기 위한 인에이블 통보 신호 및 자신의 동작 상태를 나타내는 상태 통보 신호를 생성시켜 상기 DPM으로 출력하고, 자신이 시스템 절체 가능함을 나타내는 절체 가능 통보 신호를 생성시켜 상대편 제어기로 출력하여 해당 상대편 제어기에 시스템 절체 가능함을 나타내는 절체 가능 신호를 송신하고, 상기 DPM으로부터 인가되는 프라이머리 요구 신호 또는 세컨더리 요구 신호에 따라 시스템 절체를 수행한 후에, 자신이 프라이머리로 동작 시에 다른 제어기를 세컨더리로 동작하도록 함을 나타내는 절체 통보 신호를 생성시켜 상기 DPM로 출력하며;상기 DPM은, 상기 제어기로부터 인가되는 프라이머리 통보 신호 또는 절체 통보 신호에 따라 프라이머리 여부를 판단하고, 상기 제어기로부터 인가되는 인에이블 통보 신호에 따라 세컨더리에서 프라이머리로의 절체 가능 여부를 판단하고, 상기 제어기로부터 인가되는 상태 통보 신호에 따라 시스템 절체 여부를 판단하고, 시스템 절체 시에 상기 제어기를 프라이머리로 동작하도록 요구하는 프라이머리 요구 신호 또는 상기 제어기를 세컨더리로 동작하도록 요구하는 세컨더리 요구 신호를 생성하여 상기 제어기로 출력하는 것을 특징으로 하는 이중화 시스템의 절체 회로.
- 제1항에 있어서,상기 제어기들 중 하나는 자신의 식별 신호 라인을 상기 DPM의 그라운드에 접속시켜 상기 제어기들 중 다른 하나와 식별하도록 하는 것을 특징으로 하는 이중화 시스템의 절체 회로.
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050124477A KR100729930B1 (ko) | 2005-12-16 | 2005-12-16 | 이중화 시스템의 절체 회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050124477A KR100729930B1 (ko) | 2005-12-16 | 2005-12-16 | 이중화 시스템의 절체 회로 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100729930B1 true KR100729930B1 (ko) | 2007-06-18 |
Family
ID=38372765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050124477A KR100729930B1 (ko) | 2005-12-16 | 2005-12-16 | 이중화 시스템의 절체 회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100729930B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101262278B1 (ko) * | 2008-06-30 | 2013-05-08 | 현대중공업 주식회사 | 이중화 시스템 및 제어방법 |
WO2014104835A1 (ko) * | 2012-12-28 | 2014-07-03 | 주식회사 효성 | 이중화 제어기의 제어신호 출력방법 및 그 이중화 제어기 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4872106A (en) | 1983-04-06 | 1989-10-03 | New Forney Corp. | Industrial process control system with back-up data processors to take over from failed primary data processors |
US5418938A (en) | 1991-12-27 | 1995-05-23 | Fujitsu Limited | Data management system having CPUs to each other via dual-port memory |
JPH0832676A (ja) * | 1994-07-13 | 1996-02-02 | Nec Corp | 障害情報収集可能な交換システム |
KR19980073232A (ko) * | 1997-03-13 | 1998-11-05 | 김광호 | 듀얼포트메모리를 이용한 중앙처리장치 이중화 방법 |
KR19990070284A (ko) * | 1998-02-18 | 1999-09-15 | 윤종용 | 이중화 운용 시스템에서 중앙처리장치 절체시 데이터 안정화방법 |
KR20010008720A (ko) * | 1999-07-02 | 2001-02-05 | 윤종용 | 이중화 제어방식 교환시스템의 운영유지프로세서에서 메인프로세서 절체시 데이터 유실방지방법 |
KR20020058322A (ko) * | 2000-12-29 | 2002-07-12 | 엘지전자 주식회사 | 듀얼 포트 메모리를 이용한 프로세서의 제어코드 운용방법 |
-
2005
- 2005-12-16 KR KR1020050124477A patent/KR100729930B1/ko not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4872106A (en) | 1983-04-06 | 1989-10-03 | New Forney Corp. | Industrial process control system with back-up data processors to take over from failed primary data processors |
US5418938A (en) | 1991-12-27 | 1995-05-23 | Fujitsu Limited | Data management system having CPUs to each other via dual-port memory |
JPH0832676A (ja) * | 1994-07-13 | 1996-02-02 | Nec Corp | 障害情報収集可能な交換システム |
KR19980073232A (ko) * | 1997-03-13 | 1998-11-05 | 김광호 | 듀얼포트메모리를 이용한 중앙처리장치 이중화 방법 |
KR19990070284A (ko) * | 1998-02-18 | 1999-09-15 | 윤종용 | 이중화 운용 시스템에서 중앙처리장치 절체시 데이터 안정화방법 |
KR20010008720A (ko) * | 1999-07-02 | 2001-02-05 | 윤종용 | 이중화 제어방식 교환시스템의 운영유지프로세서에서 메인프로세서 절체시 데이터 유실방지방법 |
KR20020058322A (ko) * | 2000-12-29 | 2002-07-12 | 엘지전자 주식회사 | 듀얼 포트 메모리를 이용한 프로세서의 제어코드 운용방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101262278B1 (ko) * | 2008-06-30 | 2013-05-08 | 현대중공업 주식회사 | 이중화 시스템 및 제어방법 |
WO2014104835A1 (ko) * | 2012-12-28 | 2014-07-03 | 주식회사 효성 | 이중화 제어기의 제어신호 출력방법 및 그 이중화 제어기 |
KR101442818B1 (ko) * | 2012-12-28 | 2014-09-24 | 주식회사 효성 | 이중화 제어기의 제어신호 출력방법 및 그 이중화 제어기 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2006489C (en) | Distributed switching architecture for communication module redundancy | |
US6466539B1 (en) | Bus system | |
EP3629114B1 (en) | High availability industrial automation system having primary and secondary industrial automation controllers and method of communicating information over the same | |
KR100823722B1 (ko) | Plc 시스템의 삼중화 장치 및 방법 | |
US10386832B2 (en) | Redundant control system for an actuator and method for redundant control thereof | |
KR100729930B1 (ko) | 이중화 시스템의 절체 회로 | |
US20130019040A1 (en) | Field communication system | |
KR100240959B1 (ko) | 입출력 다중화 피엘씨 시스템 | |
JP2001060160A (ja) | 制御装置のcpu二重化システム | |
JP5176914B2 (ja) | 伝送装置及び冗長構成部の系切替え方法 | |
JP3284014B2 (ja) | フィールドバスシステム | |
JP4788597B2 (ja) | プログラマブルコントローラ二重化システム | |
JP2978622B2 (ja) | 無停止型コンピュータ | |
US7131028B2 (en) | System and method for interconnecting nodes of a redundant computer system | |
KR20000021045A (ko) | 컴퓨터 제어의 이중화 방법 및 그 시스템 | |
KR100291033B1 (ko) | 네트웍 시스템의 클락 이중화 관리 장치 및방법 | |
KR100220900B1 (ko) | 통신망 이중화장치 | |
JPH07230301A (ja) | 分散形制御装置 | |
JP2771385B2 (ja) | データ伝送装置 | |
JP2606144B2 (ja) | 二重化装置 | |
KR200270668Y1 (ko) | 제어부의 상태를 반영하는 이중화 장치 | |
KR20000037970A (ko) | 전전자 교환기의 프로세서 링크 경로 제어 장치 | |
JPS6351295B2 (ko) | ||
JPH0697989A (ja) | 二重系処理装置のプロセス系用回線への切替方法及び装置 | |
KR20030027351A (ko) | 버스 스위치를 이용한 관리포트의 이중화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130313 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140401 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160308 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170308 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |