KR102211200B1 - Dual PLC Control System Based on Multi Core Processor - Google Patents
Dual PLC Control System Based on Multi Core Processor Download PDFInfo
- Publication number
- KR102211200B1 KR102211200B1 KR1020180174207A KR20180174207A KR102211200B1 KR 102211200 B1 KR102211200 B1 KR 102211200B1 KR 1020180174207 A KR1020180174207 A KR 1020180174207A KR 20180174207 A KR20180174207 A KR 20180174207A KR 102211200 B1 KR102211200 B1 KR 102211200B1
- Authority
- KR
- South Korea
- Prior art keywords
- master
- application
- plc
- communication module
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 230000009977 dual effect Effects 0.000 title 1
- 238000004891 communication Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4148—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P70/00—Climate change mitigation technologies in the production process for final industrial or consumer products
- Y02P70/10—Greenhouse gas [GHG] capture, material saving, heat recovery or other energy efficient measures, e.g. motor control, characterised by manufacturing processes, e.g. for rolling metal or metal working
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Programmable Controllers (AREA)
Abstract
멀티코어 프로세서를 이용하여 단일 하드웨어에 PLC 어플리케이션을 이중화하여 구성한 본 발명의 일 측면에 따른 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템은 외부장치로부터 수집데이터를 수신하는 제1 마스터 필드버스 통신모듈; 통신 버스를 통해 상기 제1 마스터 필드버스 통신모듈에 연결되어 상기 제1 마스터 필드버스 통신모듈로부터 상기 수집데이터를 수신하고, 상기 수신된 수집데이터를 미리 정해진 제어로직에 따라 연산하여 연산데이터를 생성하는 마스터 PLC(Programmable Logic Controller) 어플리케이션이 실행되는 제1 코어 프로세서(Processor); 상기 마스터 PLC 어플리케이션이 이중화되어 구성되어 스탠바이 상태로 동작하고, 상기 마스터 PLC 어플리케이션의 동작상태를 감시하는 슬레이브 PLC 어플리케이션이 실행되는 제2 코어 프로세서; 및 상기 마스터 PLC 어플리케이션에 의해 상기 수집데이터 및 상기 연산데이터가 저장되는 제1 공유 메모리를 포함하고, 상기 슬레이브 PLC 어플리케이션은 상기 마스터 PLC 어플리케이션에 오류 발생시 마스터로 절체하여 상기 제1 공유 메모리 및 상기 제1 마스터 필드버스 통신모듈에 연결되는 것을 특징으로 한다.According to an aspect of the present invention, a multi-core processor-based redundant PLC control system configured by dualizing PLC applications on a single hardware using a multi-core processor includes: a first master fieldbus communication module for receiving collected data from an external device; It is connected to the first master fieldbus communication module through a communication bus to receive the collected data from the first master fieldbus communication module, and to generate calculation data by calculating the received collected data according to a predetermined control logic. A first core processor on which a master PLC (Programmable Logic Controller) application is executed; A second core processor in which the master PLC application is configured to be duplicated, operates in a standby state, and executes a slave PLC application that monitors the operation state of the master PLC application; And a first shared memory in which the collected data and the operation data are stored by the master PLC application, and the slave PLC application is transferred to the master when an error occurs in the master PLC application, and the first shared memory and the first It is characterized in that it is connected to the master fieldbus communication module.
Description
본 발명은 산업설비 관리시스템에 관한 것으로서, 보다 구체적으로 PLC 제어 시스템에 관한 것이다.The present invention relates to an industrial facility management system, and more particularly, to a PLC control system.
산업현장에 배치된 다양한 설비들의 운영이나 제어를 수행하는 PLC 제어 시스템은 PLC(Programmable Logic Controller) 및 HMI(Human Machine Interface)를 포함한다.PLC control systems that perform the operation or control of various facilities arranged in industrial sites include PLC (Programmable Logic Controller) and HMI (Human Machine Interface).
PLC는 산업 플랜트의 자동제어 및 감시를 위해 사용되는 제어 장치이다. PLC는 입력 데이터를 프로그램에 의해 순차적으로 논리 처리하고 그 출력 결과를 이용하여 PLC에 연결된 외부장치를 제어한다. PLC는 제어 및 운영이 요구되는 산업현장에 맞게 다양한 외부장치와 인터페이스 됨으로써 원하는 제어 및 운영이 실현되도록 프로그램으로 구현되고, 이러한 프로그램이 PLC 전용 하드웨어(H/W)에 다운로드 되어 그 기능을 수행하게 된다.PLC is a control device used for automatic control and monitoring of industrial plants. The PLC logically processes input data by a program and uses the output result to control external devices connected to the PLC. PLC is implemented as a program so that desired control and operation can be realized by interfacing with various external devices suitable for industrial sites requiring control and operation, and these programs are downloaded to PLC dedicated hardware (H/W) to perform its functions. .
일반적으로 PLC는 필드버스 통신장치를 통해 다양한 외부장치와 인터페이스 됨으로써 외부장치로부터 데이터를 수신하거나 외부장치로 데이터를 출력할 수 있다. 이러한 필드버스 통신장치는 대용량의 데이터를 전달 및 처리할 수 있는 고속통신망으로써 빠르고 신뢰성 높은 데이터 전송이 가능하기 때문에 산업현장에서 많이 이용된다.In general, a PLC can receive data from an external device or output data to an external device by interfacing with various external devices through a fieldbus communication device. This fieldbus communication device is a high-speed communication network capable of transmitting and processing a large amount of data, and is widely used in industrial sites because it enables fast and reliable data transmission.
HMI는 상술한 PLC를 비롯한 다양한 컨트롤러(DCS, 계측기 등)의 제어를 사용자가 인지하기 쉬운 화면으로 제공하고 그에 필요한 데이터를 그래프를 비롯한 다양한 형태로 제공한다. HMI provides control of various controllers (DCS, measuring instruments, etc.) including the above-described PLC in a screen that is easy for users to recognize, and provides necessary data in various forms including graphs.
도 1에 일반적인 PLC 제어 시스템의 구성이 도시되어 있다. 도 1에 도시된 바와 같이 PLC 제어 시스템은 PLC(100) 및 HMI(110)를 포함한다. PLC(100)는 PLC 전용 하드웨어에 PLC용 프로그램이 설치됨으로써 구현되고, HMI(110) 또한 별도의 전용 하드웨어에 HMI용 프로그램이 설치됨으로써 구현되며, PLC(100) 및 HMI(110)는 Ethernet이나 Modbus/TCP와 같은 통신 인터페이스(120)를 통해 연결된다. 1 shows the configuration of a general PLC control system. As shown in FIG. 1, the PLC control system includes a
하지만, 도 1에 도시된 일반적인PLC 제어 시스템의 PLC(100) 및 HMI(110)는 그 기능을 위한 프로그램이 전용 하드웨어에 별도로 설치되었기 때문에, 적용하고자 하는 PLC와 HMI의 다양한 제조사들의 사양을 확인하고 적용 가능한 하드웨어를 선택 해야만 하는 불편함이 있었고, 이로 인해 산업방향의 변화에 능동적으로 대응할 수 없을 뿐만 아니라 가격 경쟁력을 가진 다양한 제품 라인업의 확보 또한 어렵다는 한계가 있다.However, since the
또한, PLC 및 HMI가 Ethernet이나 Modbus/TCP와 같은 인터페이스를 통해 통신하여야만 하므로 통신에러가 발생하는 경우 PLC와 HMI간의 원활한 데이터 공유가 어려워져 산업현장의 제어가 효율적으로 수행될 수 없다는 문제점도 있다.In addition, since PLC and HMI must communicate through interfaces such as Ethernet or Modbus/TCP, when a communication error occurs, it is difficult to share data smoothly between the PLC and HMI, so that control of the industrial site cannot be efficiently performed.
또한, 도 1에 도시된 바와 같은 PLC 제어시스템을 이중화하여 구성하는 경우 별개의 하드웨어에 PLC의 기능을 위한 PLC 프로그램이 각각 설치되고, HMI의 기능을 위한 HMI프로그램 또한 별개의 하드웨어에 각각 설치될 수 밖에 없기 때문에, 별개의 하드웨어에 설치된PLC 프로그램들 간에는 데이터 동기화가 요구되고 별개의 하드웨어에 설치된 HMI 프로그램들 간에도 데이터 동기화가 요구될 뿐만 아니라 데이터의 동기화에 소요되는 시간에 의해 제어권이 완전하게 이양되는데 소요되는 제어권 이양시간(Switching Overtime)이 발생하므로 고속 제어가 요구되는 산업에는 이용할 수 없다는 문제점이 있다.In addition, when the PLC control system as shown in Fig. 1 is configured by duplexing, a PLC program for the PLC function is installed on separate hardware, and the HMI program for the HMI function can also be installed on separate hardware. Because there is only one, data synchronization is required between PLC programs installed on separate hardware, and data synchronization is required between HMI programs installed on separate hardware as well as control rights are completely transferred by the time required for data synchronization. There is a problem that it cannot be used in industries that require high-speed control because switching overtime occurs.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 멀티코어 프로세서를 이용하여 단일 하드웨어에 PLC 어플리케이션을 이중화하여 구성한 멀티코어 프로세서 기반의 이중화된 PLC 제어 시스템을 제공하는 것을 그 기술적 과제로 한다.The present invention has been made to solve the above-described problem, and it is an object of the present invention to provide a multi-core processor-based redundant PLC control system configured by redundant PLC applications on a single hardware using a multi-core processor.
또한, 본 발명은 멀티코어 프로세서를 이용하여 단일 하드웨어 내에 PLC 어플리케이션과 HMI 어플리케이션을 모두 이중화하여 구성한 멀티코어 프로세서 기반의 이중화된 PLC 제어 시스템을 제공하는 것을 다른 기술적 과제로 한다.In addition, another technical problem is to provide a multi-core processor-based redundant PLC control system in which both a PLC application and an HMI application are duplicated in a single hardware using a multi-core processor.
또한, 본 발명은 PLC 어플리케이션을 외부장치와 연결시키는 필드버스 통신장치를 이중화하여 구성한 멀티코어 프로세서 기반의 이중화된 PLC 제어 시스템을 제공하는 것을 또 다른 기술적 과제로 한다.In addition, the present invention is another technical problem to provide a redundant PLC control system based on a multi-core processor configured by dualizing a fieldbus communication device that connects a PLC application with an external device.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템은 외부장치로부터 수집데이터를 수신하는 제1 마스터 필드버스 통신모듈; 통신 버스를 통해 상기 제1 마스터 필드버스 통신모듈에 연결되어 상기 제1 마스터 필드버스 통신모듈로부터 상기 수집데이터를 수신하고, 상기 수신된 수집데이터를 미리 정해진 제어로직에 따라 연산하여 연산데이터를 생성하는 마스터 PLC(Programmable Logic Controller) 어플리케이션이 실행되는 제1 코어 프로세서(Processor); 상기 마스터 PLC 어플리케이션이 이중화되어 구성되어 스탠바이 상태로 동작하고, 상기 마스터 PLC 어플리케이션의 동작상태를 감시하는 슬레이브 PLC 어플리케이션이 실행되는 제2 코어 프로세서; 및 상기 마스터 PLC 어플리케이션에 의해 상기 수집데이터 및 상기 연산데이터가 저장되는 제1 공유 메모리를 포함하고, 상기 슬레이브 PLC 어플리케이션은 상기 마스터 PLC 어플리케이션에 오류 발생시 마스터로 절체하여 상기 제1 공유 메모리 및 상기 제1 마스터 필드버스 통신모듈에 연결되는 것을 특징으로 한다.A dualized PLC control system based on a multi-core processor according to an aspect of the present invention for achieving the above object comprises: a first master fieldbus communication module for receiving collected data from an external device; It is connected to the first master fieldbus communication module through a communication bus to receive the collected data from the first master fieldbus communication module, and to generate calculation data by calculating the received collected data according to a predetermined control logic. A first core processor on which a master PLC (Programmable Logic Controller) application is executed; A second core processor in which the master PLC application is configured to be duplicated, operates in a standby state, and executes a slave PLC application that monitors the operation state of the master PLC application; And a first shared memory in which the collected data and the operation data are stored by the master PLC application, and the slave PLC application is transferred to the master when an error occurs in the master PLC application, and the first shared memory and the first It is characterized in that it is connected to the master fieldbus communication module.
본 발명에 따르면 단일 하드웨어에 PLC 어플리케이션 및 HMI 어플리케이션이 이중화되기 때문에, 이중화 시스템 구축 시 하드웨어를 추가함에 따른 비용을 절약할 수 있다는 효과가 있다.According to the present invention, since the PLC application and the HMI application are redundant on a single hardware, it is possible to save the cost of adding hardware when building a redundant system.
또한, 본 발명에 따르면 이중화된 PLC 어플리케이션이 공유메모리를 통해 데이터를 공유하고 HMI 어플리케이션이 공유메모리를 통해 데이터를 공유하기 때문에, 데이터의 동기화가 실시간으로 수행될 뿐만 아니라, 데이터의 동기화함에 따른 데이터의 유실을 미연에 방지할 수 있어 데이터의 신뢰도가 향상된다는 효과가 있다.In addition, according to the present invention, since the dualized PLC application shares data through the shared memory and the HMI application shares data through the shared memory, not only data synchronization is performed in real time, but also data synchronization Loss of data can be prevented in advance, thereby improving the reliability of data.
또한 본 발명에 따르면, PLC 어플리케이션 및 HMI 어플리케이션이 공유메모리를 통해 데이터를 공유하고 별도의 통신 인터페이스가 요구되지 않기 때문에, 통신 인터페이스의 오류에 의한 통신에러가 발생하지 않아 PLC 어플리케이션과 HMI 어플리케이션이 원활하게 데이터를 공유할 수 있고, 이로 인해 산업현장의 제어를 효율적으로 수행할 수 있다는 효과가 있다. In addition, according to the present invention, since the PLC application and the HMI application share data through the shared memory and a separate communication interface is not required, a communication error due to an error in the communication interface does not occur, so that the PLC application and the HMI application are smoothly Data can be shared, and this has the effect of efficiently performing control of industrial sites.
도 1에 일반적인 PLC 제어 시스템의 구성이 도시되어 있다
도 2는 본 발명의 일 실시예에 따른 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 마스터로 설정된 제1 PLC 어플리케이션이 장애가 발생한 경우, 제2 PLC 어플리케이션이 마스터로 설정되는 것을 보여주기 위한 도면이다
도 4는 본 발명의 일 실시예에 따른 제1 필드버스 통신모듈이 이중화되는 것을 나타내는 도면이다.
도 5은 본 발명의 일 실시예에 따른 제1 필드버스 통신모듈이 장애가 발생된 경우 제2 필드버스 통신모듈이 마스터로 설정되는 것을 도시하는 도면이다.
도 6은 스케쥴러가 신규타스크를 각 코어 프로세서에 할당하는 예를 보여주는 도면이다.
도 7은 본 발명의 일실시예에 따른PLC 제어시스템에 제1 HMI 어플리케이션이 추가되는 것을 보여주는 도면이다.
도 8는 제1 PLC 어플리케이션이 액세스키의 우선권을 가질 때 제1 PLC 어플리케이션 및 제1 HMI 어플리케이션의 제2 공유메모리에 대한 액세스 예를 보여주는 도면이다.
도 9은 본 발명의 일 실시예에 따른 제1 HMI 어플리케이션이 이중화되는 것을 도시한 도면이다.
도 10은 PLC 제어시스템이 전 이중화(Full Duplex)되는 것을 보여주는 도면이다.Fig. 1 shows the configuration of a general PLC control system.
2 is a diagram showing a configuration of a dualized PLC control system based on a multi-core processor according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating that a second PLC application is set as a master when a failure occurs in a first PLC application set as a master according to an embodiment of the present invention.
4 is a diagram illustrating that a first fieldbus communication module is duplicated according to an embodiment of the present invention.
5 is a diagram illustrating that a second fieldbus communication module is set as a master when a failure occurs in a first fieldbus communication module according to an embodiment of the present invention.
6 is a diagram illustrating an example in which a scheduler allocates a new task to each core processor.
7 is a diagram illustrating that a first HMI application is added to a PLC control system according to an embodiment of the present invention.
8 is a diagram illustrating an example of accessing a second shared memory of a first PLC application and a first HMI application when the first PLC application has the priority of the access key.
9 is a diagram illustrating that a first HMI application is duplicated according to an embodiment of the present invention.
10 is a diagram showing that the PLC control system is fully duplexed.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.The meaning of the terms described in this specification should be understood as follows.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.Singular expressions should be understood as including plural expressions unless clearly defined differently in context, and terms such as “first” and “second” are used to distinguish one element from other elements, The scope of rights should not be limited by these terms.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that terms such as "comprise" or "have" do not preclude the presence or addition of one or more other features or numbers, steps, actions, components, parts, or combinations thereof.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.The term “at least one” is to be understood as including all possible combinations from one or more related items. For example, the meaning of “at least one of the first item, the second item, and the third item” means 2 among the first item, the second item, and the third item, as well as the first item, the second item, and the third item. It means a combination of all items that can be presented from more than one.
도 2는 본 발명의 일 실시예에 따른 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템(이하 'PLC 제어시스템'이라 함)의 구성을 보여주는 도면이다.FIG. 2 is a diagram showing a configuration of a dualized PLC control system based on a multi-core processor (hereinafter referred to as “PLC control system”) according to an embodiment of the present invention.
PLC 제어시스템(200)은 제어대상이 되는 장치들의 제어 및 관리를 하는 시스템이다. PLC 제어시스템(200)은 입출력카드(10)로부터 각종 장치들에 의해 발생되는 상태데이터 또는 센싱데이터(이하, '수집데이터'라함)를 수집하고, 각종 장치들을 제어하기 위해 입출력카드(10)를 통해 제어명령을 할 수 있다. 일 실시예에 있어서, PLC 제어시스템(200)은 멀티코어 기반의 산업용 PC로 구현될 수 있다.The
이를 위해 PLC 제어시스템(200)은 제1 코어프로세서(202), 제2 코어프로세서(204), 제1 PLC 어플리케이션(210a), 제2 PLC 어플리케이션(210b), 제1 공유메모리(220), 제1 필드버스 통신모듈(230a), 슬레이브 필드버스 통신모듈(240)을 포함한다.To this end, the
제1 코어프로세서(202) 및 제2 코어프로세서(204)는 어플리케이션을 실행시킨다. 본 발명에 따른 PLC 제어 시스템(200)은 하나의 하드웨어(H/W)에 제1 PLC 어플리케이션(210a)과 제2 PLC 어플리케이션(210b)이 모두 설치되어 동작할 수 있도록, 코어 프로세서는 복수개의 코어 프로세서(202, 204)들로 구성된다.The
제1 PLC 어플리케이션(210a)은 제1 코어프로세서(202)에 설치되어 마스터로 설정되고 제2 PLC 어플리케이션(210b)은 제2 코어프로세서(204)에 설치되어 슬레이브로 설정된다. 일 실시예에 있어서, 제1 및 제2 PLC 어플리케이션(210a, 210b) 중 먼저 기동된 PLC 어플리케이션이 마스터로 설정되고, 이후 기동된 PLC 어플리케이션이 슬레이브로 설정될 수 있다.The
마스터로 설정된 제1 PLC 어플리케이션(210a)은 제1 필드버스통신모듈(230a)로부터 수집데이터를 획득하고 이를 미리정해진 제어로직에 따라 생성된 출력데이터를 출력하여 외부장치를 제어한다. 구체적으로 마스터로 설정된 제1 PLC 어플리케이션(210a)은 제1 필드버스 통신모듈(230a)에 접속하여 수집데이터를 리드(read)하고, 수집데이터를 제1 공유메모리(220)의 제1 영역에 저장한다. 제1 PLC 어플리케이션(210a)은 수집데이터를 기반으로 미리 정해진 제어로직을 통해 연산데이터를 생성하여 제1 공유메모리(210)의 제2 영역에 저장한다. PLC 어플리케이션(210)는 제2 영역에 저장된 연산데이터 중 입출력카드(10)로 출력할 출력데이터를 제1 필드버스 통신모듈(230a)접속하여 기록한다. The
이때, 제1 PLC 어플리케이션(210a)은 PCI(Peripheral Component Interconnect) 통신버스를 통해 제1 필드버스 통신모듈(230)에 접속할 수 있다.In this case, the
슬레이브로 설정된 제2 PLC 어플리케이션(210b)은 마스터로 설정된 제1 PLC 어플리케이션(210a)의 오류발생 여부를 감시한다. 일 실시예에 있어서 제2 PLC 어플리케이션은 타스크간 통신(Intertask Communication)을 통해 제1 PLC 어플리케이션의 오류발생 여부를 감시할 수 있다.The
이하, 도 3을 참조하여 마스터로 설정된 제1 PLC 어플리케이션(210a)이 장애가 발생하는 경우에 대해 보다 구체적으로 설명한다.Hereinafter, a case in which a failure occurs in the
도 3은 본 발명의 일 실시예에 따른 마스터로 설정된 제1 PLC 어플리케이션이 장애가 발생한 경우, 제2 PLC 어플리케이션이 마스터로 설정되는 것을 보여주기 위한 도면이다 FIG. 3 is a diagram illustrating that a second PLC application is set as a master when a failure occurs in a first PLC application set as a master according to an embodiment of the present invention.
도 3에 도시된 바와 같이 제2 PLC 어플리케이션(210b)은 제1 PLC 어플리케이션(210a)의 오류발생여부를 감시하여, 마스터로 설정된 제1 PLC 어플리케이션(210a)이 장애가 발생되면, 제2 PLC 어플리케이션(210b)은 제1 PLC 어플리케이션(210a)로부터 제어권을 이양 받는다. 이에 따라 제2 PLC 어플리케이션(210b)이 마스터로 설정되고 제1 PLC 어플리케이션(210a)이 슬레이브로 설정된다. As shown in FIG. 3, the
제1 PLC 어플리케이션(210a)은 슬레이브로 설정되어 대기상태로 동작하고, 제2 PLC 어플리케이션(210b)의 오류발생여부를 감시한다.The
제2 PLC 어플리케이션(210b)은 마스터로 설정되어 동작한다. 구체적으로 제2 PLC 어플리케이션(210b)은 제1 필드버스 통신모듈(230a)에 접속하여 수집데이터를 리드하고, 수집데이터를 제1 공유메모리(220)의 제1 영역에 저장한다. 제2 PLC 어플리케이션(210b)은 수집데이터를 기반으로 미리 정해진 제어로직을 통해 연산데이터를 생성하여 제1 공유메모리(220)의 제2 영역에 저장한다. 제2 PLC 어플리케이션(210b)는 제2 영역에 저장된 연산데이터 중 입출력카드로 출력할 출력데이터를 제1 필드버스 통신모듈(230a)에 접속하여 기록한다.The
다시 도2를 참조하면, 제1 공유메모리(220)는 제1 PLC 어플리케이션 및 제2 PLC 어플리케이션 중 마스터로 설정된 PLC 어플리케이션에 의해 수집데이터 및 연산데이터가 저장된다. 즉, 마스터로 설정된 제1 PLC 어플리케이션에 의해 수집데이터 및 연산데이터가 저장되고, 슬레이브로 설정된 제2 PLC 어플리케이션이 마스터로 재설정되면 제2 PLC 어플리케이션에 의해 수집데이터 및 출력데이터가 저장될 수 있다. 이때 수집데이터는 제1 공유메모리(220)의 제1 영역에 저장되고, 연산데이터는 제1 공유메모리(220)의 제2 영역에 저장된다. Referring back to FIG. 2, the first shared
이에 따라 본 발명은 제1 공유메모리(220)를 통해 수집데이터 및 연산데이터를 공유할 수 있어 제1 PLC 어플리케이션(210a)이 장애가 발생하여 제2 PLC 어플리케이션(210b)이 마스터로 설정되기 위해, 데이터를 동기화하기 위한 시간이 소요되지 않아 제어권 이양시간(Swiching Overtime)이 감소된다는 효과가 있다.Accordingly, the present invention can share the collected data and operation data through the first shared
제1 필드버스 통신모듈(230a)는 복수개의 장치와 연결되어 있는 입출력카드(10)로부터 수집데이터를 획득하여 제1 PLC 어플리케이션 (210a)으로 전송하고, 제1 PLC 어플리케이션(210)으로부터 출력데이터를 획득하여 입출력카드(10)로 전송한다. 구체적으로 제1 필드버스 통신모듈(230a)는 입출력카드(10)에 탑재된 슬레이브 필드버스 통신모듈(240)로부터 수집데이터를 리드(read)하여 저장한다. 저장한 수집데이터는 제1 필드버스 통신모듈(230a)에 접속한 제1 PLC 어플리케이션(210a)에 의해 리드된다. 또한 제1 필드버스 통신모듈(230a)은 PLC 어플리케이션(210)에 의해 출력데이터가 기록된다. 기록된 출력데이터는 슬레이브 필드버스 통신모듈(240)로 전송하여 입출력카드(10)로 전송한다.The first
이를 위해 제1 필드버스 통신모듈(230a)은 제1 필드버스 통신 어플리케이션(233a) 및 제1 내부메모리(236a)를 포함한다.To this end, the first
제1 내부 메모리(236a)는 제1 필드버스 통신 어플리케이션(210a)에 의해 수집데이터가 제1영역에 기록되고, 제1 PLC 어플리케이션에 의해 출력데이터가 제2 영역에 기록된다. In the first
제1 내부메모리(236a) 는 제1 PLC 어플리케이션이 접속하기 위해 제1 포트(237a) 및 제2 포트(238a)를 포함한다. The first
제1 포트(237a)는 제1 PLC 어플리케이션(210a)이 제1 내부메모리(236a)의 제1 영역에 기록된 수집데이터를 리드(read)하기 위해 접속할 수 있게 하는 연결장치이다. 제2 포트(238a)는 제1 PLC 어플리케이션(210a)이 제1 내부메모리(236a)의 제2 영역에 출력데이터를 기록할 수 있도록 접속할 수 있게 하는 연결장치이다. 이때 제1 및 제2 포트(237a, 238a)는 제1 PLC 어플리케이션(210a)과 PCI(Peripheral Component Interconnect) 통신버스를 통해 연결될 수 있다.The
상술한 실시예에서는 제1 필드버스 통신모듈(230a)이 하나인 것으로 설명하였다. 하지만 변형된 실시예에서는 제1 필드버스 통신모듈(230a)이 이중화될 수 있다.In the above-described embodiment, it has been described that the first
이하, 도4를 참조하여 제1 필드버스 통신모듈(230a)이 이중화되는 것을 설명하고, 상술한 내용과 동일한 내용에 대해서는 생략한다.Hereinafter, it will be described that the first
도 4는 본 발명의 일 실시예에 따른 제1 필드버스 통신모듈이 이중화되는 것을 나타내는 도면이다.4 is a diagram illustrating that a first fieldbus communication module is duplicated according to an embodiment of the present invention.
이를 위해 PLC 제어시스템(200)은 도4에 도시된 바와 같이 제1 필드버스 통신모듈(230a)이 이중화된 제2 필드버스 통신모듈(230b)을 더 포함할 수 있다.To this end, the
마스터로 설정된 제1 필드버스 통신모듈(230a)은 제1 필드버스 통신 어플리케이션(233a) 및 제1 내부메모리(236a)를 포함하고, 슬레이브로 설정된 제2 필드버스 통신모듈(230b)는 제2 필드버스 통신 어플리케이션(233b) 및 제2 내부메모리(236b)를 포함한다.The first
제1 필드버스 통신모듈(230a)이 마스터로 설정되어 입출력카드(10)에 탑재된 슬레이브 필드버스 통신모듈(240)로부터 수집데이터를 리드(read)하여 저장한다. 저장한 수집데이터는 제1 필드버스 통신모듈(230a)에 접속한 제1 PLC 어플리케이션(210a)에 의해 리드된다. 제1 필드버스 통신모듈(230a)은 PLC 어플리케이션(210)에 의해 출력데이터가 기록된다, 기록된 출력데이터는 슬레이브 필드버스 통신모듈(240)로 전송하여 입출력카드(10)로 전송한다.The first
제2 필드버스 통신모듈(230b)이 슬레이브로 설정되어 대기상태로 동작할 수 있다. The second
마스터로 설정된 제1 필드버스 통신 어플리케이션(233a)은 복수개의 장치와 연결되어 있는 입출력카드(10)에 탑재된 슬레이브 필드버스 통신모듈(240)로부터 수집데이터를 획득하여 제1 내부 메모리(236a)의 제1 영역에 기록한다. 또한 제1 필드버스 통신 어플리케이션(233a)은 제1 PLC 어플리케이션(210a)에 의해 제1 내부 메모리(236a)의 제2 영역에 기록된 출력데이터를 리드(read)하여 입출력카드(10)에 탑재된 슬레이브 필드버스 통신모듈(240)로 전송한다. The first
슬레이브로 설정된 제2 필드버스 통신 어플리케이션(233b)은 입출력카드(10)에 탑재된 슬레이브 필드버스 통신모듈(240)로부터 수집데이터를 획득하여 제2 내부메모리(236b)의 제1 영역에 기록한다. 이에 따라 제2 내부메모리(236b)는 제2 필드버스 통신 어플리케이션(233b)에 의해 제1 영역에 수집데이터가 저장된다.The second
본 발명에 따른 슬레이브로 설정된 제 2 필드버스 통신 어플리케이션(233b)이 수집데이터를 제2 내부메모리(236b)에 기록하는 이유는, 제1 필드버스 통신모듈(110a)이 장애가 발생되어 제2 필드버스 통신모듈(110b)이 마스터로 설정되는 경우 데이터의 동기화가 필요하기 때문에다.The reason that the second
이하, 도 5를 참조하여 제1 필드버스 통신모듈(230a)이 장애가 발생한 경우에 대해 구체적으로 설명한다.Hereinafter, a case in which a failure occurs in the first
도 5은 본 발명의 일 실시예에 따른 제1 필드버스 통신모듈(230a)이 장애가 발생된 경우 제2 필드버스 통신모듈(230a)이 마스터로 설정되는 것을 도시하는 도면이다. FIG. 5 is a diagram illustrating that the second
도 5에 도시된 바와 같이 제1 필드버스 통신모듈(230a)이 장애가 발생되면, 마스터로 설정된 제1 PLC 어플리케이션(210a)은 제1 내부메모리(236a)의 제2 영역에 기록된 출력데이터를 제2 내부메모리(237b)의 제2 영역에 기록하고. 마스터로 설정된 제1 PLC 어플리케이션(210a)이 제1 필드버스 통신모듈(230a)을 슬레이브로 설정하고, 슬레이브로 설정된 제2 필드버스 통신모듈(230b)을 마스터로 설정한다. As shown in FIG. 5, when a failure occurs in the first
이에 따라 슬레이브로 설정된 제1 필드버스 통신모듈(230a)은 슬레이브 통신모듈(240)으로부터 수집데이터를 획득하여 제1 내부메모리(236a)의 제1 영역에 기록하고 대기상태로 동작한다.Accordingly, the first
마스터로 설정된 제2 필드버스 통신모듈(230b)은 입출력카드(10)에 탑재된 슬레이브 필드버스 통신모듈(240)로부터 수집데이터를 리드(read)하여 저장한다. 저장한 수집데이터는 제2 필드버스 통신모듈(230b)에 접속한 제1 PLC 어플리케이션(210a)에 의해 리드된다. 또한 마스터로 설정된 제2 필드버스 통신모듈(230b)은 제1 PLC 어플리케이션(210a)에 의해 출력데이터가 기록된다, 기록된 출력데이터는 슬레이브 필드버스 통신모듈(240)로 전송하여 입출력카드(10)로 전송한다.The second
다시 도 2를 참조하여 스케쥴러(280)에 대해 구체적으로 설명한다.Referring again to FIG. 2, the
PLC 제어시스템(200)은 스케쥴러(280), 및 유휴코어프로세서(290)를 더 포함할 수 있다.The
스케쥴러(280)는 제1 및 제2 PLC 어플리케이션(210a, 210b)의 실행에 따른 타스크(Task)를 제1 및 제2 코어프로세서(202,204), 유휴 코어프로세서(290)에 할당한다. 일 실시예에 있어서, 스케쥴러(280)는 도 6에 도시된 바와 같이 제1 PLC 어플리케이션(210a)의 타스크인 제1 타스크를 처리하기 위한 제1 스케쥴러(283a) 및 제2 PLC어플리케이션(210b)의 타스크인 제2 타스크를 처리하기 위한 제2 스케쥴러(283b)를 포함할 수 있다. 또한, 스케쥴러(280)는 유휴코어프로세서에 설치될 수 있는 어플리케이션의 제3 타스크를 처리하기 위한 제3 스케쥴러(283c)를 더 포함할 수 있다.The
일 실시예에 있어서, 본 발명에 따른 스케쥴러(280)는 마스터로 설정된 제1 PLC 어플리케이션(210a)의 제1타스크(410)를 유휴코어프로세서(290)에서 처리할 수 있다. 이러한 실시예를 따르는 경우, 스케쥴러(280)가 마스터로 설정된 제1 PLC어플리케이션(210a)로 수신되는 통신인터럽트와 같은 우선순위가 높은 인터럽트를 유휴코어프로세서(290)를 통해 처리함으로써, 마스터로 설정된 제1 PLC 어플리케이션이 실시간으로 실행될 수 있고 이에 따라 제1 PLC 어플리케이션(210a)의 예측성(Determinitic)을 향상시킬 수 있다. In one embodiment, the
다시 도 2를 참조하면, 유휴 코어 프로세서(290)는 스케쥴러(280)에 의해 제1 PLC 어플리케이션(210a)에 발생되는 제1 타스크를 처리하고, 처리한 결과를 제1 PLC 어플리케이션(210a)으로 전송할 수 있다. 일 실시예에 있어서, 유휴 코어 프로세서(290)는 복수개일 수 있다. Referring back to FIG. 2, the
PLC 제어시스템(200)은 제1 HMI 어플리케이션을 더 포함할 수 있다.The
이하, 도 7를 참조하여 제1 HMI 어플리케이션에 대해 구체적으로 설명한다.Hereinafter, a first HMI application will be described in detail with reference to FIG. 7.
도 7은 본 발명의 일실시예에 따른PLC 제어시스템에 제1 HMI 어플리케이션이 추가되는 것을 보여주는 도면이다.7 is a diagram illustrating that a first HMI application is added to a PLC control system according to an embodiment of the present invention.
도 7에 도시된 바와같이 PLC 제어시스템(200)은 제3 코어프로세서(610), 제1 HMI 어플리케이션(620a), 제2 공유메모리(630) 및 메모리 관리부(640)를 더 포함할 수 있다. 도 7에서는 상술한 구성이 추가됨에 따라 기존 구성에서 추가되는 기능을 갖는 구성만을 추가로 설명한다. As shown in FIG. 7, the
마스터로 설정된 제1 PLC 어플리케이션(210a)은 메모리 관리부(640)로부터 액세스키를 부여받고, 제2 공유메모리에 접속하여 수집데이터, 연산데이터, 출력데이터를 기록할 수 있다. 또한, 제1 PLC 어플리케이션(210a)는 제2 공유메모리(640)에 접속하여 제1 HMI 어플리케이션(620a)에 의해 제2 공유메모리(630)에 기록된 제어데이터를 획득할 수 있다.The
제3 코어프로세서(610)는 제1 HMI 어플리케이션(620a)을 실행시킨다. 본 발명에 따른 PLC 제어 시스템(200)은 하나의 하드웨어(H/W)에 제1 및 제2 PLC 어플리케이션(210a, 210b)과 제1 HMI 어플리케이션(620a)이 모두 설치되어 동작할 수 있도록, 코어 프로세서는 복수개의 코어 프로세서(202, 204, 610)들로 구성된다.The
제1 HMI 어플리케이션(620a)은 제3 코어프로세서(610)에 설치되어 메모리 관리부(640)로부터 제2 공유메모리(630)의 액세스키를 부여받고, 제1 PLC 어플리케이션에 의해 제2 공유메모리(630)에 기록된 데이터를 리드(read)하거나, 제2 공유메모리(630)에 데이터를 기록할 수 있다. 여기서 제1 HMI 어플리케이션(620a)은 사용자에 의해 생성된 제어데이터를 제2 공유메모리(630)에 기록할 수 있다. 제어데이터는 비상정지명령 등을 의미할 수 있고, 제1 PLC 어플리케이션(210a)의 특정 Tag 값을 의미할 수 있다. The
제1 HMI 어플리케이션(620a)은 액세스키가 메모리 관리부(640)에 의해 회수되면, 액세스키가 회수된 제1 시점에서 데이터의 읽기 또는 쓰기를 중지하고, 메모리 관리부(640)로부터 액세스키가 다시 수령되면 상기 제1 시점 이후에 읽기 또는 쓰기 중단된 데이터에 대해 읽기 또는 쓰기를 재개할 수 있다.When the access key is recovered by the
제2 공유메모리(630)는 마스터로 설정된 제1 PLC 어플리케이션에 의해 수집데이터, 연산데이터, 출력 데이터가 기록될 수 있다. 또한, 제2 공유메모리(630)는 제1 HMI 어플리케이션(620a)에 의해 사용자에 의해 생성된 제어데이터가 기록될 수 있다.The second shared
메모리 관리부(640)는 제2 공유메모리(630)에 접근하기 위한 액세스키를 제1 PLC 어플리케이션(210a) 및 제1 HMI 어플리케이션(620a)로 제공하거나 제1 PLC 어플리케이션(210a) 및 제1 HMI 어플리케이션(620a)으로부터 회수하는 역할을 수행한다.The
한편, 제1 PLC어플리케이션(210a)이 제2 공유메모리(630)에 액세스 중에 있을 때, 제1 HMI 어플리케이션(620a)이 제2 공유메모리(630)에 동시에 액세스하게 되면 데이터가 훼손될 수 있기 때문에 본 발명에 따른 메모리 관리부(250)는 한번에 하나의 어플리케이션만이 제2 공유메모리(630)에 액세스할 수 있도록 하기 위해 제2 공유메모리(630)에 접근할 수 있는 액세스키를 사용한다.On the other hand, when the
특히, 본 발명에 따른 메모리 관리부(640)는 제1 PLC 어플리케이션(210a)에게 액세스키에 대한 우선권을 부여함으로써 제1 PLC 어플리케이션(210a)이 제1 HMI 어플리케이션(620a)에 우선하여 제2 공유메모리(630)에 접근할 수 있도록 한다.In particular, the
이와 같이, 본 발명에서는 제1 PLC 어플리케이션(210a)과 제1 HMI 어플리케이션(620a)이 하나의 액세스키를 사용하되 제1 PLC 어플리케이션(210a)에 액세스키의 우선권을 부여함으로써 제1 PLC 어플리케이션(210a)이 제2 공유메모리(630)에 우선 접근을 허여할 수 있기 때문에 제1 PLC 어플리케이션(210a)의 실시간 제어를 보장할 수 있게 된다.As described above, in the present invention, the
이러한 실시예에 따르는 경우, 도 8에 도시된 바와 같이 제1 HMI 어플리케이션(210a)이 제2 공유메모리(630)에 접속하여 "1이라는 작업을 수행 중일 때 제1 PLC 어플리케이션(210a)으로부터 제2 공유메모리(630)에 대한 접속요청이 발생되면, 메모리 관리부(640)는 제1 HMI 어플리케이션(620a)으로부터 액세스키를 즉시 회수하여 제1 PLC 어플리케이션(210a)에 액세스키를 배당한다. 이에 따라, 제1 HMI 어플리케이션(620a)은 액세스키가 회수된 제1 시점(t1)에서 작업을 중지하게 되고, 제1 PLC 어플리케이션(210a)이 액세스키를 이용하여 제2 공유메모리(630)에 접속함으로써 "1"이라는 작업을 수행하게 된다.According to this embodiment, as shown in FIG. 8, when the
제1 HMI 어플리케이션(620a)은 메모리 관리부(640)에 의해 액세스키가 회수되면 액세스키가 회수된 제1 시점(t1)을 확인하고, 제1 PLC 어플리케이션(210a)의 프로세스가 처리완료되어 액세스키가 다시 제1 HMI어플리케이션(620a)으로 제공되면 제1 시점(t1) 이후에 읽기 또는 쓰기 중단된 데이터에 대해 다시 읽기 또는 쓰기 동작을 재개하게 된다.When the access key is retrieved by the
한편, 상술한 도 8에 도시된 바와 같이 제2 시점(t2)에서 제1 HMI 어플리케이션(220a)에 의해 비상정지명령이 포함된 제어데이터가 발생하게 되면, 비상정지명령이 포함된 제어데이터는 빠른 시간 내에 제1 PLC 어플리케이션(210a)과 공유되어야 하지만, 제1 HMI 어플리케이션(620a)은 액세스키의 우선권을 가지고 있지 않기 때문에 제1 PLC 어플리케이션(210a)으로부터 액세스키가 회수될 때까지 제어데이터를 기록하지 못하게 된다. 또한, 제1 HMI 어플리케이션(620)이 액세스키를 가진다고 하더라도 제1 HMI 어플리케이션(620)의 큐(Queue)에서는 선입선출(FIFO)방식에 따라 제어데이터가 처리되기 때문에 도 8에 도시된 바와 같이 이전 작업인 "1"의 처리가 모두 완료된 이후의 제3 시점(t3)이 되어야 비상정지명령이 포함된 제어데이터의 처리작업인 "2"가 처리될 수 밖에 없다.On the other hand, as shown in FIG. 8, when control data including an emergency stop command is generated by the first HMI application 220a at a second time point t2, the control data including the emergency stop command is fast. It should be shared with the
이를 해결하기 위해 본 발명에 따르면 제1 HMI 어플리케이션(620a)은 비상정지명령이 포함된 제어데이터가 발생되면 해당 제어데이터를 큐의 첫 번째 대기열에 배치함으로써 해당 제어데이터가 큐에서 첫 번째로 처리될 수 있도록 한다. 또한, 메모리 관리부(640)는 비상정지명령이 포함된 제어데이터 발생시 제1 HMI 어플리케이션(620a)에게 액세스키의 우선권을 부여함으로써, 제1 PLC 어플리케이션(210a)이 제2 공유메모리(630)에 접속중이더라도 제1 PLC 어플리케이션(210a)으로부터 액세스키를 즉시 회수하여 제1 HMI 어플리케이션(620a)으로 제공하고, 제1 HMI 어플리케이션(620a)은 제공받은 액세스키로 제2 공유메모리(630)에 접속하여 제어데이터를 기록한 후 액세스키를 다시 메모리 관리부(640)로 반납한다.To solve this problem, according to the present invention, when control data including an emergency stop command is generated, the
이에 따라, 비상정지명령이 포함된 제어데이터가 지연없이 제1 HMI 어플리케이션(620a)으로부터 제1 PLC 어플리케이션(210a)으로 전송되어 즉시 처리될 수 있다.Accordingly, control data including the emergency stop command can be transferred from the
상술한 실시예에서 제1 PLC 어플리케이션(210a)이 마스터로 설정된 것으로 설명하였으나, 제1 PLC 어플리케이션(210a)이 장애가 발생하면, 제2 PLC 어플리케이션(210b)이 제어권을 이양받아 마스터로 설정되어 상술한 제1 PLC 어플리케이션(210a)의 동작을 수행할 수 있다.In the above-described embodiment, it has been described that the
한편, 상술한 실시예에서는 제1 HMI 어플리케이션(620a)이 하나인 것으로 설명하였으나, 제1 HMI 어플리케이션(620a)이 이중화 될 수 있다.Meanwhile, in the above-described embodiment, the
이하 도 9을 참조하여 제1 HMI 어플리케이션(620a)이 이중화되는 것을 설명한다. Hereinafter, it will be described that the
도 9은 본 발명의 일 실시예에 따른 제1 HMI 어플리케이션(620a)이 이중화되는 것을 도시한 도면이다. 9 is a diagram illustrating that a
도 9에 도시된 바와 같이 PLC 제어시스템(200)은 제4 코어프로세서(612) 및 제2 HMI 어플리케이션(620b)을 더 포함할 수 있다. 도 9에서는 상술한 구성이 추가됨에 따라 기존 구성에서 추가되는 기능을 갖는 구성에 대해서만 설명한다.As shown in FIG. 9, the
제4 코어프로세서(612)는 제2 HMI 어플리케이션을 실행시킨다. 본 발명에 따른 PLC 제어 시스템(200)은 하나의 하드웨어(H/W)에 제1 및 제2 PLC 어플리케이션(210a, 210b)과 제1 및 제2 HMI 어플리케이션(620a, 620b)이 모두 설치되어 동작할 수 있도록, 코어 프로세서는 복수개의 코어 프로세서(202, 204, 610,612)들로 구성된다.The
제1 HMI 어플리케이션(620a)은 마스터로 설정되고, 제1 HMI 어플리케이션(620b)에 대해 이중화된 제2 HMI 어플리케이션(620b)는 슬레이브 설정된다. 일 실시예에 있어서 제1 및 제2 HMI 어플리케이션(620a, 620b) 중 먼저 기동된 HMI 어플리케이션이 마스터로 설정될 수 있고, 이후 기동된 HMI 어플리케이션이 슬레이브로 설정될 수 있다.The
마스터로 설정된 제1 HMI 어플리케이션은 메모리 관리부(640)에 의해 액세스키를 부여받아 제2 공유메모리(640)에 접속하여 데이터를 읽거나 쓸 수 있다. 슬레이브로 설정된 제2 HMI 어플리케이션(620b)은 대기상태로 동작하고, 마스터로 설정된 제1 HMI 어플리케이션(210a)의 오류발생여부를 감시한다. 이때 제2 HMI 어플리케이션(620b)는 타스크간 통신(Intertask Communication)을 통해 제1 HMI 어플리케이션(620a)의 오류발생 여부를 감시할 수 있다.The first HMI application set as a master may be given an access key by the
상술한 실시예에 있어서 제1 HMI 어플리케이션(620a)이 마스터로 동작하는 것으로 설명하였으나, 제1 HMI 어플리케이션(620a)이 장애가 발생하면, 제2 HMI 어플리케이션(620b)이 제어권을 이양받아 마스터로 설정되고, 제1 HMI 어플리케이션(620a)이 슬레이브로 설정될 수 있다. 마스터로 설정된 제2 HMI 어플리케이션(620b)은 메모리 관리부(640)에 의해 액세스키를 부여받아 제2 공유메모리(640)에 접속하여 데이터를 읽거나 쓸수 있고, 슬레이브로 설정된 제1 HMI 어플리케이션은 대기상태로 동작하고, 제2 HMI 어플리케이션(210a)의 오류발생여부를 감시한다.In the above-described embodiment, it has been described that the
이와 같이 본 발명에 따른 제1 HMI 어플리케이션(620a) 및 제2 HMI 어플리케이션(620b)은 마스터 및 슬레이브가 절체되더라도 제2 공유메모리(630)를 통해 데이터를 공유할 수 있기때문에, 별도의 데이터 동기화가 필요하지 않아 제어권 이양시간(Swiching Overtime)이 감소된다는 효과가 있다. As described above, since the
한편 PLC 제어시스템(200)은 도 10에 도시된 바와 같이 제1 및 제2 PLC 어플리케이션(210a, 210b), 제1 및 제2 필드버스 통신모듈(230a, 230b), 제1 및 제2 HMI 어플리케이션(620a, 620b)가 전 이중화(Full Duplex)될 수 있다.Meanwhile, as shown in FIG. 10, the
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will appreciate that the above-described present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.
200: PLC 제어시스템 202: 제1 코어 프로세서
204: 제2 코어 프로세서 210a: 제1 PLC 어플리케이션
210b: 제2 PLC 어플리케이션 220: 제1 공유메모리
230a: 제1 필드버스 통신모듈 233a: 제1 필드버스통신어플리케이션
240: 슬레이브 필드버스 통신모듈 200: PLC control system 202: first core processor
204:
210b: second PLC application 220: first shared memory
230a: first
240: slave fieldbus communication module
Claims (15)
통신 버스를 통해 상기 제1 마스터 필드버스 통신모듈에 연결되어 상기 제1 마스터 필드버스 통신모듈로부터 상기 수집데이터를 수신하고, 상기 수신된 수집데이터를 미리 정해진 제어로직에 따라 연산하여 연산데이터를 생성하는 마스터 PLC(Programmable Logic Controller) 어플리케이션이 실행되는 제1 코어 프로세서(Processor);
상기 마스터 PLC 어플리케이션이 이중화되어 구성되어 스탠바이 상태로 동작하고, 상기 마스터 PLC 어플리케이션의 동작상태를 감시하는 슬레이브 PLC 어플리케이션이 실행되는 제2 코어 프로세서;
상기 마스터 PLC 어플리케이션에 의해 상기 수집데이터 및 상기 연산데이터가 저장되는 제1 공유 메모리;
마스터 HMI 어플리케이션이 설치되는 제3 코어 프로세서;
상기 마스터 PLC 어플리케이션에 의해 상기 수집데이터, 상기 연산데이터, 및 입출력카드에 출력할 출력 데이터가 기록되는 제2 공유 메모리; 및
상기 제2 공유 메모리의 액세스를 위한 액세스키를 관리하고, 상기 마스터 PLC 어플리케이션에 상기 액세스키의 우선권을 부여하는 메모리 관리부;를 포함하고,
상기 슬레이브 PLC 어플리케이션은 상기 마스터 PLC 어플리케이션에 오류 발생시 마스터로 절체하여 상기 제1 공유 메모리 및 상기 제1 마스터 필드버스 통신모듈에 연결되고, 상기 마스터 HMI 어플리케이션은 상기 제2 공유 메모리를 통해 상기 마스터 PLC 어플리케이션과 데이터를 공유하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.A first master fieldbus communication module for receiving collected data from an external device;
It is connected to the first master fieldbus communication module through a communication bus to receive the collected data from the first master fieldbus communication module, and to generate calculation data by calculating the received collected data according to a predetermined control logic. A first core processor on which a master PLC (Programmable Logic Controller) application is executed;
A second core processor in which the master PLC application is configured to be duplicated, operates in a standby state, and executes a slave PLC application that monitors the operation state of the master PLC application;
A first shared memory in which the collected data and the operation data are stored by the master PLC application;
A third core processor on which a master HMI application is installed;
A second shared memory in which the collected data, the operation data, and output data to be output to the input/output card are recorded by the master PLC application; And
Including; a memory management unit that manages an access key for accessing the second shared memory, and gives priority to the access key to the master PLC application,
When an error occurs in the master PLC application, the slave PLC application is transferred to a master and connected to the first shared memory and the first master fieldbus communication module, and the master HMI application is the master PLC application through the second shared memory. A dualized PLC control system based on a multicore processor, characterized in that it shares data and data.
상기 제1 마스터 필드버스 통신모듈은 입출력 카드에 장착된 제2 필드버스 통신모듈로부터 상기 수집데이터를 수신하여 제1 내부 메모리의 제1 영역에 저장하고,
상기 마스터 PLC 어플리케이션은 상기 제1 내부 메모리의 제1 포트를 통해 상기 제1 영역에 접속하여 상기 수집데이터를 리드하고, 리드한 수집데이터를 상기 제1 공유메모리의 제1 영역에 기록하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The first master fieldbus communication module receives the collected data from a second fieldbus communication module mounted on an input/output card and stores it in a first area of a first internal memory,
The master PLC application is characterized in that it accesses the first area through a first port of the first internal memory to read the collected data, and writes the read collected data to the first area of the first shared memory. A dualized PLC control system based on a multi-core processor.
상기 제1 마스터 필드버스 통신모듈이 이중화되어 구성된 제1 슬레이브 필드버스 통신모듈을 더 포함하고,
상기 제1 슬레이브 필드버스 통신모듈은 상기 제2 필드버스 통신모듈로부터 상기 수집데이터를 수신하여 제2 내부 메모리의 제1 영역에 저장하고,
상기 마스터 PLC 어플리케이션은 상기 제1 마스터 필드버스 통신모듈에 장애 발생시 상기 제1 슬레이브 필드버스 통신모듈의 제2 내부 메모리의 제1 포트를 통해 상기 제2 내부 메모리의 제2 영역에 접속하여 상기 수집데이터를 리드하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 2,
The first master fieldbus communication module further comprises a first slave fieldbus communication module configured by being duplicated,
The first slave fieldbus communication module receives the collected data from the second fieldbus communication module and stores it in a first area of a second internal memory,
When a failure occurs in the first master fieldbus communication module, the master PLC application connects to a second area of the second internal memory through a first port of the second internal memory of the first slave fieldbus communication module, A dualized PLC control system based on a multi-core processor, characterized in that to lead.
상기 마스터 PLC 어플리케이션은 상기 제1 공유 메모리의 제1 영역에 저장된 데이터를 상기 제어로직에 따라 연산하여 상기 연산데이터를 생성하고, 생성된 상기 연산데이터를 상기 제1 공유 메모리의 제2 영역에 저장하고, 상기 제2 영역에 저장된 상기 연산데이터 중 입출력 카드로 출력할 출력 데이터를 리드하여 상기 제1 마스터 필드버스 통신모듈의 제1 내부 메모리의 제2 포트를 통해 제2 영역에 기록하고,
상기 제1 마스터 필드버스 통신모듈은 상기 제1 내부 메모리의 제2 영역에 기록된 출력 데이터를 입출력카드에 장착된 제2 필드버스 통신모듈로 출력하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The master PLC application generates the operation data by calculating the data stored in the first area of the first shared memory according to the control logic, and stores the generated operation data in a second area of the first shared memory. , Among the operation data stored in the second area, output data to be output to the input/output card is read and written to a second area through a second port of the first internal memory of the first master fieldbus communication module,
The first master fieldbus communication module outputs the output data recorded in the second area of the first internal memory to a second fieldbus communication module mounted on the input/output card. Control system.
상기 제1 마스터 필드버스 통신모듈이 이중화되어 구성된 제1 슬레이브 필드버스 통신모듈을 더 포함하고,
상기 마스터 PLC 어플리케이션은 상기 제1 마스터 필드버스 통신모듈에 장애 발생시 상기 제1 공유 메모리의 제2 영역으로부터 상기 출력 데이터를 리드하여 상기 제1 슬레이브 필드버스 통신모듈의 제2 내부 메모리의 제2 포트를 통해 제2 영역에 기록하고,
상기 제1 슬레이브 필드버스 통신모듈은 상기 제2 내부 메모리의 제2 영역에 기록된 상기 출력 데이터를 상기 제2 필드버스 통신모듈로 출력하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 4,
The first master fieldbus communication module further comprises a first slave fieldbus communication module configured by being duplicated,
When a failure occurs in the first master fieldbus communication module, the master PLC application reads the output data from a second area of the first shared memory to open a second port of the second internal memory of the first slave fieldbus communication module. Record in the second area through,
The first slave fieldbus communication module outputs the output data recorded in the second area of the second internal memory to the second fieldbus communication module.
상기 마스터 PLC 어플리케이션과 상기 제1 마스터 필드버스 통신모듈은 PCI(Peripheral Component Interconnect) 통신버스를 통해 연결되는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The master PLC application and the first master fieldbus communication module are connected through a Peripheral Component Interconnect (PCI) communication bus.
상기 슬레이브 PLC 어플리케이션은 타스크간 통신(Intertask Communication)을 통해 상기 마스터 PLC 어플리케이션의 오류발생 여부를 감시하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The slave PLC application monitors whether or not an error occurs in the master PLC application through intertask communication.
상기 메모리 관리부는,
상기 마스터 HMI 어플리케이션이 상기 액세스키를 이용하여 상기 제2 공유 메모리에 액세스 중일 때 상기 마스터 PLC 어플리케이션으로부터 상기 제2 공유 메모리에 대한 액세스 요청이 수신되면, 상기 마스터 HMI 어플리케이션으로부터 상기 액세스키를 회수하여 상기 마스터 PLC 어플리케이션에 제공하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The memory management unit,
When the master HMI application is accessing the second shared memory using the access key, when an access request for the second shared memory is received from the master PLC application, the access key is retrieved from the master HMI application, and the A dualized PLC control system based on a multi-core processor, which is provided to a master PLC application.
상기 마스터 HMI 어플리케이션은 상기 액세스키가 상기 메모리 관리부에 의해 회수되면, 상기 액세스키가 회수된 제1 시점에서 데이터의 읽기 또는 쓰기를 중지하고, 상기 메모리 관리부로부터 상기 액세스키가 다시 수령되면 상기 제1 시점 이후에 읽기 또는 쓰기 중단된 데이터에 대해 읽기 또는 쓰기를 재개하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
When the access key is recovered by the memory management unit, the master HMI application stops reading or writing data at a first time point when the access key is recovered, and when the access key is received again from the memory management unit, the first A dualized PLC control system based on a multicore processor, characterized in that reading or writing resumes for data that has been read or written after the point in time.
상기 메모리 관리부는,
상기 마스터 PLC 어플리케이션이 상기 액세스키를 이용하여 상기 제2 공유 메모리에 접속 중일 때 상기 마스터 HMI 어플리케이션으로부터 비상정지명령이 포함된 제어데이터의 기록요청이 수신되면, 상기 마스터 HMI 어플리케이션이 상기 비상정지명령이 포함된 제어데이터를 상기 제2 공유메모리에 기록할 수 있도록 마스터 PLC 어플리케이션으로부터 상기 액세스키를 회수하여 상기 마스터 HMI 어플리케이션으로 제공하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The memory management unit,
When the master PLC application is accessing the second shared memory using the access key and a request for recording control data including an emergency stop command is received from the master HMI application, the master HMI application sends the emergency stop command. A dualized PLC control system based on a multi-core processor, characterized in that the access key is retrieved from a master PLC application so that the included control data can be recorded in the second shared memory and provided to the master HMI application.
상기 마스터 HMI 어플리케이션은,
비상정지명령이 포함된 제어데이터가 발생되면 상기 비상정지명령이 포함된 제어데이터를 선입선출 방식으로 처리되는 큐(Queue)의 첫 번째 대기열에 저장하고,
상기 메모리 관리부로부터 상기 액세스키가 제공되면 상기 큐의 첫 번째 대기열에 저장된 상기 비상정지명령이 포함된 제어데이터를 상기 제2 공유 메모리에 기록하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
The master HMI application,
When control data including the emergency stop command is generated, the control data including the emergency stop command is stored in the first queue of a queue processed in a first-in, first-out method,
When the access key is provided from the memory management unit, control data including the emergency stop command stored in the first queue of the queue is recorded in the second shared memory. .
스탠바이 상태로 동작하고, 상기 마스터 HMI 어플리케이션이 이중화된 슬레이브 HMI 어플리케이션이 설치되는 제4 코어 프로세서를 더 포함하고,
상기 슬레이브 HMI 어플리케이션은 상기 마스터 HMI 어플리케이션에 오류발생시 마스터로 절체하여 상기 제2 공유메모리를 통해 상기 마스터 PLC 어플리케이션과 데이터를 공유하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
Further comprising a fourth core processor operating in a standby state, wherein the master HMI application is installed with a duplicated slave HMI application,
The slave HMI application transfers to the master when an error occurs in the master HMI application, and shares data with the master PLC application through the second shared memory.
적어도 하나의 유휴코어 프로세서; 및
상기 제1 및 제2 코어프로세서와 상기 유휴코어 프로세서의 타스크를 관리하는 스케쥴러를 더 포함하고,
상기 스케쥴러는 제1 또는 제2 코어프로세서에 상기 PLC 어플리케이션 보다 우선실행되어야 하는 인터럽트가 발생되면 상기 인터럽트를 실행하기 위한 타스크를 상기 유휴코어 프로세서에 할당하여 상기 PLC 어플리케이션이 실시간으로 실행되게 하는 것을 특징으로 하는 멀티코어 프로세서 기반의 이중화된 PLC 제어시스템.The method of claim 1,
At least one idle core processor; And
Further comprising a scheduler for managing tasks of the first and second core processors and the idle core processor,
The scheduler is characterized in that when an interrupt to be executed prior to the PLC application occurs in the first or second core processor, the task for executing the interrupt is assigned to the idle core processor so that the PLC application is executed in real time. A dualized PLC control system based on a multi-core processor.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180174207A KR102211200B1 (en) | 2018-12-31 | 2018-12-31 | Dual PLC Control System Based on Multi Core Processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180174207A KR102211200B1 (en) | 2018-12-31 | 2018-12-31 | Dual PLC Control System Based on Multi Core Processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200083017A KR20200083017A (en) | 2020-07-08 |
| KR102211200B1 true KR102211200B1 (en) | 2021-02-01 |
Family
ID=71601382
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020180174207A Active KR102211200B1 (en) | 2018-12-31 | 2018-12-31 | Dual PLC Control System Based on Multi Core Processor |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102211200B1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114384792B (en) * | 2021-12-10 | 2024-01-02 | 浙江大学 | Safe and redundant PLC communication control system |
| CN120523126B (en) * | 2025-07-23 | 2025-09-23 | 福建省力得自动化设备有限公司 | Power station LCU screen adaptive adjustment system controlled by embedded single chip microcomputer and PLC |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101457733B1 (en) * | 2010-05-06 | 2014-11-03 | 엘에스산전 주식회사 | Apparatus for Duplexing Human Machine Interface |
| KR20120020867A (en) * | 2010-08-31 | 2012-03-08 | 주식회사 포스코아이씨티 | Controller with double structure and method for operating that controller |
| KR20140141938A (en) * | 2013-06-03 | 2014-12-11 | 엘에스산전 주식회사 | Redundancy method of communication module in Programmable Logic Controller system |
| KR20140144520A (en) * | 2013-06-11 | 2014-12-19 | 삼성전자주식회사 | Processor module, server system and method for controlling processor module |
-
2018
- 2018-12-31 KR KR1020180174207A patent/KR102211200B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20200083017A (en) | 2020-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8255095B2 (en) | Modular avionics system of an aircraft | |
| US6675226B1 (en) | Network interface for industrial controller providing application programmer interface | |
| EP2210153B1 (en) | Industrial controller using shared memory multicore architecture | |
| KR101951072B1 (en) | Inter-core communication apparatus and method | |
| CA2549540C (en) | A task management control apparatus and method | |
| US9594606B2 (en) | Runtime extension framework | |
| KR102211200B1 (en) | Dual PLC Control System Based on Multi Core Processor | |
| EP1956484B1 (en) | Administration module, producer and consumer processor, arrangement thereof and method for inter-processor communication via a shared memory | |
| CN102636987B (en) | Dual control device | |
| WO2024198301A1 (en) | Coal mine edge control system | |
| US7516265B2 (en) | System and method for providing an application with memory access methods | |
| CN103995789A (en) | Direct memory access achievement system and method | |
| KR102116174B1 (en) | System for Integrating PLC and HMI Based on Multi Core Processor | |
| CN104698916B (en) | Method for operation automation device | |
| CA3113750A1 (en) | Data processing apparatus having multiple processors and multiple interfaces | |
| Gergeleit et al. | DIRECT: Towards a distributed object-oriented real-time control system | |
| US20200073351A1 (en) | Approach and mechanism for execution of critical system operations | |
| US8627225B2 (en) | Apparatus and methods for ensuring closure of displays | |
| JP5477122B2 (en) | Computer system, computer system management method, gateway device, and program | |
| RU2665225C1 (en) | Information handling unit | |
| JP3479623B2 (en) | Microcomputer device | |
| CA2619742C (en) | An input/output control apparatus for performing high reliability computations | |
| US10346322B2 (en) | Onboard Kahn network type system comprising a plurality of source and destination actors in order to manage buffer memories based on tokens | |
| KR20160035446A (en) | Control method of factory automation system, recording medium recording a program therefor and central processor of factory automation system | |
| KR20150084616A (en) | System For Optimizing PLC Information Exchange |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20181231 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200729 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20201230 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210127 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20210127 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20240103 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20241230 Start annual number: 5 End annual number: 5 |