WO2022225117A1 - 실시간 이상 탐지를 위한 gnn 기반의 마스터 상태 생성 방법 - Google Patents

실시간 이상 탐지를 위한 gnn 기반의 마스터 상태 생성 방법 Download PDF

Info

Publication number
WO2022225117A1
WO2022225117A1 PCT/KR2021/016481 KR2021016481W WO2022225117A1 WO 2022225117 A1 WO2022225117 A1 WO 2022225117A1 KR 2021016481 W KR2021016481 W KR 2021016481W WO 2022225117 A1 WO2022225117 A1 WO 2022225117A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
state
value
node
graph
Prior art date
Application number
PCT/KR2021/016481
Other languages
English (en)
French (fr)
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 JP2023564610A priority Critical patent/JP2024518749A/ja
Priority to US17/756,460 priority patent/US20240168450A1/en
Publication of WO2022225117A1 publication Critical patent/WO2022225117A1/ko

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/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0275Fault isolation and identification, e.g. classify fault; estimate cause or root of failure
    • G05B23/0281Quantitative, e.g. mathematical distance; Clustering; Neural networks; Statistical analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/058Safety, monitoring
    • 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]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0254Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Definitions

  • the present invention relates to a method of generating a master state of a facility, and more particularly, to a method of analyzing log data of a facility to find a major state in a repeated cycle.
  • PLC Programmable Logic Controller
  • PLC control logic code PLC control logic code
  • Control logic is defined using the memory address of PLC hardware, and the memory address of PLC hardware is called a contact.
  • the automation line is operated by defining the input/output relationship to these contacts and controlling the value of the contact point for each situation.
  • PLC control logic has numerous contacts depending on the scale of the automation line. Accordingly, by analyzing the contents of the PLC control logic code between the contacts, the relationship and sequence between the contacts are analyzed to generate a reference master pattern to determine whether the automation line is in the normal operating state, and the abnormal situation of the automation line is detected. Attempts are being made to
  • Patent Document 1 Republic of Korea Patent Publication No. 10-1527419
  • An object of the present specification is to provide a method for generating a master state based on GNN by looking at the operational state of equipment and processes as a finite state.
  • a method for generating graph data according to the present specification for solving the above-described problem includes the steps of: (a) classifying into one state for each section in which a contact value changes in log data expressed in a Gantt chart; (b) identifying a main state in the divided state, adding at least one sensor value for each section corresponding to the main state, and converting the log data into a node matrix according to the order of occurrence of the main state to which the sensor value is added converting to data; and (c) converting the log data into edge index data by defining a connection relationship between the divided states, expressing the divided state as a node, and expressing the connection relationship of the divided state as an edge; may include.
  • the step (a) may further include providing an identification characteristic for classifying a state according to the changed contact value.
  • step (b) may be a step of counting the number of states having the same identification characteristic and identifying a state having a number greater than or equal to a preset value as a main state.
  • the step (b) may further include assigning an identification code to the identified main state in a One Hot Encoding format.
  • step (b) when there are two or more sensor values output from one sensor in the section, one representative value may be selected and added.
  • connection relationship may be a necessary condition or an exclusive condition.
  • a node that does not correspond to the main state is deleted from the node matrix data, and before and after nodes connected to the deleted node are connected to convert the data into edge index data.
  • a method for generating a master state according to the present specification for solving the above-described problem is a method for generating a master state by using a plurality of graph data generated according to the method for generating graph data according to the present specification, (a) the plurality of graphs inputting one graph data that has not yet been input among the data into the GNN AutoEncoder as input data; (b) calculating a difference value (hereinafter “analog level loss”) for a sensor value between the reconstruction data output by the GNN AutoEncoder and the input data; (c) calculating the average value of the analog level loss (hereinafter, “node level loss”) for each node, and calculating the average value of the node level loss (hereinafter “graph level loss”) for each graph; (d) re-learning the GNN AutoEncoder using the graph level loss; and (e) repeating steps (a) to (d) when graph data that has not yet been input among the plurality of graph data remains.
  • analog level loss a difference value
  • the graph data generating method according to the present specification may be implemented as a computer program written to perform each step of the graph data generating method in a computer and recorded in a computer-readable recording medium.
  • the master state generating method according to the present specification may be implemented as a computer program recorded in a computer-readable recording medium written to perform each step of the master state generating method in a computer.
  • a master state may be generated based on the GNN from log data and control logic.
  • the device to be analyzed while the device to be analyzed is controlled, it is analyzed and graphed as a correlation of static and dynamic data flow, and control logic kendo, control logic generation, It has the effect of providing diversified services such as real-time anomaly detection, reproduction, and productivity and quality analysis.
  • 1 is a reference diagram of the overall flow of the invention disclosed herein.
  • FIG. 2 is a schematic flowchart of a method for generating graph data according to the present specification.
  • 3 is a reference diagram for the collection of log data.
  • 4 is a reference diagram for state classification and state identification features.
  • 5 is a reference diagram for identifying major states.
  • 6 and 7 are reference diagrams for adding a sensor value for each section.
  • FIG. 9 is a reference diagram illustrating that a connection relationship is defined between adjacent states.
  • 10 is a reference diagram for removing a node corresponding to a minor state.
  • 11 is a reference diagram for the relationship between log data, node matrix data, edge index data, and graph data.
  • FIG. 12 is a reference diagram of a relationship between graph data and a cycle.
  • FIG. 14 is a schematic flowchart of a method for generating a master state according to the present specification.
  • 15 is a reference diagram of a method for generating a master state according to the present specification.
  • PLC Programmable Logic Controller
  • basic sequence control replacement of functions such as relays, timers, and counters with semiconductor devices such as ICs and transistors.
  • digital operation that is used in programmable memory to perform special functions such as logic, sequence, timer, counter, and operation through digital or analog input/output modules and controls various types of machines or processors. is defined as "the electronic device of
  • Log data is a result obtained by collecting PLC contact data at regular intervals. According to the operation of the equipment on the line, the value of the contacts on the PLC related to the operation is changed. Whenever the contact value on PLC changes, a log is collected.
  • the log data is data expressed by [contact name, value, time] and is value data of a specific contact point at a corresponding time.
  • a cycle means a section in which the contact data is constantly repeated.
  • the unit of a cycle may be various, such as a plant, a line, a process, etc.
  • 1 is a reference diagram of the overall flow of the invention disclosed herein.
  • FIG. 2 is a schematic flowchart of a method for generating graph data according to the present specification.
  • the log data collected in step S10 may be expressed as a Gantt chart.
  • 3 is a reference diagram for the collection of log data.
  • a log is generated in the PLC.
  • data expressed in [contact name, value, time] that is, log data can be collected.
  • “1” means that the contact is changed from the "off” state to the "on” state
  • "0” means that the contact is changed from the "on” state to the "off” state.
  • the collected log data may be expressed as a Gantt chart as shown in FIG. 3 .
  • each section in which the contact value changes may be divided into one state.
  • 4 is a reference diagram for state classification and state identification features.
  • the number of states having the same identification characteristic may be counted, and a state having a number greater than or equal to a preset value may be identified as a main state.
  • 5 is a reference diagram for identifying major states.
  • the identified key state may give an identification code in the form of One Hot Encoding. Through One Hot Encoding, it is possible to classify the main state with a single attribute value, and the machine learning process in the future can be easier.
  • step S13 at least one sensor value may be added to each section corresponding to the main state.
  • 6 and 7 are reference diagrams for adding a sensor value for each section.
  • various sensors such as a voltage sensor and a temperature sensor may be attached to the facility, and a sensing value may be output from each sensor (1).
  • the output sensing value can be collected as a log (2). If the sensed value is expressed corresponding to each section according to the output time, it can be expressed as shown in FIG. 6 (3).
  • values output from the two sensors “D1000” and “D2000” are illustrated in FIG. 6 , the types and number of sensors may vary.
  • two or more sensor values output from one sensor within one section may exist.
  • the "D1000” sensor outputs "299, 300, 301" values.
  • a representative value eg, average value "300" can be selected (1) and added to the main "State 1" (2).
  • the log data may be converted into node matrix data according to the order of occurrence of the main state to which the sensor value is added in step S14.
  • each major state corresponds to one node, and each node corresponds to an identification code.
  • the node When converting to the node matrix data, the node must maintain the order of the log data.
  • connection relationship between the divided states may be defined in step S15.
  • the connection relationship may be a necessary condition or an exclusive condition.
  • FIG. 9 is a reference diagram illustrating that a connection relationship is defined between adjacent states.
  • step S16 the divided state is expressed as a node and the connection relationship of the divided state is expressed as an edge, so that the log data can be converted into data using an edge index.
  • states are expressed as graphs connected by edges and edge indexes.
  • the edge index also leaves only the node for the main state, and also it is necessary to remove the node corresponding to the state (Minor) that occurs once in a while.
  • a node that does not correspond to the main state may be deleted from the node matrix data, and before and after nodes connected to the deleted node may be connected to convert the data into edge index data.
  • 10 is a reference diagram for removing a node corresponding to a minor state.
  • node No. 5 which does not correspond to the main state, is the target of deletion.
  • nodes 3 and 4 enter node 5, and node 5 exits node 6. Therefore, it is possible to delete node 5 and change nodes 3 and 4 to go directly to node 6.
  • node 6 is changed to node 5 according to the node order, and node 7 is changed to node 6.
  • node 4 goes into node 5, and node 5 has a relationship that goes to node 6 and node 7. Therefore, it is possible to delete node 5 and change node 4 to go out to node 6 and node 7.
  • node 6 is changed to node 5 according to the node order, and node 7 is changed to node 6.
  • the node of the node matrix data and the node of the edge index data may have a mutually corresponding relationship.
  • log data (Raw Data) is converted into node matrix data and edge index data.
  • node matrix data and edge index data are combined, they may be expressed as graph data.
  • the collected log data (Raw Data) will also repeat a cycle including similar data, and in this case, one graph data may correspond to one cycle.
  • FIG. 12 is a reference diagram of a relationship between graph data and a cycle.
  • the AutoEncoder may be composed of an encoder and a decoder.
  • the encoder compresses the input data (Input 'X') into low-dimensional embeddings (Z), and the decoder converts the compressed low-dimensional embeddings (Z) into high-dimensional data (Z). ) is reconstructed.
  • the encoder and decoder are trained in a direction to minimize the difference value (loss) between the two data.
  • the difference value (Loss) of the data reconstructed for the major state among the input data will be small, and the difference between the data reconstructed for the minor state (Minor) will be small.
  • the value (Loss) will be large. It is possible to learn a model that detects abnormal data included in the data set by using the difference in the size of the difference (loss) of the reconstructed data.
  • AutoEncoder can be freely applied by changing the network used for encoder and decoder according to the type of target data.
  • CNN Convolution Neural Network
  • MLP Multi Layered Perceptron
  • the master state generation method according to the present specification is expanded to graph data by using a graph neural network (GNN) for the encoder and the decoder.
  • GNN graph neural network
  • 15 is a reference diagram of a method for generating a master state according to the present specification.
  • one graph data among the plurality of graph data may be input to the GNN AutoEncoder (1 in FIG. 15) as input data.
  • step S21 it is possible to calculate a difference value (hereinafter, “analog level loss”) for the sensor value between the reconstruction data (2 in FIG. 15) output by the GNN AutoEncoder and the input data (3 in FIG. 15) .
  • analog level loss a difference value for the sensor value between the reconstruction data (2 in FIG. 15) output by the GNN AutoEncoder and the input data (3 in FIG. 15) .
  • node level loss the average value of the analog level loss (hereinafter referred to as "node level loss”) is calculated for each node (4 in FIG. 15), and the average value of the node level loss (hereinafter “graph level loss”) is calculated for each graph. (5 in FIG. 15) can be done.
  • next step S24 it may be determined whether graph data that has not yet been inputted among the plurality of graph data remains.
  • the process can proceed to step S20.
  • steps S20 to S24 may be repeatedly executed while inputting one graph data that has not yet been input among the plurality of graph data to the GNN AutoEncoder as input data.
  • the GNN AutoEncoder when all of the plurality of graph data is input to the GNN AutoEncoder, the GNN AutoEncoder is in a learning state. Thereafter, it is possible to determine whether the process is abnormal by using the GNN AutoEncoder after the learning has been completed. However, it is necessary to set a reference range, ie, an upper limit, for determining whether there is an abnormality.
  • the average ( ⁇ ) and standard deviation ( ⁇ ) of the node level loss are calculated, and the average value
  • the sum of the standard deviation values in which the preset parameters are reflected can be set as the master state upper limit standard. For example, when the preset parameter is 1.5, the upper limit value for determining whether the node level loss is abnormal may be “ ⁇ +1.5 ⁇ ”.
  • the average and standard deviation of the graph level loss are calculated, and a preset parameter is reflected in the average value
  • the sum of the standard deviation values can be set as the master state upper limit standard. For example, when the preset parameter is 1.5, the upper limit value for determining whether the graph level loss is abnormal may be “ ⁇ +1.5 ⁇ ”.
  • the artificial neural network trained according to the above description can track not only whether there is an error in the cycle when data of a new cycle is input, but also which contact point or/and which link an error occurs.
  • the master pattern generation method and cycle analysis model training method according to the present specification is a technology that converts a machine control language (Low-Level Language) that is difficult for a human to analyze into a language that can be analyzed (High-Level Language), that is, a machine language that is executed It is different from the prior art in that it is an MLP (machine language processing)-based technology that can analyze (a language that controls a machine) with a computer and can be understood by humans.
  • MLP machine language processing
  • cycle analysis model As the cycle analysis model according to the present specification is used, while the analysis target device is controlled, it is analyzed and graphed with the correlation of static and dynamic data flow, and control logic kendo, control through AI models such as GNN (Graph Neural Network) It has the effect of providing various services such as logic generation, real-time anomaly detection, reproduction, and productivity and quality analysis.
  • GNN Graph Neural Network
  • the graph data generation method and the master state generation method include a processor, an application-specific integrated circuit (ASIC), another chipset, and logic known in the art to which the present invention pertains to execute the described calculation and various control logic. circuits, registers, communication modems, data processing devices, and the like.
  • the processor may be implemented as a set of program modules.
  • the program module may be stored in the memory device and executed by the processor.
  • the program is, in order for the computer to read the program and execute the methods implemented as a program, C/C++, C#, JAVA, Python, which the processor (CPU) of the computer can read through the device interface of the computer, It may include code coded in a computer language such as machine language. Such code may include functional code related to a function defining functions necessary for executing the methods, etc. can do. In addition, the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have.
  • the storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device.
  • examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user.
  • the medium may be distributed in a computer system connected by a network, and computer-readable codes may be stored in a distributed manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

본 명세서는 PLC(Programmable Logic Controller)에서 출력된 로그 데이터를 분석하여 반복되는 사이클에서 정상 상태인 마스터 상태를 생성하는 방법을 개시한다. 또한, 마스터 상태를 생성하기 위한 데이터 전처리로서 로그 데이터를 그래프 데이터로 생성하는 방법을 개시한다. 본 명세서에 따른 마스터 패턴 생성 방법 및 사이클 분석 모델 훈련 방법은 사람이 분석하기 힘든 기계 제어 언어 (Low-Level Language)를 처리하여 분석 가능한 언어 (High-Level Language)로 변환하는 기술 즉, 실행되는 기계어(기계를 제어하는 언어) 컴퓨터로 분석하고 사람이 이해할 수 있는 MLP (machine language Processing)기반의 기술이라는 점에서 종래 기술과 다른 차별성이 있다.

Description

실시간 이상 탐지를 위한 GNN 기반의 마스터 상태 생성 방법
본 발명은 설비의 마스터 상태 생성 방법에 관한 것이며, 보다 상세하게는 설비의 로그 데이터를 분석하여 반복되는 사이클에서 주요한 상태를 찾아내는 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 명세서에 기재된 실시예에 대한 배경 정보를 제공할 뿐 반드시 종래 기술을 구성하는 것은 아니다.
PLC(Programmable Logic Controller)는 자동화 라인 구축에 주로 사용되고 있으며, AND/OR 등의 연산기호와 TIMER/FUNCTION BLOCK 등의 비교적 단순한 기능을 통해 작성된 PLC 제어 로직에 대한 명세(PLC 제어 로직 코드)에 의해서 구동된다. 제어 로직은 PLC 하드웨어의 메모리 주소를 이용하여 정의되며 이때 PLC 하드웨어의 메모리 주소는 접점이라고 불린다. 이러한 접점들에 입/출력 관계를 정의하고 상황별 접점의 값을 컨트롤함으로써 자동화 라인이 운영된다.
일반적으로 PLC 제어 로직은 자동화 라인의 규모에 따라 수많은 접점들을 가진다. 이에 따라 접점들 간의 PLC 제어 로직 코드 내용을 분석하여 접점들 간의 관계 및 시퀀스(sequence)를 분석하여 자동화 라인의 정상 운영 상태인지를 판단하기 위한 기준 마스터 패턴을 생성해서, 자동화 라인의 이상 상황을 감지하려는 시도가 이루어지고 있다.
하지만, PLC로 운영되는 자동화 라인의 상태는 시간의 흐름에 따라 다양한 원인, 예를 들어 설비 노후, 교체, PLC 제어 코드 변경 등에 의해 변화하게 되며, 또한 정상 운영 상태를 판단하기 위한 기준 마스터 패턴도 함께 변화하게 된다. 이에 따라 기존 생성된 기준 마스터 패턴은 변화된 환경의 자동화 라인이 정상 운영 상태인지를 판단하기 위한 기초 데이터로 사용되기에 부적합하게 된다.
또한, 최근 자동화된 제조 산업은 제조 라인의 복잡성 증대에 따라 제어 로직이 방대하며 또한 매우 복잡하게 설계되어 있다. 이에 따라 PLC 프로그램도 복잡하게 로직화 되어 있다. 이러한 이유로 PLC 프로그램을 진단 및 모니터링 하는 것 또한 점점 더 어려워지고 있으며, 이에 따라 에러를 발견하고 수정하는데 걸리는 시간이 점진적으로 증가하는 추세이다.
[선행기술문헌]
[특허문헌]
(특허문헌 1) 대한민국 등록특허공보 제10-1527419호
본 명세서는 설비 및 공정의 동작 상태를 유한 상태로 보고 GNN에 기반하여 마스터 상태를 생성할 수 있는 방법을 제공하는 것을 목적으로 한다.
제공하는 것을 목적으로 한다.
본 명세서는 상기 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 명세서에 따른 그래프 데이터 생성 방법은, (a) 간트 차트로 표현된 로그 데이터에서 접점값이 변화하는 구간마다 하나의 상태로 구분하는 단계; (b) 상기 구분된 상태에서 주요 상태를 식별하고, 상기 주요 상태에 해당하는 구간마다 적어도 하나 이상의 센서값을 추가하고, 상기 센서값이 추가된 주요 상태의 발생 순서에 따라 상기 로그 데이터를 노드 매트릭스 데이터로 변환하는 단계; 및 (c) 상기 구분된 상태 사이의 연결관계를 정의하고, 상기 구분된 상태를 노드로 표현하고 상기 구분된 상태의 연결관계를 에지로 표현하여 상기 로그 데이터를 에지 인덱스로 데이터로 변환하는 단계;를 포함할 수 있다.
본 명세서의 일 실시예에 따르면, 상기 (a) 단계는 변화된 접점값에 따라 상태를 구분하기 위한 식별 특징을 부여하는 것을 더 포함할 수 있다.
본 명세서의 일 실시예에 따르면, 상기 (b) 단계는 상기 동일한 식별 특징을 가진 상태의 개수를 카운팅하고 미리 설정된 값 이상의 개수를 가진 상태를 주요 상태로 식별하는 단계일 수 있다.
본 명세서의 일 실시예에 따르면, 상기 (b) 단계는 식별된 주요 상태는 One Hot Encoding 형식으로 식별 코드를 부여하는 것을 더 포함할 수 있다.
본 명세서의 일 실시예에 따르면, 상기 (b) 단계는 구간 내 하나의 센서로부터 출력된 2이상의 센서값이 존재할 때, 하나의 대표값을 선정하여 추가할 수 있다.
본 명세서의 일 실시예에 따르면, 상기 연결관계는 필요조건 또는 배타조건일 수 있다.
본 명세서의 일 실시예에 따르면, 상기 (c) 단계는 상기 노드 매트릭스 데이터에서 주요 상태에 대응하지 않는 노드를 삭제하고, 삭제된 노드와 연결된 전후 노드를 연결하여 에지 인덱스로 데이터로 변환할 수 있다.
상술한 과제를 해결하기 위한 본 명세서에 따른 마스터 상태 생성 방법은 본 명세서에 따른 그래프 데이터 생성 방법에 따라 생성된 복수의 그래프 데이터들을 이용하여 마스터 상태를 생성하는 방법으로서, (a) 상기 복수의 그래프 데이터들 중 아직 입력되지 않은 하나의 그래프 데이터를 입력 데이터로 GNN AutoEncoder에 입력하는 단계; (b) 상기 GNN AutoEncoder에 의해 출력된 재구성 데이터와 상기 입력 데이터 사이의 센서값에 대한 차이값(이하 "아날로그 레벨 로스")을 산출하는 단계; (c) 각 노드마다 상기 아날로그 레벨 로스의 평균값(이하 "노드 레벨 로스")를 산출하고, 각 그래프마다 상기 노드 레벨 로스의 평균값(이하 "그래프 레벨 로스")를 산출하는 단계; (d) 상기 그래프 레벨 로스를 이용하여 상기 GNN AutoEncoder를 재 학습시키는 단계; 및 (e) 상기 복수의 그래프 데이터들 중 아직 입력되지 않은 그래프 데이터가 남아 있을 때, 상기 단계 (a) 내지 단계 (d)를 반복 실행하는 단계;를 포함할 수 있다.
본 명세서의 일 실시예에 따르면, (f) 상기 복수의 그래프 데이터들이 모두 입력 데이터로 GNN AutoEncoder에 입력되었을 때, 상기 노드 레벨 로스의 평균 및 표준편차를 산출하고, 상기 평균값에 미리 설정된 파라미터가 반영된 표준편차값을 합산한 값을 마스터 상태 상한 기준으로 설정하는 단계;를 더 포함할 수 있다.
본 명세서의 다른 실시예에 따르면, (f) 상기 복수의 그래프 데이터들이 모두 입력 데이터로 GNN AutoEncoder에 입력되었을 때, 상기 그래프 레벨 로스의 평균 및 표준편차를 산출하고, 상기 평균값에 미리 설정된 파라미터가 반영된 표준편차값을 합산한 값을 마스터 상태 상한 기준으로 설정하는 단계;를 더 포함할 수 있다.
본 명세서에 따른 그래프 데이터 생성 방법은 컴퓨터에서 그래프 데이터 생성 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램로 구현될 수 있다.
본 명세서에 따른 마스터 상태 생성 방법은 컴퓨터에서 마스터 상태 생성 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램로 구현될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 명세서의 일 측면에 따르면, 로그 데이터와 제어로직으로부터 GNN에 기반하여 마스터 상태를 생성할 수 있다.
본 명세서의 다른 측면에 따르면, 분석 대상 장치가 제어되는 동안 정적이고, 동적인 데이터 흐름의 연관성으로 분석하여 그래프화 하고 GNN(Graph Neural Network)등의 AI 모델을 통해 제어로직 검도, 제어로직 생성, 실시간 이상탐지, 재현, 생산성과 품질분석 등 다각적 서비스를 제공할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 명세서에 개시된 발명의 전반적인 흐름의 참고도이다.
도 2는 본 명세서에 따른 그래프 데이터 생성 방법의 개략적인 흐름도이다.
도 3은 로그 데이터의 수집에 대한 참고도이다.
도 4는 상태 구분 및 상태 식별 특징에 대한 참고도이다.
도 5는 주요 상태를 식별하는 참고도이다.
도 6 및 도 7은 구간마다 센서값을 추가하는 참고도이다.
도 8은 로그 데이터가 노드 매트릭스 데이터로 변환된 참고도이다.
도 9는 인접한 상태 사이에 연결관계가 정의된 것의 참고도이다.
도 10은 Minor 상태에 대응하는 노드를 제거하는 참고도이다.
도 11은 로그 데이터, 노드 매트릭스 데이터, 에지 인덱스 데이터 및 그래프 데이터의 관계에 대한 참고도이다.
도 12는 그래프 데이터와 사이클 사이의 관계 참고도이다.
도 13은 AutoEncoder에 대한 참고도이다.
도 14는 본 명세서에 따른 마스터 상태 생성 방법의 개략적인 흐름도이다.
도 15는 본 명세서에 따른 마스터 상태 생성 방법의 참고도이다.
본 명세서에 개시된 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 명세서가 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 명세서의 개시가 완전하도록 하고, 본 명세서가 속하는 기술 분야의 통상의 기술자(이하 '당업자')에게 본 명세서의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 명세서의 권리 범위는 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 명세서의 권리 범위를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 명세서가 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 사용되는 용어의 정의는 다음과 같다.
마스터 상태(Master State)는 공정의 상태(State), 상태 사이의 관계(Relation)을 그래프화 시키고, 그래프화 시킨 데이터를 GNN(Graph Neural Network) 모델을 이용하여 각 위상의 "표준 상태"와 "표준 관계" 등 "표준 공정 그래프"를 지시화한 모델을 의미한다.
PLC(Programmable Logic Controller)란, 기본적인 시퀀스제어(릴레이, 타이머, 카운터 등의 기능을 IC, 트랜지스터 등의 반도체 소자로 대체)기능에 수치 연산 기능을 추가하여 프로그램 제어가 가능하도록 한 자율성이 높은 제어장치를 의미한다. 참고로, 미국 전기 공업화 규격에서 "디지털 또는 아날로그 입출력 모듈을 통하여 로직, 시퀀스, 타이머, 카운터, 연산과 같은 특수한 기능을 수행하기 위하여 프로그램 가능한 메모리에 사용하고 여러 종류의 기계나 프로세서를 제어하는 디지털 동작의 전자 장치"로 정의하고 있다.
로그(Log) 데이터란, PLC 접점 데이터를 일정 주기마다 수집하여 얻게 되는 결과물이다. 라인 상의 설비 동작에 따라 동작과 관련된 PLC 상의 접점들의 값이 바뀌게 된다. PLC 상의 접점 값이 바뀔 때 마다 로그가 수집된다. 상기 로그 데이터는 [접점명, 값, 시간]로 표현되는 데이터로서 해당 시간에 특정 접점의 값 데이터이다.
사이클(Cycle)이란, 상기 접점 데이터들이 일정하게 반복되는 구간을 의미한다. 사이클의 단위는 공장, 라인, 공정 등 다양할 수 있다.
도 1은 본 명세서에 개시된 발명의 전반적인 흐름의 참고도이다.
도 1을 참조하면, 본 명세서에 개시된 발명은 먼저 데이터를 수집하고 수집된 데이터를 전처리하는 "그래프 데이터 생성 방법"과, 생성된 그래프 데이터를 이용한 "마스터 상태 생성 방법"의 순서로 진행될 수 있다. 이하에서는 본 명세서에 "그래프 데이터 생성 방법" 및 "마스터 상태 생성 방법"에 대해서 보다 상세히 설명하겠다. 본 명세서에 따른 "그래프 데이터 생성 방법" 및 "마스터 상태 생성 방법"의 각 단계는 프로세서(processor)에 의해 실행될 수 있다.
도 2는 본 명세서에 따른 그래프 데이터 생성 방법의 개략적인 흐름도이다.
먼저 단계 S10에서 수집된 로그 데이터를 간트 차트(Gantt Chart)로 표현될 수 있다.
도 3은 로그 데이터의 수집에 대한 참고도이다.
도 3을 참조하면, 설비가 특정 동작을 할 때마다 PLC에서 로그(log)가 생성된다. 이렇게 생성된 로그를 수집하여 [접점명, 값, 시간]로 표현되는 데이터 즉, 로그 데이터를 수집할 수 있다. 도 3에 도시된 예시에서, "1"은 접점이 "off" 상태에서 "on" 상태로 변화된 것을 의미하고, "0"은 접점이 "on" 상태에서 "off" 상태로 변화된 것을 의미한다. 수집된 로그 데이터는 도 3에 도시된 것과 같이, 간트 차트(Gantt Chart)로 표현될 수 있다.
다시 도 2를 참조하면, 다음 단계 S11에서 간트 차트로 표현된 로그 데이터에서 접점값이 변화하는 구간마다 하나의 상태로 구분될 수 있다.
도 4는 상태 구분 및 상태 식별 특징에 대한 참고도이다.
도 4를 참조하면, 접점값의 변화가 발생할 때마다 구간이 나누어지는 것을 확인할 수 있다(①). 그리고 변화된 접점값에 따라 상태를 구분하기 위한 식별 특징을 부여할 수 있다(②). 도 4에 도시된 예시에 따르면, "on" 접점은 "1"으로 표현하고 "off" 접점은 "0"으로 표현하여, "상태0"은 [10000], "상태1"은 [11000], "상태2"는 [00000]이라는 식별 특징이 부여된 것을 확인할 수 있다. 한편, "상태2"와 "상태4"는 식별 특징이 [00000]으로 동일하고, "상태3"과 "상태5"는 식별 특징이 [00001]으로 동일하다. 이 경우, 중복되는 식별 특징의 개수에 대한 정보가 추가될 수 있다(③).
다시 도 2를 참조하면, 다음 단계 S12에서 상기 동일한 식별 특징을 가진 상태의 개수를 카운팅하고 미리 설정된 값 이상의 개수를 가진 상태를 주요 상태로 식별할 수 있다.
도 5는 주요 상태를 식별하는 참고도이다.
도 5를 참조하면, 식별 특징을 가진 상태의 개수를 확인할 수 있다(①). 개수에 따라 자주 발생하는 상태(Major)와 어쩌다 한 번 발생하는 상태(Minor)를 구분할 수 있다. 자주 발생하는 상태를 "주요 상태"로 식별하고, 어쩌다 한 번 발생하는 상태는 삭제할 수 있다. 바람직하게, 식별된 주요 상태는 One Hot Encoding 형식으로 식별 코드를 부여할 수 있다. One Hot Encoding을 통해 단일한 속성값으로 주요 상태를 구분할 수 있으며, 추후 머신 러닝 과정이 보다 수월할 수 있다.
다시 도 2를 참조하면, 단계 S13에서 상기 주요 상태에 해당하는 구간마다 적어도 하나 이상의 센서값을 추가할 수 있다.
도 6 및 도 7은 구간마다 센서값을 추가하는 참고도이다.
도 6을 참조하면, 설비에는 전압 센서, 온도 센서 등 다양한 센서가 부착될 수 있으며, 각각의 센서에서 센싱값을 출력할 수 있다(①). 출력된 센싱값은 로그로 수집될 수 있다(②). 센싱값이 출력된 시간에 따라 각각의 구간에 대응하여 표현하면, 도 6과 같이 표현될 수 있다(③). 도 6에는 "D1000"과 "D2000" 두 개의 센서에서 출력된 값이 도시되어 있으나, 센서의 종류, 개수는 다양할 수 있다.
도 7을 참조하면, 하나의 구간 내 하나의 센서로부터 출력된 2이상의 센서값이 존재할 수 있다. 예를 들어, "상태0" 구간 동안 "D1000" 센서는 "299, 300, 301" 값을 출력했다. 이런 경우, 대표값(예: 평균값 " 300")을 선정(①)하여 주요 "상태1"에 추가할 수 있다(②).
다시 도 2를 참조하면, 단계 S14에서 상기 센서값이 추가된 주요 상태의 발생 순서에 따라 상기 로그 데이터를 노드 매트릭스 데이터로 변환할 수 있다.
도 8은 로그 데이터가 노드 매트릭스 데이터로 변환된 참고도이다.
도 8을 참조하면, 각각의 주요 상태가 하나의 노드(node)에 해당하며, 각각의 노드는 식별 코드와 대응한다. 상기 노드 매트릭스 데이터로 변환할 때, 상기 노드는 로그 데이터의 순서를 반드시 유지해야 한다.
다시 도 2를 참조하면, 단계 S15에서 상기 구분된 상태 사이의 연결관계를 정의할 수 있다. 상기 연결관계는 필요조건 또는 배타조건일 수 있다.
도 9는 인접한 상태 사이에 연결관계가 정의된 것의 참고도이다.
도 9를 참조하면, 상태 0에서 "Y12B1"이 "ON" 되고, 상태 1에서 "Y06A2"가 "ON" 된다. 이때, "Y06A2"이 "ON"되기 위해서는 "Y12B1"이 "ON"되어야 하는바, "상태 0"은 "상태 1"의 "필요조건" 관계이다. 또한, 상태 1에서 "Y12B1" 및 "Y06A2"이 "OFF"되어야 상태 3에서 "Y0494"가 "ON" 된다. 이때, "Y0494"가 "ON"되기 위해서는 "Y12B1" 및 "Y06A2"이 "OFF"되어야 하는바, "상태 1"은 "상태 3"의 "배타조건" 관계이다.
다시 도 2를 참조하면, 단계 S16에서 상기 구분된 상태를 노드로 표현하고 상기 구분된 상태의 연결관계를 에지로 표현하여 상기 로그 데이터를 에지 인덱스로 데이터로 변환할 수 있다.
도 9를 다시 참조하면, 상태 사이가 에지로 연결된 그래프 및 에지 인덱스(Edge Index)로 표현된 것을 확인할 수 있다.
한편, 상기 노드 매트릭스는 "주요 상태"에 대한 정보만 기재되어 있으므로, 에지 인덱스 역시 주요 상태에 대한 노드만 남기고, 역시 어쩌다 한 번 발생하는 상태(Minor)에 대응하는 노드를 제거할 필요가 있다. 본 명세서의 일 실시예에 따르면, 상기 노드 매트릭스 데이터에서 주요 상태에 대응하지 않는 노드를 삭제하고, 삭제된 노드와 연결된 전후 노드를 연결하여 에지 인덱스로 데이터로 변환할 수 있다.
도 10은 Minor 상태에 대응하는 노드를 제거하는 참고도이다.
도 10을 참조하면, 주요 상태에 대응하지 않는 노드 5번이 삭제 대상인 상황이다. 좌측에 도시된 예시에서는 3번 노드와 4번 노드가 5번 노드로 들어 가고, 5번 노드는 6번으로 나가는 관계를 가지고 있다. 따라서, 5번 노드를 삭제하고 3번 노드와 4번 노드는 6번으로 직접 들어가는 것으로 변경할 수 있다. 이때, 6번 노드는 노드 순서에 따라 5번으로 변경되고, 7번 노드는 6번으로 변경된다. 우측에 도시된 예시에서는 4번 노드가 5번 노드로 들어 가고, 5번 노드가 6번 노드 및 7번 노드로 가는 관계를 가지고 있다. 따라서, 5번 노드를 삭제하고 4번 노드가 6번 노드 및 7번 노드로 나가는 것으로 변경할 수 있다. 이때, 6번 노드는 노드 순서에 따라 5번으로 변경되고, 7번 노드는 6번으로 변경된다. 상기 과정을 통해 노드 매트릭스 데이터의 노드와 에지 인덱스 데이터의 노드가 상호 대응하는 관계가 될 수 있다.
상기 과정을 거치면, 로그 데이터(Raw Data)는 노드 매트릭스 데이터와 에지 인덱스 데이터로 변환된다. 상기 노드 매트릭스 데이터와 에지 인덱스 데이터가 조합되면, 그래프(Graph) 데이터로 표현될 수 있다.
도 11은 로그 데이터, 노드 매트릭스 데이터, 에지 인덱스 데이터 및 그래프 데이터의 관계에 대한 참고도이다.
한편, 생산 공정은 동일한 설비가 동일한 동작을 반복하는 것이 일반적이다. 따라서, 수집되는 로그 데이터(Raw Data) 역시 유사한 데이터를 포함하는 사이클이 반복될 것이며, 이때, 1개의 그래프 데이터는 1개의 사이클에 대응할 수 있다.
도 12는 그래프 데이터와 사이클 사이의 관계 참고도이다.
이하에서는 본 명세서에 따른 그래프 데이터 생성 방법에 따라 생성된 그래프 데이터(노드 매트릭스 데이터+에지 인덱스 데이터)를 이용하여 마스터 상태 방법에 대해서 설명하겠다.
상기 모델의 학습에 앞서 AutoEncoder에 대해서 설명하겠다.
도 13은 AutoEncoder에 대한 참고도이다.
도 13을 참조하면, AutoEncoder는 Encoder와 Decoder로 구성될 수 있다. Encoder는 입력 데이터(Input 'X')를 저차원 임베딩(Z)으로 압축하고, Decoder는 압축된 저차원 임베딩(Z)을 고차원 형태의 데이터(
Figure PCTKR2021016481-appb-img-000001
)로 재구성한다. 이때, 결과 값(Predict)와 타겟 데이터(입력 데이터 'X'와 동일)를 비교하여 두 데이터 사이의 차이값(Loss)를 최소화하는 방향으로 Encoder와 Decoder를 학습시킨다. 따라서, AutoEncoder를 다량의 데이터로 학습한 경우, 입력 데이터 중 주요 상태(Major)에 대해서 재구성된 데이터의 차이값(Loss)은 적게 될 것이고, 주요하지 않은 상태(Minor)에 대해서 재구성된 데이터의 차이값(Loss)은 크게 될 것이다. 이 재구성 데이터의 차이값(Loss) 크기 차이를 이용하여 데이터 셋에 포함된 비정상적인 데이터를 감지하는 모델의 학습이 가능하다.
특히, AutoEncoder는 대상 데이터의 유형에 따라 Encoder와 Decoder에 사용되는 Network를 바꾸어서 자유롭게 응용이 가능하다. 이미지 데이터의 경우 Encoder와 Decoder에 CNN(Convolution Neural Network)가 사용되고, 테이블 데이터의 경우 Encoder와 Decoder에 MLP(Multi Layered Perceptron)이 사용된다. 이에 착안하여, 본 명세서에 따른 마스터 상태 생성 방법은 Encoder와 Decoder에 GNN(Graph Neural Network)를 사용하여 그래프 데이터로 확장한 것이다.
도 14는 본 명세서에 따른 마스터 상태 생성 방법의 개략적인 흐름도이다.
도 15는 본 명세서에 따른 마스터 상태 생성 방법의 참고도이다.
도 14를 참조하면, 먼저 단계 20에서 상기 복수의 그래프 데이터들 중 하나의 그래프 데이터를 입력 데이터로 GNN AutoEncoder에 입력(도 15의 ①)할 수 있다.
다음 단계 S21에서 상기 GNN AutoEncoder에 의해 출력된 재구성 데이터(도 15의 ②)와 상기 입력 데이터 사이의 센서값에 대한 차이값(이하 "아날로그 레벨 로스")을 산출할 수 있다(도 15의 ③).
다음 단계 S22에서 각 노드마다 상기 아날로그 레벨 로스의 평균값(이하 "노드 레벨 로스")를 산출(도 15의 ④)하고, 각 그래프마다 상기 노드 레벨 로스의 평균값(이하 "그래프 레벨 로스")를 산출(도 15의 ⑤)할 수 있다.
다음 단계 S23에서 상기 그래프 레벨 로스를 이용하여 상기 GNN AutoEncoder를 재 학습시킬 수 있다(도 15의 ⑥).
다음 단계 S24에서 상기 복수의 그래프 데이터들 중 아직 입력되지 않은 그래프 데이터가 남아 있는지 판단할 수 있다. 입력되지 않은 그래프 데이터가 존재할 때(S24의 YES), 단계 S20으로 이행할 수 있다. 단계 S20에서는 상기 복수의 그래프 데이터들 중 아직 입력되지 않은 하나의 그래프 데이터를 입력 데이터로 GNN AutoEncoder에 입력하면서 단계 S20 내지 단계 S24를 반복 실행할 수 있다.
한편, 복수의 그래프 데이터들이 모두 GNN AutoEncoder에 입력될 때, 상기 GNN AutoEncoder가 학습을 마친 상태가 된다. 이후 상기 학습이 완료된 GNN AutoEncoder를 이용하여 공정의 이상 여부를 판단할 수 있다. 다만, 이상 여부를 판단하기 위한 기준 범위 즉, 상한값의 설정이 필요하다.
본 명세서의 일 실시예에 따르면, 단계 S25에서 상기 복수의 그래프 데이터들이 모두 입력 데이터로 GNN AutoEncoder에 입력되었을 때, 상기 노드 레벨 로스의 평균(μ) 및 표준편차(σ)를 산출하고, 상기 평균값에 미리 설정된 파라미터가 반영된 표준편차값을 합산한 값을 마스터 상태 상한 기준으로 설정할 수 있다. 예를 들어, 상기 미리 설정된 파라미터가 1.5일 때, 노드 레벨 로스의 이상 여부 판단 상한 값은 "μ+1.5σ"가 될 수 있다.
본 명세서의 다른 실시예에 따르면, 단계 S25에서 상기 복수의 그래프 데이터들이 모두 입력 데이터로 GNN AutoEncoder에 입력되었을 때, 상기 그래프 레벨 로스의 평균 및 표준편차를 산출하고, 상기 평균값에 미리 설정된 파라미터가 반영된 표준편차값을 합산한 값을 마스터 상태 상한 기준으로 설정할 수 있다. 예를 들어, 상기 미리 설정된 파라미터가 1.5일 때, 그래프 레벨 로스의 이상 여부 판단 상한 값은 "μ+1.5σ"가 될 수 있다.
상술된 설명에 따라 학습된 인공신경망은 새로운 사이클의 데이터가 입력될 때, 사이클의 에러 여부뿐만 아니라, 어느 접점 또는/및 어느 링크에서 에러가 발생했는지 추적이 가능하다. 본 명세서에 따른 마스터 패턴 생성 방법 및 사이클 분석 모델 훈련 방법은 사람이 분석하기 힘든 기계 제어 언어 (Low-Level Language)를 처리하여 분석 가능한 언어 (High-Level Language)로 변환하는 기술 즉, 실행되는 기계어(기계를 제어하는 언어)를 컴퓨터로 분석하고 사람이 이해할 수 있는 MLP (machine language Processing)기반의 기술이라는 점에서 종래 기술과 다른 차별성이 있다. 본 명세서에 따른 사이클 분석 모델을 사용하면, 분석 대상 장치가 제어되는 동안 정적이고, 동적인 데이터 흐름의 연관성으로 분석하여 그래프화 하고 GNN(Graph Neural Network)등의 AI 모델을 통해 제어로직 검도, 제어로직 생성, 실시간 이상탐지, 재현, 생산성과 품질분석 등 다각적 서비스를 제공할 수 있는 효과가 있다.
한편, 본 명세서에 따른 그래프 데이터 생성 방법 및 마스터 상태 생성 방법은 설명된 산출 및 다양한 제어 로직을 실행하기 위해 본 발명이 속한 기술분야에 알려진 프로세서, ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로, 레지스터, 통신 모뎀, 데이터 처리 장치 등을 포함할 수 있다. 또한, 상술한 제어 로직이 소프트웨어로 구현될 때, 상기 프로세서는 프로그램 모듈의 집합으로 구현될 수 있다. 이 때, 프로그램 모듈은 상기 메모리 장치에 저장되고, 프로세서에 의해 실행될 수 있다.
상기 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C/C++, C#, JAVA, Python, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 명세서의 실시예를 설명하였지만, 본 명세서가 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (12)

  1. (a) 간트 차트로 표현된 로그 데이터에서 접점값이 변화하는 구간마다 하나의 상태로 구분하는 단계;
    (b) 상기 구분된 상태에서 주요 상태를 식별하고, 상기 주요 상태에 해당하는 구간마다 적어도 하나 이상의 센서값을 추가하고, 상기 센서값이 추가된 주요 상태의 발생 순서에 따라 상기 로그 데이터를 노드 매트릭스 데이터로 변환하는 단계; 및
    (c) 상기 구분된 상태 사이의 연결관계를 정의하고, 상기 구분된 상태를 노드로 표현하고 상기 구분된 상태의 연결관계를 에지로 표현하여 상기 로그 데이터를 에지 인덱스로 데이터로 변환하는 단계;를 포함하는 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  2. 청구항 1에서,
    상기 (a) 단계는,
    변화된 접점값에 따라 상태를 구분하기 위한 식별 특징을 부여하는 것을 더 포함하는 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  3. 청구항 2에서,
    상기 (b) 단계는,
    상기 동일한 식별 특징을 가진 상태의 개수를 카운팅하고 미리 설정된 값 이상의 개수를 가진 상태를 주요 상태로 식별하는 단계인 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  4. 청구항 3에서,
    상기 (b) 단계는,
    식별된 주요 상태는 One Hot Encoding 형식으로 식별 코드를 부여하는 것을 더 포함하는 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  5. 청구항 1에 있어서,
    상기 (b) 단계는,
    구간 내 하나의 센서로부터 출력된 2이상의 센서값이 존재할 때, 하나의 대표값을 선정하여 추가하는 것을 특징으로 하는 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  6. 청구항 1에 있어서,
    상기 연결관계는 필요조건 또는 배타조건인 것을 특징으로 하는 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  7. 청구항 1에 있어서,
    상기 (c) 단계는,
    상기 노드 매트릭스 데이터에서 주요 상태에 대응하지 않는 노드를 삭제하고, 삭제된 노드와 연결된 전후 노드를 연결하여 에지 인덱스로 데이터로 변환하는 것을 특징으로 하는 이상 상태 탐지를 위한 그래프 데이터 생성 방법.
  8. 청구항 1 내지 7 중 어느 한 청구항에 따라 생성된 복수의 그래프 데이터들을 이용하여 마스터 상태를 생성하는 방법으로서,
    (a) 상기 복수의 그래프 데이터들 중 아직 입력되지 않은 하나의 그래프 데이터를 입력 데이터로 GNN AutoEncoder에 입력하는 단계;
    (b) 상기 GNN AutoEncoder에 의해 출력된 재구성 데이터와 상기 입력 데이터 사이의 센서값에 대한 차이값(이하 "아날로그 레벨 로스")을 산출하는 단계;
    (c) 각 노드마다 상기 아날로그 레벨 로스의 평균값(이하 "노드 레벨 로스")를 산출하고, 각 그래프마다 상기 노드 레벨 로스의 평균값(이하 "그래프 레벨 로스")를 산출하는 단계;
    (d) 상기 그래프 레벨 로스를 이용하여 상기 GNN AutoEncoder를 재 학습시키는 단계; 및
    (e) 상기 복수의 그래프 데이터들 중 아직 입력되지 않은 그래프 데이터가 남아 있을 때, 상기 단계 (a) 내지 단계 (d)를 반복 실행하는 단계;를 포함하는 마스터 상태 생성 방법.
  9. 청구항 8에 있어서,
    (f) 상기 복수의 그래프 데이터들이 모두 입력 데이터로 GNN AutoEncoder에 입력되었을 때, 상기 노드 레벨 로스의 평균 및 표준편차를 산출하고, 상기 평균값에 미리 설정된 파라미터가 반영된 표준편차값을 합산한 값을 마스터 상태 상한 기준으로 설정하는 단계;를 더 포함하는 마스터 상태 생성 방법.
  10. 청구항 8에 있어서,
    (f) 상기 복수의 그래프 데이터들이 모두 입력 데이터로 GNN AutoEncoder에 입력되었을 때, 상기 그래프 레벨 로스의 평균 및 표준편차를 산출하고, 상기 평균값에 미리 설정된 파라미터가 반영된 표준편차값을 합산한 값을 마스터 상태 상한 기준으로 설정하는 단계;를 더 포함하는 마스터 상태 생성 방법.
  11. 컴퓨터에서 청구항 1 내지 청구항 7 중 어느 한 청구항에 따른 그래프 데이터 생성 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램.
  12. 컴퓨터에서 청구항 8에 따른 마스터 상태 생성 방법의 각 단계들을 수행하도록 작성되어 컴퓨터로 독출 가능한 기록 매체에 기록된 컴퓨터프로그램.
PCT/KR2021/016481 2021-04-20 2021-11-12 실시간 이상 탐지를 위한 gnn 기반의 마스터 상태 생성 방법 WO2022225117A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023564610A JP2024518749A (ja) 2021-04-20 2021-11-12 リアルタイム異常検出のためのgnnに基づくマスタ状態の生成方法
US17/756,460 US20240168450A1 (en) 2021-04-20 2021-11-12 Method of generating master state based on graph neural network for real-time anomaly detection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210050982A KR102471829B1 (ko) 2021-04-20 2021-04-20 실시간 이상 탐지를 위한 gnn 기반의 마스터 상태 생성 방법
KR10-2021-0050982 2021-04-20

Publications (1)

Publication Number Publication Date
WO2022225117A1 true WO2022225117A1 (ko) 2022-10-27

Family

ID=83722412

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/016481 WO2022225117A1 (ko) 2021-04-20 2021-11-12 실시간 이상 탐지를 위한 gnn 기반의 마스터 상태 생성 방법

Country Status (4)

Country Link
US (1) US20240168450A1 (ko)
JP (1) JP2024518749A (ko)
KR (1) KR102471829B1 (ko)
WO (1) WO2022225117A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356801A (ja) * 2000-06-13 2001-12-26 Toshiba Corp プラント監視装置および記憶媒体
JP5769138B2 (ja) * 2013-04-22 2015-08-26 横河電機株式会社 イベント解析装置およびコンピュータプログラム
KR20200074677A (ko) * 2018-12-17 2020-06-25 주식회사 유디엠텍 Plc 제어에 따른 오류 검출 시스템
KR20200094514A (ko) * 2019-01-30 2020-08-07 경기대학교 산학협력단 설비 오류 발생 패턴 추출 장치 및 방법
CN111860769A (zh) * 2020-06-16 2020-10-30 北京百度网讯科技有限公司 预训练图神经网络的方法以及装置
CN111966076A (zh) * 2020-08-11 2020-11-20 广东工业大学 基于有限状态机和图神经网络的故障定位方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527419B1 (ko) 2013-09-23 2015-06-09 주식회사 유디엠텍 자동화 라인의 정상 상태 판단을 위한 기준 마스터 패턴 생성 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001356801A (ja) * 2000-06-13 2001-12-26 Toshiba Corp プラント監視装置および記憶媒体
JP5769138B2 (ja) * 2013-04-22 2015-08-26 横河電機株式会社 イベント解析装置およびコンピュータプログラム
KR20200074677A (ko) * 2018-12-17 2020-06-25 주식회사 유디엠텍 Plc 제어에 따른 오류 검출 시스템
KR20200094514A (ko) * 2019-01-30 2020-08-07 경기대학교 산학협력단 설비 오류 발생 패턴 추출 장치 및 방법
CN111860769A (zh) * 2020-06-16 2020-10-30 北京百度网讯科技有限公司 预训练图神经网络的方法以及装置
CN111966076A (zh) * 2020-08-11 2020-11-20 广东工业大学 基于有限状态机和图神经网络的故障定位方法

Also Published As

Publication number Publication date
KR102471829B9 (ko) 2023-02-23
KR20220144539A (ko) 2022-10-27
KR102471829B1 (ko) 2022-11-30
JP2024518749A (ja) 2024-05-02
US20240168450A1 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
WO2019107614A1 (ko) 제조 공정에서 딥러닝을 활용한 머신 비전 기반 품질검사 방법 및 시스템
WO2018221948A1 (ko) 빅데이터 분석을 통한 공정 관리 방법
WO2023043215A1 (ko) 표준 운용 수준 평가 기반 산업 설비 운용 제어 장치 및 그 동작 방법
WO2022114654A1 (ko) 공정 모니터링 시스템 및 방법
WO2020246662A1 (ko) 산업 플랜트 설비의 신호 그룹 기반 학습 모델을 이용한 운전 예측 시스템, 방법 및 컴퓨터 프로그램
WO2022114653A1 (ko) 데이터 경계 도출 시스템 및 방법
WO2023085717A1 (ko) 클러스터링을 기반으로 하는 레이블링을 수행하기 위한 장치, 이상 탐지를 위한 장치 및 이를 위한 방법
WO2023101165A1 (ko) 생산 계획 수립 장치 및 방법
WO2022225117A1 (ko) 실시간 이상 탐지를 위한 gnn 기반의 마스터 상태 생성 방법
US20230027840A1 (en) Anomaly detecting method in sequence of control segment of automation equipment using graph autoencoder
WO2023277274A1 (ko) Gnn 기반의 plc 제어 로직 자동 검수 방법
WO2020050456A1 (ko) 설비 데이터의 이상 정도 평가 방법
WO2021006501A1 (ko) 스마트 재봉작업 측정 방법 및 이를 수행하기 위한 시스템
WO2024034873A1 (ko) 화학공정의 기저원인 분석 및 이를 이용한 수율 예측 모델링 방법
WO2023128320A1 (ko) 인공지능 검증 시스템 및 방법
WO2019221461A1 (ko) 네트워크 장애 원인 분석 장치 및 방법
WO2022139193A1 (ko) 회전기 이상 진단 방법 및 장치
WO2022030831A1 (ko) 제어구간 온도신호의 분석을 통한 공정이상 탐지장치 및 방법
WO2021261901A1 (ko) 함수 호출 패턴 분석을 통한 이상 검출 장치 및 방법
WO2022211301A1 (ko) 오토인코더 앙상블 기반 이상행위 탐지 방법 및 시스템
WO2022146020A1 (ko) 회전기계의 결함을 종합적으로 진단하는 방법 및 시스템
WO2021251745A1 (ko) 인공 신경망 모델 내 은닉단위의 상관성을 이용한 은닉단위 개수 선정방법 및 이를 이용한 수문기후변수 예측방법
KR20230081759A (ko) 인공지능 기반의 클린룸 관리를 위한 통합 관리 시스템 및 그 방법
WO2021137395A1 (ko) 심층신경망 알고리즘 기반의 문제 행동 분류 시스템 및 방법
WO2020111317A1 (ko) 기계학습 기법에 기반한 기계의 오류 데이터를 검출하기 위한 알고리즘 및 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 17756460

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21938033

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023564610

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21938033

Country of ref document: EP

Kind code of ref document: A1