KR102031576B1 - A controller of a distributed control system having an abnormal task monitoring function - Google Patents

A controller of a distributed control system having an abnormal task monitoring function

Info

Publication number
KR102031576B1
KR102031576B1 KR1020190059662A KR20190059662A KR102031576B1 KR 102031576 B1 KR102031576 B1 KR 102031576B1 KR 1020190059662 A KR1020190059662 A KR 1020190059662A KR 20190059662 A KR20190059662 A KR 20190059662A KR 102031576 B1 KR102031576 B1 KR 102031576B1
Authority
KR
South Korea
Prior art keywords
task
controller
processor
network
distributed control
Prior art date
Application number
KR1020190059662A
Other languages
Korean (ko)
Other versions
KR20190065202A (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 KR1020190059662A priority Critical patent/KR102031576B1/en
Publication of KR20190065202A publication Critical patent/KR20190065202A/en
Application granted granted Critical
Publication of KR102031576B1 publication Critical patent/KR102031576B1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/406Numerical 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 characterised by monitoring or safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4144Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using multiplexing for control system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 분산제어 시스템의 각 제어기는 프로세서와 메모리를 구비하고, 다수의 태스크가 프로세서 상에서 멀티태스킹되어 실행된다. 네트워크를 통해 수신되는 패킷을 처리하는 제1 네트워크 수신 태스크 및 제2 네트워크 수신 태스크가 서로 다른 우선순위로 실행된다. 제1 네트워크 수신 태스크는 높은 우선순위로 실행되어 패킷이 다량으로 수신되면 프로세서를 독점적으로 선점할 수 있어 처리해야할 패킷이 많은 경우에는 우선순위가 낮은 제2 네트워크 수신 태스크가 패킷을 처리하도록 하여 고유한 제어 기능을 처리하는 처리 태스크가 프로세서를 선점하지 못하는 것을 방지한다.Each controller of the distributed control system of the present invention has a processor and a memory, and a plurality of tasks are executed by multitasking on the processor. The first network receiving task and the second network receiving task, which process packets received over the network, are executed at different priorities. The first network receive task executes at a high priority and can preempt the processor exclusively when a large amount of packets are received, allowing the lower priority second network receive task to process the packets if there are many packets to process. This prevents processing tasks that handle control functions from preempting the processor.

Description

비정상 태스크의 감시 기능을 가진 분산제어 시스템의 제어기{A CONTROLLER OF A DISTRIBUTED CONTROL SYSTEM HAVING AN ABNORMAL TASK MONITORING FUNCTION}CONTROLLER OF A DISTRIBUTED CONTROL SYSTEM HAVING AN ABNORMAL TASK MONITORING FUNCTION}

분산제어 시스템 관한 것으로, 보다 상세하게는 데이터 트래픽 증가로 인한 데이터 수신 처리로 제어기의 고유한 제어 기능 처리를 수행하지 못하는 것을 방지하기 위한 발명이 개시된다.Disclosed is a distributed control system, and more particularly, an invention for preventing the inherent control function processing of a controller from performing data receiving processing due to an increase in data traffic.

분산제어 시스템(Distributed Control System, DCS)은 발전소, 석유화학 공장 및 수처리 설비 등 산업 플랜트 분야 등에 적용되며, 프로세스 데이터의 입력, 출력 및 플랜트의 감시, 조작, 제어 등을 집중화시켜 관리하는 DDC(Direct Digital Control) 시스템의 중앙 컴퓨터에 이상이 발생하면 공정 전체가 제어 불능 상태가 되는 단점을 보완하기 위하여 하나의 중앙 처리 장치를 여러 개의 작은 중앙 처리 장치로 나누어 기능별로 분리하고 이들을 통신 네트워크로 연결시켜 전체 시스템을 구성한다. 즉, 분산제어 시스템의 기본개념은 공정제어에 적용되는 시스템을 각 플랜트에 알맞은 단위 서브 시스템으로 분리하고 각 단위 시스템에서 각각 고유한 제어기능을 수행하며 단위 서브 시스템 상호간에 통신이 가능하도록 하여 소형의 DDC 시스템 여러 개를 유기적으로 연결하여 전체 시스템을 구성한 것이며 분산제어 시스템의 기본 목적은 감시와 조작은 집중시키고 고장에 대한 위험성은 분산시키는 데 있다.Distributed Control System (DCS) is applied to industrial plants such as power plants, petrochemical plants, and water treatment facilities, and DDC (Direct) that centralizes and manages process data input, output, and plant monitoring, operation, and control. In order to make up for the disadvantage that the whole process becomes out of control when an error occurs in the central computer of the Digital Control) system, one central processing unit is divided into several small central processing units, separated by function, and connected to the communication network. Configure the system. In other words, the basic concept of distributed control system is to divide the system applied to process control into unit sub-systems suitable for each plant, perform unique control functions in each unit system, and communicate with each other. The whole system is composed by connecting several DDC systems organically. The basic purpose of distributed control system is to concentrate monitoring and operation and to distribute the risk of failure.

일반적으로 분산제어 시스템은 각각의 제어기에서 제어 기능을 분산해서 처리하고 그 결과를 연결된 네트워크를 통하여 전달하여 전체적인 제어 기능과 모니터링을 수행한다. 따라서, 분산제어 시스템은 장치간 네트워크를 통한 데이터의 전송을 반드시 필요로 한다. In general, the distributed control system distributes and processes the control functions in each controller and transmits the result through the connected network to perform overall control functions and monitoring. Therefore, the distributed control system necessarily requires the transmission of data through the network between devices.

각각의 제어기는 내부에 네트워크를 통해 수신된 데이터를 처리하는 네트워크 수신 태스크와 고유한 기능을 처리하는 처리 태스크를 실행하고 있다. 네트워크 수신 태스크는 실시간성을 위하여 처리 태스크에 비해 높은 우선순위(Priority)를 갖는 태스크로 활성화되어 실행된다. 네트워크 수신 태스크를 높은 우선순위로 실행시켜 데이터를 수신하면 지연을 최소화하고 패킷 손실을 줄일 수 있지만 수신해야 하는 정보가 설계된 용량보다 많은 경우에는 제어기에서 프로세서의 점유가 네트워크 수신 태스크에 집중되어 고유한 제어기능을 수행하지 못하는 문제가 발생할 수 있다.Each controller executes a network reception task for processing data received through the network and a processing task for processing unique functions. The network reception task is activated and executed as a task having a higher priority than the processing task for real time. Receiving data by running network receive tasks at high priority can minimize delays and reduce packet loss, but if the information that needs to be received is more than designed, the controller's occupancy is concentrated in the network receive task, giving unique control There may be a problem of not functioning.

제안된 발명은 분산제어 시스템의 제어기가 다수의 데이터 트래픽이 발생하는 이상상태를 감지하여 데이터 트래픽 처리로 인해 고유한 제어 기능을 수행하지 못하는 문제를 해결하는 방법을 제공하는 것을 목적으로 한다.The proposed object of the present invention is to provide a method of solving a problem that a controller of a distributed control system cannot perform a unique control function due to data traffic processing by detecting an abnormal state in which a plurality of data traffics occur.

또한 제안된 발명은 분산제어 시스템의 특성상 동시간에 데이터를 전송하여 짧은 순간에 다량의 트래픽이 발생되는 문제를 해결하는 방법을 제공하는 것을 목적으로 한다.It is also an object of the present invention to provide a method for solving a problem in which a large amount of traffic is generated at a short time by transmitting data at the same time due to the characteristics of a distributed control system.

일 양상에 따른 분산제어 시스템의 각 제어기는 프로세서와 메모리를 구비하고, 다수의 태스크가 프로세서 상에서 멀티태스킹되어 실행된다. 각 제어기의 프로세서에서 실행되는 태스크는 네트워크를 통해 수신되는 패킷을 처리하는 제1 네트워크 수신 태스크 및 제2 네트워크 수신 태스크와 고유한 제어 기능을 처리하는 처리 태스크와 네트워크 포트로 수신된 패킷을 제1 네트워크 수신 태스크 또는 제2 네트워크 수신 태스크를 분배하는 패킷 분배 태스크를 포함한다. 특히 제1 네트워크 수신 태스크와 제2 네트워크 수신 태스크는 동일한 프로그램 명령어 세트로 구성되나 우선순위를 달리하여 실행되며 처리 태스크는 제2 네트워크 수신 태스크보다 우선순위가 높거나 같게 실행된다.Each controller of the distributed control system according to an aspect includes a processor and a memory, and a plurality of tasks are multitasked and executed on the processor. The task executed in the processor of each controller is a first network receiving task for processing a packet received through a network and a second network receiving task and a processing task for processing a unique control function, and a packet received at a network port to a first network. And a packet distribution task for distributing the receiving task or the second network receiving task. In particular, the first network reception task and the second network reception task are configured with the same program instruction set but are executed with different priorities, and the processing task is executed with the same or higher priority than the second network reception task.

발명의 양상에 따라서는 패킷 분배 태스크는 제1 네트워크 수신 태스크가 한번의 스케쥴링으로 처리할 수 있는 임계 패킷의 수를 사전에 설정하고 임계 패킷의 수보다 수신된 패킷이 적은 경우에는 수신된 패킷의 처리를 제1 네트워크 수신 태스크가 하도록 하고, 수신된 패킷의 수가 임계 패킷의 수보다 많은 경우에는 수신된 패킷의 처리를 제2 네트워크 수신 태스크가 하도록 하여 데이터가 폭증하더라도 처리 태스크가 프로세서를 점유할 수 있도록 한다.According to an aspect of the invention, the packet distribution task is configured to preset the number of threshold packets that the first network receiving task can process in one scheduling, and to process the received packets when there are fewer packets received than the number of threshold packets. The first network receiving task, and if the number of received packets is greater than the number of threshold packets, causing the second network receiving task to process the received packets so that the processing task may occupy the processor even if the data explodes. do.

발명의 추가적 양상에 따르면 각각의 제어기가 동시에 패킷을 전송하지 않도록 그룹으로 구분하고 그룹별로 따라 패킷을 전송하도록 하여 동시에 패킷이 전송되어 트래픽이 일시적으로 몰리는 스톰 현상이 발생되지 않도록 한다.According to a further aspect of the invention, each controller is divided into groups so as not to transmit packets at the same time, and the packets are transmitted according to the groups so that packets are transmitted at the same time so that a traffic phenomenon is temporarily interrupted.

발명의 또 다른 양상에 따르면 각각의 제어기에 식별번호를 할당하고 제어기가 동시에 패킷을 전송하지 않도록 그룹으로 구분하고 식별번호를 그룹 개수로 모듈러 연산하고 그 결과를 지연 시간에 곱한 시간만큼 각 제어기가 지연 후 전송하도록 하여 스톰 현상이 발생되지 않도록 한다.According to another aspect of the invention, each controller assigns an identification number to each controller, divides it into groups so that the controller does not transmit packets at the same time, modulates the identification number by the number of groups, and delays each controller by the time multiplied by the result. After the transmission, the storm phenomenon does not occur.

제안된 발명에 의하면 분산제어 시스템의 제어기가 다수의 데이터 트래픽이 발생하는 이상상태를 감지하면 트래픽을 수신 처리하는 태스크가 고유한 제어 기능을 처리하는 태스크보다 낮은 우선순위를 갖도록 하여 데이터 트래픽 처리로 인해 고유한 제어 기능을 수행하지 못하는 문제를 해결하는 효과가 발생된다.According to the proposed invention, when the controller of the distributed control system detects an abnormal condition in which a large number of data traffic occurs, the task of receiving traffic has a lower priority than the task of processing a unique control function. The effect is to solve the problem of not being able to perform the unique control function.

또한 제안된 발명은 분산제어 시스템의 특성상 동시간에 데이터를 전송하여 짧은 순간에 다량의 트래픽이 발생되는 문제를 해결하는 방법을 제공하는 것을 목적으로 한다.It is also an object of the present invention to provide a method for solving a problem in which a large amount of traffic is generated at a short time by transmitting data at the same time due to the characteristics of a distributed control system.

도 1은 플랜트 시설에 분산제어 시스템이 설치되어 운용되는 개념도를 도시한 것이다.
도 2는 일 실시 예에 따른 분산제어 시스템의 제어기의 구성을 도시한 블록도이다.
도 3은 또 다른 실시 예에 따른 분산제어 시스템의 제어기가 데이터를 전송하는 구성을 포함하는 것을 도시한 블록도이다.
도 4는 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기들이 그룹별로 주기적으로 데이터를 전송하는 것을 도시한 것이다.
도 5는 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기들이 식별번호와 관련하여 분산된 주기로 데이터를 전송하는 것을 도시한 것이다.
도 6은 발명의 일 실시 예에 따른 분산제어 시스템의 제어기의 제어기능 상실을 방지하는 방법에 대한 절차도이다.
도 7은 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기의 제어기능 상실을 방지하는 방법에 대한 절차도이다.
도 8은 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기의 제어기능 상실을 방지하는 방법에 대한 절차도이다.
도 9는 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기의 제어기능 상실을 방지하기 위해 데이터 전송 주기를 분산시키는 방법에 대한 절차도이다.
1 is a conceptual diagram illustrating a distributed control system installed and operated in a plant facility.
2 is a block diagram illustrating a configuration of a controller of a distributed control system according to an exemplary embodiment.
3 is a block diagram illustrating a configuration in which a controller of a distributed control system transmits data according to another embodiment.
4 is a diagram illustrating controllers of a distributed control system transmitting data periodically by group according to another embodiment of the present invention.
FIG. 5 illustrates that the controllers of the distributed control system transmit data in distributed periods in association with identification numbers. Referring to FIG.
6 is a flowchart illustrating a method of preventing a loss of control of a controller of a distributed control system according to an exemplary embodiment.
7 is a flowchart illustrating a method of preventing a loss of a control function of a controller of a distributed control system according to another exemplary embodiment of the present invention.
8 is a flowchart illustrating a method for preventing a loss of control of a controller of a distributed control system according to another exemplary embodiment of the present invention.
9 is a flowchart illustrating a method for distributing data transmission periods in order to prevent a loss of control of a controller of a distributed control system according to another exemplary embodiment of the present invention.

전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시 예들을 통해 구체화된다. 각 실시 예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시 예 내에서 다양한 조합이 가능한 것으로 이해된다. 블록도의 각 블록은 어느 경우에 있어서 물리적인 부품을 표현할 수 있으나 또 다른 경우에 있어서 하나의 물리적인 부품의 기능의 일부 혹은 복수의 물리적인 부품에 걸친 기능의 논리적인 표현일 수 있다. 때로는 블록 혹은 그 일부의 실체는 프로그램 명령어들의 집합(set)일 수 있다. 이러한 블록들은 전부 혹은 일부가 하드웨어, 소프트웨어 혹은 이들의 결합에 의해 구현될 수 있다.The foregoing and further aspects are embodied through the embodiments described with reference to the accompanying drawings. It is to be understood that the components of the embodiments may be variously combined within the embodiments as long as there is no contradiction between each other and each other. Each block in the block diagram may in some cases represent a physical part, but in another case may be a logical representation of a part of the function of one physical part or a function across a plurality of physical parts. Sometimes an instance of a block or part of it may be a set of program instructions. These blocks may be implemented in whole or in part by hardware, software or a combination thereof.

도 1은 플랜트 시설에 분산제어 시스템이 설치되어 운용되는 개념도를 도시한 것이다. 도 1에 도시된 바와 같이 분산제어 시스템은 플랜트 시설 내의 특정한 역할을 수행하는 설비를 제어하는 제어기(100-1, 100-2, ..., 100-N)를 다수 포함하여 구성된다.1 is a conceptual diagram illustrating a distributed control system installed and operated in a plant facility. As shown in FIG. 1, the distributed control system includes a plurality of controllers 100-1, 100-2,..., 100 -N for controlling a facility performing a specific role in a plant facility.

운영 서버(200)는 플랜트 시설의 전반적인 운전에 사용되는 것으로 운영자가 공정을 모니터를 통해 감시하고 필요한 조치를 취해 현장에 영향을 미치는 작업을 수행할 수 있는 장비로 MMI(Man-Machine Interface)를 제공한다. 운영 서버(200)는 공정에서 발생하는 각종 경보와, 운영장의 조치 사항, 시스템의 주요 설정 값들을 저장하는 데이터베이스를 포함할 수 있다.The operation server 200 is used for the overall operation of the plant facility and provides a Man-Machine Interface (MMI) as a device that allows the operator to monitor the process through monitors and take necessary actions to perform operations that affect the site. do. The operation server 200 may include a database storing various alarms generated in the process, action items of the operation site, and main setting values of the system.

제어기(100)는 공정을 직접적으로 운전하는 장치로 각기 다른 지역에 설치된 설비들을 제어하며 시스템 내의 다른 제어기(100) 또는 운영 서버(200)와 통신 시스템으로 연결되어 있다. 제어기(100)는 복수 개가 존재하며 다른 제어기(100)와 통신 시스템을 통해 서로 유기적으로 데이터를 주가 받으며 공정을 제어한다.The controller 100 is a device for directly operating a process to control facilities installed in different regions and is connected to a communication system with another controller 100 or an operation server 200 in the system. There are a plurality of controllers 100, and the controller 100 receives data from each other organically through a communication system with another controller 100 and controls a process.

통신 시스템은 장치간 통신 즉, 하나의 장치에서 전송하는 데이터를 다른 장치로 전달하는 시스템으로 이더넷 시스템이 사용될 수 있다.The communication system may be an inter-device communication, that is, a system for transferring data transmitted from one device to another device, the Ethernet system may be used.

도 2는 일 실시 예에 따른 분산제어 시스템의 제어기의 구성을 도시한 블록도이다. 일 실시 예에 따른 분산제어 시스템의 제어기(100)는 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.2 is a block diagram illustrating a configuration of a controller of a distributed control system according to an exemplary embodiment. The controller 100 of the distributed control system according to an embodiment is loaded into the processor 110, the memory 120, an operating system (OS), and the memory 120 to be executed in the processor 110. A distributed control function is handled, including a plurality of tasks consisting of a set and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

분산제어 시스템의 제어기(100)에 사용되는 운영체제(OS)는 일반적으로 임베디드 시스템에 사용되는 실시간 운영체제인 RTOS(Real-Time Operating System)가 사용된다. RTOS는 원하는 작업이 요구되는 시간 내에 처리될 수 있는 것을 보장하는 운영체제이다.As the operating system (OS) used for the controller 100 of the distributed control system, a real-time operating system (RTOS), which is a real-time operating system used for an embedded system, is generally used. RTOS is an operating system that ensures that desired tasks can be processed in the required time.

일 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함한다. 제어기(100)가 구동되면 이들 태스크들은 메모리(120)에 로드되고 활성화되어 스케쥴러의 스케쥴링에 따라 프로세스를 선점하여 작업을 수행한다.A task executed in the controller 100 of the distributed control system according to an embodiment may include a first network reception task 140, a second network reception task 150, a packet distribution task 130, and a processing task 160. ). When the controller 100 is driven, these tasks are loaded into the memory 120 and activated to preempt a process according to the scheduling of the scheduler to perform a task.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)는 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성된다. 제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)는 네트워크를 통해 전달되어 네트워크 포트의 수신 버퍼에 저장된 패킷을 가져와 통신 프로토콜에 따라 프레임화된 패킷을 디프레임화하여 제어를 위해 필요한 데이터를 추출하는 처리를 수행한다. 추출한 데이터를 이를 처리하는 태스크로 이벤트 또는 IPC(Inter Process Communication) 메시지로 전달한다.The first network receive task 140 and the second network receive task 150 are composed of a set of instructions that are loaded into the memory 120 and executed in the processor 110. The first network reception task 140 and the second network reception task 150 are delivered through a network to take a packet stored in a reception buffer of a network port, and deframe the packet framed according to a communication protocol to control the packet. The process of extracting data is performed. The extracted data is delivered to the event or inter process communication (IPC) message as a task that processes the extracted data.

제어기(100)는 네트워크를 통해 전송된 패킷을 처리하는 네트워크 수신 태스크를 각기 다른 우선순위로 2개를 활성화하여 실행한다. 다만, 제어기(100)에 복수의 포트가 있는 경우에는 각각의 포트 별로 네트워크 수신 태스크를 다른 우선순위로 활성화하여 실행할 수 있으나, 이에 한정되는 것은 아니며 다른 우선순위의 2개의 네트워크 수신 태스크가 모든 포트에 수신되는 패킷을 처리하도록 실행될 수 있다. 또한 포트 별 전송되는 패킷의 양에 따라 몇 개의 포트씩 묶어 복수의 네트워크 수신 태스크가 처리할 수도 있다. 일반적으로 실시간 처리를 위하여 네트워크 수신 태스크가 다른 처리 태스크에 비하여 높은 우선순위로 실행된다. 이는 분산제어 시스템의 제어기(100)의 실시간성을 우수하게 만드는 장점이 있으나 설계된 용량보다 많은 패킷을 지속적으로 수신하는 상황이 발생되면 높은 우선순위를 갖는 네트워크 수신 태스크만 계속 프로세서(110)를 선점하여 다른 태스크가 프로세서(110)를 선점하지 못하여 고유한 제어 기능을 상실하는 문제를 초래할 수 있다.The controller 100 activates and executes two network reception tasks that process packets transmitted through the network at different priorities. However, when there are a plurality of ports in the controller 100, the network reception task may be activated and executed for each port at a different priority, but the present invention is not limited thereto and two network reception tasks having different priorities may be applied to all ports. It can be executed to process incoming packets. In addition, depending on the amount of packets transmitted per port, a plurality of ports may be bundled and processed by a plurality of network receiving tasks. In general, the network reception task is executed at a higher priority than other processing tasks for real time processing. This has the advantage of making the real-time performance of the controller 100 of the distributed control system excellent, but when a situation of continuously receiving more packets than the designed capacity occurs, only the network reception task having a high priority continues to preempt the processor 110. Other tasks may fail to preempt the processor 110, resulting in a loss of unique control functionality.

일 실시 예에 따른 제어기(100)는 네트워크 수신 태스크를 높은 우선순위인 제1 우선순위를 갖는 제1 네트워크 수신 태스크(140)와 제1 우선순위보다 낮은 제2 우선순위를 갖는 제2 네트워크 수신 태스크(150)를 동시에 활성화하여 다량의 트래픽이 발생하여 설계 용량보다 많은 패킷이 수신되는 경우에는 제2 우선순위로 실행되는 제2 네트워크 수신 태스크(150)가 수신된 패킷을 처리하도록 하여 다른 태스크들도 프로세서(110)를 선점하여 자신의 고유한 기능을 수행할 수 있도록 한다.According to an embodiment, the controller 100 may assign a network reception task to a first network reception task 140 having a first priority which is a high priority, and a second network reception task having a second priority lower than the first priority. If a large amount of traffic is generated and more packets are received than the design capacity, the second network receiving task 150, which is executed at the second priority, processes the received packets simultaneously. Preemption of the processor 110 allows it to perform its own function.

처리 태스크(160)는 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성된다. 처리 태스크(160)는 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)가 수신된 패킷을 디프레임화하여 전달한 데이터를 이용하여 각 장치에 대한 고유한 제어 기능의 처리를 수행한다. 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)로부터 이벤트 또는 IPC 메시지 형태로 데이터를 전달받는다.Processing task 160 consists of a set of instructions that are loaded into memory 120 and executed on processor 110. The processing task 160 performs processing of a unique control function for each device by using the data transmitted by deframing the received packet by the first network receiving task 140 or the second network receiving task 150. . Data is received in the form of an event or an IPC message from the first network reception task 140 or the second network reception task 150.

제어기(100)는 고유한 제어 기능을 처리하는 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다. 이에 한정되는 것은 아니며 제2 우선순위로 실행할 수 있다. 제어기(100)가 설계된 용량보다 많은 패킷을 지속적으로 수신하는 상황이 발생되면 낮은 우선순위를 갖는 제2 네트워크 수신 태스크가 패킷을 처리하게 되므로 처리 태스크(160)도 스케쥴러의 스케쥴링에 의해 프로세서(110)를 선점할 수 있게 되어 고유한 제어 기능을 상실하는 문제가 발생되는 것을 방지할 수 있다.The controller 100 activates and executes the processing task 160 for processing the unique control function at a third priority lower than the first priority and higher than the second priority. The present invention is not limited thereto and may be executed at a second priority. If a situation in which the controller 100 continuously receives more packets than the designed capacity occurs, the second network receiving task having a lower priority processes the packets, and thus the processing task 160 also processes the processor 110 by scheduling the scheduler. Can preempt the problem of losing the inherent control.

패킷 분배 태스크(130)는 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성된다. 패킷 분배 태스크(130)는 RTOS에 인터럽트 핸들러로 등록되어 네트워크 포트로 패킷이 수신되면 발생되는 인터럽트를 접수하여 처리한다. 패킷 분배 태스크(130)는 수신된 패킷을 처리할 네트워크 수신 태스크를 선택한다. 패킷 분배 태스크(130)는 다른 태스크에 영향을 주지 않으면서 제1 네트워크 수신 태스크(140)가 처리할 수 있으면 제1 네트워크 수신 태스크(140)에 이벤트 또는 IP 메시지를 전달하여 제1 네트워크 수신 태스크(140)가 수신된 패킷을 처리하도록 하고, 다른 태스크에 영향을 줄 것으로 판단되면 제2 네트워크 수신 태스크(150)에 이벤트 또는 IP 메시지를 전달하여 제2 네트워크 수신 태스크(150)가 수신된 패킷을 처리하도록 한다.The packet distribution task 130 consists of a set of instructions that are loaded into the memory 120 and executed by the processor 110. The packet distribution task 130 registers as an interrupt handler in the RTOS and receives and processes an interrupt generated when a packet is received through a network port. The packet distribution task 130 selects a network reception task to process the received packet. The packet distribution task 130 forwards an event or an IP message to the first network reception task 140 if the first network reception task 140 can process the same without affecting other tasks. And the second network receiving task 150 processes the received packet by forwarding an event or an IP message to the second network receiving task 150 if it is determined that it will affect the other task. Do it.

또 다른 실시 예에 따른 분산제어 시스템의 제어기(100)는 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.The controller 100 of the distributed control system according to another embodiment is loaded in the processor 110, the memory 120, an operating system (OS), the memory 120, and executed in the processor 110. It handles distributed control functions, including a plurality of tasks consisting of instruction sets and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크 또한 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함할 수 있다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment also include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. ) May be included.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행한다.The first network reception task 140, the second network reception task 150, and the processing task 160 are configured as an instruction set loaded in the memory 120 and executed by the processor 110 in the same manner as described above. Do this.

이 실시 예에 따른 분산제어 시스템의 제어기(100) 또한 제1 네트워크 수신 태스크(140)를 제1 우선순위로 활성화하고, 제2 네트워크 수신 태스크(150)를 제1 우선순위보다 낮은 제2 우선순위로 활성화하며, 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다.The controller 100 of the distributed control system according to this embodiment also activates the first network reception task 140 at a first priority, and activates the second network reception task 150 at a second priority lower than the first priority. In this case, the processing task 160 is activated with a third priority lower than the first priority and higher than the second priority.

수신된 패킷을 처리할 네트워크 수신 태스크를 선택하는 패킷 분배 태스크(130)는 수신한 패킷의 수가 제1 네트워크 수신 태스크(140)가 다른 태스크도 프로세서(110)를 선점하도록 일회에 처리할 수 있게 설정된 임계 패킷의 수보다 적거나 같은 경우 수신된 패킷을 제1 네트워크 수신 태스크(140)가 처리할 수 있도록 제1 네트워크 수신 태스크(140)로 이벤트 또는 IPC 메시지를 전송한다.The packet distribution task 130 that selects a network reception task to process the received packet is configured such that the number of received packets can be processed once by the first network reception task 140 to preempt the processor 110 for other tasks as well. If less than or equal to the number of threshold packets, the event or IPC message is sent to the first network reception task 140 so that the received network task can process the received packets.

임계 패킷의 수는 제어기(100)의 성능과 제어기(100)의 프로세서(110)에서 실행되는 태스크의 수 등을 고려하여 고유한 제어 기능을 처리하는 처리 태스크(160)가 프로세서(110)를 선점하지 못하는 상황이 발생되지 않는 패킷의 수로 결정된다. 시스템 설치 후 시스템 운전을 통해 적절한 수치를 결정할 수 있으며 시스템 운영 중에 시스템의 실시간성을 고려하여 변경될 수 있다.The number of critical packets takes preemption of the processor 110 by a processing task 160 that processes a unique control function in consideration of the performance of the controller 100, the number of tasks executed in the processor 110 of the controller 100, and the like. The situation in which no failure occurs is determined by the number of packets. After installing the system, it is possible to determine the appropriate value through system operation, and it can be changed in consideration of the real time of the system during operation.

또 다른 실시 예에 따른 분산제어 시스템의 제어기(100)는 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.The controller 100 of the distributed control system according to another embodiment is loaded in the processor 110, the memory 120, an operating system (OS), and the memory 120 to be executed in the processor 110. It handles distributed control functions, including a plurality of tasks consisting of instruction sets and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크 또한 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함할 수 있다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment also include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. ) May be included.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행한다.The first network reception task 140, the second network reception task 150, and the processing task 160 are configured as an instruction set loaded in the memory 120 and executed by the processor 110 in the same manner as described above. Do this.

이 실시 예에 따른 분산제어 시스템의 제어기(100) 또한 제1 네트워크 수신 태스크(140)를 제1 우선순위로 활성화하고, 제2 네트워크 수신 태스크(150)를 제1 우선순위보다 낮은 제2 우선순위로 활성화하며, 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다.The controller 100 of the distributed control system according to this embodiment also activates the first network reception task 140 at a first priority, and activates the second network reception task 150 at a second priority lower than the first priority. In this case, the processing task 160 is activated with a third priority lower than the first priority and higher than the second priority.

수신된 패킷을 처리할 네트워크 수신 태스크를 선택하는 패킷 분배 태스크(130)는 수신한 패킷의 수가 제1 네트워크 수신 태스크(140)가 다른 태스크도 프로세서(110)를 선점하도록 일회에 처리할 수 있게 설정된 임계 패킷의 수보다 많은 경우 수신된 패킷을 제2 네트워크 수신 태스크(150)가 처리할 수 있도록 제2 네트워크 수신 태스크(150)로 이벤트 또는 IPC 메시지를 전송한다.The packet distribution task 130 that selects a network reception task to process the received packet is configured such that the number of received packets can be processed once by the first network reception task 140 to preempt the processor 110 for other tasks as well. If more than the number of threshold packets, the event or IPC message is sent to the second network receiving task 150 so that the second network receiving task 150 can process the received packets.

임계 패킷의 수는 제어기(100)의 성능과 제어기(100)의 프로세서(110)에서 실행되는 태스크의 수 등을 고려하여 고유한 제어 기능을 처리하는 처리 태스크(160)가 프로세서(110)를 선점하지 못하는 상황이 발생되지 않도록 결정되며 시스템 설치 후 시스템 운전을 통해 적절한 수치로 결정되며 시스템 운영 중 시스템의 실시간성을 고려하여 변경될 수 있다.The number of critical packets takes preemption of the processor 110 by a processing task 160 that processes a unique control function in consideration of the performance of the controller 100, the number of tasks executed in the processor 110 of the controller 100, and the like. It is decided not to fail the situation, it is determined by the proper value through system operation after system installation, and it can be changed in consideration of the real time of the system during system operation.

또 다른 실시 예에 따른 분산제어 시스템의 제어기(100)는 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.The controller 100 of the distributed control system according to another embodiment is loaded in the processor 110, the memory 120, an operating system (OS), the memory 120, and executed in the processor 110. It handles distributed control functions, including a plurality of tasks consisting of instruction sets and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크 또한 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함할 수 있다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment also include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. ) May be included.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행하며, 이 실시 예 또한 제1 네트워크 수신 태스크(140)가 제1 우선순위로 활성화되고, 제2 네트워크 수신 태스크(150)는 제1 우선순위보다 낮은 제2 우선순위로 활성화되며, 처리 태스크(160)는 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화되어 실행된다.The first network reception task 140, the second network reception task 150, the processing task 160, and the packet distribution task 130 are loaded in the memory 120 and executed in the processor 110 in the same manner as described above. In this embodiment, the first network receiving task 140 is activated with a first priority, and the second network receiving task 150 has a second priority lower than the first priority. It is activated by priority, and the processing task 160 is activated and executed by a third priority lower than the first priority and higher than the second priority.

다만, 다른 실시 예와 달리 제1 네트워크 수신 태스크(140)는 처리한 패킷의 수를 카운트하며 이때 처리한 패킷의 수가 일회에 처리할 수 있게 설정된 임계 패킷의 수에 도달한 경우 처리할 패킷이 수신 버퍼에 남아있더라도 독점적인 프로세스 선점으로 인해 처리 태스크(160)가 고유한 제어 기능을 상실하지 않도록 하기 위해 다른 태스크가 프로세서(110)를 점유할 수 있도록 프로세서(110)의 점유를 중단한다.However, unlike the other exemplary embodiment, the first network reception task 140 counts the number of processed packets, and when the number of processed packets reaches the number of threshold packets set to be processed at one time, the packets to be processed are received. Even if it remains in the buffer, the processor 110 stops occupying the processor 110 so that other tasks may occupy the processor 110 in order to prevent processing task 160 from losing its unique control function.

임계 패킷의 수는 제어기(100)의 성능과 제어기(100)의 프로세서(110)에서 실행되는 태스크의 수 등을 고려하여 고유한 제어 기능을 처리하는 처리 태스크(160)가 프로세서(110)를 선점하지 못하는 상황이 발생되지 않도록 결정되며 시스템 설치 후 시스템 운전을 통해 적절한 수치로 결정되며 시스템 운영 중 시스템의 실시간성을 고려하여 변경될 수 있다.The number of critical packets takes preemption of the processor 110 by a processing task 160 that processes a unique control function in consideration of the performance of the controller 100, the number of tasks executed in the processor 110 of the controller 100, and the like. It is decided not to fail the situation, it is determined by the proper value through system operation after system installation, and it can be changed in consideration of the real time of the system during system operation.

도 3은 또 다른 실시 예에 따른 분산제어 시스템의 제어기가 데이터를 전송하는 구성을 포함하는 것을 도시한 블록도이다. 또 다른 실시 예에 따른 분산제어 시스템의 제어기(100)는 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.3 is a block diagram illustrating a configuration in which a controller of a distributed control system transmits data according to another embodiment. The controller 100 of the distributed control system according to another embodiment is loaded in the processor 110, the memory 120, an operating system (OS), the memory 120, and executed in the processor 110. It handles distributed control functions, including a plurality of tasks consisting of instruction sets and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함하고 네트워크 송신 태스크(170)를 더 포함할 수 있다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment include a first network reception task 140, a second network reception task 150, a packet distribution task 130, and a processing task 160. ) And may further include a network transmission task 170.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행한다.The first network reception task 140, the second network reception task 150, the processing task 160, and the packet distribution task 130 are loaded in the memory 120 and executed in the processor 110 in the same manner as described above. It consists of a set of instructions and performs the same function.

분산제어 시스템의 제어기(100)에 추가로 실행되는 네트워크 송신 태스크(170)는 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성된다. 네트워크 송신 태스크(170)는 처리 태스크(160)가 고유 제어 기능을 수행한 처리 결과를 포함하는 데이터를 분산제어 시스템 내의 다른 제어기(100)로 전송할 수 있다.The network transmission task 170, which is executed in addition to the controller 100 of the distributed control system, is composed of an instruction set loaded in the memory 120 and executed by the processor 110. The network transmission task 170 may transmit data including the processing result of the processing task 160 performing the unique control function to the other controller 100 in the distributed control system.

도 4는 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기들이 그룹별로 주기적으로 데이터를 전송하는 것을 도시한 것이다. 도 4의 (a)는 분산제어 시스템의 모든 제어기(100)들이 동시에 데이터를 전송하는 것을 도시한 것이고, (b)는 제어기(100)들이 그룹별로 다른 시간에 데이터를 전송하는 것을 도시한 것이다. 이 실시 예에 따른 분산제어 시스템의 제어기(100)들은 각각 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.4 is a diagram illustrating controllers of a distributed control system transmitting data periodically by group according to another embodiment of the present invention. 4 (a) shows that all the controllers 100 of the distributed control system transmit data at the same time, and (b) shows that the controllers 100 transmit data at different times for each group. The controllers 100 of the distributed control system according to this embodiment are loaded in the processor 110, the memory 120, the operating system (OS), and the memory 120, respectively, and are executed in the processor 110. It handles distributed control functions, including a plurality of tasks consisting of instruction sets and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

이 실시 예에 따른 분산제어 시스템의 각각의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함하고 네트워크 송신 태스크(170)를 더 포함할 수 있다.The tasks executed in each controller 100 of the distributed control system according to the present embodiment include a first network reception task 140, a second network reception task 150, a packet distribution task 130, and a processing task. And a network transmission task 170.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)와 네트워크 송신 태스크(170)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행한다.The first network reception task 140, the second network reception task 150, the processing task 160, the packet distribution task 130, and the network transmission task 170 are loaded into the memory 120 as described above. It consists of a set of instructions to be executed in the processor 110 and performs the same function.

분산제어 시스템에서는 고유한 제어 기능을 수행하는 제어기(100)가 설비별로 분산되어 있다. 분산제어 시스템이 설치된 플랜트가 클수록 많은 제어기(100)들이 분산되어 설치될 수 있다. 일반적으로 각각의 제어기(100)들은 운영 서버(200) 또는 다른 제어기(100)들로 데이터를 주기적으로 전송하며 특히 시각적으로 중요한 데이터들은 동시에 전송되는 특징이 있다. 분산제어 시스템은 정교한 제어를 위해 시스템 내의 장치들을 시각 동기화하여 운영한다. 따라서, 도 4의 (a)에 도시된 것과 같이 전체적인 시간으로 볼 때 통신 시스템을 통해 전송되는 트래픽이 많지 않더라도 모든 제어기(100)들이 동시에 데이터를 전송하고 또한 이러한 전송이 주기적으로 발생된다면 일정한 주기로 데이터가 폭증하여 중요한 데이터가 유실되는 현상이 발생할 수 있다.In the distributed control system, the controller 100 performing a unique control function is distributed for each facility. The larger the plant in which the distributed control system is installed, the more controllers 100 may be distributed and installed. In general, each of the controllers 100 periodically transmits data to the operation server 200 or other controllers 100, and in particular, visually important data are simultaneously transmitted. Distributed control system operates the time synchronization of the devices in the system for precise control. Therefore, as shown in FIG. 4A, even if there is not much traffic transmitted through the communication system as a whole time, all the controllers 100 transmit data at the same time and if the transmission occurs periodically, the data at regular intervals. It can explode and cause important data to be lost.

이 실시 예의 분산제어 시스템은 지역별로 제어기(100)들을 그룹으로 분류하여 그룹 단위로 동일한 시간에 전송되어야 하는 데이터를 다른 지연 시간을 두어 전송하여 트래픽을 분산시킬 수 있다. 즉, 도 4의 (b)에 도시된 것과 같이 각 제어기(100)들의 네트워크 송신 태스크(170)는 동일한 시간에 전송되어야 하는 데이터를 그룹 단위로 다른 지연 시간을 설정하여 전송할 수 있다.The distributed control system according to this embodiment may classify the controllers 100 into regions and transmit the data to be transmitted at the same time in group units with different delay times to distribute traffic. That is, as shown in (b) of FIG. 4, the network transmission task 170 of each controller 100 may transmit data to be transmitted at the same time by setting different delay times in group units.

도 5는 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기들이 식별번호와 관련하여 분산된 주기로 데이터를 전송하는 것을 도시한 것이다. 도 5의 (a)는 분산제어 시스템의 모든 제어기(100)들이 동시에 데이터를 전송하는 것을 도시한 것이고, (b)는 제어기(100)들이 자식의 식별번호를 시스템의 그룹 수로 나눈 나머지에 최소 지연 시간을 곱한 시간을 지연한 후에 데이터를 전송하는 것을 도시한 것이다. 이 실시 예에 따른 분산제어 시스템의 제어기(100)들은 각각 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.FIG. 5 illustrates that the controllers of the distributed control system transmit data in distributed periods in association with identification numbers. Referring to FIG. FIG. 5 (a) shows that all the controllers 100 of the distributed control system transmit data at the same time, and (b) shows the minimum delay after the controllers 100 divide the identification number of the child by the number of groups of the system. It shows transmitting data after delaying time multiplied by time. The controllers 100 of the distributed control system according to this embodiment are loaded in the processor 110, the memory 120, the operating system (OS), and the memory 120, respectively, and are executed in the processor 110. It handles distributed control functions, including a plurality of tasks consisting of instruction sets and a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

이 실시 예에 따른 분산제어 시스템의 각각의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130)와, 처리 태스크(160)를 포함하고 네트워크 송신 태스크(170)를 더 포함할 수 있다.The tasks executed in each controller 100 of the distributed control system according to the present embodiment include a first network reception task 140, a second network reception task 150, a packet distribution task 130, and a processing task. And a network transmission task 170.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)와 네트워크 송신 태스크(170)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행한다.The first network reception task 140, the second network reception task 150, the processing task 160, the packet distribution task 130, and the network transmission task 170 are loaded into the memory 120 as described above. It consists of a set of instructions to be executed in the processor 110 and performs the same function.

분산제어 시스템에서는 고유한 제어 기능을 수행하는 제어기(100)가 설비별로 분산되어 있으며 정교한 제어를 위해 시스템 내의 장치들을 시각 동기화하여 운영한다. 일반적으로 각각의 제어기(100)들은 운영 서버(200) 또는 다른 제어기(100)들로 데이터를 주기적으로 전송하며 특히 시각적으로 중요한 데이터들은 동시에 전송되는 특징이 있다.In the distributed control system, the controller 100 that performs a unique control function is distributed for each facility and operates by synchronizing time in the system for precise control. In general, each of the controllers 100 periodically transmits data to the operation server 200 or other controllers 100, and in particular, visually important data are simultaneously transmitted.

이 실시 예의 분산제어 시스템은 지역별로 제어기(100)들을 그룹으로 분류하고 또한 제어기(100)에 식별번호를 부여한다. 식별번호는 시스템에 포함된 전체 제어기(100) 개수를 범위로 즉, 1부터 전체 제어기(100) 수까지의 범위를 갖는다. 일 예로 분산제어 시스템에 설치된 제어기(100)의 수가 100개이면 각 제어기(100)는 1부터 100까지 중 어느 하나의 식별번호를 고유하게 부여 받을 수 있다. 분산제어 시스템은 그룹 단위로 동일한 시간에 전송되어야 하는 데이터를 다른 지연 시간을 두어 전송하여 트래픽을 분산시킬 수 있으나 플랜트가 커 한 지역의 그룹에 포함되는 제어기(100)의 수가 많으면 그룹 단위로 분산하여 전송하더라도 하나의 그룹에 속한 제어기(100)들의 전송으로 일시적으로 트래픽이 몰리는 현상이 발생할 수 있다. 이때 분산제어 시스템의 네트워크 송신 태스크(170)가 동일한 시간에 전송되어야 하는 데이터를 그룹 별로 동일한 지연 시간을 지연한 후 전송하기 보다 제어기(100)의 식별번호를 시스템의 제어기(100) 그룹 수로 나눈 나머지 값에 최소 지연 시간을 곱한 시간만큼 지연한 후에 전송하여 이러한 문제를 해결할 수 있다. 예를 들어, 전체 제어기(100)가 10개이고 전체 그룹의 수가 3이면 식별번호가 1번, 4번, 7번, 10번 제어기(100)가 최소 지연 시간만큼 지연한 후 데이터를 전송하고, 2번, 5번, 8번 제어기(100)는 최소 지연 시간의 두배(제어기 식별번호 MOD 그룹의 수의 결과가 2이므로)만큼 지연한 후 데이터를 전송하고, 3번, 6번, 6번 제어기(100)는 지연 시간없이 데이터를 전송할 수 있다.The distributed control system of this embodiment classifies the controllers 100 into regions and also assigns an identification number to the controller 100. The identification number ranges from the total number of controllers 100 included in the system, that is, from 1 to the total number of controllers 100. For example, if the number of controllers 100 installed in the distributed control system is 100, each controller 100 may be uniquely assigned any one identification number from 1 to 100. The distributed control system can distribute data by transmitting data that should be transmitted at the same time in group units with different delay times, but if the number of controllers 100 included in a group in a region is large, Even when transmitting, traffic may be temporarily gathered due to transmission of the controllers 100 belonging to one group. At this time, the network transmission task 170 of the distributed control system divides the identification number of the controller 100 by the number of groups of the controller 100 of the system, rather than transmitting data to be transmitted at the same time after delaying the same delay time for each group. This problem can be solved by delaying the value by the time multiplied by the minimum delay. For example, if the total number of controllers 100 is 10 and the total number of groups is 3, the identification numbers 1, 4, 7, and 10 are delayed by the minimum delay time, and then data is transmitted. Controllers 100, 5, and 8 transmit data after delaying twice the minimum delay time (since the result of the number of controller identification number MOD groups is 2), and transmitting controllers 3, 6, and 6 ( 100 may transmit data without delay.

도 5의 (b)에 도시된 것과 같이 각 제어기(100)들의 네트워크 송신 태스크(170)는 동일한 시간에 전송되어야 하는 데이터를 자신이 속한 제어기(100)의 식별번호를 시스템의 전체 그룹 수로 나눈 나머지에 최소 지연 시간을 곱한 지연한 후 전송하여 트래팩을 분산시킬 수 있다.As shown in (b) of FIG. 5, the network transmission task 170 of each controller 100 divides the data to be transmitted at the same time by dividing the identification number of the controller 100 to which it belongs by the total number of groups in the system. The packet can be distributed by delaying and multiplying it by the minimum delay time to distribute the packet.

본 발명의 추가적 양상에 따르면, 분산제어 시스템의 제어기(100)는 프로세서(110)에 실행되는 타이머 인터럽트를 처리하는 타이머 처리 태스크를 더 포함할 수 있다. 추가적 양상에서는 타이머 인터럽트가 시스템에서 발생되는 다른 인터럽트에 비해 높은 우선순위를 갖도록 설정된다. 또한 제어기(100)에서 실행되는 태스크들은 각각의 태스크 별로 고유하게 할당된 시스템 메모리(120)의 특정 영역에 프로세서(110)를 선점할 때마다 값이 증가되는 하트비트(Heartbeat) 값을 기록한다. 타이머 처리 태스크는 주기적으로 태스크 별로 고유하게 할당된 시스템 메모리(120)의 특정 영역을 체크하여 특정 태스크가 프로세서(110)를 독점적으로 선점하고 있는 지 확인한다. 특정 태스크가 독점적으로 프로세서(110)를 선점하면 다른 태스크들이 프로세서(110)를 선점하지 못하여 해당 태스크가 변경하여 기록해야할 특정 영역의 하트비트 값이 갱신되고 있지 않기 때문에 타이머 처리 태스크가 이를 인식할 수 있다. 타이머 처리 태스크가 특정 태스크가 독점적으로 프로세서(110)를 선점한다고 판단하면 시스템 메모리(120)와 레지스터 값을 그대로 덤프한 덤프 파일을 생성하도록 한다. 추후 이 덤프 파일을 분석하여 해당 현상이 발생한 원인을 분석할 수 있다. 또한 제어기(100)가 이상 동작을 하여 고유한 제어 기능을 수행하고 있지 않음에도 이러한 덤프 파일이 생성되지 않는 경우에는 하드웨어가 원인이 되어 문제가 발생한 것으로 판단할 수 있다.According to a further aspect of the present invention, the controller 100 of the distributed control system may further include a timer processing task for processing a timer interrupt executed in the processor 110. In an additional aspect, the timer interrupt is set to have a higher priority than other interrupts generated by the system. In addition, the tasks executed in the controller 100 record a heartbeat value that is increased every time the processor 110 preempts a specific area of the system memory 120 uniquely allocated to each task. The timer processing task periodically checks a specific area of the system memory 120 uniquely allocated to each task to determine whether the specific task preempts the processor 110 exclusively. If a particular task preempts processor 110 exclusively, the timer processing task may recognize this because other tasks are not preempting the processor 110 and the heartbeat value of the specific area that the task needs to change and record is not being updated. have. When the timer processing task determines that a particular task preempts the processor 110 exclusively, the timer processing task generates a dump file that dumps the system memory 120 and the register value as it is. You can later analyze this dump file to analyze the cause of the phenomenon. In addition, if such a dump file is not generated even though the controller 100 does not perform a unique control function due to an abnormal operation, it may be determined that a problem occurs due to hardware.

도 6은 발명의 일 실시 예에 따른 분산제어 시스템의 제어기의 제어 기능 상실을 방지하는 방법에 대한 절차도이다. 발명의 일 실시 예에 따른 제어기(100)의 제어 기능 상실을 방지하는 방법은 태스크 활성화 단계와, 네트워크 수신 태스크 선택 단계와, 패킷 처리 단계와, 제어 단계를 포함한다.6 is a flowchart illustrating a method of preventing a loss of control of a controller of a distributed control system according to an embodiment of the present invention. A method of preventing the loss of control of the controller 100 according to an embodiment of the present invention includes a task activation step, a network reception task selection step, a packet processing step, and a control step.

분산제어 시스템의 제어기(100)는 프로세서(110)와, 메모리(120)와, 운영체제(Operating System, OS)와, 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되는 다수의 태스크와 이들 태스크들이 프로세서(110)에서 멀티태스킹되어 실행되도록 실행 순서를 제어하는 스케쥴러를 포함하여 분산된 제어 기능을 처리한다.The controller 100 of the distributed control system includes a processor 110, a memory 120, an operating system (OS), and an instruction set loaded in the memory 120 and executed by the processor 110. And a scheduler that controls the order of execution so that these tasks are multitasked and executed in the processor 110.

발명의 일 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130), 처리 태스크(160)를 포함한다.Tasks executed in the controller 100 of the distributed control system according to an embodiment of the present invention include a first network reception task 140, a second network reception task 150, a packet distribution task 130, and a processing task ( 160).

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되어 있다.The first network reception task 140, the second network reception task 150, the processing task 160, and the packet distribution task 130 are loaded in the memory 120 and executed in the processor 110 in the same manner as described above. It consists of a set of instructions.

발명의 일 실시 예에 따른 분산제어 시스템의 제어기(100)는 제1 네트워크 수신 태스크(140)를 제1 우선순위로 활성화하고, 제2 네트워크 수신 태스크(150)를 제1 우선순위보다 낮은 제2 우선순위로 활성화하며, 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다.The controller 100 of the distributed control system according to an embodiment of the present invention activates the first network reception task 140 at a first priority, and activates the second network reception task 150 at a second lower than the first priority. The priority is activated, and the processing task 160 is activated by the third priority lower than the first priority and higher than the second priority.

태스크 활성화 단계는 제어기(100)가 패킷 분배 태스크(130)와, 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 처리 태스크(160)를 활성화하는 단계이다. 스케쥴러는 각 태스크의 우선순위와 최근 프로세서(110)의 선점 여부 등을 고려하여 태스크들이 프로세서(110)를 선점하여 실행될 순서를 결정한다.In the task activation step, the controller 100 activates the packet distribution task 130, the first network reception task 140, the second network reception task 150, and the processing task 160. The scheduler determines the order in which tasks are preempted by preempting the processor 110 in consideration of the priority of each task and whether or not the processor 110 has been preempted recently.

네트워크 수신 태스크 선택 단계는 패킷 분배 태스크(130)가 네트워크와 연결된 포트에 패킷이 수신되면 다른 태스크가 프로세서(110)를 선점하지 못하여 고유한 제어 기능을 수행하지 못하는 현상이 발생되지 않도록 패킷을 처리할 네트워크 수신 태스크를 선택하고 해당 태스크로 이벤트를 전송하는 단계이다.In the network receiving task selection step, when the packet distribution task 130 receives a packet on a port connected to a network, the packet distribution task 130 processes the packet so that another task cannot preempt the processor 110 and thus does not perform a unique control function. In this step, the network reception task is selected and an event is transmitted to the task.

패킷 처리 단계는 네트워크 수신 태스크 선택 단계에서 선택된 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)가 포트에 수신된 패킷을 처리하여 고유한 제어 기능 처리를 위한 데이터를 처리 태스크(160)로 전송하는 단계이다.In the packet processing step, the first network reception task 140 or the second network reception task 150 selected in the network reception task selection step processes the packet received at the port to process data for processing a unique control function. ) Step.

제어 단계는 처리 태스크(160)가 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)로부터 전달받은 데이터를 이용하여 고유한 제어 기능을 수행하는 단계이다.The control step is a step in which the processing task 160 performs a unique control function using the data received from the first network reception task 140 or the second network reception task 150.

도 6을 참조하면 제어기(100)는 제어기(100)에서 실행될 태스크들을 메모리(120)에 로드하여 활성화하여 프로세서(110)를 선점하여 실행될 수 있도록 한다. 제어기(100)의 네트워크 포트를 통해 패킷이 수신되면 발생되는 인터럽트를 패킷 분배 태스크(130)가 접수하여 다른 태스크가 프로세서(110)를 선점하지 못하여 고유한 제어 기능을 수행하지 못하는 현상이 발생되지 않도록 패킷을 처리할 네트워크 수신 태스크를 선택한다. 선택된 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)는 수신 버퍼에 저장된 태킷을 디프레임화하여 고유한 제어 기능 처리에 필요한 데이터를 추출하여 처리 태스크(160)로 전송한다. 처리 태스크(160)는 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)로부터 전달받은 데이터를 이용하여 고유한 제어 기능을 수행한다.Referring to FIG. 6, the controller 100 loads and activates tasks to be executed in the controller 100 in the memory 120 to preempt the processor 110. The packet distribution task 130 receives an interrupt generated when a packet is received through the network port of the controller 100 so that another task cannot preempt the processor 110 and thus does not perform a unique control function. Select the network receive task to process the packet. The selected first network reception task 140 or the second network reception task 150 deframes the tag stored in the reception buffer, extracts data necessary for processing a unique control function, and transmits the data to the processing task 160. The processing task 160 performs a unique control function using the data received from the first network receiving task 140 or the second network receiving task 150.

도 7은 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기의 제어 기능 상실을 방지하는 방법에 대한 절차도이다. 발명의 또 다른 실시 예에 따른 제어기(100)의 제어기능 상실을 방지하는 방법은 태스크 활성화 단계와, 네트워크 수신 태스크 선택 단계와, 패킷 처리 단계와, 제어 단계를 포함한다.7 is a flowchart illustrating a method of preventing a loss of control of a controller of a distributed control system according to another exemplary embodiment of the present invention. A method of preventing the loss of control of the controller 100 according to another embodiment of the present invention includes a task activation step, a network reception task selection step, a packet processing step, and a control step.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130), 처리 태스크(160)를 포함한다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. It includes.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되며 동일한 기능을 수행한다.The first network reception task 140, the second network reception task 150, the processing task 160, and the packet distribution task 130 are loaded in the memory 120 and executed in the processor 110 in the same manner as described above. It consists of a set of instructions and performs the same function.

이 실시 예에 따른 분산제어 시스템의 제어기(100)는 제1 네트워크 수신 태스크(140)를 제1 우선순위로 활성화하고, 제2 네트워크 수신 태스크(150)를 제1 우선순위보다 낮은 제2 우선순위로 활성화하며, 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다.The controller 100 of the distributed control system according to this embodiment activates the first network reception task 140 at a first priority, and activates the second network reception task 150 at a second priority lower than the first priority. In this case, the processing task 160 is activated with a third priority lower than the first priority and higher than the second priority.

태스크 활성화 단계와, 패킷 처리 단계와, 제어 단계는 앞서 설명한 것과 동일한 기능을 수행하는 단계이다.The task activation step, the packet processing step, and the control step are for performing the same functions as described above.

발명의 또 다른 실시 예에 따르면, 네트워크 수신 태스크 선택 단계는 패킷 분배 태스크(130)가 수신한 패킷의 수가 제1 네트워크 수신 태스크(140)가 일회에 처리할 수 있게 설정된 임계 패킷의 수보다 적거나 같은 경우 수신된 패킷을 제1 네트워크 수신 태스크(140)가 처리할 수 있도록 제1 네트워크 수신 태스크(140)로 이벤트를 전송하는 단계일 수 있다.According to another embodiment of the present invention, the step of selecting a network reception task may include: the number of packets received by the packet distribution task 130 is less than the number of threshold packets configured to be processed by the first network reception task 140 at one time; In the same case, an event may be transmitted to the first network reception task 140 so that the first network reception task 140 may process the received packet.

또한, 발명의 또 다른 실시 예에 따르면, 네트워크 수신 태스크 선택 단계는 패킷 분배 태스크(130)가 수신한 패킷의 수가 제1 네트워크 수신 태스크(140)가 일회에 처리할 수 있게 설정된 임계 패킷의 수보다 많은 경우 수신된 패킷을 제2 네트워크 수신 태스크(150)가 처리할 수 있도록 제2 네트워크 수신 태스크(150)로 이벤트를 전송하는 단계일 수 있다.In addition, according to another embodiment of the present invention, the network receiving task selection step may be that the number of packets received by the packet distribution task 130 is greater than the number of threshold packets set to be processed by the first network receiving task 140 at one time. In many cases, it may be a step of transmitting an event to the second network receiving task 150 so that the second network receiving task 150 can process the received packet.

임계 패킷의 수는 제어기(100)의 성능과 제어기(100)의 프로세서(110)에서 실행되는 태스크의 수 등을 고려하여 고유한 제어 기능을 처리하는 처리 태스크(160)가 프로세서(110)를 선점하지 못하는 상황이 발생되지 않는 패킷의 수로 결정된다. 시스템 설치 후 시스템 운전을 통해 적절한 수치를 결정할 수 있으며 시스템 운영 중에 시스템의 실시간성을 고려하여 변경될 수 있다.The number of critical packets takes preemption of the processor 110 by a processing task 160 that processes a unique control function in consideration of the performance of the controller 100, the number of tasks executed in the processor 110 of the controller 100, and the like. The situation in which no failure occurs is determined by the number of packets. After installing the system, it is possible to determine the appropriate value through system operation, and it can be changed in consideration of the real time of the system during operation.

도 7을 참조하면 제어기(100)는 제어기(100)에서 실행될 태스크들을 메모리(120)에 로드하여 활성화하여 프로세서(110)를 선점하여 실행될 수 있도록 한다. 제어기(100)의 네트워크 포트를 통해 패킷이 수신되면 발생되는 인터럽트를 패킷 분배 태스크(130)가 접수하고, 패킷 분배 태스크(130)는 수신된 패킷을 카운트하여 수신된 패킷의 수가 제1 네트워크 수신 태스크(140)가 일회에 처리할 수 있게 설정된 임계 패킷의 수보다 적은 경우 수신된 패킷을 제1 네트워크 수신 태스크(140)가 처리할 수 있도록 제1 네트워크 수신 태스크(140)로 이벤트를 전송하고, 제1 네트워크 수신 태스크(140)는 수신 버퍼에 저장된 패킷을 디프레임화하여 고유한 제어 기능 처리에 필요한 데이터를 추출하여 처리 태스크(160)로 전송한다. 수신된 패킷의 수가 제1 네트워크 수신 태스크(140)가 일회에 처리할 수 있게 설정된 임계 패킷의 수보다 많은 경우 패킷 분배 태스크(130)는 수신된 패킷을 제2 네트워크 수신 태스크(150)가 처리할 수 있도록 제2 네트워크 수신 태스크(150)로 이벤트를 전송하고, 제2 네트워크 수신 태스크(150)는 수신 버퍼에 저장된 패킷을 디프레임화하여 고유한 제어 기능 처리에 필요한 데이터를 추출하여 처리 태스크(160)로 전송한다. 처리 태스크(160)는 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)로부터 전달받은 데이터를 이용하여 고유한 제어 기능을 수행한다.Referring to FIG. 7, the controller 100 loads and activates tasks to be executed in the controller 100 in the memory 120 so as to preempt the processor 110. The packet distribution task 130 receives an interrupt generated when a packet is received through the network port of the controller 100, and the packet distribution task 130 counts the received packet so that the number of received packets is determined by the first network reception task. When the number of the threshold packets set to be processed by the 140 is less than one time, the event is transmitted to the first network receiving task 140 so that the first network receiving task 140 can process the received packets, and 1 The network reception task 140 deframes the packet stored in the reception buffer, extracts data necessary for processing a unique control function, and transmits the data to the processing task 160. If the number of received packets is greater than the number of threshold packets set for the first network receive task 140 to process at one time, the packet distribution task 130 may process the received packets for the second network receive task 150 to process. The second network receiving task 150 transmits an event to the second network receiving task 150, and the second network receiving task 150 deframes the packet stored in the receiving buffer to extract data necessary for processing a unique control function. To send). The processing task 160 performs a unique control function using the data received from the first network receiving task 140 or the second network receiving task 150.

도 8은 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기의 제어기능 상실을 방지하는 방법에 대한 절차도이다. 발명의 또 다른 실시 예에 따른 제어기(100)의 제어기능 상실을 방지하는 방법은 태스크 활성화 단계와, 네트워크 수신 태스크 선택 단계와, 패킷 처리 단계와, 제어 단계를 포함한다.8 is a flowchart illustrating a method for preventing a loss of control of a controller of a distributed control system according to another exemplary embodiment of the present invention. A method of preventing the loss of control of the controller 100 according to another embodiment of the present invention includes a task activation step, a network reception task selection step, a packet processing step, and a control step.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130), 처리 태스크(160)를 포함한다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. It includes.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되어 있다.The first network reception task 140, the second network reception task 150, the processing task 160, and the packet distribution task 130 are loaded in the memory 120 and executed in the processor 110 in the same manner as described above. It consists of a set of instructions.

발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기(100)는 제1 네트워크 수신 태스크(140)를 제1 우선순위로 활성화하고, 제2 네트워크 수신 태스크(150)를 제1 우선순위보다 낮은 제2 우선순위로 활성화하며, 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다.The controller 100 of the distributed control system according to another embodiment of the present invention activates the first network reception task 140 at a first priority and makes the second network reception task 150 lower than the first priority. 2 priority, and activates and executes the processing task 160 at a third priority lower than the first priority and higher than the second priority.

태스크 활성화 단계는 제어기(100)가 패킷 분배 태스크(130)와, 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 처리 태스크(160)를 활성화하는 단계이다. 스케쥴러는 각 태스크의 우선순위와 최근 프로세서(110)의 선점 여부 등을 고려하여 태스크들이 프로세서(110)를 선점하여 실행될 순서를 결정한다.In the task activation step, the controller 100 activates the packet distribution task 130, the first network reception task 140, the second network reception task 150, and the processing task 160. The scheduler determines the order in which tasks are preempted by preempting the processor 110 in consideration of the priority of each task and whether or not the processor 110 has been preempted recently.

네트워크 수신 태스크 선택 단계는 패킷 분배 태스크(130)가 네트워크와 연결된 포트에 패킷이 수신되면 다른 태스크가 프로세서(110)를 선점하지 못하여 고유한 제어 기능을 수행하지 못하는 현상이 발생되지 않도록 패킷을 처리할 네트워크 수신 태스크를 선택하고 해당 태스크로 이벤트를 전송하는 단계이다.In the network receiving task selection step, when the packet distribution task 130 receives a packet on a port connected to a network, the packet distribution task 130 processes the packet so that another task cannot preempt the processor 110 and thus does not perform a unique control function. In this step, the network reception task is selected and an event is transmitted to the task.

패킷 처리 단계는 네트워크 수신 태스크 선택 단계에서 선택된 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)가 포트에 수신된 패킷을 처리하여 고유한 제어 기능 처리를 위한 데이터를 처리 태스크(160)로 전송하는 단계이며 수신 버퍼에 남아있는 패킷을 다 처리할 때까지 반복적으로 수행될 수 있다.In the packet processing step, the first network reception task 140 or the second network reception task 150 selected in the network reception task selection step processes the packet received at the port to process data for processing a unique control function. ) And it can be repeatedly performed until all the remaining packets in the receive buffer have been processed.

점유 중단 단계는 네트워크 수신 태스크 선택 단계에서 패킷을 처리할 태스크로 제1 네트워크 수신 태스크(140)가 선택된 경우, 제1 네트워크 수신 태스크(140)가 처리한 패킷의 수를 카운트하여 처리한 패킷의 수가 일회에 처리할 수 있게 설정된 임계 패킷의 수에 도달한 경우 다른 태스크가 프로세서(110)를 점유할 수 있도록 프로세서(110)의 점유를 중단하는 단계이다. 이는 패킷 분배 태스크(130)가 네트워크 수신 태스크를 선택한 후에도 제1 네트워크 수신 태스크(140)가 패킷을 처리하기 전에도 다량의 패킷이 지속적으로 유입되는 경우 제1 네트워크 수신 태스크(140)가 프로세서(110)를 독점적으로 선점할 수 있어 이를 방지하기 위해 제1 네트워크 수신 태스크(140)가 한번의 프로세서(110) 점유 시간동안 처리할 수 있는 패킷의 수를 정하고 그 범위안에서만 패킷을 처리하게 한다. 비록 수신 버퍼에 처리해야할 패킷이 남아있더라도 우선순위가 높은 제1 네트워크 수신 태스크(140)가 과도하게 프로세서(110)를 선점하지 않고 선점을 중단하므로 제1 네트워크 수신 태스크(140)에 비해 우선 순위가 낮은 태스크들도 프로세서(110)를 점유할 수 있게 된다.If the first network reception task 140 is selected as the task to process the packet in the network reception task selection step, the occupation stop step counts the number of packets processed by the first network reception task 140 to process the number of packets. When the number of threshold packets set to be processed at one time is reached, the processor 110 stops the occupation of the processor 110 so that another task may occupy the processor 110. This is because when a large amount of packets are continuously introduced even after the packet distribution task 130 selects the network reception task, even before the first network reception task 140 processes the packets, the first network reception task 140 may execute the processor 110. In order to prevent this from happening exclusively, the first network reception task 140 sets the number of packets that can be processed during one processor 110 occupancy time and processes the packets only within the range. Although the packets to be processed remain in the reception buffer, the first network reception task 140 having a higher priority stops preemption without excessively preempting the processor 110 and thus has a higher priority than the first network reception task 140. Low tasks may also occupy processor 110.

제어 단계는 처리 태스크(160)가 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)로부터 전달받은 데이터를 이용하여 고유한 제어 기능을 수행하는 단계이다.The control step is a step in which the processing task 160 performs a unique control function using the data received from the first network reception task 140 or the second network reception task 150.

이 실시 예에 따른 분산제어 시스템의 제어기(100)는 제1 네트워크 수신 태스크(140)를 제1 우선순위로 활성화하고, 제2 네트워크 수신 태스크(150)를 제1 우선순위보다 낮은 제2 우선순위로 활성화하며, 처리 태스크(160)를 제1 우선순위보다 낮고 제2 우선순위보다 높은 제3 우선순위로 활성화하여 실행한다.The controller 100 of the distributed control system according to this embodiment activates the first network reception task 140 at a first priority, and activates the second network reception task 150 at a second priority lower than the first priority. In this case, the processing task 160 is activated with a third priority lower than the first priority and higher than the second priority.

도 8을 참조하면 제어기(100)는 제어기(100)에서 실행될 태스크들을 메모리(120)에 로드하여 활성화하여 프로세서(110)를 선점하여 실행될 수 있도록 한다. 제어기(100)의 네트워크 포트를 통해 패킷이 수신되면 발생되는 인터럽트를 패킷 분배 태스크(130)가 접수하여 다른 태스크가 프로세서(110)를 선점하지 못하여 고유한 제어 기능을 수행하지 못하는 현상이 발생되지 않도록 패킷을 처리할 네트워크 수신 태스크를 선택한다. 선택된 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)는 수신 버퍼에 저장된 태킷을 디프레임화하여 고유한 제어 기능 처리에 필요한 데이터를 추출하여 처리 태스크(160)로 전송한다. 이때 우선순위가 높은 제1 네트워크 수신 태스크(140)가 선택되어 수신된 패킷을 처리하는 경우 처리한 패킷을 카운트하고 이를 임계 패킷의 수와 비교하여 처리한 패킷의 수가 임계 패킷의 수보다 많은 경우 프로세서(110)의 점유를 중단한다. 처리 태스크(160)는 제1 네트워크 수신 태스크(140) 또는 제2 네트워크 수신 태스크(150)로부터 전달받은 데이터를 이용하여 고유한 제어 기능을 수행한다.Referring to FIG. 8, the controller 100 loads and activates tasks to be executed in the controller 100 in the memory 120 to preempt the processor 110. The packet distribution task 130 receives an interrupt generated when a packet is received through the network port of the controller 100 so that another task cannot preempt the processor 110 and thus does not perform a unique control function. Select the network receive task to process the packet. The selected first network reception task 140 or the second network reception task 150 deframes the tag stored in the reception buffer, extracts data necessary for processing a unique control function, and transmits the data to the processing task 160. In this case, when the first network reception task 140 having a higher priority is selected to process the received packet, the processor counts the processed packets and compares them with the number of the threshold packets to determine whether the number of the processed packets is greater than the number of the threshold packets. The occupation of 110 is stopped. The processing task 160 performs a unique control function using the data received from the first network receiving task 140 or the second network receiving task 150.

도 8은 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기가 다른제어기가 제어기능 상실을 방지하도록 데이터를 전송하는 방법에 대한 절차도이다. 발명의 또 다른 실시 예에 따른 제어기(100)의 제어기능 상실을 방지하는 방법은 태스크 활성화 단계와, 네트워크 수신 태스크 선택 단계와, 패킷 처리 단계와, 제어 단계를 포함하고 데이터 전송 단계를 더 포함할 수 있다.FIG. 8 is a flowchart illustrating a method in which a controller of a distributed control system transmits data so that another controller prevents loss of control function according to another embodiment of the present invention. According to another embodiment of the present invention, a method for preventing the loss of control of the controller 100 may include a task activation step, a network reception task selection step, a packet processing step, a control step, and a data transmission step. Can be.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130), 처리 태스크(160)를 포함하고 네트워크 송신 태스크(170)를 더 포함할 수 있다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. It may further include a network transmission task 170.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)와 네트워크 송신 태스크(170)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되어 있다.The first network reception task 140, the second network reception task 150, the processing task 160, the packet distribution task 130, and the network transmission task 170 are loaded into the memory 120 as described above. It consists of a set of instructions to be executed on the processor 110.

이 실시 예에서 제어기(100)들의 제어기능 상실을 방지하기 위하여 추가되는 데이터 전송 단계는 네트워크 송신 태스크(170)가 동일한 시간에 전송되어야 하는 데이터를 그룹 단위로 다른 지연 시간을 설정하여 전송하는 단계이다.In this embodiment, the data transmission step added to prevent the loss of control of the controllers 100 is a step in which the network transmission task 170 sets different delay times for each group of data to be transmitted at the same time. .

분산제어 시스템에서는 고유한 제어 기능을 수행하는 제어기(100)가 설비별로 분산되어 있고 분산된 제어기(100)들이 전송하는 데이터는 전체적인 시간으로 볼 때 트래픽이 많지 않더라도 모든 제어기(100)들이 동시에 데이터를 전송하고 또한 이러한 전송이 주기적으로 발생된다면 일정한 주기로 데이터가 폭증하여 중요한 데이터가 유실되는 현상이 발생할 수 있다. 이러한 현상을 방지하기 위하여 분산제어 시스템은 지역별로 제어기(100)들을 그룹으로 분류하여 그룹 단위로 동일한 시간에 전송되어야 하는 데이터를 다른 지연 시간을 두어 전송하여 트래픽을 분산시킬 수 있다.In the distributed control system, the controllers 100 that perform unique control functions are distributed for each facility, and the data transmitted by the distributed controllers 100 are simultaneously controlled by all the controllers 100 even though there is not much traffic. In addition, if such transmission occurs periodically, data may explode at regular intervals and important data may be lost. In order to prevent such a phenomenon, the distributed control system may classify the controllers 100 into regions and transmit the data to be transmitted at the same time in group units with different delay times to distribute traffic.

도 9는 발명의 또 다른 실시 예에 따른 분산제어 시스템의 제어기의 제어기능 상실을 방지하기 위해 데이터 전송 주기를 분산시키는 방법에 대한 절차도이다. 발명의 또 다른 실시 예에 따른 제어기(100)의 제어기능 상실을 방지하는 방법은 태스크 활성화 단계와, 네트워크 수신 태스크 선택 단계와, 패킷 처리 단계와, 제어 단계를 포함하고 식별번호 부여 단계와, 데이터 전송 단계를 더 포함할 수 있다.9 is a flowchart illustrating a method for distributing data transmission periods in order to prevent a loss of control of a controller of a distributed control system according to another exemplary embodiment of the present invention. According to another embodiment of the present invention, a method for preventing a loss of control of the controller 100 includes a task activation step, a network reception task selection step, a packet processing step, a control step, an identification number assignment step, and data The transmission step may further include.

이 실시 예에 따른 분산제어 시스템의 제어기(100)에서 실행되는 태스크는 제1 네트워크 수신 태스크(140)와, 제2 네트워크 수신 태스크(150)와, 패킷 분배 태스크(130), 처리 태스크(160)를 포함하고 네트워크 송신 태스크(170)를 더 포함할 수 있다.The tasks executed in the controller 100 of the distributed control system according to the present embodiment include the first network reception task 140, the second network reception task 150, the packet distribution task 130, and the processing task 160. It may further include a network transmission task 170.

제1 네트워크 수신 태스크(140)와 제2 네트워크 수신 태스크(150)와 처리 태스크(160)와 패킷 분배 태스크(130)와 네트워크 송신 태스크(170)는 앞서 설명한 것과 동일하게 메모리(120)에 로드되어 프로세서(110)에서 실행되는 명령어 세트로 구성되어 있다.The first network reception task 140, the second network reception task 150, the processing task 160, the packet distribution task 130, and the network transmission task 170 are loaded into the memory 120 as described above. It consists of a set of instructions to be executed on the processor 110.

이 실시 예에서 제어기(100)들의 제어기능 상실을 방지하기 위하여 추가되는 식별번호 부여 단계는 제어기(100)에 분산제어 시스템에 포함된 제어기(100)의 개수의 범위로 고유한 식별번호가 부여되는 단계이고 데이터 전송 단계는 네트워크 송신 태스크(170)가 동일한 시간에 전송되어야 하는 데이터를 제어기(100)의 식별번호를 시스템의 제어기(100) 그룹 수로 나눈 나머지 값에 최소 지연 시간을 곱하여 구한 지연 시간만큼 지연 후 전송하는 단계이다.In this embodiment, the identification number assigning step added to prevent the loss of the control function of the controllers 100 may be given a unique identification number in the range of the number of controllers 100 included in the distributed control system. In the data transmission step, the network transmission task 170 divides the data to be transmitted at the same time by the delay time obtained by multiplying the remaining delay value by dividing the identification number of the controller 100 by the number of groups of the controller 100 of the system by the minimum delay time. It is the step of transmitting after the delay.

도 9를 참조하면 이 실시 예의 분산제어 시스템은 제어기(100)에 식별번호를 부여한다. 식별번호는 시스템에 포함된 전체 제어기(100) 개수를 범위로 즉, 1부터 전체 제어기(100) 수까지의 범위를 갖는다. 일 예로 분산제어 시스템에 설치된 제어기(100)의 수가 100개이면 각 제어기(100)는 1부터 100까지 중 어느 하나의 식별번호를 고유하게 부여 받을 수 있다. 또한 지역별로 제어기(100)들을 그룹으로 분류한다. 분산제어 시스템의 네트워크 송신 태스크(170)가 동일한 시간에 전송되어야 하는 데이터를 그룹 별로 동일한 지연 시간을 지연한 후 전송하기 보다 제어기(100)의 식별번호를 시스템의 제어기(100) 그룹 수로 나눈 나머지 값에 최소 지연 시간을 곱한 시간으로 지연시간을 계산한다. 계산된 지연 시간 동안 지연한 후에 데이터를 전송한다. 예를 들어, 전체 제어기(100)가 10개이고 전체 그룹의 수가 3이면 식별번호가 1번, 4번, 7번, 10번 제어기(100)가 최소 지연 시간만큼 지연한 후 데이터를 전송하고, 2번, 5번, 8번 제어기(100)는 최소 지연 시간의 두배(제어기 식별번호 MOD 그룹의 수의 결과가 2이므로)만큼 지연한 후 데이터를 전송하고, 3번, 6번, 6번 제어기(100)는 지연 시간 없이 데이터를 전송할 수 있다.Referring to FIG. 9, the distributed control system of this embodiment assigns an identification number to the controller 100. The identification number ranges from the total number of controllers 100 included in the system, that is, from 1 to the total number of controllers 100. For example, if the number of controllers 100 installed in the distributed control system is 100, each controller 100 may be uniquely assigned any one identification number from 1 to 100. In addition, the controllers 100 are classified into groups by region. The remaining value obtained by dividing the identification number of the controller 100 by the number of groups of the controller 100 of the system, rather than transmitting the data to be transmitted at the same time by the network transmission task 170 of the distributed control system after delaying the same delay time for each group. Calculate the delay time by multiplying by the minimum delay time. The data is transmitted after a delay for the calculated delay time. For example, if the total number of controllers 100 is 10 and the total number of groups is 3, the identification numbers 1, 4, 7, and 10 are delayed by the minimum delay time, and then data is transmitted. Controllers 100, 5, and 8 transmit data after delaying twice the minimum delay time (since the result of the number of controller identification number MOD groups is 2), and transmitting controllers 3, 6, and 6 ( 100 may transmit data without delay.

이상에서 본 발명을 첨부된 도면을 참조하는 실시 예들을 통해 설명하였지만 이에 한정되는 것은 아니며, 이들로부터 당업자라면 자명하게 도출할 수 있는 다양한 변형 예들을 포괄하도록 해석되어야 한다. 특허청구범위는 이러한 변형 예들을 포괄하도록 의도되었다. Although the present invention has been described above with reference to the accompanying drawings, the present invention is not limited thereto, and it should be interpreted to cover various modifications that will be apparent to those skilled in the art. The claims are intended to cover these modifications.

100: 제어기
110: 프로세서
120: 메모리
130: 패킷 분배 태스크
140: 제1 네트워크 수신 태스크
150: 제2 네트워크 수신 태스크
160: 처리 태스크
170: 네트워크 송신 태스크
200: 운영 서버
100: controller
110: processor
120: memory
130: packet distribution task
140: the first network receive task
150: a second network receive task
160: processing task
170: network send task
200: production server

Claims (6)

네트워크를 통해 다수가 서로 연결되어 데이터를 전송하고 수신하여 분산 제어 시스템을 구성하며, 비정상 태스크의 감시 기능을 가진 분산제어 시스템의 제어기에 있어서,
프로세서와 메모리를 포함하고, 상기 프로세서는 :
제어기의 고유한 기능을 처리하는 처리 태스크를 포함하고, 프로세서를 선점할 때마다 상기 메모리의 시스템 메모리의 고유하게 할당된 특정 영역에 자신의 하트비트(Heartbeat) 값을 기록하는 복수의 태스크들과,
타이머 인터럽트를 처리하며, 태스크 별로 고유하게 할당된 메모리의 특정 영역의 하트비트 값이 갱신되고 있는지를 체크하여 특정 태스크가 프로세서를 독점적으로 선점하고 있는 지 확인하는 타이머 처리 태스크를 프로세서에서 실행하는 분산제어 시스템의 제어기.
In a controller of a distributed control system having a plurality of connected to each other through a network to transmit and receive data to configure a distributed control system, and having an abnormal task monitoring function,
And a processor and a memory, wherein the processor is:
A plurality of tasks including a processing task for processing a unique function of the controller, each time preempting a processor, recording its heartbeat value in a uniquely allocated specific area of the system memory of the memory;
Distributed control that processes timer interrupts and executes timer processing tasks on the processor that checks whether the heartbeat value of a specific area of memory allocated to each task is being updated to determine if a particular task is preemptively preempting the processor. Controller of the system.
제 1 항에 있어서,
상기 타이머 처리 태스크의 타이머 인터럽트가 다른 인터럽트에 비해 높은 우선순위를 갖도록 설정된 분산제어 시스템의 제어기.
The method of claim 1,
And a timer interrupt of the timer processing task has a higher priority than other interrupts.
제 1 항에 있어서,
상기 타이머 처리 태스크가 하트비트(Heartbeat) 값이 갱신되고 있지 않는 태스크를 인식하면 시스템 메모리와 레지스터 값을 덤프한 덤프 파일을 생성하는 분산제어 시스템의 제어기.
The method of claim 1,
And generating a dump file dumping a system memory and a register value when the timer processing task recognizes a task whose heartbeat value is not being updated.
제 1 항에 있어서,
상기 제어기는 처리 태스크의 고유 제어 기능의 처리 결과를 포함하는 데이터를 분산제어 시스템 내의 다른 제어기로 전송하는 네트워크 송신 태스크를 추가로 실행하는 제어기.
The method of claim 1,
And the controller further executes a network transmission task for transmitting data containing the processing result of the intrinsic control function of the processing task to another controller in the distributed control system.
제 4 항에 있어서,
상기 제어기는 지역별로 그룹으로 분류되고,
상기 네트워크 송신 태스크는 동일한 시간에 전송되어야 하는 데이터를 그룹 단위로 다른 지연 시간을 설정하여 전송하는 제어기.
The method of claim 4, wherein
The controller is classified into groups by region,
The network transmission task is a controller for transmitting data to be transmitted at the same time by setting different delay time in group units.
제 5 항에 있어서,
상기 제어기는 분산제어 시스템에 포함된 제어기의 개수의 범위로 고유한 식별번호를 부여받고,
상기 네트워크 송신 태스크는 동일한 시간에 전송되어야 하는 데이터를 제어기의 식별번호를 시스템의 제어기 그룹 수로 나눈 나머지 값에 최소 지연 시간을 곱한 시간만큼 지연 후에 전송하는 제어기.
The method of claim 5,
The controller is given a unique identification number in the range of the number of controllers included in the distributed control system,
And transmitting the data to be transmitted at the same time after the delay by a time obtained by multiplying the minimum delay time by the remaining value obtained by dividing the identification number of the controller by the number of controller groups of the system.
KR1020190059662A 2019-05-21 2019-05-21 A controller of a distributed control system having an abnormal task monitoring function KR102031576B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190059662A KR102031576B1 (en) 2019-05-21 2019-05-21 A controller of a distributed control system having an abnormal task monitoring function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190059662A KR102031576B1 (en) 2019-05-21 2019-05-21 A controller of a distributed control system having an abnormal task monitoring function

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180076150A Division KR101985341B1 (en) 2018-06-30 2018-06-30 Distributed control system with loss of control prevention feature due to data explosion

Publications (2)

Publication Number Publication Date
KR20190065202A KR20190065202A (en) 2019-06-11
KR102031576B1 true KR102031576B1 (en) 2019-10-14

Family

ID=66846901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190059662A KR102031576B1 (en) 2019-05-21 2019-05-21 A controller of a distributed control system having an abnormal task monitoring function

Country Status (1)

Country Link
KR (1) KR102031576B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666389B (en) * 2022-03-14 2024-05-17 京东科技信息技术有限公司 Method and device for detecting node state in distributed system and computer equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100518478B1 (en) * 1997-06-23 2005-10-05 코닌클리케 필립스 일렉트로닉스 엔.브이. Slave DSP reboots stalled master CPU
KR101290784B1 (en) * 2012-04-13 2013-07-30 주식회사 우리기술 Apparatus and method for task synchronization in distributed control system
KR101794696B1 (en) * 2016-08-12 2017-11-07 서울시립대학교 산학협력단 Distributed processing system and task scheduling method considering heterogeneous processing type

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100554177B1 (en) * 2003-12-19 2006-02-22 한국전자통신연구원 System and method improving traffic process in an integration network of the voice over internet protocol network and the public switched telephone network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100518478B1 (en) * 1997-06-23 2005-10-05 코닌클리케 필립스 일렉트로닉스 엔.브이. Slave DSP reboots stalled master CPU
KR101290784B1 (en) * 2012-04-13 2013-07-30 주식회사 우리기술 Apparatus and method for task synchronization in distributed control system
KR101794696B1 (en) * 2016-08-12 2017-11-07 서울시립대학교 산학협력단 Distributed processing system and task scheduling method considering heterogeneous processing type

Also Published As

Publication number Publication date
KR20190065202A (en) 2019-06-11

Similar Documents

Publication Publication Date Title
CN107615709B (en) Forwarding unit and controller unit of SDN
CN108762896B (en) Hadoop cluster-based task scheduling method and computer equipment
US6757897B1 (en) Apparatus and methods for scheduling and performing tasks
US9197576B2 (en) Method and apparatus for allocating and prioritizing data transmission
CN104580396A (en) Task scheduling method, node and system
EP3297208B1 (en) Processing apparatus for bus data
US10356014B2 (en) Method of processing bus data
EP3557345B1 (en) Control apparatus, system program, and control method
KR101985341B1 (en) Distributed control system with loss of control prevention feature due to data explosion
KR102031576B1 (en) A controller of a distributed control system having an abnormal task monitoring function
CN114531373A (en) Node state detection method, node state detection device, equipment and medium
WO2018036606A1 (en) Device and method for managing end-to-end connections
US5737626A (en) Deterministic communication network for industrial control
JP6939665B2 (en) Network system
US11522762B2 (en) Coordination device and method for providing control applications via a communication network for transmitting time-critical data
JP5937042B2 (en) TDM network system and scheduling method thereof
CN116720179B (en) API interface management method, terminal device and computer readable storage medium
EP1076275A2 (en) Distributed real-time operating system
CN117891561A (en) Optimization method and device for security service chain and computer readable storage medium
JP3368131B2 (en) Polling control method
CN111966513A (en) Priori-knowledge-free Coflow multi-stage queue scheduling method and device and scheduling equipment thereof
JP2006041686A (en) Packet switchboard
US20030050953A1 (en) Method of operating a computer system and apparatus
WO2016083986A1 (en) Method for ensuring execution of a plant process in a distributed control system
JP2002353910A (en) Supporting device for remote maintenance

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant