KR20200003323A - Analysis method of controller for factory automation using artificial intelligence-based reverse engineering - Google Patents

Analysis method of controller for factory automation using artificial intelligence-based reverse engineering Download PDF

Info

Publication number
KR20200003323A
KR20200003323A KR1020180071559A KR20180071559A KR20200003323A KR 20200003323 A KR20200003323 A KR 20200003323A KR 1020180071559 A KR1020180071559 A KR 1020180071559A KR 20180071559 A KR20180071559 A KR 20180071559A KR 20200003323 A KR20200003323 A KR 20200003323A
Authority
KR
South Korea
Prior art keywords
artificial intelligence
model
input
controller
reverse engineering
Prior art date
Application number
KR1020180071559A
Other languages
Korean (ko)
Other versions
KR102132659B1 (en
Inventor
황형주
황락훈
김진오
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020180071559A priority Critical patent/KR102132659B1/en
Publication of KR20200003323A publication Critical patent/KR20200003323A/en
Application granted granted Critical
Publication of KR102132659B1 publication Critical patent/KR102132659B1/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/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], computer integrated manufacturing [CIM]
    • G05B19/41885Total 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], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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]

Abstract

The present invention relates to an analysis method of a factory automation controller using artificial intelligence-based reverse engineering, which comprises: a) an input step of receiving and preprocessing input and output data of an analysis target intelligent controller; b) a step of constructing a logical model of the preprocessed input and output data through artificial intelligence learning; and c) a step of extracting internal logic of the analysis target intelligent controller through the constructed model.

Description

인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법{Analysis method of controller for factory automation using artificial intelligence-based reverse engineering}Analysis method of controller for factory automation using artificial intelligence-based reverse engineering}

본 발명은 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법에 관한 것으로, 더 상세하게는 기계 학습 알고리즘을 이용하여 프로그램 가능한 로직 컨트롤러(Programmable Logic Controller, PLC), 직접 계수 제어 장치(Direct Digital Controller, DDC), 분산 처리 시스템(Distributed Control System, DCS), 독립 실행형 컨트롤러(Standalone) 등과 같은 지능 제어 시스템(Intelligent Controller)의 구조 및 작동 원리를 파악하고 이를 재현하기 위한 방법에 관한 것이다.The present invention relates to an analysis method of a factory automation controller using artificial intelligence-based reverse engineering, and more specifically, a programmable logic controller (PLC), a direct coefficient control device (Direct Digital) using a machine learning algorithm. The present invention relates to a method for identifying and reproducing the structure and operation principle of an intelligent controller such as a controller (DDC), a distributed control system (DCS), a standalone controller, and the like.

최근 스마트 공장 등 공장 자동화를 위하여 지능 제어기의 도입이 활발하게 이루어지고 있다. 지능 제어기는 프로그램 가능한 로직 컨트롤러(Programmable Logic Controller, PLC), 직접 계수 제어 장치(Direct Digital Controller, DDC), 분산 처리 시스템(Distributed Control System, DCS), 독립 실행형 컨트롤러(Standalone)를 포함하는 개념이다.Recently, intelligent controllers have been actively introduced for factory automation such as smart factories. The intelligent controller is a concept that includes a programmable logic controller (PLC), a direct digital controller (DDC), a distributed control system (DCS), and a standalone controller. .

공장 자동화를 위해서는 위의 제어기들의 유기적인 동작의 결합관계의 파악이 매우 중요하다. 하지만, 현재까지 국내에서는 각종 공정 제어 시스템을 구축할 때 해외 제조 업체로부터 장비를 수입하고, 수입된 설비들의 작동 원리나 유기적이 결합관계를 분석할 수 없기 때문에 설비의 유지 보수에 많은 비용을 지급하고 있다.For factory automation, it is very important to understand the coupling of the organic operation of the above controllers. However, up to now, in Korea, when constructing various process control systems, equipment is imported from overseas manufacturers, and since the operation principle and organic coupling relationship of imported equipment cannot be analyzed, it is expensive to maintain the equipment. have.

"Abdelhameed, Magdy M., Darabi, Houshang. Diagnosis and debugging of programmable logic controller control programs by neural networks. Proceedings of the 2005 IEEE International Conference on Automation Science and Engineering, Edmonton, Canada, August 1 & 2, 2005, ISBN: 0-7803-9426-7, 313-318쪽"에는 순환 신경망을 이용하여 프로그램 가능한 로직 콘트롤러를 모델링하고 오류를 검출하거나 진단하는데 필요한 방안을 제시하였다."Abdelhameed, Magdy M., Darabi, Houshang. Diagnosis and debugging of programmable logic controller control programs by neural networks.Proceedings of the 2005 IEEE International Conference on Automation Science and Engineering, Edmonton, Canada, August 1 & 2, 2005, ISBN: 0-7803-9426-7, pp. 313-318, presents the methods necessary to model programmable logic controllers using cyclic neural networks and to detect or diagnose errors.

하지만 알고리즘 학습 과정의 추적이나 분석 과정이 결여되어, 콘트롤러의 내부 작동원리를 규명할 수 없으며, 다양한 알고리즘을 적용하지 않아 모델 정확도를 검증하기 어렵다는 한계가 존재한다.However, due to the lack of tracking and analysis of algorithm learning processes, the internal working principle of the controller cannot be identified, and there is a limit that it is difficult to verify model accuracy because various algorithms are not applied.

“Pr

