KR101507678B1 - 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템 - Google Patents

통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템 Download PDF

Info

Publication number
KR101507678B1
KR101507678B1 KR1020140006341A KR20140006341A KR101507678B1 KR 101507678 B1 KR101507678 B1 KR 101507678B1 KR 1020140006341 A KR1020140006341 A KR 1020140006341A KR 20140006341 A KR20140006341 A KR 20140006341A KR 101507678 B1 KR101507678 B1 KR 101507678B1
Authority
KR
South Korea
Prior art keywords
synchronization signal
controller
communication
module
start time
Prior art date
Application number
KR1020140006341A
Other languages
English (en)
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 KR1020140006341A priority Critical patent/KR101507678B1/ko
Application granted granted Critical
Publication of KR101507678B1 publication Critical patent/KR101507678B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25172Duplex
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

본 발명은 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템을 제시한다. 본 발명의 다중화 제어 시스템은 다수의 제어기들 및 입출력 터미널/보터 모듈을 구비하며, 각각의 제어기의 통신 모듈은 소정의 통신 주기에 따라 동기 신호를 발생시키고, 상기 다중화 제어 시스템의 하나의 제어기에서 선행하여 발생된 동기 신호가 상기 다중화 제어 시스템의 적어도 하나의 다른 제어기에서 수신되고, 상기 다른 제어기의 통신 개시 시점이 선행하여 발생된 동기 신호에 기초하여 결정된다. 입출력 터미널/보터 모듈은 결정된 통신 개시 시점에서 각각의 제어기로의 제어 입력값 또는 각각의 제어기로부터의 제어 출력값을 보팅한다. 본 발명을 통해, 다중화 제어 시스템의 다중화 입출력 보팅시에 각 제어기에서의 입출력 시점의 불일치에 기인하여 발생하는 입출력 보팅 오류를 최소화할 수 있다.

Description

통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템{METHOD AND MULTIPLEX CONTROL SYSTEM FOR MULTIPLEXED INPUT/OUTPUT VOTING USING COMMUNICATION PERIOD SYNCHRONIZATION}
본 발명은 다중화 제어 시스템에 관한 것이며, 보다 상세하게는 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템에 관한 것이다.
전자, 컴퓨터 기술이 발전함에 따라 다양한 산업 분야에서 컴퓨터를 이용하여 특정 작업, 공정 등을 감시하고 제어할 수 있는 제어 시스템을 이용하고 있다. 특히, 발전소 설비, 석유 화학 공장, 하수 처리 설비 등의 기간 산업은 전체 플랜트(plant)가 정상적으로 동작할 수 있도록 구성 설비들을 점검 및 제어하는 것이 필수적이며, 이를 위해 제어 시스템이 필요하게 된다. 또한, 이러한 플랜트에 적용되는 제어 시스템은 기간 설비의 특성상 높은 신뢰성 및 안정성을 보장하기 위해 이중화 또는 삼중화와 같은 다중화 시스템으로 구성된다.
예컨대, 플랜트에 적용되는 삼중화 제어 시스템은 시스템에 적용된 각각의 제어기의 제어 결과가 출력 보팅(voting)에 의해 출력되는 다중화 방식을 적용할 수 있다. 이러한 경우에, 삼중화 제어 시스템의 3개의 제어기들 각각은 입력 데이터를 제어 로직에 적용한 출력 데이터를 생성하며, 출력 보팅을 통해 단일 제어 결과가 제어 시스템으로부터 출력된다. 또한, 3개의 제어기들 중 어느 하나의 제어기에 문제가 발생하면 출력 보터에서 해당 제어기의 결과를 배제하고 보팅을 수행하여 오작동 가능성을 줄이도록 한다. 따라서, 이러한 보팅 다중화 방식이 적용되는 제어 시스템에서는 각 제어기의 입출력 시점이 일정하게 유지될 필요가 있다.
그러나, 삼중화 제어 시스템의 각 제어기는 독립적으로 제어 루프를 수행하기 때문에, 시스템 운영 중에 각 제어기의 통신 주기가 달라질 수 있으며, 이에 따라 제어기로의 데이터 입력 시점 및 제어기로부터의 데이터 출력 시점에 불일치가 발생하고 점점 그 불일치가 커짐으로써 입출력 보팅시에 빈번한 오류를 발생시킬 수 있다. 또한, 삼중화 제어 시스템의 각 제어기의 통신 주기를 초기에 동일하게 설정하더라도 배선 상의 문제 또는 설비 노후 등의 여러 가지 원인으로 인하여 시간이 지남에 따라 신호 전달에 지연이 발생함으로써 결과적인 입력 및 출력 시점 불일치를 야기하여 입출력 보팅시에 오류를 유발할 수 있다.
따라서, 입출력 보팅 오류를 최소화하고 신뢰성 있는 플랜트 제어를 가능하게 하는 다중화 제어 시스템의 구현이 시급하게 요구되고 있는 상황이다.
이러한 문제점을 해결하기 위해 본 발명은, 다수의 제어기들을 구비하는 다중화 제어 시스템에서 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법을 제시하고 이를 적용한 다중화 제어 시스템을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따르면, 다수의 제어기들을 구비하는 다중화 제어 시스템에서 통신 주기 동기화를 이용한 다중화 입출력 보팅(voting) 방법을 제시한다. 상기 방법은 각각의 제어기의 통신 모듈에서 소정의 통신 주기에 따라 동기 신호를 발생시키는 단계, 상기 다중화 제어 시스템의 하나의 제어기에서 선행하여 발생된 동기 신호를 상기 다중화 제어 시스템의 적어도 하나의 다른 제어기에서 수신하는 단계, 선행하여 발생된 상기 동기 신호에 기초하여 상기 다른 제어기의 통신 개시 시점을 결정하는 단계, 및 결정된 통신 개시 시점에서 입출력 터미널/보터 모듈을 통해 각각의 제어기로의 제어 입력값 또는 각각의 제어기로부터의 제어 출력값을 보팅하는 단계를 포함할 수 있다.
상기 통신 개시 시점을 결정하는 단계는, 선행하여 발생된 상기 동기 신호의 통신 주기 시작점을 상기 다른 제어기의 통신 개시 시점으로 결정하는 단계를 포함할 수 있다. 또한, 상기 통신 개시 시점을 결정하는 단계는, 상기 다른 제어기의 통신 개시 시점 결정과 동시에 선행하여 발생된 상기 동기 신호에 상기 다른 제어기에서 발생하는 동기 신호를 동기화시키는 단계를 포함할 수도 있다.
또한, 전술한 동기 신호를 발생시키는 동작, 선행하여 발생된 동기 신호를 수신하는 동작 및 선행하여 발생된 동기 신호에 기초하여 제어기의 통신 개시 시점을 결정하는 동작은 제어기의 통신 모듈에 있는 동기화 모듈에서 수행될 수 있다. 또한, 다중화 제어 시스템의 각 제어기의 통신 모듈에서 발생하는 동기 신호는 주기적인 펄스로서 생성될 수 있다.
또한, 상기 통신 개시 시점을 결정하는 단계는, 선행하여 발생된 상기 동기 신호 펄스의 상승 에지(rising edge)를 상기 다른 제어기의 통신 개시 시점으로 결정하는 단계를 포함할 수 있다. 또한, 상기 통신 개시 시점을 결정하는 단계는, 선행하여 발생된 상기 동기 신호 펄스의 상승 에지로부터 미리 결정된 시간 오프셋을 상기 다른 제어기의 통신 개시 시점으로 결정하는 단계를 포함할 수도 있다.
또한, 상기 선행하여 발생된 동기 신호를 수신하는 단계는, 이전에 선행하여 발생된 동기 신호로서 결정된 동기 신호의 수신 시점으로부터 적어도 통신 주기의 절반값의 시간 이후에 선행하여 수신되는 동기 신호를 새로운 선행하여 발생된 동기 신호로 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 다수의 제어기들을 구비하는 다중화 제어 시스템에서의 다중화 입출력 보팅을 위한 제어기의 통신 장치가 제시된다. 상기 통신 장치는 소정의 통신 주기에 따라 동기 신호를 발생시키고, 상기 다중화 제어 시스템의 다른 제어기에서 선행하여 발생된 동기 신호를 수신하고, 선행하여 발생된 상기 동기 신호에 기초하여 상기 제어기의 통신 개시 시점을 결정하도록 구성되는 동기화 모듈을 포함할 수 있다. 또한, 결정된 통신 개시 시점에서 다중화 제어 시스템의 각 제어기로의 제어 입력값 또는 각 제어기로부터의 제어 출력값이 다중화 제어 시스템의 입출력 터미널/보터 모듈을 통해 보팅될 수 있다.
본 발명의 일 실시예에 따르면, 다수의 제어기들 및 입출력 터미널/보터 모듈을 포함하는 다중화 제어 시스템이 제시된다. 상기 다수의 제어기들 각각은, 제어 입력값을 수신 및 처리하여 제어 출력값을 출력하는 중앙 처리 모듈, 및 상기 중앙 처리 모듈과 상기 입출력 터미널/보터 모듈을 통신으로 연결하는 통신 모듈을 포함할 수 있다. 상기 통신 모듈은 소정의 통신 주기에 따라 동기 신호를 발생시키고, 상기 다중화 제어 시스템의 다른 제어기에서 선행하여 발생된 동기 신호를 수신하고, 선행하여 발생된 상기 동기 신호에 기초하여 제어기의 통신 개시 시점을 결정하도록 구성될 수 있다. 상기 입출력 터미널/보터 모듈은 결정된 통신 개시 시점에서 각각의 제어기로의 제어 입력값 또는 각각의 제어기로부터의 제어 출력값을 보팅하도록 구성될 수 있다.
본 발명은 다중화 제어 시스템에서의 다중화 입출력 보팅을 위해 제어 시스템을 구성하는 각 제어기 간의 통신 주기 동기화를 달성함으로써 입출력 보팅 오류를 최소화하고 신뢰성 있는 플랜트 제어를 가능하게 할 수 있는 효과가 있다.
또한, 본 발명은 각 제어기 간의 통신 주기 동기화를 달성하기 위해 반드시 각 제어기의 동기 신호를 조정할 필요없이 선행하여 발생된 동기 신호에 기초하여 각 제어기의 통신 개시 시점을 맞출 수 있을 뿐만 아니라, 별도의 외부 기준 신호 소스 없이도 신뢰성 있는 통신 주기 동기화를 달성할 수 있는 효과가 있다.
도 1은 예시적인 다중화 제어 시스템을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 통신 주기 동기화를 위한 통신 모듈을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 다수의 제어기들을 구비하는 다중화 제어 시스템에서 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법을 나타내는 순서도이다.
도 4는 본 발명에 일 실시예에서 동기 신호에 따른 예시적인 통신 개시 시점을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 선행하는 동기 신호에 기초한 통신 개시 시점의 결정을 나타내는 예시적인 도면이다.
이하, 본 발명의 바람직한 실시예들을 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 다양한 양상들이 아래에서 설명된다. 여기에서 제시되는 발명들은 폭넓은 다양한 형태들로 구현될 수 있으며 여기에서 제시되는 임의의 특정한 구조, 기능 또는 이들 모두는 단지 예시적이라는 것을 이해하도록 한다. 여기에서 제시되는 발명들에 기반하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 여기에서 제시되는 하나의 양상이 임의의 다른 양상들과 독립적으로 구현될 수 있으며 둘 이상의 이러한 양상들이 다양한 방식들로 결합될 수 있다는 것을 이해할 것이다. 예를 들어, 여기에서 설명되는 임의의 수의 양상들을 이용하여 장치가 구현될 수 있거나 또는 방법이 실시될 수 있다. 또한, 여기에서 설명되는 하나 이상의 양상들에 더하여 또는 이들 양상들이 아닌 다른 구조, 기능 또는 구조 및 기능을 이용하여 이러한 장치가 구현될 수 있거나 또는 이러한 방법이 실시될 수 있다.
도 1은 플랜트 제어를 위한 예시적인 다중화 제어 시스템을 개략적으로 나타내는 도면이다.
도 1에 도시된 바와 같이, 다중화 제어 시스템(100)은 다수의 제어기들(110a, 110b, 110c) 및 입출력 터미널/보터 모듈(160)을 포함하여 구성될 수 있다. 또한, 각각의 제어기(110a; 110b; 110c)는 중앙 처리 모듈(120a; 120b; 120c), 통신 모듈(130a; 130b; 130c), 입력 모듈(140a; 140b; 140c), 출력 모듈(150a; 150b; 150c)을 포함하여 구성될 수 있다. 도 1에서는 다중화 제어 시스템(100)이 3개의 제어기들(110a, 110b, 110c)을 포함하는 삼중화 제어 시스템으로 예시되어 있지만, 이에 한정되지 않으며 다중화 제어 시스템(100)은 필요에 따라 더 적은 또는 더 많은 개수의 제어기들을 포함할 수 있다. 또한, 도면상에서 입력 터미널 모듈 및 출력 보터 모듈은 하나의 입출력 터미널/보터 모듈(160)로 표현되어 있지만, 구현예에 따라 입력 터미널 모듈 및 출력 보터 모듈은 별개의 컴포넌트로 존재할 수 있거나 또는 입력 터미널 기능 및 출력 보터 기능이 하나의 컴포넌트로 통합된 모듈일 수 있다.
또한, 다수의 제어기들(110a, 110b, 110c) 각각은 플랜트의 제어 안정성을 담보하기 위해 다른 제어기들과 독립적으로 동작할 수 있다. 즉, 각각의 제어기(110a; 110b; 110c)는 독립적으로 수신된 제어 입력값에 따라 제어 루프를 실행하여 제어 출력값을 생성하며, 이러한 제어 출력값은 입출력 터미널/보터 모듈(160)을 통해 보팅된다.
각 제어기의 동작을 다중화 제어 시스템(100)의 하나의 제어기(110a)를 예로 들어 살펴보면, 중앙 처리 모듈(120a)은 입력 모듈(140a)을 통해 제어 입력값을 수신하고, 소정의 플랜트 제어를 위한 제어 프로그램을 구동하고, 구동된 제어 프로그램의 처리에 따른 제어 출력값을 출력할 수 있다. 이러한 제어 출력값은 출력 모듈(150a)을 통해 입출력 터미널/보터 모듈(160)로 전달된다. 통신 모듈(130a)은 중앙 처리 모듈(120a)과 입출력 터미널/보터 모듈(160)을 통신으로 연결시키며, 소정의 통신 주기(예를 들어, 수ms 내지 수백ms)에 따라 제어 입력값 및 제어 출력값을 전달할 수 있다. 다른 제어기들(110b, 110c) 역시 제어기(110a)와 동일한 방식으로 구동될 수 있으며, 입출력 터미널/보터 모듈(160)과 연결될 수 있다. 또한, 도 1에 도시된 바와 같이, 각 입력 모듈(140a; 140b; 140c)로부터의 입력 신호는 삼중화 입력 신호로서 해당 제어기의 통신 모듈뿐만 아니라 다른 제어기의 통신 모듈로도 입력될 수 있다. 입출력 터미널/보터 모듈(160)은 각각의 제어기로의 제어 입력값 및 각각의 제어기로부터의 제어 출력값을 보팅하도록 구성될 수 있다.
전술한 바와 같이, 각각의 제어기(110a; 110b; 110c)는 독립적으로 구동하며 미리 결정된 통신 주기에 따라 동작할 수 있다. 그러나, 각각의 제어기가 초기에는 동일한 통신 주기에 따라 통신하도록 설정될 수 있다고 하더라도, 시스템 운영 중에 배선 상의 문제, 설비 노후 등의 여러가지 원인으로 인하여 각 제어기의 통신 주기가 달라지거나 신호 전달에 지연이 발생할 수 있으며, 그 결과 각 제어기로부터의 통신 개시 시점에 불일치가 발생하게 되어 입출력 보팅시에 오류를 유발할 수 있게 된다.
이에 따라, 본 발명에서는 입출력 보팅 오류를 최소화하고 신뢰성 있는 플랜트 제어를 가능하게 하기 위하여 다수의 제어기들 간의 통신 주기를 동기화시킬 수 있는 효율적인 방안을 제시하고자 하며, 그러한 개념은 후술할 도 2와 관련하여 보다 상세하게 설명하고자 한다.
도 2는 본 발명의 일 실시예에 따른 통신 주기 동기화를 위한 통신 모듈을 나타내는 도면이다.
도 2에 도시된 바와 같이, 각 제어기(110a; 110b; 110c)의 통신 모듈(130a; 130b; 130c)은 각각 동기 신호를 발생시키고 다른 통신 모듈들과 발생한 동기 신호를 교환하도록 구성될 수 있다.
구체적으로, 각 통신 모듈(130a; 130b; 130c)은 소정의 통신 주기에 따라 동기 신호를 발생시키고, 다른 통신 모듈에서 선행하여 발생된 동기 신호를 수신할 수 있으며, 다른 통신 모듈에서 선행하여 발생된 동기 신호에 기초하여 각 제어기의 통신 개시 시점을 결정하도록 구성될 수 있다. 또한, 선행하여 발생된 동기 신호에 기초하여 각 제어기의 통신 개시 시점이 결정됨으로써 각 제어기에서의 통신 주기 동기화가 달성되어, 입출력 터미널/보터 모듈(160)은 결정된 통신 개시 시점에서 각각의 제어기로의 제어 입력값 및 각각의 제어기로부터의 제어 출력값을 보팅할 수 있고 그에 따라 입출력 보팅 오류가 방지될 수 있다.
또한, 전술한 동작들을 수행하기 위해 각 통신 모듈(130a; 130b; 130c)은 동기 신호 발생 및 선행하는 동기 신호에 기초하여 통신 개시 시점을 조정할 수 있는 동기화 모듈(300a; 300b; 300c)을 포함하여 구성될 수 있다.
각각의 동기화 모듈(300a; 300b; 300c)은 소정의 통신 주기에 따라 동기 신호(동기신호 A; 동기신호 B; 동기 신호 C)를 발생시킬 수 있으며, 발생된 동기 신호를 각각 다른 동기화 모듈들로 전달할 수 있다. 이러한 동기 신호는 예컨대 소정의 통신 주기에 따라 발생하는 주기적인 펄스로서 생성될 수 있다. 각 동기화 모듈(300a; 300b; 300c)의 통신 개시 시점은 초기에는 자신들이 생성하는 동기 신호에 기초하여(예컨대, 주기적인 펄스로서 동기 신호를 생성하는 경우에 펄스의 상승 에지(rising edge)) 결정될 수 있다. 그러나, 전술한 바와 같이 각 제어기로부터의 통신 개시 시점에 불일치가 발생하게 되어 입출력 보팅시에 오류를 유발할 수 있는 경우에, 각 제어기의 통신 개시 시점은 선행하여 발생한 다른 제어기로부터의 동기 신호에 기초하여 조정될 수 있다.
예를 들어, 동기화 모듈(300a)에서 동기 신호 A가 먼저 생성되어 다른 동기화 모듈들(300b, 300c)로 수신된 경우에, 다른 동기화 모듈들은 선행하여 발생된 동기 신호 A의 통신 주기 시작점(예를 들어, 동기 펄스의 상승 에지)을 자신들의 통신 개시 시점으로 결정할 수 있다. 또한, 이러한 통신 개시 시점의 결정과 동시에 선행하여 발생된 동기 신호 A에 다른 동기 신호 B, 동기 신호 C를 동기화시킬 수도 있으나, 통신 개시 시점을 결정하기 위해 동기 신호들 간의 동기화가 반드시 요구되는 것은 아니다. 이에 따라, 본 발명의 통신 주기 동기화는 GPS와 같은 외부의 별도 기준 시간 소스를 이용할 필요없이 그리고 반드시 동기 신호들 간의 동기화를 요구하지 않더라도 다중화 제어 시스템(100) 내에서 독자적으로 달성될 수 있다.
전술한 동작을 달성하기 위해, 각각의 동기화 모듈(300a; 300b; 300c)은 예컨대 소정 주기의 동기 신호 생성에 사용되는 클럭(미도시), 동기 신호의 수신/전송을 위한 입출력부(미도시), 동기 신호 간의 비교를 위한 비교기(미도시), 통신 개시 시점 조정을 위한 조정기(미도시) 등을 포함할 수 있으나, 이러한 전형적인 컴포넌트에 대한 상세한 설명은 생략하도록 한다.
도 3은 본 발명의 일 실시예에 따른 다수의 제어기들을 구비하는 다중화 제어 시스템에서 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법을 나타내는 순서도이다.
도 3의 단계들을 살펴보면, 다중화 제어 시스템(100)의 각 제어기(110a; 110b; 110c)의 통신 모듈(130a; 130b; 130c)은 독립적으로 소정의 통신 주기에 따라 동기 신호를 발생시킨다(단계 S410). 다른 통신 모듈에서 선행하여 발생된 동기 신호(예컨대, 동기 신호 A)가 다른 제어기의 통신 모듈에서 수신된다(단계 S420). 선행하여 발생된 동기 신호가 수신되면, 다른 제어기의 통신 모듈에서는 선행하여 발생된 동기 신호에 기초하여 다른 제어기의 통신 개시 시점을 결정한다(단계 S430).
구체적으로, 단계 S430에서, 다른 제어기의 통신 모듈은 선행하여 발생된 동기 신호(동기 신호 A)의 통신 주기 시작점을 해당 제어기의 통신 개시 시점으로 결정할 수 있다. 또한, 다른 제어기의 통신 모듈은 통신 개시 시점의 결정과 동시에 선행하여 발생된 동기 신호(동기 신호 A)에 자신이 발생시키는 동기 신호(동기 신호 B 또는 동기 신호 C)를 동기화시킴으로써, 통신 주기 동기화뿐만 아니라 동기 신호 동기화도 함께 수행할 수 있다. 그러나, 전술한 바와 같이, 동기 신호 동기화가 반드시 요구되지 않더라도, 본 발명은 선행하여 발생된 동기 신호에 기초하여 각 제어기의 통신 개시 시점을 맞출 수 있다.
또한, 동기 신호가 예컨대 주기적인 펄스로서 생성되는 경우에, 다른 제어기의 통신 모듈은 선행하여 발생된 동기 신호 펄스의 상승 에지(rising edge)를 자신의 통신 개시 시점으로 결정할 수 있다(후술할 도 4 참조). 또한, 다른 제어기의 통신 모듈은 선행하여 발생된 동기 신호 펄스의 상승 에지로부터 미리 결정된 시간 오프셋(예컨대, 펄스폭(듀티 사이클) 미만의 오프셋값)을 자신의 통신 개시 시점으로 결정할 수도 있다.
또한, 각 제어기의 통신 모듈이 서로 다른 위상의 동기 신호를 생성하여 다른 통신 모듈로 전송하는 경우에, 동기 신호들 간의 위상차가 크지 않다면(예를 들어, 통신 주기의 절반값의 시간 미만), 해당 주기적 동기 신호 펄스들이 동일 사이클에 있다고 간주할 수 있으며 전술한 바와 같이 선행하여 발생된 동기 신호 펄스에 기초하여 다른 제어기들의 통신 개시 시점을 맞출 수 있다. 그러나, 다중화 제어 시스템 운용 중에 동기 신호들 간의 위상차가 소정의 임계값(예를 들어, 통신 주기의 절반값의 시간)을 초과하는 경우에는, 필요에 따라 소정의 임계값보다 더 후속하는 동기 신호를 해당 사이클의 후속 신호가 아니라 다음 사이클에서의 선행하여 발생된 동기 신호 펄스로 보아 기준 통신 개시 시점을 다시 설정할 수 있다. 이러한 경우에, 제어기의 통신 모듈은 이전에 선행하여 발생된 동기 신호로서 결정된 동기 신호의 수신 시점으로부터 적어도 통신 주기의 절반값의 시간 이후에 선행하여 수신되는 동기 신호를 새로운 선행하여 발생된 동기 신호로 결정하여 전술한 통신 주기 동기화 동작들을 수행할 수 있다.
전술한 단계 S430에서의 통신 개시 시점 조정을 통해, 입출력 터미널/보터 모듈(160)은 입출력 보팅 오류없이 해당 사이클에서 각각의 제어기로의 제어 입력값 또는 각각의 제어기로부터의 제어 출력값을 보팅할 수 있다(단계 S440).
도 4는 본 발명에 일 실시예에서 동기 신호에 따른 예시적인 통신 개시 시점을 나타내는 도면이다.
도 4에 도시된 바와 같이, 각각의 제어기(110a; 110b; 110c)는 소정의 통신 주기를 갖는 주기적인 펄스로서 각각 동기 신호 A, 동기 신호 B 및 동기 신호 C를 발생시킬 수 있다. 각각의 제어기(110a; 110b; 110c)의 통신 개시 시점은 초기에는 자신들이 생성하는 각 동기 신호에 기초하여 결정될 수 있다. 그러나, 전술한 바와 같이 각 제어기 간의 통신 개시 시점 불일치가 발생하는 경우에, 각 제어기의 통신 모듈은 선행하여 발생한 동기 신호(예를 들어, 도 5의 동기 신호 C)에 기초하여 자신의 통신 개시 시점을 결정할 수 있다. 그러한 결정된 통신 개시 시점은 도 5에 도시된 것처럼 선행하여 발생한 동기 신호의 주기적 펄스의 상승 에지로서 결정될 수 있거나 또는 상승 에지로부터 미리 결정된 시간 오프셋(예컨대, 주기적인 펄스의 펄스폭(듀티 사이클) 내의 임의의 시점)으로 결정될 수 있다.
도 5는 본 발명의 일 실시예에 따른 선행하는 동기 신호에 기초한 통신 개시 시점의 결정을 나타내는 예시적인 도면이다.
도 5의 상단 그래프는 본 발명의 통신 주기 동기화 방식을 적용하기 전에 각 제어기(110a; 110b; 110c)의 통신 개시 시점을 나타내는 예시적인 그래프이며, 도 5의 하단 그래프는 본 발명의 통신 주기 동기화 방식을 적용한 후의 각 제어기의 통신 개시 시점을 나타내는 예시적인 그래프이다.
도 5에서는 설명의 편의를 위해, 초기에는 각 동기 신호의 상승 에지에서 통신 개시 시점이 결정되며, 통신 모듈(130b)의 동기 신호(즉, 동기 신호 B)가 가장 선행하여 발생하였다고 가정하였으며, 이에 따른 각 통신 모듈(130a; 130b; 130c)의 통신 시점은 도 5의 상단 그래프와 같다.
도 5의 상단 그래프에 도시된 바와 같이, 각 통신 모듈(130a; 130b; 130c)의 통신 시점에 불일치가 존재하기 때문에, 통신 주기 동기화를 위해 통신 모듈(130b)로부터 선행하여 발생한 동기 신호를 수신한 다른 통신 모듈들(130a, 130c)은 선행하여 발생한 동기 신호에 기초하여(예컨대, 선행하여 발생한 동기 신호 펄스의 상승 에지를) 자신들의 통신 개시 시점으로 결정할 수 있다. 그 결과, 도 5의 하단 그래프에 도시된 바와 같이, 각 통신 모듈(130a; 130b; 130c)의 통신 개시 시점이 일치하게 되어 통신 주기 동기화를 달성할 수 있게 된다.
이에 따라, 입출력 터미널/보터 모듈(160)에서는 입출력 보팅 오류없이 동기화된 통신 개시 시점에서 각 제어기로의 제어 입력값 또는 각 제어기로부터의 제어 출력값을 보팅할 수 있으며, 이를 위해 본 발명은 전술한 바와 같이 외부 기준 소스를 필요로 하지 않으며 반드시 동기 신호 동기화를 수행하지 않더라도 통신 주기 동기화를 달성할 수 있다.
본 명세서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭할 수 있다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터 내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
100: 다중화 제어 시스템 110a, 110b, 110c: 제어기
120a, 120b, 120c: 중앙 처리 모듈 130a, 130b, 130c: 통신 모듈
140a, 140b, 140c: 입력 모듈 150a, 150b, 150c: 출력 모듈
160: 입출력 터미널/보터 모듈 300a, 300b, 300c: 동기화 모듈

Claims (23)

  1. 다수의 제어기들을 구비하는 다중화 제어 시스템에서 통신 주기 동기화를 이용한 다중화 입출력 보팅(voting) 방법에 있어서,
    각각의 제어기의 통신 모듈에서 소정의 통신 주기에 따라 동기 신호를 발생시키는 단계;
    상기 다중화 제어 시스템의 하나의 제어기에서 선행하여 발생된 동기 신호를 상기 다중화 제어 시스템의 적어도 하나의 다른 제어기에서 수신하는 단계;
    선행하여 발생된 상기 동기 신호에 기초하여 상기 다른 제어기의 통신 개시 시점을 결정하는 단계; 및
    결정된 통신 개시 시점에서 입출력 터미널/보터 모듈을 통해 각각의 제어기로의 제어 입력값 또는 각각의 제어기로부터의 제어 출력값을 보팅하는 단계
    를 포함하고,
    상기 통신 개시 시점을 결정하는 단계는, 선행하여 발생된 상기 동기 신호의 통신 주기 시작점을 상기 다른 제어기의 통신 개시 시점으로 결정하는 단계를 포함하는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 통신 개시 시점을 결정하는 단계는, 상기 다른 제어기의 통신 개시 시점 결정과 동시에 선행하여 발생된 상기 동기 신호에 상기 다른 제어기에서 발생하는 동기 신호를 동기화시키는 단계를 포함하는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  4. 제 1 항에 있어서,
    각각의 제어기의 통신 모듈에서 발생하는 동기 신호는 주기적인 펄스로서 생성되는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  5. 제 4 항에 있어서,
    상기 통신 개시 시점을 결정하는 단계는, 선행하여 발생된 상기 동기 신호 펄스의 상승 에지(rising edge)를 상기 다른 제어기의 통신 개시 시점으로 결정하는 단계를 포함하는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  6. 제 4 항에 있어서,
    상기 통신 개시 시점을 결정하는 단계는, 선행하여 발생된 상기 동기 신호 펄스의 상승 에지로부터 미리 결정된 시간 오프셋을 상기 다른 제어기의 통신 개시 시점으로 결정하는 단계를 포함하는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  7. 제 1 항에 있어서,
    각각의 제어기의 통신 모듈의 동기화 모듈에서 동기 신호를 발생시키는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  8. 제 1 항에 있어서,
    상기 선행하여 발생된 동기 신호를 수신하는 단계는, 이전에 선행하여 발생된 동기 신호로서 결정된 동기 신호의 수신 시점으로부터 적어도 통신 주기의 절반값의 시간 이후에 선행하여 수신되는 동기 신호를 새로운 선행하여 발생된 동기 신호로 결정하는 단계를 포함하는, 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법.
  9. 다수의 제어기들을 구비하는 다중화 제어 시스템에서의 다중화 입출력 보팅을 위한 제어기의 통신 장치로서,
    소정의 통신 주기에 따라 동기 신호를 발생시키고, 상기 다중화 제어 시스템의 다른 제어기에서 선행하여 발생된 동기 신호를 수신하고, 선행하여 발생된 상기 동기 신호에 기초하여 상기 제어기의 통신 개시 시점을 결정하도록 구성되는 동기화 모듈을 포함하며,
    결정된 통신 개시 시점에서 상기 제어기로의 제어 입력값 또는 상기 제어기로부터의 제어 출력값이 상기 다중화 제어 시스템의 입출력 터미널/보터 모듈을 통해 보팅되고,
    상기 동기화 모듈은, 선행하여 발생된 상기 동기 신호의 통신 주기 시작점을 상기 다른 제어기의 통신 개시 시점으로 결정하도록 추가적으로 구성되는, 통신 장치.
  10. 삭제
  11. 제 9 항에 있어서,
    상기 동기화 모듈은 상기 다른 제어기의 통신 개시 시점 결정과 동시에 선행하여 발생된 상기 동기 신호에 상기 다른 제어기에서 발생하는 동기 신호를 동기화시키도록 추가적으로 구성되는, 통신 장치.
  12. 제 9 항에 있어서,
    상기 동기화 모듈은 주기적인 펄스로서 상기 동기 신호를 생성하는, 통신 장치.
  13. 제 12 항에 있어서,
    상기 동기화 모듈은 선행하여 발생된 상기 동기 신호 펄스의 상승 에지(rising edge)를 상기 다른 제어기의 통신 개시 시점으로 결정하도록 추가적으로 구성되는, 통신 장치.
  14. 제 12 항에 있어서,
    상기 동기화 모듈은 선행하여 발생된 상기 동기 신호 펄스의 상승 에지로부터 미리 결정된 시간 오프셋을 상기 다른 제어기의 통신 개시 시점으로 결정하도록 추가적으로 구성되는, 통신 장치.
  15. 제 9 항에 있어서,
    상기 동기화 모듈은 이전에 선행하여 발생된 동기 신호로서 결정된 동기 신호의 수신 시점으로부터 적어도 통신 주기의 절반값의 시간 이후에 선행하여 수신되는 동기 신호를 새로운 선행하여 발생된 동기 신호로 결정하도록 추가적으로 구성되는, 통신 장치.
  16. 다중화 제어 시스템으로서,
    다수의 제어기들; 및
    입출력 터미널/보터 모듈을 포함하며,
    상기 다수의 제어기들 각각은,
    제어 입력값을 수신 및 처리하여 제어 출력값을 출력하는 중앙 처리 모듈; 및
    상기 중앙 처리 모듈과 상기 입출력 터미널/보터 모듈을 통신으로 연결하는 통신 모듈을 포함하며,
    상기 통신 모듈은 소정의 통신 주기에 따라 동기 신호를 발생시키고, 상기 다중화 제어 시스템의 다른 제어기에서 선행하여 발생된 동기 신호를 수신하고, 선행하여 발생된 상기 동기 신호에 기초하여 제어기의 통신 개시 시점을 결정하도록 구성되고,
    상기 입출력 터미널/보터 모듈은 결정된 통신 개시 시점에서 각각의 제어기로의 제어 입력값 또는 각각의 제어기로부터의 제어 출력값을 보팅하도록 구성되고,
    상기 통신 모듈은, 선행하여 발생된 상기 동기 신호의 통신 주기 시작점을 상기 다른 제어기의 통신 개시 시점으로 결정하도록 추가적으로 구성되는, 다중화 제어 시스템.
  17. 삭제
  18. 제 16 항에 있어서,
    상기 통신 모듈은 상기 다른 제어기의 통신 개시 시점 결정과 동시에 선행하여 발생된 상기 동기 신호에 상기 다른 제어기에서 발생하는 동기 신호를 동기화시키도록 추가적으로 구성되는, 다중화 제어 시스템.
  19. 제 16 항에 있어서,
    상기 통신 모듈은 주기적인 펄스로서 상기 동기 신호를 생성하는, 다중화 제어 시스템.
  20. 제 19 항에 있어서,
    상기 통신 모듈은 선행하여 발생된 상기 동기 신호 펄스의 상승 에지(rising edge)를 상기 다른 제어기의 통신 개시 시점으로 결정하도록 추가적으로 구성되는, 다중화 제어 시스템.
  21. 제 19 항에 있어서,
    상기 통신 모듈은 선행하여 발생된 상기 동기 신호 펄스의 상승 에지로부터 미리 결정된 시간 오프셋을 상기 다른 제어기의 통신 개시 시점으로 결정하도록 추가적으로 구성되는, 다중화 제어 시스템.
  22. 제 16 항에 있어서,
    상기 통신 모듈에 포함된 동기화 모듈에서 동기 신호를 발생시키는 동작, 다른 제어기에서 선행하여 발생된 동기 신호를 수신하는 동작 및 상기 제어기의 통신 개시 시점을 결정하는 동작이 수행되는, 다중화 제어 시스템.
  23. 제 16 항에 있어서,
    상기 통신 모듈은 이전에 선행하여 발생된 동기 신호로서 결정된 동기 신호의 수신 시점으로부터 적어도 통신 주기의 절반값의 시간 이후에 선행하여 수신되는 동기 신호를 새로운 선행하여 발생된 동기 신호로 결정하도록 추가적으로 구성되는, 다중화 제어 시스템.
KR1020140006341A 2014-01-17 2014-01-17 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템 KR101507678B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140006341A KR101507678B1 (ko) 2014-01-17 2014-01-17 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140006341A KR101507678B1 (ko) 2014-01-17 2014-01-17 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템

Publications (1)

Publication Number Publication Date
KR101507678B1 true KR101507678B1 (ko) 2015-03-31

Family

ID=53029017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140006341A KR101507678B1 (ko) 2014-01-17 2014-01-17 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템

Country Status (1)

Country Link
KR (1) KR101507678B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140103A (ja) 2000-11-02 2002-05-17 Yaskawa Electric Corp サーボ制御装置及びその制御方法
KR101041469B1 (ko) 2008-12-30 2011-06-16 두산중공업 주식회사 서데스를 이용한 다중화 제어시스템의 데이터 공유 장치 및방법
KR20120071512A (ko) * 2010-12-23 2012-07-03 두산중공업 주식회사 데이터 공유 및 제어주기 시각 동기를 이용한 다중화 플랜트 제어시스템
KR20130106718A (ko) * 2012-03-20 2013-09-30 두산중공업 주식회사 터빈 제어기의 발전기와 전력 계통 동기화 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140103A (ja) 2000-11-02 2002-05-17 Yaskawa Electric Corp サーボ制御装置及びその制御方法
KR101041469B1 (ko) 2008-12-30 2011-06-16 두산중공업 주식회사 서데스를 이용한 다중화 제어시스템의 데이터 공유 장치 및방법
KR20120071512A (ko) * 2010-12-23 2012-07-03 두산중공업 주식회사 데이터 공유 및 제어주기 시각 동기를 이용한 다중화 플랜트 제어시스템
KR20130106718A (ko) * 2012-03-20 2013-09-30 두산중공업 주식회사 터빈 제어기의 발전기와 전력 계통 동기화 시스템

Similar Documents

Publication Publication Date Title
EP3026515B1 (en) Programmable controller system
US6011821A (en) Process for synchronization of matching circuits of a communication system with several modules
US10061345B2 (en) Apparatus and method for controlling an automated installation
CN106788838B (zh) 一种电力时间同步系统鲁棒控制的系统及方法
EP1653651A2 (de) Modulares numerisches Steuergerät mit Low-Jitter Synchronisation
CN111052006B (zh) 控制装置以及控制方法
US9871609B2 (en) Network system, time master station, and time slave station
CN109947030A (zh) 伺服内部控制周期动态跟随EtherCat总线同步周期的方法
EP2221684A2 (en) Distributed control system
US9548871B2 (en) Systems and methods for master arbitration
US20190332139A1 (en) Clocking Synchronization Method and Apparatus
KR101507678B1 (ko) 통신 주기 동기화를 이용한 다중화 입출력 보팅 방법 및 이를 적용한 다중화 제어 시스템
EP3070926B1 (en) Synchronous camera
US10222786B2 (en) Numerical control system having synchronous control function between units
JP4752552B2 (ja) データ処理装置とその同期方法
JPH1091222A (ja) 同期制御装置
JP2015049902A (ja) 1つの制御装置と少なくとも1つの周辺装置とを同期させるための方法及び設備
JP2013033374A (ja) 分散型監視制御システム
US10877919B2 (en) Method to synchronize integrated circuits fulfilling functional safety requirements
JP2017174092A (ja) 半導体装置
JP5036473B2 (ja) バス比較型多重系処理装置
CN105634460B (zh) 一种对输入脉冲的主动学习与同步的方法及其系统
KR100682054B1 (ko) 다채널 컴퓨터의 동기화 방법
KR100455340B1 (ko) 동기신호 발생장치
Errabelli et al. A fault tolerant digital controller for power electronic applications

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 6