KR102050312B1 - Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller - Google Patents

Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller Download PDF

Info

Publication number
KR102050312B1
KR102050312B1 KR1020190035608A KR20190035608A KR102050312B1 KR 102050312 B1 KR102050312 B1 KR 102050312B1 KR 1020190035608 A KR1020190035608 A KR 1020190035608A KR 20190035608 A KR20190035608 A KR 20190035608A KR 102050312 B1 KR102050312 B1 KR 102050312B1
Authority
KR
South Korea
Prior art keywords
program
protocol
setting
data
communication
Prior art date
Application number
KR1020190035608A
Other languages
Korean (ko)
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 KR1020190035608A priority Critical patent/KR102050312B1/en
Application granted granted Critical
Publication of KR102050312B1 publication Critical patent/KR102050312B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Programmable Controllers (AREA)

Abstract

Provided is a technology, which uses an embedded CPU included in a PLC or the like essentially installed between upper and lower systems of an automatic control system to replace a function of the existing gateway, and supports a multi-communication mode and a multi-communication protocol to be adaptive with only the program settings, thereby enabling cost loss and universal use. In order to achieve the above purpose, according to one embodiment of the present invention, the method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in the PLC comprises a project generation step, a first setting step, a second setting step, a third setting step, a first verification step, a fourth setting step, a fifth setting step, a second verification step, and a program installation step.

Description

PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법, 장치 및 컴퓨터-판독가능 기록매체{SUPPORTING METHOD, APPARATUS AND COMPUTER-READABLE MEDIUM OF MULTI COMMUNICATION TYPE AND PROTOCOL BETWEEN SYSTEMS USING EMBEDDED CPU INCLUDED IN PROGRAMMABLE LOGIC CONTROLLER}SUPPORTING METHOD, APPARATUS AND COMPUTER-READABLE MEDIUM OF MULTI COMMUNICATION TYPE AND PROTOCOL BETWEEN SYSTEMS USING EMBEDDED CPU INCLUDED IN PROGRAMMABLE LOGIC CONTROLLER}

본 발명은 PLC(Programmable Logic Controller)가 적용된 현장의 자동제어시스템에 있어서 HMI(Human Machine Interface) 등의 상위 시스템과 계측기, 제어 단말 및 기타 PLC 및 DDC(Digital to Digital Converter) 등의 하위 시스템 간의 통신을 중개하여 하위 시스템으로부터 센싱 데이터를 상위 시스템에 전송하거나 상위 시스템으로부터 제어 명령을 하위 시스템에 전송하기 위한 것으로, 구체적으로는 각 현장에 따라서 서로 다르게 적용되는 통신 방식, 통신 프로토콜 및 프로그램 언어에 따라서 별도의 게이트웨이를 적용할 필요 없이, 하나의 PLC 내부의 임베디드 CPU를 이용하여 모든 통신 및 멀티 프로토콜에 대한 통신을 지원하는 기술에 관한 것이다.The present invention is a communication system between an upper system such as a HMI (Human Machine Interface) and an instrument, a control terminal, and other PLCs and sub-systems such as a digital to digital converter in an automatic control system in a field to which a programmable logic controller (PLC) is applied. It is to transfer sensing data from the lower system to the upper system by intermediating the control system, or to transmit control commands from the upper system to the lower system. Specifically, it is different depending on the communication method, communication protocol, and programming language applied differently according to each site. The present invention relates to a technology that supports communication for all communication and multi-protocols using an embedded CPU inside a PLC without applying a gateway.

자동제어시스템은 제어 대상이 되는 기기들을 미리 설정된 값 범위 내에서 자동으로 시스템의 상태를 변화하면서 제어를 수행하는 시스템을 의미한다. 이를 위해서, 자동제어시스템은 제어 대상이 되어 제어 명령에 따라서 동작하고, 제어 결과 또는 제어에 필요한 주변의 환경 값을 측정하는 각종 장비들을 지칭하는 하위 시스템과, 하위 시스템으로부터 센싱값 등을 전달받아 하위 시스템에 대한 감시 및 계측을 수행하고, 설정된 범위 또는 입력된 값에 따라서 제어 명령을 생성하여 하위 시스템에 전달하여 하위 시스템에 대한 제어를 수행하기 위한 상위 시스템을 포함하여 구성된다.The automatic control system refers to a system that performs control while changing the state of the system automatically within a preset value range of the devices to be controlled. To this end, the automatic control system becomes a control target and operates according to a control command and receives a sensing value from the subsystem and a sub system that refers to various equipments for measuring the control result or the surrounding environmental value required for control. It is configured to include a higher level system for performing monitoring and measurement on the system, generating control commands according to a set range or input values, and transmitting the control commands to the lower level system to perform control on the lower level system.

상위 시스템과 하위 시스템은 서버-클라이언트 시스템을 구성하여 각 시스템 간에 데이터를 송수신하여 복잡한 설비를 자동으로 제어하는 자동제어시스템을 구축하는데, 예를 들어 변전소, 정수장, 하수처리장, 펌프장 등 원격감시 기능을 포함하는 시스템을 구축한다.The upper system and the lower system constitute a server-client system to establish an automatic control system that automatically transmits and receives data between each system and automatically controls complex facilities. For example, remote monitoring functions such as substations, water purification plants, sewage treatment plants, and pump stations are provided. Build a system that includes

이러한 자동제어시스템은 하위 시스템에 속하는 현장설비의 실케이블 또는 각 프로토콜이 탑재된 형식의 모듈의 데이터를 취득하고, HMI(Human Machine Interface) 등의 상위 시스템의 제어에 의한 하위시스템 자동 제어를 수행한다. 현재 적용되고 있는 자동제어시스템은 하위 시스템 및 상위 시스템과의 상이한 상이한 통신환경 및 프로토콜에 따라서, 통신 방식 및 통신 프로토콜의 적용에 있어서 각각 서로 다른 통신 게이트웨이 및 프로토콜 변환 게이트웨이를 별도로 설치하여 운영 중에 있다.The automatic control system acquires the data of the module of the field cable or the protocol installed in the field equipment belonging to the lower system, and performs the automatic control of the subsystem by the control of the upper system such as HMI (Human Machine Interface). . Currently applied automatic control systems are operating by separately installing different communication gateways and protocol conversion gateways in the application of communication methods and communication protocols according to different communication environments and protocols different from those of lower systems and upper systems.

대표적인 예로서, 한국등록특허 제10-0900882호 등에서는 이러한 상이한 통신 프로토콜에 적응 가능한 게이트웨이 디바이스에 대한 기술을 제시하고 있다. 이는 게이트웨이 디바이스를 통해서 서로 상이한 프로토콜을 변환하도록 하는 기술적 특징을 포함하고 있다.As a representative example, Korean Patent No. 10-0900882 et al. Discloses a technology for a gateway device adaptable to such different communication protocols. It includes technical features that allow gateway devices to convert different protocols from one another.

그러나, 이 경우에도 결국, 별도의 게이트웨이를 별도로 설치하여 운영할 수밖에 없기 때문에, 이에 따른 경비 손실 및 운영의 번거로움의 문제점이 필수적으로 발생하게 된다.However, even in this case, since there is no choice but to install and operate a separate gateway separately, the problem of cost loss and the cumbersome operation is necessarily generated.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 자동제어시스템의 상/하위 시스템 간에 필수적으로 설치되는 PLC 등에 포함되는 임베디드 CPU를 이용하여 기존의 게이트웨이의 기능을 대체하되, 다중 통신 방식 및 멀티 통신 프로토콜에 대해서 프로그램 설정만으로 이를 적응성 있게 지원하도록 하여, 경비 손실 및 범용적 사용이 가능한 기술을 제공하는 데 그 목적이 있다.The present invention is to solve the above problems, using the embedded CPU included in the PLC, which is essentially installed between the upper and lower systems of the automatic control system to replace the function of the existing gateway, multiple communication method and multi communication The purpose of this program is to provide a technology capable of supporting loss of cost and general use by adaptively supporting the protocol by setting a program.

상기 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법은, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법에 관한 것으로, 상기 컴퓨팅 장치가 포함된 PLC에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 프로젝트 생성 단계; 상기 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 상기 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제1 설정 단계; 하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 제2 설정 단계; 하위 시스템의 자동제어 조건에 따른 로직을 상기 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 가상 변수를 대입하는 제3 설정 단계; 상기 제3 설정 단계 완료 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 제1 검증 단계; 상기 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 상기 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제4 설정 단계; 상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 제5 설정 단계; 상기 제5 설정 단계 완료 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 제2 검증 단계; 및 상기 제2 검증 단계에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 상기 프로그램 툴로부터 상기 임베디드 CPU에 다운로드하는 프로그램 설치 단계;를 포함하는 것을 특징으로 한다.In order to achieve the above object, a multi-communication and multi-protocol support method between systems using an embedded CPU included in a PLC according to an embodiment of the present invention includes one or more processors and one or more memories for storing instructions executable by the processor. The present invention relates to a method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC implemented as a computing device including an initial stage through a program tool driven in an embedded CPU module implemented in a PLC including the computing device. A project generation step of generating a first program for automatic control for each system according to an input; The embedded CPU module and the sub-system in accordance with a first input from an input means for a first communication scheme and a first protocol setpoint as a communication scheme and a protocol setpoint for data transmission and reception between the embedded CPU module and the subsystem; A first setting step of generating a first communication port and a first protocol which is a communication port and a protocol of the first protocol, and storing the first protocol in the first program; A second setting step of setting a variable for collecting data of the subsystem and a communication period for updating data; A third setting step of configuring logic according to an automatic control condition of a subsystem through the program tool and substituting real-time and virtual variables corresponding to the condition of the configured logic; A first verifying step of verifying integrity of the first program through compilation and virtual simulation of the first program after completion of the third setting step; According to the second input from the input means for the second communication method and the second protocol setting value as a communication method and protocol setting value for data transmission and reception between the embedded CPU module and the upper system, A fourth setting step of generating a second communication port and a second protocol, which are communication ports and protocols of the second protocol, and storing them in the first program; A fifth setting step in which the upper system goes through a process for setting data management criteria for collecting and managing data of the lower system; A second verifying step of verifying integrity of the first program through compilation and virtual simulation of the first program after completion of the fifth setting step; And a program installation step of downloading the first program whose integrity is confirmed by the second verifying step from the program tool to the embedded CPU through a network.

상기 프로젝트 생성 단계는, 입력 수단에 따른 입력에 따라 시스템별 환경에 대응되는 프로그램 언어를 선택하는 것이 바람직하다.In the project generation step, it is preferable to select a program language corresponding to a system-specific environment according to an input by an input means.

상기 제2 설정 단계는, 하위 시스템의 데이터 수집을 위한 변수를 생성하고, 데이터 태그 타입(Data Tag Type)의 변수형을 설정하여 프로그램 툴에 저장하는 제1 저장 단계; 및 상기 하위 시스템의 데이터 업데이트를 위한 제1 통신 주기를 설정하되, 상기 상위 시스템의 스펙별로 미리 설정된 상위 시스템에 요청하는 데이터 수집주기인 제2 통신 주기보다 짧게 설정하는 제1 통신 주기 설정 단계;를 포함하는 것이 바람직하다.The second setting step may include: a first storing step of generating a variable for collecting data of a subsystem, setting a variable type of a data tag type and storing the variable type in a program tool; And setting a first communication period for data update of the lower system, but setting a first communication period shorter than a second communication period, which is a data collection period for requesting a higher system set in advance for each specification of the upper system. It is preferable to include.

상기 제1 검증 단계는, 상기 하위 시스템의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제3 설정 단계의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제1 컴파일 단계; 상기 제1 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제1 디버깅 단계; 및 상기 제1 디버깅 단계의 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제3 설정 단계에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 제1 검증 완료 단계;를 포함하는 것이 바람직하다.The first verifying step may be performed by compiling a first program configured according to completion of the third setting step by using the data tag type, the real-time variable, and the virtual variable of the sub-system. A first compilation step of testing whether the operation is normal; A first debugging step of performing debugging by entering a root of a first program in which an error occurs when an error occurs according to the progress of the first compilation step; And a first verification completion step of confirming integrity of the first program by controlling the logic and the value of each data configured in the third setting step by using the virtual simulation function in the program tool after performing the first debugging step. It is preferable to include;

상기 제5 설정 단계는, 상기 제2 설정 단계에 의하여 상기 프로그램 툴에 저장된 하위 시스템과의 데이터 태그 타입을 상위 시스템이 요청하는 데이터 태그 타입 및 실시간 데이터로 매핑하는 것이 바람직하다.In the fifth setting step, the data tag type with the lower system stored in the program tool may be mapped to the data tag type and real time data requested by the upper system by the second setting step.

상기 제2 검증 단계는, 상기 상위 시스템과의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제5 설정 단계의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제2 컴파일 단계; 상기 제2 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제2 디버깅 단계; 및 상기 제2 디버깅 단계의 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제1 설정 단계 내지 제5 설정 단계에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 제2 검증 완료 단계;를 포함하는 것이 바람직하다.The second verifying step may be performed by compiling a first program configured according to completion of the fifth setting step by using a data tag type, the real time variable, and the virtual variable with the upper system. A second compilation step of testing whether the program operates normally; A second debugging step of performing debugging by entering a root of a first program in which an error occurs when an error occurs according to the progress of the second compilation step; And verifying the integrity of the first program by controlling the logic and the value of each data configured in the first to fifth setting steps using a virtual simulation function in the program tool after performing the second debugging step. Comprising a second verification step; preferably.

상기 상위 시스템은, 적어도 하위 시스템의 동작을 감시하고, 하위 시스템의 동작을 제어하기 위한 HMI(Human Machine Interface)가 구현되는 시스템인 것이 바람직하다.Preferably, the upper system is a system in which a human machine interface (HMI) for monitoring the operation of at least the lower system and controlling the operation of the lower system is implemented.

상기 하위 시스템은, 적어도 현장 시스템에서 동작되는 디바이스, 현장 시스템을 계측하는 디바이스, 현장 시스템의 디바이스에 대한 PLC(Programmable Logic Controller) 및 DDC(Digital to Digital Conerter)으로 구성되는 시스템인 것이 바람직하다.The sub-system is preferably a system composed of at least a device operated in the field system, a device for measuring the field system, a programmable logic controller (PLC) and a digital to digital controller (DDC) for a device of the field system.

본 발명의 일 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치는, 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치에 관한 것으로, 상기 컴퓨팅 장치가 포함된 PLC에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 프로젝트 생성부; 상기 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 상기 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제1 설정부, 하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 제2 설정부, 및 하위 시스템의 자동제어 조건에 따른 로직을 상기 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 가상 변수를 대입하는 제3 설정부를 포함하는 하위 시스템 설정부; 상기 하위 시스템 설정부의 기능 수행 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 하위 시스템 검증부; 상기 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 상기 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제4 설정부, 및 상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 제5 설정부를 포함하는 상위 시스템 설정부; 상기 상위 시스템 설정부의 기능 수행 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 상위 시스템 검증부; 및 상기 상위 시스템 검증부에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 상기 프로그램 툴로부터 상기 임베디드 CPU에 다운로드하는 프로그램 설치부;를 포함하는 것을 특징으로 한다.An apparatus for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC according to an embodiment of the present invention may be implemented as a computing device including at least one processor and at least one memory storing instructions executable by the processor. The present invention relates to an apparatus for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC, wherein the system-specific automatic control is performed according to an initial input through a program tool driven in an embedded CPU module implemented in a PLC including the computing device. Project generation unit for generating a first program for; The embedded CPU module and the sub-system in accordance with a first input from an input means for a first communication scheme and a first protocol setpoint as a communication scheme and a protocol setpoint for data transmission and reception between the embedded CPU module and the subsystem; A first setting unit for generating a first communication port and a first protocol and a first protocol of the communication port and a protocol, and storing the first protocol in the first program, a variable for collecting data of a subsystem, and a second setting for setting a communication period for updating data A sub-setting unit including a third setting unit configured to configure logic according to an automatic control condition of a sub-system through the program tool, and substitute real-time variables and virtual variables corresponding to the configured logic conditions; A subsystem verification unit for verifying integrity of the first program through compilation and virtual simulation of the first program after performing the function of the subsystem setting unit; According to the second input from the input means for the second communication method and the second protocol setting value as a communication method and protocol setting value for data transmission and reception between the embedded CPU module and the upper system, A fourth setting unit for generating and storing a second communication port and a second protocol, which are communication ports and protocols, in the first program, and a process for setting data management criteria for the upper system to collect and manage data of a lower system An upper system setting unit including a fifth setting unit configured to proceed; An upper system verifying unit verifying the integrity of the first program through compilation and virtual simulation of the first program after performing the function of the upper system setting unit; And a program installation unit for downloading the first program whose integrity is confirmed by the upper system verification unit from the program tool to the embedded CPU through a network.

본 발명에 의하면, 상위 시스템 및 하위 시스템 간의 통신을 담당하는 PLC에 포함된 임베디드 CPU에, 해당 CPU 또는 별도의 단말 등에 의하여 실행되는 프로그램 툴을 이용하여 각 시스템 간의 통신 방식 및 통신 프로토콜이 서로 다르더라도, 이에 적응 가능한 프로젝트를 생성하고, 이에 따라서 각 시스템 간의 제어 로직 및 통신 방식 및 통신 프로토콜을 설정하고 이에 대한 무결성 검증을 하는 것을 통해, 각 통신 방식 및 통신 프로토콜에 매칭되는 별도의 게이트웨이의 설치가 전혀 필요없이 모든 통신 방식 및 통신 프로토콜에 대한 대응이 가능하게 된다.According to the present invention, even if an embedded CPU included in a PLC in charge of communication between a higher system and a lower system uses a program tool executed by the CPU or a separate terminal, the communication method and communication protocol between the systems are different. By creating a project that is adaptable to this, and setting the control logic and communication method and communication protocol between each system and verifying the integrity thereof, there is no need to install a separate gateway matching each communication method and communication protocol. It is possible to cope with all communication methods and communication protocols without need.

이에 따라서 하위 시스템 및 상위 시스템을 통한 자동제어시스템의 시스템 간 제어, 계측 및 감시를 위한 다중의 통신 방식 및 멀티 프로토콜에 대한 통신을 수행함에 있어서 대응 비용이 크게 감소하고, 하나의 프로그램 툴 만으로 용이하게 운영이 가능한 효과가 있다.As a result, the corresponding cost is greatly reduced in the communication between the multiple communication methods and the multi-protocol for the control, measurement, and monitoring between the systems of the automatic control system through the lower system and the upper system, and easily with only one program tool. It is possible to operate.

도 1 내지 4는 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법의 플로우차트.
도 5는 본 발명이 구현되는 자동제어시스템의 개략적 구성도.
도 6 내지 8은 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치의 전체 또는 일부 구성의 구성 블록도.
도 9는 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템이 적용되는 예를 설명하기 위한 도면.
도 10은 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 내부 구성의 일 예.
1 to 4 are flowcharts of a method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC according to an embodiment of the present invention.
5 is a schematic configuration diagram of an automatic control system in which the present invention is implemented.
6 to 8 are configuration block diagrams of all or a part of components of a multi-communication and multi-protocol supporting apparatus between systems using an embedded CPU included in a PLC according to each embodiment of the present invention.
FIG. 9 is a view for explaining an example in which a system using an embedded CPU included in a PLC according to an embodiment of the present invention is applied. FIG.
10 is an example of an internal configuration of a computing device according to an embodiment of the present invention.

이하에서는, 다양한 실시 예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.In the following, various embodiments and / or aspects are now disclosed with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. However, it will also be appreciated by one of ordinary skill in the art that this aspect (s) may be practiced without these specific details. The following description and the annexed drawings set forth in detail certain illustrative aspects of the one or more aspects. However, these aspects are exemplary and some of the various methods in the principles of the various aspects may be used and the descriptions described are intended to include all such aspects and their equivalents.

본 명세서에서 사용되는 "실시 예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.As used herein, “an embodiment”, “an example”, “aspect”, “an example”, and the like, may not be construed that any aspect or design described is better or advantageous than other aspects or designs. .

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.In addition, the terms "comprises" and / or "comprising" mean that such features and / or components are present, but exclude the presence or addition of one or more other features, components, and / or groups thereof. It should be understood that it does not.

또한, 제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.In addition, terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

또한, 본 발명의 실시 예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시 예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein including technical or scientific terms are generally understood by those skilled in the art to which the present invention belongs. It has the same meaning. Terms such as those defined in the commonly used dictionaries should be interpreted as having meanings consistent with the meanings in the context of the related art, and ideally or excessively formal meanings are not defined clearly in the embodiments of the present invention. Not interpreted as

도 1 내지 4는 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법의 플로우차트이다.1 to 4 are flowcharts of a method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC according to an embodiment of the present invention.

본 발명에 대한 설명에 앞서, 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법은, 후술하는 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치의 각 구성에 의하여 실행될 것이다. 또한, 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치는, 후술하는 하나 이상의 프로세서 및 프로세서에서 수행 가능한 명령들을 저장하는 하나의 이상의 메모리를 포함하는 컴퓨팅 장치와 같거나, 컴퓨팅 장치에 구현되는 하드웨어 또는 소프트웨어적 구성을 의미한다. Prior to the description of the present invention, a method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC according to each embodiment of the present invention is embedded in a PLC according to each embodiment of the present invention described below. It will be implemented by each configuration of a multi-communication and multi-protocol supporting apparatus between systems using a CPU. In addition, an apparatus for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC according to each embodiment of the present invention may include one or more processors and one or more memories for storing instructions that can be executed by the processor. The same as a computing device, or means a hardware or software configuration implemented in the computing device.

한편 본 발명에서 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치 및 컴퓨팅 장치는, 바람직하게는 자동제어시스템 상의 PLC(Programmable Logic Controller)에 구현되는 임베디드 CPU 모듈과 동일한 개념 또는 임베디드 CPU 모듈에 포함되어 구현되는 일부 단말일 수 있다. 또한 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법은 상술한 컴퓨팅 장치, PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치 등에 의하여 구현될 것이나, 구체적으로는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통해 각 기능이 수행될 것이다. 즉 임베디드 CPU 모듈에서 구동되는 프로그램 툴에 대한 유저의 상기의 PLC에 포함된 입력 수단에 의한 입력 및 프로그램 툴이 인터페이싱(Interfacing)함에 따른 컴퓨팅 장치의 기능 수행에 의해서 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법이 수행되는 것으로 이해될 것이다.On the other hand, in the present invention, the multi-communication and multi-protocol supporting apparatus and computing device between the systems using the embedded CPU included in the PLC, preferably the same concept or embedded as the embedded CPU module implemented in a programmable logic controller (PLC) on the automatic control system It may be some terminal included in the CPU module and implemented. In addition, the multi-communication and multi-protocol support method between systems using the embedded CPU included in the PLC according to an embodiment of the present invention, the multi-communication and multi-protocol support apparatuses between the computing device, the system using the embedded CPU included in the PLC, etc. It will be implemented by, but specifically, each function will be performed through a program tool running on the embedded CPU module. That is, a system using an embedded CPU included in a PLC by inputting by an input means included in the PLC of a user to a program tool driven in an embedded CPU module and performing a function of a computing device as the program tool interfaces. It will be understood that multi-communication and multi-protocol support methods between the two are performed.

이러한 내용을 바탕으로 설명하면, 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법에 있어서 먼저 컴퓨팅 장치가 포함된 PLC에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 프로젝트 생성 단계(S10)가 수행된다.Referring to the above description, in the method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC according to an embodiment of the present invention, the first device is driven by an embedded CPU module implemented in a PLC including a computing device. According to the initial input through the program tool is a project generation step (S10) for generating a first program for automatic control for each system is performed.

본 발명에서 프로그램 툴은 일종의 인터페이스가 CPU 모듈의 기능 수행에 따라서 출력 수단에 출력 시, 해당 인터페이스를 관리하는 프로그램을 의미한다. 일반적으로 프로그램 툴은 일종의 인터페이스로서, 유저가 출력 수단을 통해 이를 확인하고 이에 대해서 입력 수단을 통해서 특정 입력을 수행하면, 입력에 따라 기능을 수행하는 구성을 의미한다.In the present invention, a program tool refers to a program that manages a corresponding interface when an interface is outputted to an output means according to a function of a CPU module. Generally, a program tool is a kind of interface. When a user checks this through an output means and performs a specific input through the input means, the program tool means a configuration that performs a function according to the input.

S10 단계의 기능 수행에 있어서 초기 입력은, 각 현장, 즉 자동제어시스템이 적용되는 특정 현장에 있어서 해당 현장의 상위 시스템 및 제어, 감시 및 계측 대상이 되는 하위 시스템에 대응되는 프로젝트, 즉 자동제어시스템의 기능 수행을 위한 프로그램에 대한 기본적인 기능만을 포함하는 벌크 프로그램의 생성과, 해당 프로젝트를 저장할 수 있는 경로, 즉 임베디드 CPU 모듈에 있어서 자동제어시스템의 기능을 구현할 수 있도록 해당 프로젝트가 저장되어야 하는 경로를 설정하는 입력을 의미한다. 이하의 설명에 있어서 모든 입력은 컴퓨팅 장치가 자동으로 수행하거나, 초기 입력과 같이 특정 세팅값이 필요한 입력의 경우, 상술한 입력 수단에 대한 유저의 입력에 따라 프로그램 툴을 통해 입력되는 것을 의미한다.In performing the function of step S10, the initial input is a project corresponding to the upper system of the corresponding site and the sub-system which is the object of control, monitoring and measurement in the specific site to which the automatic control system is applied, that is, the automatic control system. Create a bulk program that contains only basic functions for the program to perform the function of the program, and the path where the project can be saved, that is, the path where the project should be stored so that the function of the automatic control system can be implemented in the embedded CPU module. It means the input to set. In the following description, all the inputs are automatically performed by the computing device, or in the case of inputs requiring a specific setting value such as initial input, it means that the input through the program tool according to the user's input to the above-described input means.

또한, 초기 입력에는, 상술한 자동제어시스템 현장의 환경에 맞는 프로그램 언어를 선택하는 입력이 포함될 수 있다. 자동제어시스템 현장은 예를 들어, 변전소, 정수장, 하수처리장, 펌프장, 배수지 및 기타 빌딩 등 제어 대상이 되는 하위 단말에 대한 원격감시, 계측 및 자동제어가 적용될 수 있는 모든 현장을 의미한다.In addition, the initial input may include an input for selecting a program language suitable for the environment of the above-described automatic control system site. Automated control system site means any site where remote monitoring, measurement and automatic control of subordinate terminals to be controlled, such as substations, water treatment plants, sewage treatment plants, pump stations, reservoirs and other buildings, can be applied.

한편 자동제어시스템 현장에는, 상술한 바와 같이 제어 대상이 되어 제어 명령에 따라서 동작하고, 제어 결과 또는 제어에 필요한 주변의 환경 값을 측정하는 각종 장비들을 지칭하는 적어도 현장 시스템에서 동작되는 디바이스, 현장 시스템을 계측하는 디바이스, 현장 시스템의 디바이스에 대한 PLC(Programmable Logic Controller) 및 DDC(Digital to Digital Conerter)으로 구성되는 하위 시스템과, 하위 시스템으로부터 센싱값 등을 전달받아 하위 시스템에 대한 감시 및 계측을 수행하고, 설정된 범위 또는 입력된 값에 따라서 제어 명령을 생성하여 하위 시스템에 전달하여 하위 시스템에 대한 제어를 수행하기 위한, 즉 적어도 하위 시스템의 동작을 감시하고, 하위 시스템의 동작을 제어하기 위한 HMI(Human Machine Interface)가 구현되는 상위 시스템을 포함하여 구성될 수 있다. 즉 상위 시스템과 하위 시스템은 서버 클라이언트 시스템(Server-Client System)을 구성하여, 각 시스템 간에 데이터를 송수신하여 복잡한 설비를 자동으로 제어하는 자동제어시스템을 구축하게 된다.On the other hand, in the field of the automatic control system, as described above, the device is operated at least in the field system, which refers to various equipments that are controlled according to the control command and measure the control result or the surrounding environmental value required for the control. A sub-system consisting of a device that measures data, a programmable logic controller (PLC) and a digital to digital controller (DDC) for a device in the field system, and receives sensing values from the sub-system to monitor and measure the sub-system. And an HMI for generating a control command according to a set range or an input value and transmitting the control command to the subsystem to perform control on the subsystem, that is, at least monitoring the operation of the subsystem and controlling the operation of the subsystem. It can be configured to include the parent system on which the Human Machine Interface is implemented. The. In other words, the upper system and the lower system form a server-client system, and establish an automatic control system for automatically controlling complex facilities by transmitting and receiving data between the systems.

S10 단계가 수행되면, 이후 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 상기 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 제1 프로그램에 저장하는 제1 설정 단계(S20)가 수행된다. When the step S10 is performed, the embedded according to the first input from the input means for the first communication method and the first protocol setting value as the communication method and protocol setting value for data transmission and reception between the embedded CPU module and the sub-system, A first setting step S20 of generating a first communication port and a first protocol, which is a communication port and a protocol between the CPU module and the subsystem, and storing the first communication port and the first protocol, is performed.

본 발명에서 하위 시스템과의 통신 방식은, 하드웨어적인 통신 방식을 정하는 것으로서, 예를 들어 계측기 컨트롤러 및 PLC, DDC 등을 포함하는 하위 시스템과의 RS-232, RS-485, TCP/IP, UDP/IP등의 통신 방식을 포함하는 개념으로서, 해당 통신 방식 이외에 다양한 통신 방식을 포함할 수 있다.In the present invention, the communication method with the subsystem is to determine the hardware communication method, for example, RS-232, RS-485, TCP / IP, UDP / with the subsystem including the controller and the PLC, DDC, etc. As a concept including a communication method such as IP, it may include various communication methods in addition to the communication method.

한편, 하위 시스템의 통신 프로토콜은, 각 계측기 컨트롤러 및 PLC, DDC등의 하위 시스템과의 DNP 3.0, IEC 61850, Modbus, BACnet 등의 프로토콜로서, 통신 방식에 따라 특정 프로토콜로 하위 시스템과 데이터를 송수신하는 개념이다.On the other hand, the communication protocol of the sub-system is a protocol such as DNP 3.0, IEC 61850, Modbus, BACnet, etc. with each instrument controller and PLC, DDC, etc. Concept.

S20 단계는 상술한 다중 통신 방식 및 멀티 통신 프로토콜 중 하위 시스템에 대한 데이터 송수신이 가능한 통신 방식 및 통신 프로토콜에 대한 설정값을 수신하고, 이를 확인 후 상술한 프로그램 툴에 대한 입력을 통해서, 하위 시스템과 임베디드 CPU 모듈, 즉 프로그램 툴에 의하여 생성된 프로그램이 실행되어 데이터 송수신을 위한 게이트웨이의 역할을 하는 하드웨어 간의 통신망 형성을 위한 통신 포트 및 프로토콜을 초기 생성하는 기능을 의미한다.Step S20 receives the setting values for the communication method and communication protocol capable of data transmission and reception for the sub-system among the above-described multi-communication method and the multi-communication protocol, and after checking this, through the input to the above-described program tool, It refers to a function of initially generating a communication port and a protocol for forming a communication network between hardware that executes a program generated by an embedded CPU module, that is, a program tool, and serves as a gateway for data transmission and reception.

S20 단계가 수행된 후, 하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 제2 설정 단계(S30)가 수행된다. 본 발명에서는 특정 게이트웨이 설치를 통한 정해진 하위 시스템과의 통신이 아닌, 범용적으로 이용 가능한 게이트웨이가 필요하지 않은 PLC 상의 임베디드 CPU 모듈 상에서의 하위 시스템과의 통신이 구현되는 것이기 때문에, 하위 시스템의 제어, 감시 및 계측을 위한 변수 및 상위 시스템과의 통신 주기에 따라서 하위 시스템으로부터의 데이터 업데이트를 위한 통신 주기를 설정하는 단계가 필요하다.After the step S20 is performed, a second setting step S30 of setting a variable for collecting data of the subsystem and a communication period for updating data is performed. In the present invention, since communication with the subsystem on the embedded CPU module on the PLC that does not require a universally available gateway, rather than communication with a predetermined subsystem through the installation of a specific gateway, the control of the subsystem, It is necessary to set a communication period for data update from the lower system according to the variable for monitoring and measurement and the communication period with the upper system.

구체적으로, 도 2를 참조하면, S30 단계의 기능 수행에 있어서 먼저 하위 시스템의 종류에 따라서 데이터 수집을 위한 변수를 생성하고, 데이터 태그 타입(Data Tag Type)의 변수형을 설정하여 프로그램 툴에 저장하는 제1 저장 단계(S31)가 수행된다. 프로그램 툴이 게이트웨이의 기능을 수행하도록 하는 프로그램을 설정하기 때문에 제1 프로그램에 대한 설정을 위해서 변수 생성 및 데이터 태그 타입의 변수형을 설정한 후, 자료취득 및 데이터베이스(DB)관리를 위하여 프로그램 툴에 해당 값을 저장한다.Specifically, referring to FIG. 2, in the performing of the function of step S30, first, a variable for data collection is generated according to the type of a sub-system, and a variable type of a data tag type is set and stored in a program tool. The first storage step S31 is performed. Since the program tool sets the program to perform the function of the gateway, after setting the variable type of the variable generation and the data tag type for setting the first program, it corresponds to the program tool for data acquisition and database (DB) management. Save the value.

이후, 하위 시스템의 데이터 업데이트를 위한 제1 통신 주기를 설정하되, 상위 시스템의 스펙별로 미리 설정된 상위 시스템에 요청하는 데이터 수집주기인 제2 통신 주기보다 짧게 설정하는 제1 통신 주기 설정 단계(S32)가 수행된다. 이는, 상위 시스템이 요청하는 데이터 수집주기인 제2 통신 주기보다 하위 시스템의 데이터 수집주기인 제1 통신 주기가 길게 설정되는 경우, 하위 시스템으로부터 최신 데이터를 수집하는 것이 불가능함에 따른 기술적 특징이다.Subsequently, a first communication cycle for setting data of the lower system is set, but a first communication cycle setting step (S32) is set to be shorter than a second communication cycle, which is a data collection cycle for requesting a preset upper system for each specification of the upper system. Is performed. This is a technical feature that it is impossible to collect the latest data from the lower system when the first communication period that is the data collection period of the lower system is set longer than the second communication period that is the data collection period that the upper system requests.

다시 도 1에 대한 설명으로 돌아와서, 상술한 바와 같이 S30 단계의 기능 수행이 완료되면, 하위 시스템의 자동제어 조건에 따른 로직을 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 가상 변수를 대입하는 제3 설정 단계(S40)가 수행된다. Returning to the description of FIG. 1 again, when the function of step S30 is completed as described above, the logic according to the automatic control condition of the subsystem is configured through a program tool, and the real-time variables and the virtual corresponding to the condition of the configured logic A third setting step S40 of assigning a variable is performed.

하위 시스템별로 자동제어 조건에 따른 구동 로직이 서로 다르게 설정될 것이기 때문에, 프로그램 툴에서 제공하는 로직 구성 인터페이스에 따라서 유저는 입력 수단을 이용하여 해당 로직을 구성하는 입력, 즉 각 하위 시스템의 제어, 계측 및 감시를 위한 세부 프로그램 코드를 구성하는 입력을 수신하여 이를 저장하고, 해당 로직의 조건에 부합하는 하위 시스템 제어, 계측 및 감시를 위한 특정 실시간 변수값 및 컴파일과 시뮬레이션 등을 위한 가상 변수를 대입하는 단계를 수행하게 된다.Since the driving logic according to the automatic control condition for each subsystem is set differently, according to the logic configuration interface provided by the program tool, the user uses input means to configure the corresponding logic, that is, the control and measurement of each subsystem. And receiving and configuring the inputs that make up the detailed program code for monitoring, assigning specific real-time variable values for subsystem control, measurement and monitoring, and assigning virtual variables for compilation and simulation, etc. Will perform the steps.

S40 단계의 수행 완료는 예를 들어 클라이언트 프로그램, 즉 제1 프로그램 중 하위 시스템과의 프로그램에 대한 Client Configuration을 완료하는 개념으로 이해될 것이다. 이후 S40 단계가 수행되면, 제3 설정 단계(S40)의 완료 후, 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 제1 프로그램에 대한 무결성을 확인하는 제1 검증 단계(S50)가 수행된다.Completion of the execution of step S40 will be understood as a concept of completing the Client Configuration for the client program, that is, the program with the subsystem of the first program, for example. Thereafter, when step S40 is performed, after completion of the third setting step S40, a first verification step S50 of checking the integrity of the first program is performed through compilation and virtual simulation of the first program.

S50 단계는 하위 시스템과 임베디드 CPU 모듈 간의 데이터 송수신을 위한게이트웨이 대체 프로그램에 대한 컴파일, 디버깅 및 이에 대한 시뮬레이션 기능을 수행하는 단계로서, 제1 프로그램의 구성들 중, 하위 시스템과의 제어, 계측 및 감시를 위한 프로그램의 무결성 검증 등을 통한 프로그램 파트(Part)의 완성을 의미한다.Step S50 is a step of compiling, debugging, and simulating a gateway replacement program for data transmission and reception between the subsystem and the embedded CPU module, and among the components of the first program, control, measurement, and monitoring with the subsystem. It means the completion of the program part through verification of the integrity of the program.

구체적으로, 도 3을 참조하면, S50 단계의 수행에 있어서 먼저 하위 시스템의 데이터 태그 타입, 실시간 변수 및 가상 변수를 이용하여, 제3 설정 단계(S40)의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제1 컴파일 단계(S51)가 수행된다.Specifically, referring to FIG. 3, in the execution of step S50, the first program configured as the execution of the third setting step S40 is completed using the data tag type, the real time variable, and the virtual variable of the subsystem. The first compilation step S51 of testing whether or not the first program operates normally is performed through the compile.

이후 해당 일부 프로그램에 대한 컴파일 단계(S51)의 진행에 따른 오류 발생이 감지되는 경우, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제1 디버깅 단계(S52)가 수행되어, 프로그램 코드의 오류 등을 유저가 확인하고, 입력 수단을 통해 프로그램 툴을 이용하여 프로그램 코드를 디버깅하는 단계가 수행된다. 이를 위해서 오류 메시지가 출력되는 인터페이스 및 해당 인터페이스 상에 출력된 오류 메시지를 선택 시, 해당 오류(Error 및/또는 Warning)가 발생한 프로그램 루트로 진입하여 코드가 출력되고, 해당 코드를 편집할 수 있는 인터페이스 등이 프로그램 툴 내부의 인터페이스 또는 별도의 화면 등을 통해 출력될 수 있다.Then, when an error occurs according to the progress of the compilation step (S51) for the corresponding part of the program, the first debugging step (S52) that enters the root (Root) of the error-produced first program and proceeds debugging Then, the user checks the error of the program code and the like, and debugs the program code using the program tool through the input means. For this purpose, when selecting an interface that outputs an error message and an error message that is output on the interface, the program enters the program root where the error (Error and / or Warning) occurs and outputs the code, and edits the code. The lights may be output through an interface inside the program tool or a separate screen.

이후, 제1 디버깅 단계의 수행 후 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 제3 설정 단계(S40)에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 제1 프로그램에 대한 무결성을 확인하는 제1 검증 완료 단계(S53)가 수행된다. 이는, 프로그램 툴 내의 인터페이스에 포함되는 가상시뮬레이션 기능을 통해, 하위 시스템, 즉 클라이언트 드라이버 모듈의 자동제어 로직 및 데이터 값을 컨트롤하여 다양한 변수값에 대한 프로그램의 무결성 동작 여부를 확인하게 된다.Thereafter, after performing the first debugging step, the first verification completion step of checking the integrity of the first program by controlling the logic configured in the third setting step S40 and the value of each data using the virtual simulation function in the program tool. (S53) is performed. The virtual simulation function included in the interface in the program tool controls the automatic control logic and data values of the sub-system, that is, the client driver module, to check whether the program operates with various variable values.

즉 S52 단계를 통해 하위 시스템과의 제1 프로그램의 컴파일이 성공적으로 완료되면, 하위 시스템의 제어, 계측 및 감시를 위한 가상의 변수들을 입력하고, 이에 대한 정상적인 출력 값이 도출되는지 여부를 검증하여 제1 프로그램에 대한 무결성, 정확히는 제1 프로그램 중 하위 시스템과의 데이터 송수신을 통한 하위 시스템에 대한 제어, 계측 및 검증이 정상적으로 이루어지는지 여부에 대한 검증을 완료하는 것이다.That is, when the compilation of the first program with the subsystem is successfully completed through the step S52, the virtual variables for the control, the measurement and the monitoring of the subsystem are input, and the normal output value thereof is verified and verified. 1 The integrity of the program, that is, the verification of whether the control, measurement, and verification of the sub system through the data transmission and reception with the sub system of the first program are normally performed.

즉 S50(S51 내지 S53 단계 포함)의 기능 수행을 통해, 제1 프로그램 중, 하위 시스템과의 데이터 송수신을 위한 프로그램으로서, 클라이언트 프로그램(Client Program)의 컴파일 및 무결성을 검증하게 되는 것이다.That is, through the function of S50 (including steps S51 to S53), as a program for data transmission and reception with a sub-system among the first programs, the compilation and integrity of the client program is verified.

이후, 하위 시스템과의 제1 프로그램, 즉 클라이언트 프로그램에 대한 생성 및 무결성 검증 과정과 유사하게, 상위 시스템과의 제1 프로그램, 즉 서버 프로그램(Server Program)의 생성 및 무결성 검증 과정이 수행된다.Thereafter, similarly to the process of generating and verifying the integrity of the first program, that is, the client program with the lower system, the process of generating and verifying the integrity of the first program, that is, the server program, with the upper system is performed.

다시 도 1에 대한 설명으로 돌아와서, 제1 프로그램 중 클라이언트 프로그램에 대한 무결성이 입증되어 해당 프로그램의 구성이 완료되면, 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 제1 프로그램에 저장하는 제4 설정 단계(S60)가 수행된다. 이는 상술한 S20 단계와 거의 동일한 기능 수행을 의미한다.Returning to the description of FIG. 1, when the integrity of the client program of the first program is verified and the configuration of the corresponding program is completed, a second communication method and protocol setting value for data transmission / reception between the embedded CPU module and the upper system may be used. According to the second input from the input means for the communication method and the second protocol setting value, the second communication port and the second protocol, which is a communication port and protocol between the embedded CPU module and the host system, are generated and stored in the first program. A fourth setting step S60 is performed. This means performing almost the same function as step S20 described above.

이후, 상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 제5 설정 단계(S70)가 수행된다. S30 단계의 기능 수행에 대응하여 상위 시스템과 하위 시스템 간의 정상적인 기능 수행을 위해서, S70 단계는 제2 설정 단계(S30)에 의하여 프로그램 툴에 저장된 하위 시스템과의 데이터 태그 타입을 상위 시스템이 요청하는 데이터 태그 타입 및 실시간 데이터로 매핑하는 기능을 수행하는 것이 바람직하다.Thereafter, a fifth setting step S70 is performed in which the upper system proceeds with a process for setting data management criteria for collecting and managing data of the lower system. In order to perform a normal function between the upper system and the lower system in response to the function of the step S30, the step S70 is the data that the upper system requests data tag type with the lower system stored in the program tool by the second setting step S30. It is desirable to perform the function of mapping the tag type and the real-time data.

S70 단계의 수행 완료는 예를 들어 서버 프로그램, 즉 제1 프로그램 중 상위 시스템과의 프로그램에 대한 Server Configuration을 완료하는 개념으로 이해될 것이다.Completion of the execution of the step S70 will be understood as a concept of completing the Server Configuration for the server program, that is, the program with the upper system of the first program, for example.

이후, 제1 검증 단계(S50)와 유사하게, 제5 설정 단계(S70) 완료 후, 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 제1 프로그램에 대한 무결성을 확인하는 제2 검증 단계(S80)가 수행된다. 제1 검증 단계(S50)에 대한 설명에서 언급한 바와 같이 제2 검증 단계(S80)에서 컴파일 및 무결성 검증 대상이 되는 제1 프로그램은 하위 시스템에 대한 클라이언트 프로그램이 아니라, 상위 시스템에 대한 일부의 제1 프로그램으로서 상술한 서버 프로그램임이 바람직하나, 정확한 무결성 검증을 위해서 서버 프로그램에 대한 디버깅 및 이미 무결성 검증이 완료된 클라이언트 프로그램을 포함한 전체적인 제1 프로그램의 무결성을 입증하는 개념을 포함하는 것으로 이해될 수 있다.Thereafter, similarly to the first verifying step S50, after the completion of the fifth setting step S70, the second verifying step S80 of checking integrity of the first program through compilation and virtual simulation of the first program. Is performed. As mentioned in the description of the first verification step S50, the first program to be compiled and integrity-verified in the second verification step S80 is not a client program for the subsystem, but a part of the first program for the parent system. Although it is preferable that the server program is the above-described one program, it can be understood to include the concept of verifying the integrity of the first overall program including the client program which has been debugged and the integrity verification already completed for accurate integrity verification.

구체적으로 S80 단계는 S50 단계와 유사하게 도 4에 도시된 바와 같이, 먼저 상위 시스템과의 데이터 태그 타입, 실시간 변수 및 가상 변수를 이용하여, 제5 설정 단계(S70)의 수행이 완료됨에 따라 구성된 제1 프로그램, 정확히는 서버 프로그램에 대한 컴파일을 통해 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제2 컴파일 단계(S81)가 수행된다.In detail, step S80 is similar to step S50, as shown in FIG. 4. First, as the execution of the fifth setting step S70 is completed by using a data tag type, a real-time variable, and a virtual variable with the upper system. A second compilation step S81 is performed to test whether the first program operates normally by compiling the first program, that is, the server program.

이후 S52 단계와 유사하게, 제2 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제2 디버깅 단계(S82)가 수행된다. 이후, S53 단계의 수행과 유사하게, 제2 디버깅 단계(S82)의 수행 후 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 제1 설정 단계(S20) 내지 제5 설정 단계(S70)에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 제1 프로그램에 대한 무결성을 확인하는 제2 검증 완료 단계(S83)가 수행된다.Thereafter, similarly to the step S52, when an error occurs according to the progress of the second compilation step, a second debugging step S82 is performed to enter the root of the first program in which the error occurs and perform debugging. Thereafter, similarly to the execution of the step S53, the logic and each data configured in the first setting step S20 to the fifth setting step S70 by using the virtual simulation function in the program tool after the execution of the second debugging step S82. The second verification completion step S83 of checking the integrity of the first program by controlling the value of is performed.

즉 상기의 개념은, 서버 프로그램에 대한 무결성 입증을 위한 상술한 기능 수행뿐 아니라, 전체 제1 프로그램에 대한 무결성 입증을 위한 가상시뮬레이션 및 데이터 컨트롤 기능 수행에 대한 개념으로 포함하는 것으로 이해되어야 할 것이다.In other words, it should be understood that the above concept includes not only the above-described function for verifying the integrity of the server program but also the concept of performing virtual simulation and data control functions for verifying the integrity of the entire first program.

다시 도 1에 대한 설명으로 돌아와서, 모든 제1 프로그램의 무결성의 입증이 되는 경우, 제2 검증 단계(S80)에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 상기 프로그램 툴로부터 임베디드 CPU에 다운로드하는 프로그램 설치 단계(S90)를 수행하여, 본 발명의 기능 수행에 따라서 게이트웨이 없이, PLC에 포함된 임베디드 CPU 모듈 및 이에 대한 프로그램 툴을 통해서, 상하위 시스템의 모든 통신 방식 및 통신 프로토콜에 적응 가능하게 데이터 송수신이 가능하도록 하는 기능의 수행이 완료된다.Returning to the description of FIG. 1 again, if the integrity of all the first programs is verified, downloading the first program whose integrity has been verified by the second verifying step S80 from the program tool to the embedded CPU via a network. By performing the program installation step (S90), according to the performance of the present invention through the embedded CPU module included in the PLC and the program tool therefor, without the gateway, data transmission and reception adaptively to all communication methods and communication protocols of the upper and lower systems The performance of the function to enable this is completed.

상술한 본 발명에 의하면, 상위 시스템 및 하위 시스템 간의 통신을 담당하는 PLC에 포함된 임베디드 CPU에, 해당 CPU 또는 별도의 단말 등에 의하여 실행되는 프로그램 툴을 이용하여 각 시스템 간의 통신 방식 및 통신 프로토콜이 서로 다르더라도, 이에 적응 가능한 프로젝트로서 제1 프로그램을 생성하고, 이에 따라서 각 시스템 간의 제어 로직 및 통신 방식 및 통신 프로토콜을 설정하고 이에 대한 무결성 검증을 하는 것을 통해, 각 통신 방식 및 통신 프로토콜에 매칭되는 별도의 게이트웨이의 설치가 전혀 필요없이 모든 통신 방식 및 통신 프로토콜에 대한 대응이 가능하게 된다.According to the present invention described above, a communication method and a communication protocol between each system are mutually different using an embedded CPU included in a PLC in charge of communication between a higher system and a lower system using a program tool executed by the CPU or a separate terminal. Although different, the first program is generated as an adaptable project, and accordingly, the control logic and the communication scheme and communication protocols between the systems are set and the integrity verification thereof is performed. It is possible to cope with all communication methods and communication protocols without the need of installing a gateway.

이에 따라서 하위 시스템 및 상위 시스템을 통한 자동제어시스템의 시스템 간 제어, 계측 및 감시를 위한 다중의 통신 방식 및 멀티 프로토콜에 대한 통신을 수행함에 있어서 대응 비용이 크게 감소하고, 하나의 프로그램 툴 만으로 용이하게 운영이 가능한 효과가 있다.As a result, the corresponding cost is greatly reduced in the communication between the multiple communication methods and the multi-protocol for the control, measurement, and monitoring between the systems of the automatic control system through the lower system and the upper system, and easily with only one program tool. It is possible to operate.

도 5는 본 발명이 구현되는 자동제어시스템의 개략적 구성도이다. 이하의 설명에 있어서 도 1 내지 4에 대한 설명과 중복되는 부분에 대한 설명은 이를 생략하기로 한다.5 is a schematic configuration diagram of an automatic control system in which the present invention is implemented. In the following description, a description of overlapping parts with the description of FIGS. 1 to 4 will be omitted.

도 5를 참조하면, 본 발명이 구현되는 자동제어시스템에 있어서 상위 시스템(100)은 상술한 바와 같이 HMI로 구현될 수 있고, 자료 취득 및 처리, DB 관리, 하위 시스템에 대한 감시/제어/계측 및 기타 보고서 관리 기능 등을 수행하는 인터페이스(110)가 구현될 것이다. 이때, 상술한 제1 프로그램이 설치된 임베디드 CPU 모듈(200)과의 통신을 위해서 통신 방식(130) 및 이를 위한 프로토콜(120)이 설정될 수 있다.Referring to FIG. 5, in the automatic control system in which the present invention is implemented, the upper system 100 may be implemented as an HMI as described above, and may monitor / control / measure data acquisition and processing, DB management, and subsystem. And an interface 110 that performs other report management functions. At this time, the communication scheme 130 and the protocol 120 for this may be set for communication with the embedded CPU module 200 in which the above-described first program is installed.

임베디드 CPU 모듈(200) 상에는, 기타 현장의 실선케이블(260)이 연결되어 데이터 송수신을 담당할 것이다. 또한, 상위 시스템(100)의 통신방식에 따른 다중통신방식을 지원하는 Sever 드라이버 모듈(230), 상위 시스템(100)의 프로토콜방식에 따른 멀티프로토콜을 지원하는 Sever 드라이버 모듈(220), 자료취득 및 처리, LOGIC, DB관리, VME IO모듈 감시제어계측이 가능한 제1 프로그램이 설치 및 실행되는 프로그램 TOOL(210), 하위 시스템(300)의 프로토콜방식에 따른 멀티프로토콜을 지원하는 Client 드라이버 모듈(240), 하위 시스템(300)의 통신방식에 따른 다중통신방식을 지원하는 Client 드라이버 모듈(250)을 포함한다.On the embedded CPU module 200, other field solid line cable 260 is connected to be responsible for data transmission and reception. In addition, the Sever driver module 230 supporting the multi-communication method according to the communication method of the upper system 100, the Sever driver module 220 supporting the multi-protocol according to the protocol method of the upper system 100, data acquisition and Client TOOL module 240 that supports multi-protocol according to protocol method of sub-system 300, program tool 210 for installing and executing the first program capable of processing, LOGIC, DB management, VME IO module monitoring control measurement. It includes a client driver module 250 that supports multiple communication method according to the communication method of the subsystem 300.

다중통신방식을 지원하는 Sever 드라이버 모듈(230)은 변전소, 빌딩자동화, 정수장, 하수처리장, 펌프장, 배수지 등의 상위시스템(HMI, 100)과 RS-232, RS-485, TCP/IP, UDP/IP 등의 통신방식으로 감시, 제어, 계측 등의 데이터 수집 기능을 수행할 수 있으며, 멀티프로토콜을 지원하는 Server 드라이버 모듈(220)은 상위시스템(100)과 DNP 3.0, IEC 61850, Modbus, BACnet 의 프로토콜에 따라 감시, 제어, 계측 등의 데이터 수집을 수행할 수 있다.The Sever driver module 230 that supports multiple communication methods includes substations, building automation, water purification plants, sewage treatment plants, pump stations, and drainage systems (HMI, 100) and RS-232, RS-485, TCP / IP, UDP /. Data collection functions such as monitoring, control, and measurement can be performed by communication methods such as IP, and the server driver module 220 that supports multiprotocol includes the host system 100 and DNP 3.0, IEC 61850, Modbus, and BACnet. Depending on the protocol, data collection such as monitoring, control, and measurement can be performed.

한편 하위 시스템(300)과의 다중통신방식을 지원하는 Client 드라이버 모듈(250)은 각 계측기 컨트롤러 및 PLC, DDC 등의 하위 시스템(300)의 현장 설비(310)와 RS-232, RS-485, TCP/IP, UDP/IP등의 통신방식으로 감시, 제어, 계측 등의 데이터 수집 및 LOGIC을 이용한 자동 제어를 수행할 수 있으며, 멀티프로토콜을 지원하는 Client 드라이버 모듈(240)은 각 계측기 컨트롤러 및 PLC, DDC 등의 하위 시스템(300)의 현장 설비(310)와 DNP 3.0, IEC 61850, Modbus, BACnet 등의 프로토콜에 따라 감시, 제어, 계측 등의 데이터 수집 및 LOGIC을 이용한 자동 제어를 수행할 수 있다.On the other hand, the client driver module 250 supporting the multi-communication method with the sub-system 300 is each instrument controller and field equipment 310 of the sub-system 300 such as PLC, DDC, RS-232, RS-485, Data collection such as monitoring, control and measurement and automatic control using LOGIC can be performed by communication method such as TCP / IP, UDP / IP, etc. The client driver module 240 supporting multiprotocol is each instrument controller and PLC. , Data collection such as monitoring, control, measurement, and automatic control using LOGIC can be performed according to the field equipment 310 of the sub-system 300 such as DDC and DNP 3.0, IEC 61850, Modbus, BACnet, and other protocols. .

도 6 내지 8은 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치의 전체 또는 일부 구성의 구성 블록도이다. 이하의 설명에 있어서 도 1 내지 5에 대한 설명과 중복되는 부분에 대한 불필요한 설명은 생략하기로 한다.6 to 8 are block diagrams of all or a part of components of a multi-communication and multi-protocol supporting apparatus between systems using an embedded CPU included in a PLC according to each embodiment of the present invention. In the following description, unnecessary description of parts overlapping with the description of FIGS. 1 to 5 will be omitted.

도 6을 참조하면, 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치(10, 이하 지원 장치라 함)는, 예를 들어 PLC(30)에 포함된 임베디드 CPU 모듈에서 수행되는 프로그램 툴(20) 자체에서 수행되거나 프로그램 툴(20)로부터 상술한 제1 프로그램을 다운로드한 CPU 모듈에 포함되어 구현될 수 있다.Referring to FIG. 6, a multi-communication and multi-protocol support apparatus (hereinafter, referred to as a support apparatus) between systems using an embedded CPU included in a PLC according to each embodiment of the present invention may be provided to, for example, the PLC 30. It may be implemented by being included in a CPU module which is executed by the program tool 20 itself which is performed by the embedded CPU module included in the embedded CPU module or by downloading the above-described first program from the program tool 20.

지원 장치(10)는 먼저 프로젝트 생성부(11)를 포함하는데, 프로젝트 생성부(11)는 컴퓨팅 장치가 포함된 PLC(30)에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴(20)을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 기능을 수행한다. 즉 도 1의 S10 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.The support device 10 includes a project generation unit 11, which is initially generated by a program tool 20 driven by an embedded CPU module implemented in a PLC 30 including a computing device. A function of generating a first program for automatic control for each system according to an input is performed. That is, it will be understood as a configuration that performs all the functions mentioned in the description of step S10 of FIG.

하위 시스템 설정부(12)는, 도 7에 도시된 바와 같이 제1 설정부(121), 제2 설정부(122) 및 제3 설정부(123)를 포함하는 구성으로서, 구체적으로 제1 설정부(121)는 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 제1 프로그램에 저장하는 기능을 수행한다. 즉 도 1의 S20 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.As shown in FIG. 7, the subsystem setting unit 12 includes a first setting unit 121, a second setting unit 122, and a third setting unit 123, and specifically, the first setting unit 12. The unit 121 is a communication method and a protocol setting value for data transmission and reception between the embedded CPU module and the sub-system, and according to a first input from an input means for the first communication method and the first protocol setting value, A first communication port and a first protocol, which are communication ports and protocols with the subsystem, are generated and stored in the first program. That is, it will be understood as a configuration for performing all the functions mentioned in the description of the step S20 of FIG.

한편 제2 설정부(122)는 하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 기능을 수행한다. 즉 도 1의 S30 단계 및 도 2의 S31 내지 S32 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.Meanwhile, the second setting unit 122 performs a function of setting a variable for collecting data of a lower system and a communication period for updating data. That is, it will be understood as a configuration that performs all the functions mentioned in the description of the step S30 of FIG. 1 and the steps S31 to S32 of FIG. 2.

제3 설정부(123)는 하위 시스템의 자동제어 조건에 따른 로직을 상기 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 가상 변수를 대입하는 기능을 수행한다. 즉, 도 1의 S40 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.The third setting unit 123 configures logic according to the automatic control condition of the sub system through the program tool, and performs a function of assigning a real time variable and a virtual variable corresponding to the condition of the configured logic. That is, it will be understood as a configuration that performs all the functions mentioned in the description of the step S40 of FIG.

하위 시스템 검증부(13)는 하위 시스템 설정부(12)의 기능 수행 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 기능을 수행한다. 즉 도 1의 S50 단계 및 도 3의 S51 내지 S53 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.The subsystem verification unit 13 performs a function of checking the integrity of the first program through compilation and virtual simulation of the first program after performing the function of the subsystem setting unit 12. That is, it will be understood as a configuration that performs all the functions mentioned in the description of the step S50 of FIG. 1 and the steps S51 to S53 of FIG. 3.

상위 시스템 설정부(14)는, 도 7에 도시된 바와 같이 제4 설정부(141) 및 제5 설정부(142)를 포함하는 구성으로서, 구체적으로 제4 설정부(141)는 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 제1 프로그램에 저장하는 기능을 수행한다. 즉, 도 1의 S60 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.As shown in FIG. 7, the upper system setting unit 14 includes a fourth setting unit 141 and a fifth setting unit 142. Specifically, the fourth setting unit 141 includes an embedded CPU module. Communication port and protocol between the embedded CPU module and the host system according to a second input from the input means for the second communication method and the second protocol setting value as a communication method and protocol setting value for data transmission and reception with the host system. A second communication port and a second protocol are generated and stored in the first program. That is, it will be understood as a configuration for performing all the functions mentioned in the description of the step S60 of FIG.

한편 제5 설정부(142)는 상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 기능을 수행한다. 즉, 도 1의 S70 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.On the other hand, the fifth setting unit 142 performs a function of proceeding a process for setting the data management criteria for the upper system to collect and manage the data of the lower system. That is, it will be understood as a configuration for performing all the functions mentioned in the description of the step S70 of FIG.

상위 시스템 검증부(15)는 상위 시스템 설정부(14)의 기능 수행 후, 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 제1 프로그램에 대한 무결성을 확인하는 기능을 수행한다. 즉 도 1의 S80 단계 및 도 4의 S81 내지 S83 단계에 대한 설명에서 언급한 모든 기능을 수행하는 구성으로 이해될 것이다.The upper system verification unit 15 performs a function of checking the integrity of the first program through compilation and virtual simulation of the first program after performing the function of the upper system setting unit 14. That is, it will be understood as a configuration that performs all the functions mentioned in the description of the step S80 of FIG. 1 and the steps S81 to S83 of FIG. 4.

프로그램 설치부(16)는, 상위 시스템 검증부(15)에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 프로그램 툴(20)로부터 상기 임베디드 CPU에 다운로드하는 기능을 수행한다.The program installation unit 16 performs a function of downloading the first program whose integrity has been verified by the upper system verification unit 15 from the program tool 20 to the embedded CPU via a network.

도 9는 본 발명의 각 실시예에 따른 PLC에 포함된 임베디드 CPU를 이용한 시스템이 적용되는 예를 설명하기 위한 도면이다.FIG. 9 is a view for explaining an example in which a system using an embedded CPU included in a PLC according to an embodiment of the present invention is applied.

도 9의 (a)를 참조하면, 빌딩 자동제어 시스템에 있어서, 자동제어 관제를 위한 다양한 기기들이 상위 시스템(101)을 구성한다. 해당 상위 시스템(101)은 게이트 웨이를 대신한 본 발명의 시스템(201)에 의하여 제어, 계측 및 감시 대상이 되는 하위 시스템(301)의 다양한 단말들에 연결된다.Referring to FIG. 9A, in the building automatic control system, various devices for automatic control control constitute the upper system 101. The upper system 101 is connected to various terminals of the lower system 301 to be controlled, measured and monitored by the system 201 of the present invention instead of the gateway.

도 9의 (b)를 참조하면, 본 발명은 전력 관리 시스템 상에도 적용될 수 있다. 예를 들어 전력 관리를 위한 SCADA 시스템, 수냉각 시스템 및 통신 보안을 위한 시스템 상에서 상위 시스템(102)은 본 발명의 시스템(201)에 의하여 게이트위에 없이도, 하위 시스템(302)에 연결되어 제어/계측 및 감시를 수행하게 된다.Referring to FIG. 9B, the present invention can be applied to a power management system. For example, on a SCADA system for water management, a water cooling system, and a system for communication security, the upper system 102 is connected to the sub-system 302 without control over the gate by the system 201 of the present invention. And monitoring.

한편, 도 9의 (c)를 참조하면, 정수장에 있어서 상위 시스템을 포함한 다양한 단말들이 하위 시스템 또는 동급의 다양한 시스템의 단말과, 본 발명의 시스템에 의하여 연결될 수 있다. 즉, 본 발명은 도 9의 (a) 내지 (c)에 도시된 바와 같이 네트워크에 의하여 다양한 통신 방식 및 프로토콜에 의하여 연결되는 상하위 시스템 구성 및 다수 단말 연결 시스템의 구성에 있어서 모두 적용될 수 있는 것이다.Meanwhile, referring to FIG. 9C, various terminals including the upper system in the water purification plant may be connected to the terminals of the lower system or the various systems in the same class by the system of the present invention. That is, the present invention can be applied to both the upper and lower system configurations and multiple terminal connection systems connected by various communication methods and protocols by a network as shown in (a) to (c) of FIG. 9.

도 10은 본 발명의 일 실시 예에 따른 컴퓨팅 장치의 내부 구성의 일 예를 도시하였으며, 이하의 설명에 있어서, 상술한 도 1 내지 9에 대한 설명과 중복되는 불필요한 실시 예에 대한 설명은 생략하기로 한다.FIG. 10 illustrates an example of an internal configuration of a computing device according to an embodiment of the present disclosure. In the following description, a description of unnecessary embodiments overlapping with the description of FIGS. 1 to 9 will be omitted. Shall be.