Figure pat00001
hofer, Herbert; Schatz, Roland; Wirth, Christian; Mossenbock, Hanspeter. A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications. IEEE Transactions on Industrial Informatics, Volume 7, Issue 4, November 2011, Article number 6009197, ISSN: 15513203, 641-651쪽”, “Pr
Figure pat00002
hofer, Herbert; Wirth, Christian; Berger, Richard. Reverse engineering and visualization of the reactive behavior of PLC applications. IEEE International Conference on Industrial Informatics (INDIN), 2013, Article number 6622946, ISBN: 978-1-4799-0752-6, 564-571쪽”, “Pirzadeh, Heidar; Agarwal, Akanksha; Hamou-Lhadj, Abdelwahab. An Approach for Detecting Execution Phases of a System for the Purpose of Program Comprehension. 2010 8th ACIS International Conference on Software Engineering Research, Management and Applications, Article number 5489832, ISBN: 978-076954075-7, 207-214쪽”에서는 프로그램 가능한 로직 컨트롤 시스템의 추적 로그(trace log)를 이용하여 콘트롤러를 모델링하고 오류를 검출하는 방법을 제시하였다.“Pr
Figure pat00001
hofer, Herbert; Schatz, Roland; Wirth, Christian; Mossenbock, Hanspeter. A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications. IEEE Transactions on Industrial Informatics, Volume 7, Issue 4, November 2011, Article number 6009197, ISSN: 15513203, pp. 641-651 ”,“ Pr
Figure pat00002
hofer, Herbert; Wirth, Christian; Berger, Richard. Reverse engineering and visualization of the reactive behavior of PLC applications. IEEE International Conference on Industrial Informatics (INDIN), 2013, Article number 6622946, ISBN: 978-1-4799-0752-6, pp. 564-571 ”,“ Pirzadeh, Heidar; Agarwal, Akanksha; Hamou-Lhadj, Abdelwahab. An Approach for Detecting Execution Phases of a System for the Purpose of Program Comprehension. In the 2010 8th ACIS International Conference on Software Engineering Research, Management and Applications, Article number 5489832, ISBN: 978-076954075-7, pages 207-214, modeling the controller using the trace log of a programmable logic control system. And a method of detecting an error is presented.

하지만, 이와 같은 종래의 방법은 시스템 내부 작동 원리가 어느 정도 규명이 되어 있는 상태에서 모델링한다는 점에 있어서 큰 제약 조건을 가지고 있으며, 특히 추적 로그 정보를 얻을 수 없는 경우, 적용이 불가능하다는 단점이 있다.However, such a conventional method has a big limitation in that it is modeled with a certain degree of internal system operation, and in particular, it is impossible to apply when trace log information cannot be obtained. .

Abdelhameed, Magdy M., Darabi, Houshang. Diagnosis and debugging of programmable logic controller control programs by neural networks. Proceedings of the 2005 IEEE International Conference on Automation Science and Engineering, Edmonton, Canada, August 1 & 2, 2005, ISBN: 0-7803-9426-7, 313-318쪽

Figure pat00003
Prhofer, Herbert; Schatz, Roland; Wirth, Christian; Mossenbock, Hanspeter. A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications. IEEE Transactions on Industrial Informatics, Volume 7, Issue 4, November 2011, Article number 6009197, ISSN: 15513203, 641-651쪽
Figure pat00004
Prhofer, Herbert; Wirth, Christian; Berger, Richard. Reverse engineering and visualization of the reactive behavior of PLC applications. IEEE International Conference on Industrial Informatics (INDIN), 2013, Article number 6622946, ISBN: 978-1-4799-0752-6, 564-571쪽 Pirzadeh, Heidar; Agarwal, Akanksha; Hamou-Lhadj, Abdelwahab. An Approach for Detecting Execution Phases of a System for the Purpose of Program Comprehension. 2010 8th ACIS International Conference on Software Engineering Research, Management and Applications, Article number 5489832, ISBN: 978-076954075-7, 207-214쪽 Abdelhameed, Magdy M., Darabi, Houshang. Diagnosis and debugging of programmable logic controller control programs by neural networks. Proceedings of the 2005 IEEE International Conference on Automation Science and Engineering, Edmonton, Canada, August 1 & 2, 2005, ISBN: 0-7803-9426-7, pp. 313-318
Figure pat00003
Prhofer, Herbert; Schatz, Roland; Wirth, Christian; Mossenbock, Hanspeter. A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications. IEEE Transactions on Industrial Informatics, Volume 7, Issue 4, November 2011, Article number 6009197, ISSN: 15513203, 641-651
Figure pat00004
Prhofer, Herbert; Wirth, Christian; Berger, Richard. Reverse engineering and visualization of the reactive behavior of PLC applications. IEEE International Conference on Industrial Informatics (INDIN), 2013, Article number 6622946, ISBN: 978-1-4799-0752-6, pp. 564-571 Pirzadeh, Heidar; Agarwal, Akanksha; Hamou-Lhadj, Abdelwahab. An Approach for Detecting Execution Phases of a System for the Purpose of Program Comprehension. 2010 8th ACIS International Conference on Software Engineering Research, Management and Applications, Article number 5489832, ISBN: 978-076954075-7, pp. 207-214

본 발명이 해결하고자 하는 기술적 과제는, 분석대상을 가동하여 입출력 데이터를 확보하고, 이를 기계 학습 알고리즘을 통해 처리하여 의사 결정 모델을 구축함으로써, 제어 시스템 내부 작동 원리를 역으로 파악할 수 있는 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법을 제공함에 있다.The technical problem to be solved by the present invention is to operate the analysis target to obtain input and output data, and process it through a machine learning algorithm to build a decision model, based on artificial intelligence that can grasp the operating principle inside the control system in reverse An analysis method of a factory automation controller using reverse engineering is provided.

본 발명이 해결하고자 하는 다른 기술적 과제는, 지능 제어기의 출력값이 이산값인지 또는 연속값인지에 따라 분류하고, 각각에 대하여 적당한 알고리즘을 제공하여 정확성이 높은 기계 학습 모델을 구축함으로써, 이후 알고리즘의 학습 과정을 추적하여 지능 제어기의 구조 및 작동원리를 파악하고, 나아가 대체 제어기를 모델링할 수 있는 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법을 제공함에 있다.Another technical problem to be solved by the present invention is to classify according to whether the output value of the intelligent controller is discrete or continuous value, and by providing a suitable algorithm for each to build a high accuracy machine learning model, the learning of the algorithm after The present invention provides an analysis method of a factory automation controller using artificial intelligence-based reverse engineering that can track the process, grasp the structure and operation principle of an intelligent controller, and further model an alternative controller.

상기와 같은 과제를 해결하기 위한 본 발명 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법은, a) 분석대상 지능 제어기의 입출력 데이터를 입력받아 전처리하는 단계와, b) 전처리된 입출력 데이터들을 인공지능 학습을 통해 논리 모델을 구축하는 단계와, c) 구축된 모델을 통해 분석대상인 지능 제어기의 내부 논리를 추출하는 단계를 포함한다.The analysis method of the factory automation controller using the artificial intelligence-based reverse engineering to solve the above problems, a) receiving input and output data of the analysis target intelligent controller, and b) pre-processed input and output data Constructing a logic model through artificial intelligence learning; and c) extracting internal logic of an intelligent controller to be analyzed through the constructed model.

본 발명의 일실시예에 따르면, 상기 a) 단계에서 입출력 데이터는 이산형 또는 연속형이며, 데이터의 형태에 따라 상기 b) 단계의 학습 모델에 차이를 두며, 상기 전처리는, 입출력 데이터를 마이크로초 단위로 이산화(Discretization)하여 수열(array) 형태로 처리할 수 있다.According to an embodiment of the present invention, the input and output data in step a) is discrete or continuous, and the learning model of step b) is different depending on the type of data, and the preprocessing is performed. Discretization can be performed in units of arrays.

본 발명의 일실시예에 따르면, 상기 b) 단계는, 의사결정 나무 분류기 학습을 수행하는 단계와, 모델 정확도가 설정된 기준 이상인지 확인하여 설정된 기준 이상이 아니면 상기 a)단계를 재수행하고, 기준 이상이면 c) 단계를 수행하는 단계를 포함할 수 있다.According to an embodiment of the present invention, the step b) includes performing a decision tree classifier learning, checking whether the model accuracy is greater than or equal to the set criterion, and performing the step a) if the model accuracy is greater than or equal to the predetermined criterion. And c) performing step c).

본 발명의 일실시예에 따르면, 상기 b) 단계는, 상기 입출력 데이터가 이산형인 경우 신경망 모델을 이용하여 학습할 수 있다.According to an embodiment of the present invention, step b) may be performed using a neural network model when the input / output data is discrete.

본 발명의 일실시예에 따르면, 상기 c) 단계는,나무 분류기를 이용하여 분석 후 진로결정 과정을 순서도를 작성하고, 상기 순서도를 기반으로 래더 로직 다이어그램을 작성하여, 진로결정을 가시화할 수 있다.According to an embodiment of the present invention, step c) may create a flowchart of a career decision process after analysis using a tree classifier, and create a ladder logic diagram based on the flowchart to visualize the career decision. .

본 발명의 일실시예에 따르면, 상기 c) 단계는, 신경망 모델 또는 선형 회귀 모델을 사용하여 지능 제어 장치의 내부 로직을 추출할 수 있다.According to an embodiment of the present invention, the step c) may extract the internal logic of the intelligent control device using a neural network model or a linear regression model.

본 발명 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법은, 지능 제어기의 입출력 데이터를 이용하여 제어 시스템 내부 작동원리를 파악할 수 있어, 선진 공정 제어기술을 확보할 수 있는 효과가 있다.The analysis method of the factory automation controller using artificial intelligence-based reverse engineering of the present invention, by using the input and output data of the intelligent controller can grasp the operating principle of the control system, it is possible to secure the advanced process control technology.

본 발명은 동일 공정의 플랜트 신규 건설 또는 증설시 지능 제어기들을 국산화할 수 있으며, 유지 및 보수가 용이하도록 할 수 있는 효과가 있다.The present invention can localize the intelligent controllers when new plant construction or expansion of the same process, there is an effect that can be easy to maintain and repair.

도 1은 본 발명의 바람직한 실시예에 따른 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법의 순서도이다.
도 2는 도 1의 알고리즘 순서도이다.
도 3 내지 도 6은 각각 분석대상인 프로그램 가능한 로직 컨트롤러(PLC)에 입력되는 입력 변수들(P1~P4)의 히스토그램의 예시도이다.
도 7 내지 도 12는 출력변수(ACC, DEC, STD, FORWARD, RUN, STOP)의 히스토그램의 예시도이다.
도 13은 진로 결정과정의 순서도이다.
도 14 내지 도 19는 각각 나무 기반 모델을 분석하여 작성한 출력변수들의 래더 로직 다이어그램의 예시도이다.
도 20은 출력변수 ACC의 모델 생성 과정에서 선택한 신경망 모델의 예시도이다.
도 21은 출력변수 DEC의 모델 생성 과정에서 선택한 신경망 모델의 예시도이다.
도 22는 신경망 모델을 분석하여 작성한 출력변수 DEC의 래더 로직 다이어그램의 예시도이다.
1 is a flowchart of an analysis method of a controller for factory automation using artificial intelligence-based reverse engineering according to a preferred embodiment of the present invention.
2 is a flowchart of the algorithm of FIG.
3 to 6 are exemplary diagrams of histograms of input variables P1 to P4 respectively input to the programmable logic controller PLC that is an analysis target.
7 to 12 are exemplary diagrams of histograms of output variables ACC, DEC, STD, FORWARD, RUN, and STOP.
13 is a flowchart of a career decision process.
14 to 19 are exemplary diagrams of ladder logic diagrams of output variables created by analyzing tree-based models, respectively.
20 is an exemplary diagram of a neural network model selected in a model generation process of an output variable ACC.
21 is an exemplary diagram of a neural network model selected in the model generation process of the output variable DEC.
22 is an exemplary diagram of a ladder logic diagram of an output variable DEC prepared by analyzing a neural network model.

이하, 본 발명 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법에 대하여 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, an analysis method of a factory automation controller using artificial intelligence-based reverse engineering of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시 예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이며, 아래에 설명되는 실시 예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시 예들로 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 발명을 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art, and the embodiments described below may be modified in various other forms, and The scope is not limited to the following embodiments. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the inventive concept to those skilled in the art.

본 명세서에서 사용된 용어는 특정 실시 예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는"포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" may include the plural forms as well, unless the context clearly indicates otherwise. Also, as used herein, "comprise" and / or "comprising" specifies the presence of the mentioned shapes, numbers, steps, actions, members, elements and / or groups of these. It is not intended to exclude the presence or the addition of one or more other shapes, numbers, acts, members, elements and / or groups. As used herein, the term "and / or" includes any and all combinations of one or more of the listed items.

본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되지 않음은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열을 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다.Although the terms first, second, etc. are used herein to describe various members, regions, and / or portions, it is obvious that these members, components, regions, layers, and / or portions are not limited by these terms. . These terms do not imply any particular order, up or down, or superiority, and are only used to distinguish one member, region or region from another member, region or region. Accordingly, the first member, region, or region described below may refer to the second member, region, or region without departing from the teachings of the present invention.

이하, 본 발명의 실시 예들은 본 발명의 실시 예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시 예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.Hereinafter, embodiments of the present invention will be described with reference to the drawings schematically showing embodiments of the present invention. In the drawings, for example, variations in the shape shown may be expected, depending on manufacturing techniques and / or tolerances. Accordingly, embodiments of the present invention should not be construed as limited to the specific shapes of the regions shown herein, but should include, for example, changes in shape resulting from manufacturing.

도 1은 본 발명의 바람직한 실시예에 따른 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법의 순서도이고, 도 2는 알고리즘 순서도이다.1 is a flowchart of an analysis method of a controller for factory automation using artificial intelligence-based reverse engineering according to a preferred embodiment of the present invention, and FIG. 2 is an algorithm flowchart.

도 1과 도 2를 각각 참조하면 본 발명의 바람직한 실시예에 따른 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법은, 입력단계(S10), 생성단계(S20), 추출단계(S30), 분석단계(S40)를 포함한다. 본 발명의 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법은 통상의 연산이 가능한 제어기와 저장장치 및 데이터의 임시 저장이 가능한 메모리를 포함하는 장치를 이용하여 이루어지며, 예를 들어 퍼스널 컴퓨터를 사용할 수 있다.1 and 2, the analysis method of the factory automation controller using artificial intelligence-based reverse engineering according to a preferred embodiment of the present invention, input step (S10), generation step (S20), extraction step (S30) , Analysis step (S40). The analysis method of the factory automation controller using the artificial intelligence-based reverse engineering of the present invention is made using a device including a controller capable of a conventional operation and a storage device and a memory capable of temporarily storing data, for example, a personal computer. Can be used.

먼저, 입력단계(S10)는 분석 대상인 지능 제어기에 장착된 센서들로부터 입출력 데이터를 입력 받아 전처리한다.First, the input step (S10) receives the input and output data from the sensors mounted on the intelligent controller to be analyzed and preprocessing.

그 다음, 생성단계(S20)는 입력단계에서 입력된 데이터의 형태에 따라 적절한 예측 모델을 선택한 후, 학습시킨다.Next, the generation step (S20) selects an appropriate prediction model according to the type of data input in the input step, and then trains.

입력된 데이터의 형태는 데이터가 이산값 또는 연속값으로 구분할 수 있다.The type of input data may be divided into discrete or continuous values.

추출단계(S30)에서는 생성단계(S20)에서 학습된 모델을 분석하여 지능 제어 장치의 내부 로직을 찾아내는 단계로, 나무 기반 모델, 신경망 모델 또는 선형 회귀 모델을 사용할 수 있다.In the extraction step (S30) to find the internal logic of the intelligent control device by analyzing the model learned in the generation step (S20), a tree-based model, a neural network model or a linear regression model may be used.

그 다음, 검증단계(S40)에서는 추출단계(S30)에서 추출된 로직을 검증한다.Next, in the verification step (S40), the logic extracted in the extraction step (S30) is verified.

이하에서는 본 발명의 각 단계에 대하여 더욱 구체적으로 설명한다.Hereinafter, each step of the present invention will be described in more detail.

먼저, 입력단계(S10)에서는, 상기 지능 제어기의 센서 입출력 데이터를 입력 받아 전처리한다. 이때, 입출력 데이터의 형태에 따라 지능 제어 장치의 논리 분석 방법이 달라지므로 데이터를 전처리한다.First, in the input step (S10), the sensor input and output data of the intelligent controller is received and preprocessed. At this time, since the logic analysis method of the intelligent control device varies according to the type of input / output data, the data is preprocessed.

입력단계(S10)에서는 연속적 시계열(continuous time series) 형태의 입출력 데이터를 값의 변동 정보를 잃지 않는 최소 시간 간격, 예를 들어, 마이크로초 단위로 이산화(Discretization)하여 수열(array) 형태로 저장한다. In the input step S10, the input / output data in the form of a continuous time series is discretized and stored in an array form at a minimum time interval, for example, in microseconds, without losing information on the change in values. .

예측을 하는데 현재 시점의 입력만으로 충분하다면 추가적인 데이터 전처리 과정 없이 이 수열을 그대로 사용한다. 반면, 예측 모델 구축 과정에 과거 시점의 데이터가 필요한 경우, 예를 들어, 시간 지연 모듈이 포함된 경우, 나무 기반 모델을 적용할 때, 얼마나 이전 데이터를 사용할지 결정하고 특정 시간 단계(time step)만큼 입력값들을 잘라서 시간 창(time window)을 만든다.If the prediction is sufficient for input at the present time, the sequence is used without further data preprocessing. On the other hand, when building a predictive model requires historical data, for example, if it includes a time delay module, when applying a tree-based model, it determines how old the data is to be used and a specific time step. Truncates the inputs by the amount of time to create a time window.

바로 직전 시점의 출력값들을 현재 시점의 입력값으로 사용하는 로직이 자주 나타나는 경우, 예를 들어, 자기지지(self-holding)형 로직 단위(logic unit)가 포함된 경우 등에서는 직전 출력값들도 분류기(classifier)의 입력값에 함께 포함시킬 수 있다. 고동(pulse) 형식이 아니라 계단 함수(step function) 형식의 출력값의 경우 신호(signal)가 켜지고 꺼지는 순간을 예측하는 것이 더 직관적이므로, 이에 맞게 데이터를 전처리한다.In the case where the logic using the output values of the immediately preceding time point as the input value of the present time is frequently displayed, for example, a self-holding logic unit is included, the immediately preceding output values may also be classified ( classifier). In the case of outputs in the form of step functions rather than pulses, it is more intuitive to predict when the signal is turned on and off, so preprocess the data accordingly.

도 3 내지 도 6은 분석대상인 프로그램 가능한 로직 컨트롤러(PLC)에 입력되는 입력 변수들(P1~P4)의 히스토그램의 예시도이고, 도 7 내지 도 12는 출력변수(ACC, DEC, STD, FORWARD, RUN, STOP)의 히스토그램의 예시도이다.3 to 6 are exemplary diagrams of histograms of the input variables P1 to P4 input to the programmable logic controller PLC as an analysis target, and FIGS. 7 to 12 are output variables ACC, DEC, STD, FORWARD, An illustration of the histogram of RUN and STOP).

생성단계(S20)에서는 상기 입력단계(S10)에서 입력된 데이터의 형태가 이산값인 경우, 나무기반 모델(Tree-based model)을 활용하여 학습을 수행한다.In the generation step S20, when the data type input in the input step S10 is a discrete value, learning is performed by using a tree-based model.

본 발명에서는 시간 간격을 조절해가면서 의사 결정 나무 분류기(decision tree classifier)를 학습시킨다. 예측에 대한 평가지표로 ROC AUC 점수를 사용할 수 있다. 학습 된 트리로부터 분석 대상인 지능 제어기의 로직을 찾아내기 위해서는 나무 의사 결정 모델을 최대한 간단히 만드는 것이 중요하다. 따라서, 입력값으로 사용되는 데이터의 시간 간격은 최소한으로 줄이고, 나무의 구조는 최대한 단순하게 될 수 있도록 모델을 만든다. In the present invention, the decision tree classifier is learned while adjusting the time interval. You can use the ROC AUC score as an indicator of prediction. It is important to make the tree decision model as simple as possible to find the logic of the intelligent controller to be analyzed from the learned tree. Therefore, the time interval of the data used as the input value is minimized and the model of the tree is made as simple as possible.

모델 구축 과정에서 주의할 점으로, 부적절한 계량 함수(metric)를 평가지표로 사용할 경우, 예측이 완전히 어긋나더라도 점수는 높게 나올 수 있다. 예를 들어, 단순히 제곱 오차(square error)를 계량 함수로 사용할 경우 고동 형태의 출력값에 대해 모든 예측을 0으로 하더라도 높은 점수가 나온다.Note that in the process of model construction, if an inappropriate metric is used as an evaluation indicator, the score may be high even if the prediction is completely out of order. For example, simply using square error as a quantitative function yields a high score even if all predictions are zero for the output of the beat form.

생성단계(S20)는 의사 결정 나무 분류기를 학습하는 단계(S21)와, 모델 정확도가 기준값 이상인지 판단하는 단계(S22)를 포함한다.The generating step S20 includes learning a decision tree classifier S21 and determining whether the model accuracy is greater than or equal to a reference value S22.

이와 같은 생성단계(S20)를 수행한 후, 추출단계(S30)에서는 의사 결정 나무 모델을 학습시켜 원하는 만큼의 정확도를 얻은 후 모델의 진로 결정(decision path)을 가시화하여 분석대상인 제어기의 로직을 해석한다.After performing this generation step (S20), in the extraction step (S30) to obtain the desired accuracy by learning the decision tree model and then visualize the decision path of the model to analyze the logic of the controller to be analyzed do.

위의 과정으로 구축된 로직은 학습에 사용된 입력 패턴에 대해서만 타당성이 보장된다. 특히 과거 시점의 데이터를 입력값으로 사용하는 경우 가능한 패턴의 경우의 수가 훨씬 증가한다. 모든 패턴에 대해 출력 데이터를 생성하고 모델을 학습하는 것은 현실적으로 불가능하지만, 최대한 입력값의 다양한 시계열 패턴을 학습시키도록 한다.The logic built in the above process is only valid for the input pattern used for learning. In particular, the use of past data as an input value increases the number of possible patterns. It is not practical to generate output data and train the model for every pattern, but try to learn as many different time series patterns of the input as possible.

또한, 출력 데이터의 형태가 이산값일 경우에는 생성단계(S20)에서는 알고리즘 선택 시 신경망 모델(Neural Network Model)을 부차적으로 선택할 수 있다. 본 발명에서는 신경망 모델의 학습 방법에서 활성화 함수(Activation function)로서 하드 시그모이드 함수(Hard Sigmoid Function)을 사용할 수 있으나, 반드시 이 함수에 한정되는 것은 아니다.In addition, when the form of the output data is a discrete value, the generation step (S20) may additionally select a neural network model when selecting an algorithm. In the present invention, a hard sigmoid function may be used as an activation function in a neural network model learning method, but is not necessarily limited to this function.

생성단계(S20)에서는 시간 간격을 조절해 가면서 신경망 모델을 학습시킨다. 예측에 대한 평가지표로 ROC AUC 점수를 사용한다. 신경망 모델은 상황에 따라 다양하게 구성할 수 있다. 본 발명에서는 크게 두 가지 모델을 사용하였다. 먼저, 현재 시점의 입력 데이터만으로 충분히 예측 가능한 경우에는 완전 연결 계층(fully connected layer)으로 이루어진 신경망 모델을 사용할 수 있다. 그 다음, 과거 시점의 데이터까지 필요한 경우에는 첫 번째 계층(layer)이 국소적 연결 계층(locally connected layer)으로 구성된 신경망 모델을 선택하여 사용할 수 있다.In the generation step (S20), the neural network model is trained while adjusting the time interval. Use ROC AUC scores as an indicator of forecasting. The neural network model can be configured in various ways according to the situation. Two models were used in the present invention. First, when it is sufficiently predictable with only the input data of the present time, a neural network model composed of a fully connected layer may be used. Next, when data from the past point in time is required, a neural network model including a locally connected layer may be selected and used.

이 경우에는 추출단계(S30)에서 학습된 신경망 모델의 가중치(weight)를 분석대상인 제어기 로직으로 번역이 쉽게 되도록, 정확도가 유지되는 범위에서 단순화한다. 그 다음, 얻은 가중치를 분석하여 래더 로직 다이어그램을 그린다. In this case, the weight of the neural network model learned in the extraction step (S30) is simplified in a range in which accuracy is maintained so that translation is easy to the controller logic to be analyzed. Next, draw the ladder logic diagram by analyzing the weights obtained.

다이어그램을 그리는 것이 너무 어렵다면 수식 형태로 로직을 나타낸다.If it's too difficult to draw a diagram, the logic is represented in formula form.

도 10에 도시한 출력변수 'FORWARD'에 대한 분석 결과로서 의사결정 나무 모델 학습을 통해 얻은 진로 결정 과정은 도 13의 순서도와 같이 나타낼 수 있다.As a result of analyzing the output variable 'FORWARD' illustrated in FIG. 10, a career decision process obtained through learning a decision tree model may be represented as in the flowchart of FIG. 13.

나무 모델을 이용시 추출단계(S30)의 예로 도 13의 결과를 래더 로직 다이어그램으로 나타내면, 도 14과 같다. As an example of the extraction step (S30) using the tree model, the result of FIG. 13 is represented by a ladder logic diagram, as shown in FIG. 14.

도 13의 진로 결정 과정은 하향식(top-down) 방식으로 따라가며 해석한다. 각 노드에서 이루어지는 이진분류(binary classification)는 해당 노드에 표시되어 있는 로직 단위의 on-off를 의미한다. 예를 들어, 도 13에서 최상단 노드에서 왼쪽 자녀 노드를 따라가며 해석하면, FORWARD(t-1)이 on이고 P1(t)이 off일 경우 현재 상태의 FORWARD(t)가 on이 된다. 한편 오른쪽 자녀 노드를 따라가면, FORWARD(t-1)이 off이고 P4(t)이 on일 경우 FORWARD(t)가 on이 된다. The career decision process of FIG. 13 is analyzed by following the top-down method. Binary classification at each node means on-off of the logic unit indicated at the node. For example, in FIG. 13, when the uppermost node is interpreted while following the left child node, when FORWARD (t-1) is on and P1 (t) is off, the current state of FORWARD (t) is on. Meanwhile, following the right child node, if FORWARD (t-1) is off and P4 (t) is on, FORWARD (t) is on.

이와 같은 분석에 따르면 'OR' 회로 아래에 FORWARD(t-1) |/|이 포함되어야 한다. 이후 검증단계(S40)에서 이 로직 단위를 제외해도 ROC AUC 점수가 그대로 유지되는 것을 확인할 수 있었고, 최종 결과에서는 이를 제외시켰다. 이 과정을 통해 실제 PLC 장치를 좀 더 간단하고 직관적인 로직으로 수정할 수 있다.This analysis requires that FORWARD (t-1) | / | beneath the OR circuit. After the verification step (S40), even if this logic unit was excluded, it was confirmed that the ROC AUC score was maintained as it was, and the final result was excluded. This process makes it possible to modify the actual PLC device with simpler and more intuitive logic.

이처럼 출력변수 'ACC', 'DEC', 'RUN', 'STD', 'STOP'에 대한 분석을 통해 래더 로직 다이어그램을 작성한 결과를 도 15 내지 도 19에 각각 도시하였다.The results of creating the ladder logic diagram through the analysis of the output variables 'ACC', 'DEC', 'RUN', 'STD', and 'STOP' are shown in FIGS. 15 to 19, respectively.

신경망 모델에서도 부적절한 계량 함수(metric)에 대한 문제, 과적합 문제 등에 주의한다. 본 발명에서의 실험 데이터의 경우 하나의 계층으로 충분했지만, 실제 현장에서 사용되는 복잡한 로직의 경우 여러 계층이 필요할 수 있다.In neural network models, pay attention to the problems of inadequate metric, overfitting, etc. In the case of the experimental data in the present invention, one layer is sufficient, but in the case of complex logic used in the actual field, several layers may be required.

본 발명의 일실시예에서는 의사 결정 나무 모델을 우선 실시하여 그 결과를 토대로 계층을 얼마나 쌓을지, 가중치 선택 및 전정 과정은 어떻게 하면 좋은 결과가 나오는지 등 모델 후보군을 선별한 뒤 학습 과정을 거쳤다. 이처럼 나무 결정 모델을 선행 모델로 적절히 활용하면 신경망 모델 구축 과정에서 생기는 시행착오를 줄일 수 있다.In one embodiment of the present invention, the decision tree model is first implemented, and the model candidate group, such as how to stack the hierarchy based on the result, the weight selection, and the pruning process, may be selected. The proper use of the tree decision model as a preceding model can reduce trial and error in the neural network model construction process.

과거 시점 데이터를 함께 학습하는 경우에 사용된 국소적 연결 계층의 가중치는 대부분 전정 과정을 통해 삭제할 수 있다고 가정하였다. 실제 PLC가 작동하는 방식을 보면 일부를 제외한 대부분의 과거 시점의 데이터들이 현재 시점의 결과값에 영향을 주지 않기 때문에 이런 형태의 모델링이 가능하다. 또한, 이를 통해 로직을 좀 더 이해하기 쉬운 수준으로 만들어 줄 수 있다. 전정 과정은 학습 과정에서 특정 세대(epoch) 구간에서 특정 간격으로 비중이 가장 작은 가중치들을 하나씩 제거하는 방식으로 진행될 수 있다.It is assumed that most of the weights of the local link layers used when learning historical data together can be deleted through pruning. In fact, how PLCs work in this form of modeling is possible because most of the historical data, except for some, does not affect the current results. This also makes the logic more understandable. The pruning process may be performed by removing weights having the smallest weight one by one at specific intervals in a specific epoch section in the learning process.

다음은 신경망 모델 이용 시 추출단계(S30)의 일 예이다. 출력 변수 'ACC'의 경우 과거 시점의 데이터 필요없이 로직 예측이 가능하다. 이 경우 도 20과 같은 간단한 신경망 모델로 분석이 충분하다. The following is an example of the extraction step (S30) when using the neural network model. In the case of the output variable 'ACC', logic prediction can be performed without the need for data from the past. In this case, the analysis is sufficient with a simple neural network model as shown in FIG. 20.

한편, 출력 변수 'STD'의 경우 과거 시점의 데이터를 함께 학습시켜야 충분한 정확도를 얻을 수 있다. 이 경우 가중치 분석을 쉽게 만들기 위해 도 21과 같은 국소적 연결 계층을 이용하며, 위에서 설명한 전정 과정을 모델 학습에 포함시킨다. 각 모델을 학습하여 얻은 가중치를 나타내면 아래의 수학식1과 같다.Meanwhile, in the case of the output variable 'STD', sufficient accuracy may be obtained by learning data of a past time point together. In this case, the local connection layer as shown in FIG. 21 is used to make the weight analysis easy, and the vestibular process described above is included in the model training. The weight obtained by learning each model is represented by Equation 1 below.

Figure pat00005
Figure pat00005

위 식에서 h1과 h2를 정의하면 아래의 수학식 2와 같다.If h 1 and h 2 are defined in Equation 2, Equation 2 below.

Figure pat00006
Figure pat00006

위에서 활성화 함수 σ는 하드 시그모이드 함수로 아래의 수학식 3으로 정의될 수 있다.The activation function σ is a hard sigmoid function and may be defined by Equation 3 below.

Figure pat00007
Figure pat00007

따라서 P1(t)와 P4(t) 중 적어도 하나가 1이면 ACC(t)은 1이 되고, 둘 다 0이면 ACC(t)의 값은 0이 된다. 즉 출력 변수 ACC(t)는 입력 변수 P1(t)와 P4(t)의 OR 게이트(OR gate)에 해당되며, 이를 래더 로직으로 나타낸 것이 도 15이다.Therefore, when at least one of P 1 (t) and P 4 (t) is 1, ACC (t) becomes 1, and when both are 0, the value of ACC (t) becomes 0. That is, the output variable ACC (t) corresponds to an OR gate of the input variables P 1 (t) and P 4 (t), which is represented by ladder logic in FIG. 15.

유사한 방법으로 DEC(t)에 대한 가중치 분석을 하면 도 22를 얻을 수 있다. 여기서 입력 변수 P1과 P4에는 시간 지연 모듈이 포함되어 있음을 유의한다. 한편 도 16은 나무 모델을 이용하여 얻은 출력 변수 'DEC'에 대한 래더 로직이다. 즉 같은 변수에 대한 분석이라도 다른 예측 모델을 적용하면 다른 래더 로직이 추출될 수 있다. 이는 각각의 예측이 틀렸다는 것이 아니라, 주어진 입력 변수의 패턴에 대하여 두 모델이 서로 동치인 결과를 예측한다는 것을 의미한다. In a similar manner, a weight analysis of DEC (t) may be performed to obtain FIG. 22. Note that the input variables P 1 and P 4 contain the time delay module. 16 is ladder logic for the output variable 'DEC' obtained using the tree model. In other words, different ladder logic can be extracted by applying different prediction models to the same variables. This does not mean that each prediction is wrong, but that the two models predict equivalent results for a given pattern of input variables.

같은 맥락으로 본 발명에서 추출된 다른 래더 로직 다이어그램 역시 실제 지능 제어장치 내부의 구조와 정확히 일치하지 않을 수는 있으나, 예측되는 출력 변수의 값에는 전혀 오차가 발생하지 않는다.In the same vein, other ladder logic diagrams extracted in the present invention may not exactly match the structure of the actual intelligent controller, but no error occurs in the value of the predicted output variable.

생성단계(S20)에서 출력 데이터의 형태가 연속값일 경우의 알고리즘은 각종 기초 함수를 이용한 선형 회귀(Linear Regression) 또는 의사 결정 나무 분류기(decisiontreeclassifier) 중 하나를 선택한다.In the generation step S20, when the output data has a continuous value, the algorithm selects one of linear regression or decision treeclassifier using various basic functions.

다항 함수를 이용한 선형 회귀(polynomial fitting) 모델을 선택한 경우, 차수를 올려가면서 선형 회귀 모델을 적용한다. 원하는 정확도만큼 차수를 올린다. 의사 결정 나무 분류기(decision tree classifier)를 선택한 경우, 결과값의 변화량인 y(t) - y(t-1)의 값이 범주형(categorical)인 경우 혹은 적절히 반올림하여 범주형으로 만들 수 있는 경우에는 회귀 문제를 분류 문제로 바꿀 수 있다.If you select a polynomial fitting model using a polynomial function, apply the linear regression model with increasing order. Raise the order by the desired accuracy. When a decision tree classifier is selected, when the variation in the resulting values, y (t)-y (t-1), is categorical or can be rounded appropriately to make it categorical We can turn the regression problem into a classification problem.

결과를 해석하는 방안으로 선형 회귀 알고리즘을 적용한 경우 도출된 수식을 확인하고, 의사 결정 나무 분류기를 적용한 경우 출력 데이터를 이산값으로 간주하고 첫 번째 경우와 동일한 과정을 거친다.As a way of interpreting the results, we check the derived equations when applying the linear regression algorithm. If the decision tree classifier is applied, the output data is regarded as a discrete value and goes through the same process as in the first case.

이처럼 추출단계(S30)를 통해 PLC의 내부 로직을 확인할 수 있으며, 검증단계(S40)에서는 구축된 로직에 다시 입력값을 입력하고, 출력을 비교하여 로직이 맞는지 검증해 본다. 필요하다면 사용자의 판단 하에 불필요한 로직 단위를 제외시키고 검증을 하여 더 정확한 로직을 얻을 수 있다.As such, the internal logic of the PLC can be checked through the extraction step (S30). In the verification step (S40), the input value is input again to the constructed logic, and the output is compared to verify whether the logic is correct. If necessary, more accurate logic can be obtained by excluding and verifying unnecessary logic units at the user's discretion.

본 발명은 상기 실시예에 한정되지 않고 본 발명의 기술적 요지를 벗어나지 아니하는 범위 내에서 다양하게 수정, 변형되어 실시될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어서 자명한 것이다.It will be apparent to those skilled in the art that the present invention is not limited to the above embodiments and may be variously modified and modified without departing from the technical spirit of the present invention. will be.

Claims (6)

a) 분석대상 지능 제어기의 입출력 데이터를 입력받아 전처리하는 단계;
b) 전처리된 입출력 데이터들을 인공지능 학습을 통해 논리 모델을 구축하는 단계; 및
c) 구축된 모델을 통해 분석대상인 지능 제어기의 내부 논리를 추출하는 단계를 포함하는 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법.
a) pre-processing input / output data of the analysis target intelligent controller;
b) constructing a logical model of the preprocessed input / output data through artificial intelligence learning; And
c) Analysis method of a factory automation controller using artificial intelligence-based reverse engineering comprising extracting the internal logic of the intelligent controller to be analyzed through the built model.
제1항에 있어서,
상기 a) 단계에서 입출력 데이터는 이산형 또는 연속형이며, 데이터의 형태에 따라 상기 b) 단계의 학습 모델에 차이를 두며,
상기 전처리는, 입출력 데이터를 마이크로초 단위로 이산화(Discretization)하여 수열(array) 형태로 처리하는 것을 특징으로 하는 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법.
The method of claim 1,
The input / output data in step a) is discrete or continuous, and the learning model of step b) is different depending on the type of data.
The pre-processing, the analysis method of the factory automation controller using artificial intelligence-based reverse engineering, characterized in that the input-output data Discretization (microsecond) unit to process in the form of an array (array).
제2항에 있어서,
상기 b) 단계는,
의사결정 나무 분류기 학습을 수행하는 단계; 및
모델 정확도가 설정된 기준 이상인지 확인하여 설정된 기준 이상이 아니면 상기 a)단계를 재수행하고,
기준 이상이면 c) 단계를 수행하는 단계를 포함하는 인공지능기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법.
The method of claim 2,
B),
Performing decision tree classifier learning; And
Check if the model accuracy is above the set criteria, and if it is not above the set criteria, repeat step a).
Method of analysis of a factory automation controller using artificial intelligence-based reverse engineering comprising the step of performing the step c) if the reference.
제2항에 있어서,
상기 b) 단계는,
상기 입출력 데이터가 이산형인 경우 신경망 모델을 이용하여 학습하는 것을 특징으로 하는 인공지능기반 역공학을 이용한 공장 자동화용 제어기의 분석방법.
The method of claim 2,
B),
If the input and output data is discrete, the analysis method of the factory automation controller using artificial intelligence-based reverse engineering, characterized in that learning using a neural network model.
제1항에 있어서,
상기 c) 단계는,
나무 분류기를 이용하여 분석 후 진로결정 과정을 순서도를 작성하고,
상기 순서도를 기반으로 래더 로직 다이어그램을 작성하여,
진로결정을 가시화하는 것을 특징으로 하는 인공지능기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법.
The method of claim 1,
C),
Using the tree classifier, make a flow chart of the career decision process after analysis.
Create a ladder logic diagram based on the flowchart above,
An analysis method of a factory automation controller using artificial intelligence-based reverse engineering characterized in that to visualize the career decision.
제1항에 있어서,
상기 c) 단계는,
신경망 모델 또는 선형 회귀 모델을 사용하여 지능 제어 장치의 내부 로직을 추출하는 것을 특징으로 하는 인공지능기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법.
The method of claim 1,
C),
An analysis method for a factory automation controller using artificial intelligence-based reverse engineering, which extracts internal logic of an intelligent control device using a neural network model or a linear regression model.
KR1020180071559A 2018-06-21 2018-06-21 Analysis method of controller for factory automation using artificial intelligence-based reverse engineering KR102132659B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180071559A KR102132659B1 (en) 2018-06-21 2018-06-21 Analysis method of controller for factory automation using artificial intelligence-based reverse engineering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180071559A KR102132659B1 (en) 2018-06-21 2018-06-21 Analysis method of controller for factory automation using artificial intelligence-based reverse engineering

Publications (2)

Publication Number Publication Date
KR20200003323A true KR20200003323A (en) 2020-01-09
KR102132659B1 KR102132659B1 (en) 2020-07-10

Family

ID=69154906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180071559A KR102132659B1 (en) 2018-06-21 2018-06-21 Analysis method of controller for factory automation using artificial intelligence-based reverse engineering

Country Status (1)

Country Link
KR (1) KR102132659B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
KR20160063990A (en) * 2014-11-27 2016-06-07 주식회사 엘지씨엔에스 COMPUTER-EXECUTABLE MODEL reverse engineering mETHOD AND APPARATUS PERFORMING THE SAME

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
KR20160063990A (en) * 2014-11-27 2016-06-07 주식회사 엘지씨엔에스 COMPUTER-EXECUTABLE MODEL reverse engineering mETHOD AND APPARATUS PERFORMING THE SAME

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Abdelhameed, Magdy M., Darabi, Houshang. Diagnosis and debugging of programmable logic controller control programs by neural networks. Proceedings of the 2005 IEEE International Conference on Automation Science and Engineering, Edmonton, Canada, August 1 & 2, 2005, ISBN: 0-7803-9426-7, 313-318쪽
Pirzadeh, Heidar; Agarwal, Akanksha; Hamou-Lhadj, Abdelwahab. An Approach for Detecting Execution Phases of a System for the Purpose of Program Comprehension. 2010 8th ACIS International Conference on Software Engineering Research, Management and Applications, Article number 5489832, ISBN: 978-076954075-7, 207-214쪽
Prhofer, Herbert; Schatz, Roland; Wirth, Christian; Mossenbock, Hanspeter. A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications. IEEE Transactions on Industrial Informatics, Volume 7, Issue 4, November 2011, Article number 6009197, ISSN: 15513203, 641-651쪽
Prhofer, Herbert; Wirth, Christian; Berger, Richard. Reverse engineering and visualization of the reactive behavior of PLC applications. IEEE International Conference on Industrial Informatics (INDIN), 2013, Article number 6622946, ISBN: 978-1-4799-0752-6, 564-571쪽

Also Published As

Publication number Publication date
KR102132659B1 (en) 2020-07-10

Similar Documents

Publication Publication Date Title
Lobo et al. Evolving spiking neural networks for online learning over drifting data streams
KR20180014471A (en) Method and apparatus for searching new material
CN111400850B (en) Equipment fault analysis method, device, equipment and storage medium
CN115427968A (en) Robust artificial intelligence reasoning in edge computing devices
Yan et al. Deep multistage multi-task learning for quality prediction of multistage manufacturing systems
Crawford et al. A machine learning framework with dataset-knowledgeability pre-assessment and a local decision-boundary crispness score: An industry 4.0-based case study on composite autoclave manufacturing
CN104732067A (en) Industrial process modeling forecasting method oriented at flow object
CN109063277A (en) A kind of dynamic pattern recognition method and device based on gap metric
Taber et al. Quantization effects on the equilibrium behavior of combined fuzzy cognitive maps
Fan et al. Data visualization of anomaly detection in semiconductor processing tools
WO2022072593A1 (en) Automated generation of a machine learning model from computational simulation data
Demidova et al. Development and research of the forecasting models based on the time series using the random forest algorithm
Rodrigues et al. Machine learning in PV fault detection, diagnostics and prognostics: A review
Li et al. Structural health monitoring data anomaly detection by transformer enhanced densely connected neural networks
Bond et al. A hybrid learning approach to prognostics and health management applied to military ground vehicles using time-series and maintenance event data
KR102132659B1 (en) Analysis method of controller for factory automation using artificial intelligence-based reverse engineering
CN114021418B (en) Sensor layout method for optimizing fault level based on improved discrete particle swarm algorithm
Du et al. Online intelligent monitoring and diagnosis of aircraft horizontal stabilizer assemble processes
CN114638048A (en) Three-dimensional spray pipe flow field rapid prediction and sensitivity parameter analysis method and device
Chernyshev et al. Integration of building information modeling and artificial intelligence systems to create a digital twin of the construction site
Kumari et al. MetaAnalyser-a concept and toolkit for enablement of digital twin
CN113139332A (en) Automatic model construction method, device and equipment
Kumari et al. Remaining useful life prediction using hybrid neural network and genetic algorithm approaches
JP2020177290A (en) Model learning device, data analysis device, model learning method, and program
KR20190120729A (en) System Modeling Method by Machine Learning using Big data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant