WO2013154284A1 - 분산 제어 시스템의 시간 동기화 장치 및 방법 - Google Patents
분산 제어 시스템의 시간 동기화 장치 및 방법 Download PDFInfo
- Publication number
- WO2013154284A1 WO2013154284A1 PCT/KR2013/002524 KR2013002524W WO2013154284A1 WO 2013154284 A1 WO2013154284 A1 WO 2013154284A1 KR 2013002524 W KR2013002524 W KR 2013002524W WO 2013154284 A1 WO2013154284 A1 WO 2013154284A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- time
- period
- correction
- interrupt
- error
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G21—NUCLEAR PHYSICS; NUCLEAR ENGINEERING
- G21D—NUCLEAR POWER PLANT
- G21D3/00—Control of nuclear power plant
- G21D3/001—Computer implemented control
-
- G—PHYSICS
- G21—NUCLEAR PHYSICS; NUCLEAR ENGINEERING
- G21D—NUCLEAR POWER PLANT
- G21D3/00—Control of nuclear power plant
- G21D3/08—Regulation of any parameters in the plant
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E30/00—Energy generation of nuclear origin
Definitions
- An apparatus and method for correcting a system time using an interrupt generated from an external time synchronizer and an internal timer can reduce the occurrence of a temporal jump during error correction and can synchronize the clocks of tasks that require execution synchronization consistently.
- the time synchronization method is based on a correction based on an interrupt generated every first period by a timer of the system and a pulse signal received every second period from an external synchronizer. Comprising a step and correcting the time of the system using the calculated correction criteria.
- the corrected time can be synchronized consistently by synchronizing the time of tasks that need to be synchronized.
- 1 is an exemplary diagram of a general system time synchronization scheme.
- FIG. 2 is a block diagram of a time synchronization device 100 according to an embodiment.
- 3 is an exemplary diagram for describing a system time error according to the embodiment of FIG. 2.
- a time synchronization device 100 according to an embodiment will be described with reference to FIGS. 2 and 3.
- the first period may be set to a minimum time interval at which the timer 60 can generate an interrupt. For example, as illustrated in FIG. 2, a tick may be generated and used so that the timer 60 generates an interrupt every 1 msec period.
- the second period is a period (eg, 10 sec) of a pulse signal received from the external synchronization device 50.
- the correction unit 120 may correct the time of the system by using the correction reference calculated by the correction reference calculation unit 110.
- the correction period determination unit 112 may determine the system time correction period that can prevent the temporal jump phenomenon based on the calculated error.
- the internal timer 60 is exactly synchronized with the external synchronization device 50 that provides the standard time, every 1 msec by the timer 60 for a second period of 10 sec.
- the interrupt count that occurs should be 10000.
- the internal timer 60 has an error of 4 msec with the external synchronizer 50, and the error is 4 msec.
- the time synchronization device 100 may determine 2500 msec as the correction period. If the minimum time unit is 2 msec, two corrections can correct an error of 4 msec. Therefore, the correction period can be determined to correct once every 5000 msec.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Plasma & Fusion (AREA)
- High Energy & Nuclear Physics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
분산 제어 시스템에서 인터럽트 기반의 시각 생성을 통한 클럭 동기화 장치에 관한 것이다. 클럭 동기화 장치는 일 실시예에 따르면, 시스템의 타이머에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치로부터 제2 주기마다 수신되는 펄스 신호에 기초하여 보정 기준을 산출하는 보정기준산출부 및 산출된 보정 기준을 이용하여 시스템의 시간을 보정하는 보정부를 포함할 수 있으며, 시스템 시간의 오차 보정시 시간적인 점프가 발생하는 현상을 감소할 수 있다.
Description
분산 제어 시스템에서 인터럽트 기반의 시각 생성을 통한 시간 동기화 기술에 관한 것이다.
일반적으로 컴퓨터 시스템에서 시간은 운영체제에서 제공하는 시간 설정 및 운용 태스크를 기반으로 한다. 그러나, 이러한 방법은 태스크의 우선 순위와 로드에 따라 시간의 흐름이 정확하지 못한 문제가 있다. 또한, 동일한 시간 축과 주기를 사용하는 시작 시점 동기가 필요한 애플리케이션의 경우 정확한 대응이 이루어지지 않는다. GPS를 통한 정확한 표준 시간과의 동기가 요구되는 경우에는 다수의 시스템이 일정한 시간 축을 가지도록 동기화되지만 각 시스템마다 애플리케이션의 시작 시점 동기가 맞지 않을 경우에는 일정시간이 지나면 오차가 누적되어 원하는 타이밍에 동작을 수행하지 못하는 문제가 있다.
대한민국 공개 특허 특2003-0055627호에는 이동 통신 시스템에서 시간 동기화 방법에 대해 개시되어 있으나, 일반적인 시간 동기화 방법은 헨 등의 시각 동기 장치로부터 일정한 주기로 펄스를 받아 펄스를 받은 시점과 시스템의 시간을 비교하여 주기 동안 누적된 시간 오차를 보정하여 시스템에 적용하는 방식을 이용한다. 그러나, 이러한 방식은 일정 주기가 긴 경우 누적되는 오차가 커져서 시간적인 점프가 발생하게 되어 매우 정밀한 제어가 요구되는 원자력 발전소의 분산 제어 시스템에서 매우 치명적인 결과를 야기할 수 있다.
외부 시각 동기화 장치 및 내부 타이머로부터 발생되는 인터럽트를 이용하여 시스템 시간을 보정함으로써 오차 보정시 시간적인 점프가 발생되는 현상을 감소하고 실행 동기가 필요한 태스크들의 클럭이 일관성 있게 동기화될 수 있는 장치 및 방법이 제시된다.
일 양상에 따르면, 분산 제어 시스템의 시간 동기화 장치에 있어서, 시간 동기화 장치는 시스템의 타이머에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치로부터 제2 주기마다 수신되는 펄스 신호에 기초하여 보정 기준을 산출하는 보정기준산출부 및 산출된 보정 기준을 이용하여 시스템의 시간을 보정하는 보정부를 포함할 수 있다.
이때, 제1 주기는 타이머가 인터럽트를 발생할 수 있는 최소 시간 간격으로 설정될 수 있다.
보정기준산출부는 제2 주기 동안 발생하는 인터럽트를 카운트하고, 그 인터럽트 카운트 값에 해당하는 시간 간격과 제2 주기와의 차이를 계산하여 오차를 산출하는 오차산출부 및 산출된 오차에 기초하여 시스템의 시간을 보정할 보정 주기를 결정하는 보정주기결정부를 포함할 수 있다.
이때, 보정 주기는 시스템의 최소 시간 단위 만큼을 보정하기 위한 주기일 수 있다.
추가적인 양상에 따르면, 연동된 외부 시스템의 요청에 따라 보정된 시간을 그 외부 시스템에 기준 시간으로 제공하는 기준시간제공부를 더 포함할 수 있다.
일 양상에 따르면, 분산 제어 시스템의 시간 동기화 방법에 있어서, 그 시간 동기화 방법은 시스템의 타이머에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치로부터 제2 주기마다 수신되는 펄스 신호에 기초하여 보정 기준을 산출하는 단계 및 산출된 보정 기준을 이용하여 시스템의 시간을 보정하는 단계를 포함할 수 있다.
이때, 제1 주기는 타이머가 인터럽트를 발생할 수 있는 최소 시간 간격으로 설정될 수 있다.
보정 기준 산출 단계는 제2 주기 동안 발생하는 인터럽트를 카운트하는 단계, 그 인터럽트 카운트 값에 해당하는 시간 간격과 제2 주기와의 차이를 계산하여 오차를 산출하는 단계 및 산출된 오차에 기초하여 시스템의 시간을 보정할 보정 주기를 결정하는 단계를 포함할 수 있다.
보정 주기는 시스템의 최소 시간 단위 만큼을 보정하기 위한 주기일 수 있다.
추가적인 양상에 따르면, 그 시간 동기화 방법은 외부 연동된 시스템의 요청에 따라 보정된 시간을 외부 연동된 시스템에 기준 시간으로 제공하는 단계를 더 포함할 수 있다.
외부 시각 동기화 장치 및 내부 타이머로부터 발생되는 인터럽트를 이용하여 시스템 시간을 보정함으로써 오차 보정시 시간적인 점프가 발생되는 현상을 감소할 수 있다.
또한, 그 보정된 시간을 통해 실행 동기가 필요한 태스크들의 시간을 동기화함으로써 일관성 있게 동기화할 수 있다.
도 1은 일반적인 시스템 시간 동기화 방식의 예시도이다.
도 2는 일 실시예에 따른 시간 동기화 장치의 블록도이다.
도 3은 도 2의 실시예에 따른 시스템 시간 오차를 설명하기 위한 예시도이다.
도 4는 일 실시예에 따른 시간 동기화 방법의 흐름도이다.
도 5는 도 4의 시간 동기화 방법 중 보정 기준 산출 단계의 상세 흐름도이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 실시예들에 따른 분산 제어 시스템의 시간 동기화 장치 및 방법을 도면들을 참고하여 상세히 설명하도록 한다. 이하, 도면들을 참조하여 설명하는 시간 동기화 장치 및 방법은 일 실시예에 따르면 원자력 발전소의 분산 제어 시스템에 구현될 수 있으나, 이에 한정되는 것은 아니다. 다만, 설명의 편의상 원자력 발전소의 분산 제어 시스템에 구현된 것을 예를 들어 설명한다.
도 1은 일반적인 시스템 시간 동기화 방식의 예시도이다.
도 1을 참조하여 일반적으로 분산 제어 시스템(1)에서 시간 동기화하는 방식에 대해 설명한다.
일반적으로, 시스템(1)의 동기부(30)는 GPS(Global Positioning System)등의 표준 시간을 제공하는 외부동기장치(10)로부터 일정 주기(예: 100msec)마다 펄스 신호를 입력받아 내부타이머(20)의 오차를 보정하고, 시스템(1)의 각 부의 동기를 제어한다. 외부동기장치(10)의 일 실시예로 원자력 발전소 중앙 시각 동기 장치일 수 있다.
예를 들어, 도 1에 예시된 바와 같이 동기부(30)는 get_clock()과 같은 함수를 이용하여 내부타이머(20)로부터 시간을 얻고, set_clock()과 같은 함수에 인자로서 외부동기장치(10)의 입력을 줌으로써 내부타이머(20)의 시간을 보정하고, 그 보정된 시각 축을 이용하여 일반적으로 시작 시점의 동기가 필요한 애플리케이션이나 태스크 등의 동기를 맞추도록 제어할 수 있다. 이때, 내부타이머(20)는 운영체제에서 제공하는 시스템 시간 또는 하드웨어 RTC(Real Time Clock) 기반의 시간을 제공하는 소프트웨어 또는 하드웨어의 일 모듈일 수 있다.
이와 같은 시간 동기 방식은 외부동기장치(10)로부터 입력되는 펄스의 주기에 따라 시스템(1)의 내부타이머의 시간과의 오차가 발생할 수 있고 이 오차는 외부동기장치(10)의 펄스 신호의 주기에 비례하여 증감하므로 주기가 긴(예 100 min) 외부동기장치(10)로부터 펄스 신호가 입력될 때마다 시간을 보정하는 경우 상당한 시간적인 점프 현상이 발생할 수 있다.
예를 들어, 분산 제어 시스템(1)에서 외부동기장치(10)로부터 펄스 신호가 입력되는 한 주기 100 min 동안에 내부 타이머와 3초의 시간적인 오차가 발생한다면, 그 펄스 신호가 입력될 때 3초의 시간이 보정됨으로써 3초의 시간 점프 현상이 발생한다. 이러한 시간적인 점프 현상은 시스템 전체의 혼란을 초래할 수 있다.
또한, 이와 같이 일반적인 시간 동기 방식은 외부동기장치(10)로부터 입력되는 펄스의 주기가 긴 경우 오차 누적으로 인하여 시작 시점의 동기가 필요한 태스크들은 적절한 타이밍에 동작할 수 없는 문제가 발생한다. 즉, 분산 제어 시스템(1)에서 정확한 시작 시점의 동기가 필요한 태스크 예컨대, 시스템 상태 보고(system status report) 태스크나 시스템 에러 발생 시각이나 시스템 에러 종료 시각을 보고하는 태스크들이 정확한 시간 정보를 제공하지 못함으로써 원자력 발전소의 위험 분석이나 복구에 중요한 문제가 발생할 수 있다.
도 2는 일 실시예에 따른 시간 동기화 장치(100)의 블록도이다. 도 3은 도 2의 실시예에 따른 시스템 시간 오차를 설명하기 위한 예시도이다. 도 2 및 도 3을 참조하여 일 실시예에 따른 시간 동기화 장치(100)를 설명한다.
도 2에 도시된 바와 같이, 시간 동기화 장치(100)는 보정기준산출부(110) 및 보정부(120)를 포함할 수 있다.
보정기준산출부(110)는 분산 제어 시스템(1)의 타이머(60)에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치(50)로부터 제2 주기마다 수신되는 펄스 신호에 기초하여 보정 기준을 산출할 수 있다. 이때, 타이머(60)는 크리스탈(crystal) 기반 프로세서에서 발생하는 인터럽트 기반의 타이머일 수 있다. 프로세서가 어떤 태스크를 실행하는 상태라도 인터럽트는 태스크들의 우선 순위에 무관하게 일정하게 발생하므로 가장 정확한 시간 정보를 제공할 수 있다.
제1 주기는 타이머(60)가 인터럽트를 발생할 수 있는 최소 시간 간격으로 설정될 수 있다. 예컨대, 도 2에 예시된 바와 같이 타이머(60)가 1 msec 주기 마다 인터럽트를 발생하도록 틱(Tick)을 만들어 사용할 수 있다. 제2 주기는 외부동기장치(50)로부터 수신되는 펄스 신호의 주기(예: 10 sec)이다.
이때, 보정 기준은 시스템의 시간을 보정하기 위한 기준 정보로서 타이머(60)에 의해 발생되는 인터럽트 기반 시각과 외부동기장치(50)로부터 수신된 펄스 신호 기반 시각의 오차 및 시스템의 시간을 보정하기 위한 보정 주기에 대한 정보를 포함할 수 있다.
보정부(120)는 보정기준산출부(110)에 의해 산출된 보정 기준을 이용하여 시스템의 시간을 보정할 수 있다.
좀 더 구체적으로, 보정기준산출부(110)는 오차산출부(111) 및 보정주기결정부(112)를 포함할 수 있다.
오차산출부(111)는 제1 주기마다 발생된 인터럽트와 제2 주기마다 수신되는 펄스 신호에 기초하여 오차를 산출할 수 있다. 이때, 제2 주기는 제1 주기보다 더 길게 설정될 수 있다. 오차산출부(111)는 제2 주기 동안 발생하는 인터럽트를 카운트할 수 있다. 이후 그 인터럽트 카운트 값에 해당하는 시간 간격과 제2 주기와의 차이를 계산하여 오차를 산출할 수 있다.
도 3을 참조하여 예를 들어 설명하면, 오차산출부(111)는 외부동기장치(50)로부터 펄스 신호가 수신되는 주기인 10 sec 동안 발생되는 인터럽트를 카운트한다. 이때, 내부타이머(60)가 표준시간을 제공하는 외부동기장치(50)와 정확히 시간이 동기화되어 있다면 내부타이머(60)에 의해 1 msec마다 인터럽트가 발생하므로 10000번의 인터럽트가 발생하여야 한다. 그런데, 10 sec 동안 10004번의 인터럽트가 발생하였다면 내부타이머(60)는 외부 동기장치(50)와 4 msec의 오차가 존재하게 된다. 따라서, 오차산출부(111)는 4 msec의 오차를 산출할 수 있다.
이때, 전술한 바와 같이 외부 동기장치(50)로부터 펄스 신호가 수신될 때 4 msec의 오차를 보정하게 된다면 매우 큰 시간적 점프 현상이 발생할 수 있다. 따라서, 보정주기결정부(112)는 그 산출된 오차를 바탕으로 시간적 점프 현상을 방지할 수 있는 시스템 시간 보정 주기를 결정할 수 있다.
외부동기장치(50)로부터 펄스 신호가 수신되는 제2 주기보다 보정 주기를 더 짧게 하여 보정함으로서 시간적 점프 현상을 최소화할 수 있다. 즉, 보정주기결정부(112)는 시간적 점프 현상을 최소화하기 위해 보정 주기마다 시스템의 최소 시간 단위 만큼을 보정하도록 그 보정 주기를 결정할 수 있다.
도 3의 예에서, 10 sec 동안에 발생된 오차가 4 msec이므로, 시스템의 최소 시간 단위가 1 msec라면 1 msec씩 4번의 보정을 하면 시간을 동기화할 수 있다. 따라서, 보정주기결정부(112)는 2500 msec를 보정 주기로 결정할 수 있다. 만약, 최소 시간 단위가 2 msec라면 2번의 보정을 하면 4 msec의 오차를 보정할 수 있으므로 5000 msec마다 한 번씩 보정하도록 보정 주기를 결정할 수 있다.
보정부(120)는 보정주기결정부(112)에서 보정 주기가 결정되면 그 보정 주기마다 최소 시간 단위만큼을 보정할 수 있다. 예컨대, 도 3의 예시와 같이 시스템의 시간이 4 msec가 더 빠르다면 보정 주기 2500 msec마다 즉, 2500 번째 인터럽트에서는 1 msec 시간을 증가시키지 않도록 하여 전체적으로 10 sec 때 시간이 완전히 동기화되도록 할 수 있으며, 만약, 반대로 시스템의 시간이 4 msec가 더 느리다면 2500 msec마다 즉, 2500 번째 인터럽트에서는 1 msec 시간을 더 증가시키도록 하여 시간을 동기화할 수 있다.
개시된 실시예에 따르면, 최소 시간 단위 만큼씩을 자주 보정함으로써 외부동기장치(50)로부터 펄스 신호가 수신될 때 매우 큰 시간적 점프 현상을 방지할 수있다.
추가적인 양상에 따르면, 시간 동기화 장치(100)는 초기값설정부(130)를 더 포함할 수 있다. 초기값설정부(130)는 관리자의 수동 조작에 응답하여 초기 시간을 설정하거나, RTC(Real Time Clock) 또는 외부 동기장치(50)를 통해 미리 설정할 수 있다.
또한, 추가적인 양상에 따르면, 시간 동기화 장치(100)는 기준시간제공부(140)를 더 포함할 수 있다. 기준시간제공부(140)는 연동된 외부 시스템의 요청을 입력받으면 보정부(120)에 의해 보정된 시간을 기준 시간으로 제공할 수 있다. 외부 동기장치(50)와 시간 동기가 필요한 다수의 시스템이 있는 경우, 그 시스템들 각각에 대해 개시된 실시예에 따른 시간 동기화 방식을 구현할 수 있으나, 상대적으로 구축 비용 등이 많이 소요될 수 있으므로 동기화가 완료된 어느 하나의 시스템으로부터 기준 시간을 제공받아 동기화하는 경우 매우 손쉽게 동기화를 하면서도 그 구축 비용 등을 절감할 수 있다.
이때, 각 시스템들은 일반적인 시스템 시간을 얻는 함수가 예를 들어 get_system_clock라면 어느 기준 시스템으로부터 보정된 시각을 받아오는 get_new_system_clock와 같은 간단한 함수를 구현함으로써 그 함수를 통해 보정된 시각을 받아올 수 있다.
도 4는 일 실시예에 따른 시간 동기화 방법의 흐름도이다. 도 5는 도 4의 시간 동기화 방법 중 보정 기준 산출 단계의 상세 흐름도이다. 도 4 및 도 5를 참조하여 일 실시예에 따라 도 2의 시간 동기화 장치(100)가 시간 동기화를 수행하는 방법을 설명한다.
먼저, 시간 동기화 장치(100)는 시스템의 타이머(60)에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치(50)로부터 제2 주기마다 전송되는 펄스 신호를 수신할 수 있다(단계 310). 이때, 타이머(60)는 크리스탈(crystal) 기반 프로세서에서 발생하는 인터럽트 기반의 타이머일 수 있다. 프로세서가 어떤 태스크를 실행하는 상태라도 인터럽트는 태스크들의 우선 순위에 무관하게 일정하게 발생하므로 가장 정확한 시간 정보를 제공할 수 있다.
제1 주기는 타이머(60)가 인터럽트를 발생할 수 있는 최소 시간 간격으로 설정될 수 있다. 예컨대, 도 2에 예시된 바와 같이 타이머(60)가 1 msec 주기 마다 인터럽트를 발생하도록 틱(Tick)을 만들어 사용할 수 있다. 제2 주기는 외부동기장치(50)로부터 수신되는 펄스 신호의 주기(예: 10 sec)이다.
*그 다음, 시간 동기화 장치(100)는 타이머(60)에 의해 발생된 인터럽트 및 외부 동기장치(50)으로부터 수신된 펄스 신호에 기초하여 보정 기준을 산출할 수 있다(단계 320). 이때, 보정 기준은 시스템의 시간을 보정하기 위한 기준 정보로서 타이머(60)에 의해 발생되는 인터럽트 기반 시각과 외부동기장치(50)로부터 수신된 펄스 신호 기반 시각의 오차 및 시스템의 시간을 보정하기 위한 보정 주기에 대한 정보를 포함할 수 있다.
도 5를 참조하여 좀 더 구체적으로 설명하면, 먼저, 시간 동기화 장치(100)는 펄스 신호가 수신되는 제2 주기 동안 발생한 인터럽트를 카운트할 수 있다(단계 321). 도 3을 참조하면, 제2 주기인 10 sec 동안에 발생된 인터럽트는 104 개인 것을 알 수 있다.
그 다음, 시간 동기화 장치(100)는 제2 주기 동안 발생하는 인터럽트를 카운트하여 그 카운트 값에 해당하는 시간 간격과 제2 주기와의 차이를 계산하여 오차를 산출할 수 있다(단계 322).
앞에서 도 3을 참조하여 설명한 바와 같이, 내부타이머(60)가 표준시간을 제공하는 외부동기장치(50)와 정확히 시간이 동기화되어 있다면 제2 주기인 10 sec동안에 타이머(60)에 의해 1 msec마다 발생하는 인터럽트 카운트는 10000개이어야 한다. 그런데, 10 sec 동안 10004번의 인터럽트가 발생하였다면 내부타이머(60)는 외부 동기장치(50)와 4 msec의 오차가 존재하게 되고, 그 오차는 4 msec가 된다.
그 다음, 산출된 오차에 기초하여 시스템 시간 보정 주기를 결정할 수 있다(단계 323). 전술한 바와 같이 외부 동기장치(50)로부터 펄스 신호가 수신될 때 4 msec의 오차를 한번에 보정하면 매우 큰 시간적 점프 현상이 발생할 수 있으므로, 시간 동기화 장치(100)는 그 시간적 점프 현상이 최소가 되도록 시스템 시간 보정 주기를 결정할 수 있다. 즉, 그 보정 주기를 시스템의 최소 시간 단위 만큼을 보정하도록 결정할 수 있다면, 짧은 주기 동안 최소 시간 단위(예: 1 msec)만큼만을 보정하게 될 것이므로 시간적 점프 현상이 크지 않게 된다.
즉, 도 3의 예에서, 10 sec 동안에 발생된 오차가 4 msec이므로 시스템의 최소 시간 단위가 1 msec일 경우 1 msec씩 4번의 보정을 하면 시간을 동기화할 수 있다. 따라서, 시간 동기화 장치(100)는 2500 msec를 보정 주기로 결정할 수 있다. 만약, 최소 시간 단위가 2 msec라면 2번의 보정을 하면 4 msec의 오차를 보정할 수 있으므로 5000 msec마다 한 번씩 보정하도록 보정 주기를 결정할 수 있다.
그 다음, 산출된 보정 기준을 이용하여 시스템의 시간을 보정할 수 있다(단계 330). 즉, 시간 동기화 장치(100)는 보정 주기가 결정되면 그 보정 주기마다 최소 시간 단위만큼을 보정할 수 있다. 예컨대, 도 3의 예시와 같이 시스템의 시간이 4 msec가 더 빠르다면 보정 주기 2500 msec마다 즉, 2500 번째 인터럽트에서는 1 msec 시간을 증가시키지 않도록 하여 전체적으로 10 sec때 시간이 완전히 동기화되도록 할 수 있으며, 만약, 반대로 시스템의 시간이 4 msec가 더 느리다면 2500 msec마다 즉, 2500 번째 인터럽트에서는 1 msec 시간을 더 증가시키도록 하여 시간을 동기화할 수 있다.
만약, 연동된 외부 시스템으로부터 기준 시간 정보 제공을 요청받으면, 그 보정된 시간을 기준 시간으로 하여 그 외부 시스템에 전송할 수 있다. 외부 동기장치(50)와 시간 동기가 필요한 다수의 시스템이 있는 경우, 그 시스템들 각각에 대해 동기화가 완료된 어느 하나의 시스템으로부터 기준 시간을 제공받아 동기화하는 경우 매우 손쉽게 동기화를 하면서도 그 시스템 구축 비용 등을 절감할 수 있다. 즉, 각 시스템에 개시한 바와 같은 전체 시간 동기화 방법을 구축할 필요없이 어느 기준 시스템으로부터 보정된 시각을 받아오는 get_new_system_clock와 같은 간단한 함수를 구현함으로써 그 함수를 통해 보정된 시각을 받아올 수 있다.
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (10)
- 분산 제어 시스템의 시간 동기화 장치에 있어서,상기 시스템의 타이머에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치로부터 제2 주기마다 수신되는 펄스 신호에 기초하여 보정 기준을 산출하는 보정기준산출부; 및상기 산출된 보정 기준을 이용하여 상기 시스템의 시간을 보정하는 보정부;를 포함하는 시간 동기화 장치.
- 제1항에 있어서, 상기 제1 주기는,상기 타이머가 인터럽트를 발생할 수 있는 최소 시간 간격으로 설정된 것인 시간 동기화 장치.
- 제1항에 있어서, 상기 보정기준산출부는,상기 제2 주기 동안 발생하는 인터럽트를 카운트하고, 그 인터럽트 카운트 값에 해당하는 시간 간격과 제2 주기와의 차이를 계산하여 오차를 산출하는 오차산출부; 및상기 산출된 오차에 기초하여 시스템의 시간을 보정할 보정 주기를 결정하는 보정주기결정부;를 포함하는 시간 동기화 장치.
- 제3항에 있어서, 상기 보정 주기는,시스템의 최소 시간 단위 만큼을 보정하기 위한 주기인 것인 시간 동기화 장치.
- 제1항에 있어서,연동된 외부 시스템의 요청에 따라 보정된 시간을 그 외부 시스템에 기준 시간으로 제공하는 기준시간제공부;를 더 포함하는 시간 동기화 장치.
- 분산 제어 시스템의 시간 동기화 방법에 있어서,상기 시스템의 타이머에 의해 제1 주기마다 발생하는 인터럽트 및 외부 동기장치로부터 제2 주기마다 수신되는 펄스 신호에 기초하여 보정 기준을 산출하는 단계; 및상기 산출된 보정 기준을 이용하여 시스템의 시간을 보정하는 단계;를 포함하는 시간 동기화 방법.
- 제6항에 있어서, 상기 제1 주기는,상기 타이머가 인터럽트를 발생할 수 있는 최소 시간 간격으로 설정된 것인 시간 동기화 방법.
- 제6항에 있어서, 상기 보정 기준 산출 단계는,상기 제2 주기 동안 발생하는 인터럽트를 카운트하는 단계;그 인터럽트 카운트 값에 해당하는 시간 간격과 제2 주기와의 차이를 계산하여 오차를 산출하는 단계; 및상기 산출된 오차에 기초하여 시스템의 시간을 보정할 보정 주기를 결정하는단계;를 포함하는 시간 동기화 방법.
- 제8항에 있어서, 상기 보정 주기는,시스템의 최소 시간 단위 만큼을 보정하기 위한 주기인 것인 시간 동기화 방법.
- 제6항에 있어서,연동된 외부 시스템의 요청에 따라 보정된 시간을 그 외부 시스템에 기준 시간으로 제공하는 단계;를 더 포함하는 시간 동기화 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0038678 | 2012-04-13 | ||
KR1020120038678A KR101290785B1 (ko) | 2012-04-13 | 2012-04-13 | 분산 제어 시스템의 시간 동기화 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013154284A1 true WO2013154284A1 (ko) | 2013-10-17 |
Family
ID=48998228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2013/002524 WO2013154284A1 (ko) | 2012-04-13 | 2013-03-27 | 분산 제어 시스템의 시간 동기화 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101290785B1 (ko) |
WO (1) | WO2013154284A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111830892A (zh) * | 2019-04-22 | 2020-10-27 | 新疆金风科技股份有限公司 | 风力发电机组统计时间校准方法和装置、存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101972798B1 (ko) | 2017-08-30 | 2019-04-26 | 주식회사 우리기술 | Ntp 시각 동기장치 및 방법 |
KR102129617B1 (ko) | 2020-02-11 | 2020-07-02 | 주식회사 우리기술 | 시각 동기 위장 공격 및 오류 방어 기능을 구비한 분산 제어 시스템의 제어장치 및 이의 시각 동기 방법 |
KR102497256B1 (ko) * | 2020-12-15 | 2023-02-06 | 현대오토에버 주식회사 | 멀티 코어 환경에서 태스크 수행 타이밍 동기화 시스템 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070056547A (ko) * | 2005-11-30 | 2007-06-04 | 엘지전자 주식회사 | 신호의 처리방법 및 장치 |
KR100775982B1 (ko) * | 2006-05-16 | 2007-11-15 | 주식회사 우리기술 | 보장형 분산 제어 시스템 |
JP2011247827A (ja) * | 2010-05-28 | 2011-12-08 | Toshiba Corp | 原子力プラント制御装置、方法、及びプログラム |
KR20120028522A (ko) * | 2010-09-15 | 2012-03-23 | 주식회사 포스코아이씨티 | 제어기 및 제어기의 펄스 신호 필터링 방법 |
-
2012
- 2012-04-13 KR KR1020120038678A patent/KR101290785B1/ko active IP Right Grant
-
2013
- 2013-03-27 WO PCT/KR2013/002524 patent/WO2013154284A1/ko active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070056547A (ko) * | 2005-11-30 | 2007-06-04 | 엘지전자 주식회사 | 신호의 처리방법 및 장치 |
KR100775982B1 (ko) * | 2006-05-16 | 2007-11-15 | 주식회사 우리기술 | 보장형 분산 제어 시스템 |
JP2011247827A (ja) * | 2010-05-28 | 2011-12-08 | Toshiba Corp | 原子力プラント制御装置、方法、及びプログラム |
KR20120028522A (ko) * | 2010-09-15 | 2012-03-23 | 주식회사 포스코아이씨티 | 제어기 및 제어기의 펄스 신호 필터링 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111830892A (zh) * | 2019-04-22 | 2020-10-27 | 新疆金风科技股份有限公司 | 风力发电机组统计时间校准方法和装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR101290785B1 (ko) | 2013-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7895303B2 (en) | Server time protocol control messages and methods | |
CA2675644C (en) | Facilitating recovery in a coordinated timing network | |
CA2675645C (en) | Facilitating synchronization of servers in a coordinated timing network | |
US9112626B2 (en) | Employing configuration information to determine the role of a server in a coordinated timing network | |
US8416811B2 (en) | Coordinated timing network having servers of different capabilities | |
WO2013154284A1 (ko) | 분산 제어 시스템의 시간 동기화 장치 및 방법 | |
US20090259881A1 (en) | Failsafe recovery facility in a coordinated timing network | |
US20130238826A1 (en) | Device and method for global time information in event-controlled bus communication | |
US11609599B2 (en) | Electronic device with multiple processors and synchronization method thereof | |
CN104730983B (zh) | 一种高精度时间程控方法 | |
WO2013154283A1 (ko) | 분산 제어 시스템에서 태스크 동기화 장치 및 방법 | |
CN105260227B (zh) | 一种数据修正方法及电子设备 | |
WO2018093046A1 (ko) | 비정상 동작 상황을 개선한 gps를 이용하는 장치의 utc 시간 동기 방법 | |
KR20170124213A (ko) | Gps를 이용하는 장치의 utc 시간 동기 방법 | |
CN101601251A (zh) | 定义协调定时网络中的层-1配置 | |
US11294421B2 (en) | Precision timing between systems | |
CN113132047A (zh) | 双芯电能表协议一致性测试装置的通信同步方法及系统 | |
CN116414766A (zh) | 一种异构系统核间时间的同步方法、异构系统和移动终端 | |
CN114301566A (zh) | 冗余系统的时钟同步方法、冗余系统及网络系统 | |
CN115632754A (zh) | 三模冗余时钟同步设备、方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13775631 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13775631 Country of ref document: EP Kind code of ref document: A1 |