도 10에 도시한 바와 같이, 컴퓨팅 장치(10000)은 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅 장치(10000)은 촉각 인터페이스 장치에 연결된 유저 단말이기(A) 혹은 전술한 컴퓨팅 장치(B)에 해당될 수 있다.As shown in FIG. 10, the computing device 10000 includes at least one processor 1100, a memory 11200, a peripheral interface 11300, an input / output subsystem ( I / O subsystem 11400, power circuit 11500, and communication circuit 11600 at least. In this case, the computing device 10000 may correspond to a user terminal A connected to the tactile interface device A or the computing device B described above.

메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅 장치(10000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The memory 11200 may include, for example, high-speed random access memory, magnetic disk, SRAM, DRAM, ROM, flash memory, or nonvolatile memory. have. The memory 11200 may include a software module, an instruction set, or other various data necessary for the operation of the computing device 10000.

이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.In this case, accessing the memory 11200 from another component such as the processor 11100 or the peripheral device interface 11300 may be controlled by the processor 11100.

주변장치 인터페이스(11300)는 컴퓨팅 장치(10000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅 장치(10000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.The peripheral interface 11300 may couple an input and / or output peripheral of the computing device 10000 to the processor 11100 and the memory 11200. The processor 11100 may execute a software module or an instruction set stored in the memory 11200 to perform various functions and process data for the computing device 10000.

입/출력 서브시스템(11400)은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템(11400)은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템(11400)을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.Input / output subsystem 11400 may couple various input / output peripherals to peripheral interface 11300. For example, the input / output subsystem 11400 may include a controller for coupling a peripheral device such as a monitor or keyboard, a mouse, a printer, or a touch screen or a sensor, as necessary, to the peripheral interface 11300. According to another aspect, the input / output peripherals may be coupled to the peripheral interface 11300 without passing through the input / output subsystem 11400.

전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The power circuit 11500 may supply power to all or part of the components of the terminal. For example, power circuit 11500 may include a power management system, one or more power sources such as batteries or alternating current (AC), charging systems, power failure detection circuits, power converters or inverters, power status indicators or power sources. It can include any other components for creation, management, distribution.

통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅 장치와 통신을 가능하게 할 수 있다.The communication circuit 11600 may enable communication with another computing device using at least one external port.

또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅 장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, the communication circuit 11600 may include an RF circuit to transmit and receive an RF signal, also known as an electromagnetic signal, to enable communication with other computing devices.

이러한 도 10의 실시 예는, 컴퓨팅 장치(10000)의 일례일 뿐이고, 컴퓨팅 장치(11000)은 도 10에 도시된 일부 컴포넌트가 생략되거나, 도 10에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅 장치는 도 10에도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(1160)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅 장치(10000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.This embodiment of FIG. 10 is only an example of the computing device 10000, and the computing device 11000 may include some components shown in FIG. 10, or may further include additional components not shown in FIG. 10, or 2. It may have a configuration or arrangement that combines two or more components. For example, a computing device for a communication terminal in a mobile environment may further include a touch screen or a sensor, in addition to the components shown in FIG. 10, and various communication schemes (WiFi, 3G, LTE) in the communication circuit 1160. , Bluetooth, NFC, Zigbee, etc.) may include a circuit for RF communication. Components that may be included in computing device 10000 may be implemented in hardware, software, or a combination of both hardware and software, including integrated circuits specialized for one or more signal processing or applications.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨팅 장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시 예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말이기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that may be executed by various computing devices and may be recorded in a computer readable medium. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. An application to which the present invention is applied may be installed in a user terminal through a file provided by a file distribution system. For example, the file distribution system may include a file transmitter (not shown) for transmitting the file at the request of the user terminal.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅 장치상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, and configure the processing device to operate as desired, or process it independently or in combination. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device for the purpose of interpreting or providing instructions or data to the processing device. It may be embodied permanently or temporarily. The software may be distributed over networked computing devices so that they are stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to the embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present disclosure, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Although the embodiments have been described with reference to the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or replaced by equivalents, an appropriate result can be achieved. Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (10)

하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법에 관한 것으로,
상기 컴퓨팅 장치가 포함된 PLC에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 프로젝트 생성 단계;
상기 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 상기 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제1 설정 단계;
하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 제2 설정 단계;
하위 시스템의 자동제어 조건에 따른 구동 로직 구성을 위해 하위 시스템의 제어, 계측 및 감시를 위한 세부 프로그램 코드를 구성하는 입력 수단으로부터의 입력을 수신하여 하위 시스템의 자동제어 조건에 따른 로직을 상기 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 컴파일과 시뮬레이션을 위한 가상 변수를 대입하는 제3 설정 단계;
상기 제3 설정 단계 완료 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 제1 검증 단계;
상기 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 상기 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제4 설정 단계;
상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 제5 설정 단계;
상기 제5 설정 단계 완료 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 제2 검증 단계; 및
상기 제2 검증 단계에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 상기 프로그램 툴로부터 상기 임베디드 CPU에 다운로드하는 프로그램 설치 단계;를 포함하고,
상기 제2 설정 단계는,
하위 시스템의 데이터 수집을 위한 변수를 생성하고, 데이터 태그 타입(Data Tag Type)의 변수형을 설정하여 프로그램 툴에 저장하는 제1 저장 단계; 및
상기 하위 시스템의 데이터 업데이트를 위한 제1 통신 주기를 설정하되, 상기 상위 시스템의 스펙별로 미리 설정된 상위 시스템이 하위 시스템의 데이터 수집을 위해서 요청하는 데이터 수집주기인 제2 통신 주기보다 상기 제1 통신 주기를 짧게 설정하여 하위 시스템으로부터 최신 데이터를 수집하도록 하는 제1 통신 주기 설정 단계;를 포함하고,
상기 제1 검증 단계는,
상기 하위 시스템의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제3 설정 단계의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제1 컴파일 단계;
상기 제1 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제1 디버깅 단계; 및
상기 제1 디버깅 단계의 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제3 설정 단계에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 제1 검증 완료 단계;를 포함하고,
상기 제5 설정 단계는,
상기 제2 설정 단계에 의하여 상기 프로그램 툴에 저장된 하위 시스템과의 데이터 태그 타입을 상위 시스템이 요청하는 데이터 태그 타입 및 실시간 데이터로 매핑하고,
상기 제2 검증 단계는,
상기 상위 시스템과의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제5 설정 단계의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제2 컴파일 단계;
상기 제2 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제2 디버깅 단계; 및
상기 제2 디버깅 단계의 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제1 설정 단계 내지 제5 설정 단계에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 제2 검증 완료 단계;를 포함하는 것을 특징으로 하는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법.
The present invention relates to a multi-communication and multi-protocol support method using an embedded CPU included in a PLC implemented as a computing device including at least one processor and at least one memory for storing instructions executable by the processor.
A project generation step of generating a first program for automatic control for each system according to an initial input through a program tool driven by an embedded CPU module implemented in a PLC including the computing device;
The embedded CPU module and the sub-system in accordance with a first input from an input means for a first communication scheme and a first protocol setpoint as a communication scheme and a protocol setpoint for data transmission and reception between the embedded CPU module and the subsystem; A first setting step of generating a first communication port and a first protocol which is a communication port and a protocol of the first protocol, and storing the first protocol in the first program;
A second setting step of setting a variable for collecting data of the subsystem and a communication period for updating data;
The program tool receives the input from the input means constituting the detailed program code for the control, measurement and monitoring of the subsystem to configure the driving logic according to the automatic control condition of the subsystem. A third setting step of configuring through the controller and substituting real-time variables corresponding to the conditions of the configured logic and virtual variables for compilation and simulation;
A first verifying step of verifying integrity of the first program through compilation and virtual simulation of the first program after completion of the third setting step;
According to the second input from the input means for the second communication method and the second protocol setting value as a communication method and protocol setting value for data transmission and reception between the embedded CPU module and the upper system, A fourth setting step of generating a second communication port and a second protocol, which are communication ports and protocols of the second protocol, and storing them in the first program;
A fifth setting step in which the upper system goes through a process for setting data management criteria for collecting and managing data of the lower system;
A second verifying step of verifying integrity of the first program through compilation and virtual simulation of the first program after completion of the fifth setting step; And
A program installation step of downloading a first program whose integrity is confirmed by the second verifying step from the program tool to the embedded CPU through a network;
The second setting step,
Generating a variable for data collection of the subsystem, setting a variable type of a data tag type and storing the variable in a program tool; And
A first communication period is set for updating data of the lower system, and the first communication period is higher than a second communication period, which is a data collection period requested by the upper system preset for data collection of the lower system by the specifications of the upper system. A first communication period setting step of setting a short time to collect the latest data from the subsystem; and
The first verification step,
Using the data tag type of the sub-system, the real-time variable and the virtual variable, test whether the first program operates normally by compiling the first program configured as the execution of the third setting step is completed. A first compilation step;
A first debugging step of performing debugging by entering a root of a first program in which an error occurs when an error occurs according to the progress of the first compilation step; And
A first verification completion step of verifying the integrity of the first program by controlling the logic configured in the third setting step and the value of each data by using the virtual simulation function in the program tool after performing the first debugging step; Including,
The fifth setting step,
Mapping the data tag type with the lower system stored in the program tool to the data tag type and real-time data requested by the upper system by the second setting step;
The second verification step,
Whether the first program operates normally by compiling the first program configured as the execution of the fifth setting step is completed using the data tag type, the real time variable and the virtual variable with the upper system. A second compilation step of testing;
A second debugging step of performing debugging by entering a root of a first program in which an error occurs when an error occurs according to the progress of the second compilation step; And
After performing the second debugging step, by using a virtual simulation function in the program tool to control the logic and the value of each data configured in the first to fifth setting step to verify the integrity of the first program Comprising 2; Completion step; Multi-communication and multi-protocol support method between systems using an embedded CPU included in the PLC comprising a.
제1항에 있어서,
상기 프로젝트 생성 단계는,
입력 수단에 따른 입력에 따라 시스템별 환경에 대응되는 프로그램 언어를 선택하는 것을 특징으로 하는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법.
The method of claim 1,
The project generation step,
A method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC, characterized by selecting a program language corresponding to a system-specific environment according to an input by an input means.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 상위 시스템은,
적어도 하위 시스템의 동작을 감시하고, 하위 시스템의 동작을 제어하기 위한 HMI(Human Machine Interface)가 구현되는 시스템인 것을 특징으로 하는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법.
The method of claim 1,
The upper system,
A method for supporting multi-communication and multi-protocol between systems using an embedded CPU included in a PLC, wherein the system is implemented with a Human Machine Interface (HMI) for monitoring at least the operation of the subsystem and controlling the operation of the subsystem.
제1항에 있어서,
상기 하위 시스템은,
적어도 현장 시스템에서 동작되는 디바이스, 현장 시스템을 계측하는 디바이스, 현장 시스템의 디바이스에 대한 PLC(Programmable Logic Controller) 및 DDC(Digital to Digital Conerter)으로 구성되는 시스템인 것을 특징으로 하는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 방법.
The method of claim 1,
The subsystem is
Embedded CPU included in the PLC, characterized in that the system consists of at least a device operating in the field system, a device for measuring the field system, a programmable logic controller (PLC) and a digital to digital controller (DDC) for the device of the field system Method for supporting multi-communication and multi-protocol between systems.
하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 하나 이상의 메모리를 포함하는 컴퓨팅 장치로 구현되는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치에 관한 것으로,
상기 컴퓨팅 장치가 포함된 PLC에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 프로젝트 생성부;
상기 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 상기 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제1 설정부, 하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 제2 설정부, 및 하위 시스템의 자동제어 조건에 따른 구동 로직 구성을 위해 하위 시스템의 제어, 계측 및 감시를 위한 세부 프로그램 코드를 구성하는 입력 수단으로부터의 입력을 수신하여 하위 시스템의 자동제어 조건에 따른 로직을 상기 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 컴파일과 시뮬레이션을 위한 가상 변수를 대입하는 제3 설정부를 포함하는 하위 시스템 설정부;
상기 하위 시스템 설정부의 기능 수행 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 하위 시스템 검증부;
상기 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 상기 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제4 설정부, 및 상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 제5 설정부를 포함하는 상위 시스템 설정부;
상기 상위 시스템 설정부의 기능 수행 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 상위 시스템 검증부; 및
상기 상위 시스템 검증부에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 상기 프로그램 툴로부터 상기 임베디드 CPU에 다운로드하는 프로그램 설치부;를 포함하고,
상기 제2 설정부는,
하위 시스템의 데이터 수집을 위한 변수를 생성하고, 데이터 태그 타입(Data Tag Type)의 변수형을 설정하여 프로그램 툴에 저장하고, 상기 하위 시스템의 데이터 업데이트를 위한 제1 통신 주기를 설정하되, 상기 상위 시스템의 스펙별로 미리 설정된 상위 시스템이 하위 시스템의 데이터 수집을 위해서 요청하는 데이터 수집주기인 제2 통신 주기보다 상기 제1 통신 주기를 짧게 설정하여 하위 시스템으로부터 최신 데이터를 수집하도록 하고,
상기 하위 시스템 검증부는,
상기 하위 시스템의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제3 설정부의 기능 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하고, 상기 제1 프로그램에 대한 컴파일 중 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하고, 디버깅 진행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제3 설정부에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하고,
상기 제5 설정부는,
상기 제2 설정부에 의하여 상기 프로그램 툴에 저장된 하위 시스템과의 데이터 태그 타입을 상위 시스템이 요청하는 데이터 태그 타입 및 실시간 데이터로 매핑하고,
상기 상위 시스템 검증부는,
상기 상위 시스템과의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제5 설정부의 기능 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하고, 컴파일 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하고, 디버깅 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제1 설정부 내지 제5 설정부에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 것을 특징으로 하는 PLC에 포함된 임베디드 CPU를 이용한 시스템 간의 다중 통신 및 멀티 프로토콜 지원 장치.
The present invention relates to a multi-communication and multi-protocol supporting apparatus using an embedded CPU included in a PLC, which is implemented as a computing device including at least one processor and at least one memory storing instructions executable by the processor.
A project generation unit generating a first program for automatic control for each system according to an initial input through a program tool driven by an embedded CPU module implemented in a PLC including the computing device;
The embedded CPU module and the sub-system in accordance with a first input from an input means for a first communication scheme and a first protocol setpoint as a communication scheme and a protocol setpoint for data transmission and reception between the embedded CPU module and the subsystem; A first setting unit for generating a first communication port and a first protocol and a first protocol of the communication port and a protocol, and storing the first protocol in the first program, a variable for collecting data of a subsystem, and a second setting for setting a communication period for updating data In order to configure the driving logic according to the automatic control condition of the sub-system and the sub-system, input from the input means constituting the detailed program code for control, measurement, and monitoring of the sub-system is received and the logic according to the automatic control condition of the subsystem Real-time variables that are configured through the program tool and meet the conditions of the configured logic and A subsystem setting unit including a third setting unit which substitutes virtual variables for compilation and simulation;
A subsystem verification unit for verifying integrity of the first program through compilation and virtual simulation of the first program after performing the function of the subsystem setting unit;
According to the second input from the input means for the second communication method and the second protocol setting value as a communication method and protocol setting value for data transmission and reception between the embedded CPU module and the upper system, A fourth setting unit for generating and storing a second communication port and a second protocol, which are communication ports and protocols, in the first program, and a process for setting data management criteria for the upper system to collect and manage data of a lower system An upper system setting unit including a fifth setting unit configured to proceed;
An upper system verifying unit verifying the integrity of the first program through compilation and virtual simulation of the first program after performing the function of the upper system setting unit; And
And a program installation unit for downloading the first program whose integrity is confirmed by the upper system verification unit from the program tool to the embedded CPU through a network.
The second setting unit,
Create a variable for data collection of the subsystem, set the variable type of the data tag type (Data Tag Type) to store in the program tool, and set the first communication period for the data update of the subsystem, the upper system Set the first communication period to be shorter than the second communication period, which is a data collection period requested by the upper system preset by the specification of the lower system to collect the latest data from the lower system,
The subsystem verification unit,
Using the data tag type of the sub-system, the real-time variable and the virtual variable, test whether the first program operates normally by compiling the first program configured as the function of the third setting unit is completed. When an error occurs during compilation of the first program, the root of the first program in which the error occurs is debugged, and after the debugging is performed, the third program is executed by using a virtual simulation function in the program tool. Checking the integrity of the first program by controlling the logic configured in the setting unit and the value of each data,
The fifth setting unit,
Mapping a data tag type with a lower system stored in the program tool to a data tag type and real-time data requested by an upper system by the second setting unit;
The upper system verification unit,
Whether the first program operates normally by compiling the first program configured as the function of the fifth setting unit is completed using the data tag type, the real time variable, and the virtual variable with the upper system is completed. When the error occurs according to the compile process, the debugger enters the root of the first program in which the error occurs, and proceeds to debugging. After debugging, the first setting unit to the first through the virtual simulation function in the program tool. Multi-communication and multi-protocol support apparatus between systems using an embedded CPU included in the PLC, characterized by checking the integrity of the first program by controlling the logic configured in the fifth setting unit and the value of each data.
컴퓨터-판독가능 기록매체로서,
상기 컴퓨터-판독가능 기록매체는, 컴퓨팅 장치로 하여금 이하의 단계들을 수행하도록 하는 명령들을 저장하며, 상기 단계들은:
상기 컴퓨팅 장치가 포함된 PLC에 구현되는 임베디드 CPU 모듈에서 구동되는 프로그램 툴을 통한 초기 입력에 따라서 시스템별 자동제어를 위한 제1 프로그램을 생성하는 프로젝트 생성 단계;
상기 임베디드 CPU 모듈과 하위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제1 통신 방식 및 제1 프로토콜 설정값에 대한 입력 수단으로부터의 제1 입력에 따라, 상기 임베디드 CPU 모듈과 하위 시스템과의 통신 포트 및 프로토콜인 제1 통신 포트 및 제1 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제1 설정 단계;
하위 시스템의 데이터 수집을 위한 변수 및 데이터 업데이트를 위한 통신 주기를 설정하는 제2 설정 단계;
하위 시스템의 자동제어 조건에 따른 구동 로직 구성을 위해 하위 시스템의 제어, 계측 및 감시를 위한 세부 프로그램 코드를 구성하는 입력 수단으로부터의 입력을 수신하여 하위 시스템의 자동제어 조건에 따른 로직을 상기 프로그램 툴을 통해 구성하고, 구성된 로직의 조건에 부합하는 실시간 변수 및 컴파일과 시뮬레이션을 위한 가상 변수를 대입하는 제3 설정 단계;
상기 제3 설정 단계 완료 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 제1 검증 단계;
상기 임베디드 CPU 모듈과 상위 시스템과의 데이터 송수신을 위한 통신 방식 및 프로토콜 설정값으로서 제2 통신 방식 및 제2 프로토콜 설정값에 대한 입력 수단으로부터의 제2 입력에 따라, 상기 임베디드 CPU 모듈과 상위 시스템과의 통신 포트 및 프로토콜인 제2 통신 포트 및 제2 프로토콜을 생성하여 상기 제1 프로그램에 저장하는 제4 설정 단계;
상위 시스템이 하위 시스템의 데이터를 수집하여 관리하기 위한 데이터 관리 기준 설정에 대한 프로세스를 진행하는 제5 설정 단계;
상기 제5 설정 단계 완료 후, 상기 제1 프로그램에 대한 컴파일 및 가상시뮬레이션을 통해 상기 제1 프로그램에 대한 무결성을 확인하는 제2 검증 단계; 및
상기 제2 검증 단계에 의해 무결성이 확인된 제1 프로그램을 네트워크를 통해 상기 프로그램 툴로부터 상기 임베디드 CPU에 다운로드하는 프로그램 설치 단계;를 포함하고,
상기 제2 설정 단계는,
하위 시스템의 데이터 수집을 위한 변수를 생성하고, 데이터 태그 타입(Data Tag Type)의 변수형을 설정하여 프로그램 툴에 저장하는 제1 저장 단계; 및
상기 하위 시스템의 데이터 업데이트를 위한 제1 통신 주기를 설정하되, 상기 상위 시스템의 스펙별로 미리 설정된 상위 시스템이 하위 시스템의 데이터 수집을 위해서 요청하는 데이터 수집주기인 제2 통신 주기보다 상기 제1 통신 주기를 짧게 설정하여 하위 시스템으로부터 최신 데이터를 수집하도록 하는 제1 통신 주기 설정 단계;를 포함하고
상기 제1 검증 단계는,
상기 하위 시스템의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제3 설정 단계의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제1 컴파일 단계;
상기 제1 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제1 디버깅 단계; 및
상기 제1 디버깅 단계의 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제3 설정 단계에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 제1 검증 완료 단계;를 포함하고,
상기 제5 설정 단계는,
상기 제2 설정 단계에 의하여 상기 프로그램 툴에 저장된 하위 시스템과의 데이터 태그 타입을 상위 시스템이 요청하는 데이터 태그 타입 및 실시간 데이터로 매핑하고,
상기 제2 검증 단계는,
상기 상위 시스템과의 데이터 태그 타입, 상기 실시간 변수 및 상기 가상 변수를 이용하여, 상기 제5 설정 단계의 수행이 완료됨에 따라 구성된 제1 프로그램에 대한 컴파일을 통해 상기 제1 프로그램이 정상적으로 동작하는지 여부를 테스트하는 제2 컴파일 단계;
상기 제2 컴파일 단계 진행에 따른 오류 발생 시, 오류가 발생된 제1 프로그램의 루트(Root)에 진입하여 디버깅을 진행하는 제2 디버깅 단계; 및
상기 제2 디버깅 단계의 수행 후 상기 프로그램 툴 내의 가상 시뮬레이션 기능을 이용하여 상기 제1 설정 단계 내지 제5 설정 단계에서 구성된 로직 및 각 데이터의 값을 컨트롤하여 상기 제1 프로그램에 대한 무결성을 확인하는 제2 검증 완료 단계;를 포함하는 것을 특징으로 하는 컴퓨터-판독가능 기록매체.
As a computer-readable recording medium,
The computer-readable recording medium stores instructions for causing a computing device to perform the following steps, the steps:
A project generation step of generating a first program for automatic control for each system according to an initial input through a program tool driven by an embedded CPU module implemented in a PLC including the computing device;
The embedded CPU module and the sub-system in accordance with a first input from an input means for a first communication scheme and a first protocol setpoint as a communication scheme and a protocol setpoint for data transmission and reception between the embedded CPU module and the subsystem; A first setting step of generating a first communication port and a first protocol which is a communication port and a protocol of the first protocol, and storing the first protocol in the first program;
A second setting step of setting a variable for collecting data of the subsystem and a communication period for updating data;
The program tool receives the input from the input means constituting the detailed program code for the control, measurement and monitoring of the subsystem to configure the driving logic according to the automatic control condition of the subsystem. A third setting step of configuring through the controller and substituting real-time variables corresponding to the conditions of the configured logic and virtual variables for compilation and simulation;
A first verifying step of verifying integrity of the first program through compilation and virtual simulation of the first program after completion of the third setting step;
According to the second input from the input means for the second communication method and the second protocol setting value as a communication method and protocol setting value for data transmission and reception between the embedded CPU module and the upper system, A fourth setting step of generating a second communication port and a second protocol, which are communication ports and protocols of the second protocol, and storing them in the first program;
A fifth setting step in which the upper system goes through a process for setting data management criteria for collecting and managing data of the lower system;
A second verifying step of verifying integrity of the first program through compilation and virtual simulation of the first program after completion of the fifth setting step; And
A program installation step of downloading a first program whose integrity is confirmed by the second verifying step from the program tool to the embedded CPU through a network;
The second setting step,
Generating a variable for data collection of the subsystem, setting a variable type of a data tag type and storing the variable in a program tool; And
A first communication period is set for updating data of the lower system, and the first communication period is higher than a second communication period, which is a data collection period requested by the upper system preset for data collection of the lower system by the specifications of the upper system. A first communication period setting step of setting a short time to collect the latest data from the subsystem; and
The first verification step,
Using the data tag type of the sub-system, the real-time variable and the virtual variable, test whether the first program operates normally by compiling the first program configured as the execution of the third setting step is completed. A first compilation step;
A first debugging step of performing debugging by entering a root of a first program in which an error occurs when an error occurs according to the progress of the first compilation step; And
A first verification completion step of verifying the integrity of the first program by controlling the logic configured in the third setting step and the value of each data by using the virtual simulation function in the program tool after performing the first debugging step; Including,
The fifth setting step,
Mapping the data tag type with the lower system stored in the program tool to the data tag type and real-time data requested by the upper system by the second setting step;
The second verification step,
Whether the first program operates normally by compiling the first program configured as the execution of the fifth setting step is completed using the data tag type, the real time variable, and the virtual variable with the upper system. A second compilation step of testing;
A second debugging step of performing debugging by entering a root of a first program in which an error occurs when an error occurs according to the progress of the second compilation step; And
After performing the second debugging step, using the virtual simulation function in the program tool to control the logic configured in the first to fifth setting steps and the value of each data to check the integrity of the first program; Comprising 2 verification step; Computer-readable recording medium comprising a.
KR1020190035608A 2019-03-28 2019-03-28 Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller KR102050312B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190035608A KR102050312B1 (en) 2019-03-28 2019-03-28 Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190035608A KR102050312B1 (en) 2019-03-28 2019-03-28 Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller

Publications (1)

Publication Number Publication Date
KR102050312B1 true KR102050312B1 (en) 2019-12-02

Family

ID=68847662

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190035608A KR102050312B1 (en) 2019-03-28 2019-03-28 Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller

Country Status (1)

Country Link
KR (1) KR102050312B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021149943A1 (en) * 2020-01-20 2021-07-29 엘에스일렉트릭 주식회사 Hmi device and driving method thereof
CN114374598A (en) * 2021-12-28 2022-04-19 中电九天智能科技有限公司 Method and system for solving occupation of Ethernet network port
KR102683278B1 (en) * 2023-03-20 2024-07-09 김우섭 Building automatic control system that communicates through a communication protocol structure that allows for precise control and expansion of input-output capacity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101276745B1 (en) * 2012-01-10 2013-06-19 쓰리코주식회사 Universal opc communication drive possible communication of heterogeneous plc system and hmi system
KR20160060250A (en) * 2014-11-19 2016-05-30 엘지전자 주식회사 Facility control apparatus, building automation system comprising the same and method for controlling facilities
KR20170048802A (en) * 2015-10-27 2017-05-10 주식회사 아이로직스 Programming apparatus and method for PLC
KR20180046617A (en) * 2016-10-28 2018-05-09 한국전자통신연구원 Update management apparatus of industry control system, apparatus and method for update verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101276745B1 (en) * 2012-01-10 2013-06-19 쓰리코주식회사 Universal opc communication drive possible communication of heterogeneous plc system and hmi system
KR20160060250A (en) * 2014-11-19 2016-05-30 엘지전자 주식회사 Facility control apparatus, building automation system comprising the same and method for controlling facilities
KR20170048802A (en) * 2015-10-27 2017-05-10 주식회사 아이로직스 Programming apparatus and method for PLC
KR20180046617A (en) * 2016-10-28 2018-05-09 한국전자통신연구원 Update management apparatus of industry control system, apparatus and method for update verification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021149943A1 (en) * 2020-01-20 2021-07-29 엘에스일렉트릭 주식회사 Hmi device and driving method thereof
CN114374598A (en) * 2021-12-28 2022-04-19 中电九天智能科技有限公司 Method and system for solving occupation of Ethernet network port
CN114374598B (en) * 2021-12-28 2023-07-21 中电九天智能科技有限公司 Method and system for solving problem of occupied Ethernet network port
KR102683278B1 (en) * 2023-03-20 2024-07-09 김우섭 Building automatic control system that communicates through a communication protocol structure that allows for precise control and expansion of input-output capacity

Similar Documents

Publication Publication Date Title
US11435728B2 (en) I/O virtualization for commissioning
US10663956B2 (en) Configuration in process plant using I/O-abstracted field device configurations
KR102050312B1 (en) Supporting method, apparatus and computer-readable medium of multi communication type and protocol between systems using embedded cpu included in programmable logic controller
US10198536B2 (en) Simulation system, method for carrying out a simulation, control system, and computer program product
CN104503771A (en) Integrated development platform of train network control system
CN103760810A (en) Remote measuring terminal controller
Romanov et al. Unified architecture of execution level hardware and software for discrete machinery manufacturing control systems
US20140172402A1 (en) Simulation system, method for carrying out a simulation, guidance system, and computer program product
CN104572108A (en) Train network control system software development method
CN104009882A (en) Equivalent satellite power supply system testing method and system based on distributed architecture
KR101243441B1 (en) Simulator based on reconfigurable components
CN103425055A (en) Semi-virtual functional test device and method for control system
KR20130079046A (en) A simulation system of communication between hmi simulator and plc simulator
CN103576667A (en) Main control panel test method, device and system
CN105179156A (en) Offline control program testing system and method of pump storage group
WO2014204635A1 (en) Cyber-physical systems programmable logic controller
KR101670471B1 (en) Method And Apparatus for Providing Building Simulation
CN203909545U (en) Remote telemetering terminal controller
CN111581075B (en) Debugging method, system, computer and storage medium of embedded hierarchical system
KR20230076317A (en) simulation device and control method thereof
Liu et al. Real-time simulation system based on Linux and RTW
CN113238491B (en) Simulation test method and device of execution mechanism, intelligent arm support and engineering vehicle
EP4328681A1 (en) Method and system for managing technical installation during occurrence of error state in a controller
US20230418248A1 (en) Infrastructure Management System
US20220057769A1 (en) Programmable microgrid control system

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant