KR101929955B1 - 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법 - Google Patents

인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법 Download PDF

Info

Publication number
KR101929955B1
KR101929955B1 KR1020180101425A KR20180101425A KR101929955B1 KR 101929955 B1 KR101929955 B1 KR 101929955B1 KR 1020180101425 A KR1020180101425 A KR 1020180101425A KR 20180101425 A KR20180101425 A KR 20180101425A KR 101929955 B1 KR101929955 B1 KR 101929955B1
Authority
KR
South Korea
Prior art keywords
data
factory automation
output data
artificial intelligence
automation system
Prior art date
Application number
KR1020180101425A
Other languages
English (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 KR1020180101425A priority Critical patent/KR101929955B1/ko
Application granted granted Critical
Publication of KR101929955B1 publication Critical patent/KR101929955B1/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
    • 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/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • 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/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명은 인공지능기반 역공학 이용한 공장 자동화용 제어기의 분석 방법에 관한 것으로, a) 분석대상 지능 제어기의 입출력 데이터를 입력받아 전처리하는 입력단계와, b) 전처리된 입출력 데이터들을 인공지능 학습을 통해 논리 모델을 구축하는 단계와, c) 구축된 모델을 통해 분석대상인 지능 제어기의 내부 논리를 추출하는 단계를 포함한다.

Description

인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법{Analysis method of factory automation system using artificial intelligence-based reverse engineering}
본 발명은 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법에 관한 것으로, 더 상세하게는 공장 자동화 제어 시스템의 입출력 데이터를 인공지능 알고리즘을 이용하여 분석함으로써 제어 시스템을 분석할 수 있는 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법에 관한 것이다.
공장의 자동화 및 지능화는 프로그램 가능한 로직 컨트롤러(Programmable Logic Controller, PLC), 직접 계수 제어 장치(Direct Digital Controller, DDC), 분산 처리 시스템(Distributed Control System, DCS) 등의 지능 제어 시스템을 통해 가능해진다. 이러한 지능 제어는 예기치 못한 오류가 발생한 경우, 혹은 부품의 교환, 새로운 기술 적용 등에 의해 공정 과정이 변경된 경우, 실시간으로 시스템 내부의 제어 프로그램을 쉽게 수정할 수 있어야 한다. 그러나, 실제 현장에서는 이러한 소프트웨어에 대한 접근이 제한적인 경우가 많다. 이는 많은 경우 해당 기기의 공급 업체에 의해 의도적으로 핵심 알고리즘 및 제어 로직이 블랙박스화 되어 있기 때문이다. 이러한 경우 공급 업체 혹은 외부 업체에 유지 보수를 위탁해야 하며, 상당한 비용과 시간이 소모된다.
이러한 문제점을 해결하기 위해 공장 자동화용 제어 시스템을 모델링하고 오류를 검출 및 진단하는 많은 연구가 진행되었지만, 제어하고자 하는 시스템의 내부 작동 원리를 완전히 규명할 수 없다는 한계를 넘지 못했다.
"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쪽"에는 순환 신경망을 이용하여 프로그램 가능한 로직 콘트롤러를 모델링하고 오류를 검출하거나 진단하는데 필요한 방안을 제시하였다.
하지만 알고리즘 학습 과정의 추적이나 분석 과정이 결여되어, 콘트롤러의 내부 작동원리를 규명할 수 없으며, 다양한 알고리즘을 적용하지 않아 모델 정확도를 검증하기 어렵다는 한계가 존재한다.
“Pr
Figure 112018085410180-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 112018085410180-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)를 이용하여 콘트롤러를 모델링하고 오류를 검출하는 방법을 제시하였다.
하지만, 이와 같은 종래의 방법은 시스템 내부 작동 원리가 어느 정도 규명이 되어 있는 상태에서 모델링한다는 점에 있어서 큰 제약 조건을 가지고 있으며, 특히 추적 로그 정보를 얻을 수 없는 경우, 적용이 불가능하다는 단점이 있다.
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 112018085410180-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 112018085410180-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쪽
본 발명이 해결하고자 하는 기술적 과제는, 인공지능을 이용하여 입출력 데이터를 분석하여 공장 자동화 제어 시스템의 내부 작동 원리를 규명할 수 있는 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법을 제공함에 있다.
상기와 같은 과제를 해결하기 위한 본 발명 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법은, a) 분석대상 공장 자동화 시스템의 입출력 데이터를 입력받아 전처리하는 단계와, b) 전처리된 입출력 데이터들을 인공지능 학습을 통해 의사결정 경로를 구축하는 단계와, c) 구축된 의사결정 경로를 로직 모델로 변환하여, 분석대상인 공장 자동화 시스템의 내부 논리를 추출하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 a) 단계에서 입출력 데이터는 이전 상태의 데이터가 이후 상태의 데이터의 영향을 주는지 판단하고, 상기 전처리는, 이전 데이터가 현재 데이터에 영향을 주는 데이터들을 선별하고, 선별된 데이터를 설정된 시간 단계만큼 나누어 시간 창을 만드는 것일 수 있다.
본 발명의 실시 예에 따르면, 상기 b) 단계는, 의사결정 경로를 구축한 후, 의사결정 경로의 정확도를 판단하는 단계를 더 포함하여, 구축된 의사결정 경로가 설정된 기준 이상이 아니면 상기 전처리를 재수행하고, 기준 이상이면 c) 단계를 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 의사결정 경로의 정확도는, 계량 함수(metric)를 사용하되, 디지털 출력 데이터의 경우 수신자 조작 특성(ROC) 곡선의 하부영역(AUC) 점수를 사용하고, 아날로그 출력 데이터의 경우 제곱 오차(square error)를 사용할 수 있다.
본 발명의 실시 예에 따르면, 상기 c) 단계는, 논리 모델에 초기 데이터를 재입력하여, 결과를 비교하여 정확도를 판단하는 단계를 더 포함할 수 있다.
본 발명은 블랙박스화 되어 있는 공장 자동화 제어 시스템의 내부 로직을 역으로 규명할 수 있어, 시스템 유지 보수에 대한 외부 의존성을 줄이고 이전에 요구되었던 많은 비용과 시간을 절감하는 효과가 있다.
또한, 본 발명을 통해 확보한 제어 기술은 특정 기기에 한정되지 않고 재사용 가능하기 때문에, 이후 추가적인 지능 제어 시스템 개발에 필요한 비용 및 시간을 줄일 수 있다.
도 1은 본 발명의 실시예에 따른 인공지능 기반 역공학을 이용한 공장 자동화 시스템 분석 방법의 순서도이다.
도 2는 도 1의 알고리즘 순서도이다.
도 3 내지 도 5는 디지털 출력 Y00, Y10, Y40에 대한 의사결정 경로이다.
도 6과 도 7은 각각 아날로그 출력 WY01, WY02에 대한 의사결정 경로이다.
도 8 내지 도 12는 각각 도 3 내지 도 7을 변환한 래더 로직 다이어그램이다.
이하, 본 발명 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법에 대하여 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시 예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이며, 아래에 설명되는 실시 예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시 예들로 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 발명을 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 명세서에서 사용된 용어는 특정 실시 예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는"포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다. 
본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되지 않음은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열을 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다.
이하, 본 발명의 실시 예들은 본 발명의 실시 예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시 예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.
도 1은 본 발명의 바람직한 실시예에 따른 인공지능 기반 역공학을 이용한 공장 자동화 시스템 분석 방법의 순서도이고, 도 2는 알고리즘 순서도이다.
도 1과 도 2를 각각 참조하면 본 발명의 바람직한 실시예에 따른 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법은, 입력단계(S10), 학습단계(20), 변환단계(S30)를 포함한다. 본 발명의 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법은 통상의 연산이 가능한 제어기와 저장장치 및 데이터의 임시 저장이 가능한 메모리를 포함하는 장치를 이용하여 이루어지며, 예를 들어 퍼스널 컴퓨터를 사용할 수 있다.
먼저, 입력단계(S10)는 분석 대상인 공장 자동화 시스템에 장착된 센서들로부터 입출력 데이터를 입력 받고(S11), 전처리(S12)한다.
이때 입력받은 입출력 데이터는 디지털 데이터 또는 아날로그 데이터일 수 있으며, 디지털 데이터와 아날로그 데이터가 혼재된 것일 수 있다. 여기서 디지털 데이터는 이진값(binary data)으로, 0은 거짓(false), 1은 참(true)에 해당된다. 아날로그 데이터는 그 외 수치적 데이터가 모두 해당될 수 있다. 디지털 데이터와 아날로그 데이터의 제어 방식은 서로 차이가 있을 수 있다.
이하에서는 좀 더 구체적인 예를 설명하기 위하여, 상기 공장 자동화 시스템 중 프로그램 가능한 로직 컨트롤러(PLC)를 대상으로 설명하며, PLC 제어의 디지털 입력데이터를 X, 디지털 출력데이터를 Y, 아날로그 출력데이터를 WY로 정의하여 설명한다. 추가로, 입출력 데이터에는 나타나지 않고 로직 내부에서만 사용되는 매개변수들은 R로 정의하여 설명한다.
상기 PLC의 센서에서 수집되는 데이터는 연속적인 시계열 데이터 형태이며, 이를 인공지능 모델 학습에 사용하기 위해서는 이산화해야 한다. 시판되는 PLC의 경우 매뉴얼에 기재된 스캔타임(scan time)을 시간 간격으로 선택하여 이산화한다. 고정된 스캔타임을 알 수 없는 경우 이산화 시간 간격은 하이퍼 파라미터에 해당되며, 필요한 경우 최적화 과정이 필요할 수 있다.
이처럼 입력단계(S10)에서는 공장 자동화 시스템의 특정 제어장치(예를 들어 PLC)의 입출력 데이터를 입력받는 단계(S11)와, 입력된 입출력 데이터를 전처리하는 단계(S12)를 포함한다.
상기 전처리 단계(S12)는, 인공지능 모델을 이용해 대상 로직을 정확하게 예측하기 위해서 입력받은 입출력 데이터를 적절하게 처리하는 과정으로, 주어진 입력의 a-접점, b-접점 스위치와 논리 연산만으로 구성된 시퀀스 로직의 경우, 추가적인 전처리 과정 없이 인공지능 모델 학습에 사용될 수 있다.
반면, 제어 로직에 펄스(pulse), 타이머(timer) 등의 명령어가 포함되는 경우, 혹은 자기유지회로(self-holding) 등과 같이 이전 스캔의 값이 현재 스캔에 필요한 경우 및 현재 시점의 출력을 구성하기 위해 현재의 입력뿐만 아니라 과거의 입력도 함께 필요하다.
이러한 경우를 위해, 특정 시간 단계(time step)만큼 입력값을 잘라서 인공지능 모델 학습에서 하나의 입력으로 사용할 수 있으며, 이를 시간 창(time window)이라고 한다.
PLC의 특성상 한 스캔 내부에서 한 출력이 다른 출력의 제어 로직에 포함되기도 한다. 이러한 경우 다른 출력값도 예측 모델의 입력으로 추가될 수 있다.
즉, 상기 전처리 단계(S12)는 이전 데이터가 현재 데이터에 영향을 주는 데이터들을 선별하고, 선별된 데이터를 설정된 시간 단계만큼 나누어 시간 창을 만든다.
상기에서 설명한 전처리 과정은 한 번에 전부 적용하는 것이 아니라, 학습단계에서 인공지능 모델을 학습하였지만 특정 기준 이상의 모델 정확도를 얻을 수 없을 때 하나씩 적용해볼 수 있다.
한편, 정확한 제어 로직을 찾기 위해서는 최대한 다양한 시계열 패턴을 입력 받도록 한다. 특히 과거 시점의 데이터를 입력으로 사용하는 경우 가능한 패턴의 경우의 수가 훨씬 많기 때문에, 입력 패턴이 부족하지 않도록 유의한다.
그 다음, 학습단계(S20)에서는 입력된 입출력 데이터 및 전처리된 데이터를 이용하여 인공지능 모델을 학습시킨다. 상기 학습단계(S20)는 인공지능 모델을 학습시키는 단계(S21)와, 학습된 결과를 이용하여 모델 정확도를 판단하는 단계(S22)를 포함할 수 있다.
여기서 인공지능 모델은 분석 대상인 공장 자동화 시스템의 특성, 데이터의 형태 등에 따라 유연하게 선택될 수 있다. 그 예시로 인공 신경망 모델, 의사결정 나무 모델, 선형 회귀 등이 있으며, 그 외의 알려진 다른 방법들을 적용할 수 있다. 단, 인공지능 모델의 선택에 따라 모델을 해석하는 방법이 달라지기 때문에 이후에 상세히 설명될 변환단계(S30)의 구체적인 구성은 크게 달라질 수 있다.
실시 예에서는 PLC 제어 시스템을 분석하기 위한 인공지능 모델로 의사결정 나무 모델을 사용한 예를 설명하기로 한다. 의사결정 나무 모델은 나무 구조(tree)의 의사결정 경로를 통해 결과를 도출하는 분류 혹은 회귀 모델로, 대표적인 지도학습(supervised learning) 중 하나이다.
의사결정 나무 모델의 학습방식에 따라 ID3, C4.5, CART 등의 트리 생성 알고리즘이 사용될 수 있다. 특히 실시 예에 적용된 CART 등과 같은 학습 방식에서는 이진 트리(binary tree)의 의사결정 경로를 사용하는데, 이는 의사결정 경로를 PLC 제어 로직으로 해석하는데 중요한 역할을 한다.
도 3 내지 도 5은 학습단계(S20)의 인공지능모델 학습단계(S21)를 통해 얻어진 각각 디지털 출력 데이터의 의사결정 경로를 도시하였다.
도 3을 참조하면 특정한 아날로그 출력 데이터(WY01)의 값에 따라 디지털 출력 데이터(Y00, Y01, Y02)의 값을 결정하는 예를 도시하였다.
아날로그 출력 데이터(WY01)의 값이 1.5보다 같거나 작은지 판단하여 같거나 작으면 디지털 출력 데이터(Y00)를 참(TURE), 큰 경우는 거짓(FALSE)으로 지정할 수 있다. 이때 참은 턴온, 거짓은 턴오프인 것으로 할 수 있다.
이와 같은 방식으로 아날로그 출력 데이터(WY01)의 값이 3.0 이하인지 판단한 후, 다시 1.5 이하인지 판단하여 각 판단결과에 따라 디지털 출력 데이터(Y01)를 결정할 수 있다.
또한, 아날로그 출력 데이터(WY01)의 값이 3.0 이하인지 판단하여 디지털 출력 데이터(Y02)를 결정할 수 있다.
이때의 기준 값들은 설정에 의한 것이며, 위의 도 3에 도시한 예는 이전 상태가 현재 상태에 영향을 주지 않는 데이터에 한정된 것이다.
도 4를 참조하면 특정 스캔 시간(t)의 데이터 및 이전 상태(t-1)의 데이터들을 이용하여 디지털 출력 데이터(Y10)를 결정하는 과정을 도시하였다.
이때의 구조는 루트 노드(Root Node, RN)와 다수의 중간 노드(Intermediate Node, IN)를 포함하며, 결정 결과인 터미널 노드(Terminal Node, TN)를 포함할 수 있다.
여기서 매개변수 R00은 다음과 같이 정의된다.
R00(t) = X01(t) || X02(t-1)
이와 같은 매개변수는 다양한 휴리스틱(heuristics)으로 결정할 수 있다. 학습된 의사결정 트리에서 반복적인 구조로 나타나는 변수들을 발견하여 하나의 매개변수로 정의할 수 있다.
도 5는 이전 스캔 시간(t-1)의 데이터를 이용하여 현재 스캔 시간의 디지털 출력 데이터를 결정(학습)하는 과정을 나타낸 것이다.
이처럼 본 발명에서는 다양한 조건과 방식을 사용하여 입출력 데이터를 학습할 수 있다.
도 6과 도 7은 각각 아날로그 출력 데이터 WY01, WY02에 대한 의사결정 경로를 도시하였다.
특히, 도 7에서는 단순히 출력값을 예측하는 것이 아니라, 출력값의 변화량을 예측하는 예를 도시하였다.
도 7에서 △WY02는 다음과 같이 정의된다.
△WY02(t) = WY02(t) - WY02(t-1)
그 다음, 정확도 판단단계(S22)에서는 학습 결과의 정확도를 기준 정확도와 비교하고, 정확도가 기준 정확도 미만인 경우에는 앞서 설명한 데이터 전처리 단계(S12)를 다시 수행한다.
정확도 판단단계(S22)는 학습이 끝난 후, 테스트 데이터를 이용하여 모델의 예측 정확도를 측정한다. 만약 정확도가 특정 기준 이상이라면 변환단계를 수행하고, 그렇지 않다면 이전 단계인 입력단계로 돌아가 다른 전처리 과정을 시도해본다.
정확도에 대한 계량 함수(metric)로는 디지털 출력의 경우 수신자 조작 특성(ROC) 곡선의 아래 영역(AUC) 점수가 사용될 수 있고, 아날로그 출력의 경우 제곱 오차(square error) 등이 사용될 수 있다.
그 다음, 변환단계(S30)는 로직 변환단계(S31)와 검증단계(S32)를 포함할 수 있다. 로직 변환단계(S31)에서는 학습된 인공지능 모델의 파라미터를 분석하여 제어 시스템의 제어 로직으로 변환한다. 변환된 로직은 제어 시스템의 종류에 따라 래더 로직 다이어그램, 블록 다이어그램 등과 같은 적절한 형태로 가시화할 수 있다.
앞서 설명한 학습 모델은 각 의사결정 트리가 이진 트리로 구성된다. 따라서, 트리의 각 노드를 PLC 제어로직에서 각각의 스위치로, 분리되는 가지를 스위치의 온오프 신호로 해석함으로써 의사결정 경로를 PLC 제어로직으로 해석할 수 있게 된다.
이와 같은 분석을 통해, 도 3 내지 도 7에 도시한 의사결정 경로를 PLC 로직으로 변환하여 래더 로직 다이어그램으로 도시할 수 있다.
도 8 내지 도 12는 각각 도 3 내지 도 7의 경로를 래더 로직 다이어그램으로 도시한 예이다.
검증단계(S32)는 로직의 정확도를 기준 정확도와 비교하여 작성된 로직의 정확도가 기준 정확도 미만일 때, 상기 로직 변환단계(S31)를 재수행할 수 있다.
검증단계(S32)에서는 구축된 로직에 다시 입력값을 입력하고, 출력을 비교하여 로직이 맞는지 검증해 본다. 필요하다면 사용자의 판단 하에 불필요한 로직 단위를 제외시키고 검증을 하여 더 정확한 로직을 얻을 수 있다.
본 발명은 상기 실시예에 한정되지 않고 본 발명의 기술적 요지를 벗어나지 아니하는 범위 내에서 다양하게 수정, 변형되어 실시될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어서 자명한 것이다.

Claims (5)

  1. a) 분석대상 공장 자동화 시스템의 입출력 데이터를 입력받아 전처리하는 단계;
    b) 전처리된 입출력 데이터들을 인공지능 학습을 통해 의사결정 경로를 구축하는 단계; 및
    c) 구축된 의사결정 경로를 로직 모델로 변환하여, 분석대상인 공장 자동화 시스템의 내부 논리를 추출하는 단계를 포함하는 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법.
  2. 제1항에 있어서,
    상기 a) 단계에서 입출력 데이터는 이전 상태의 데이터가 이후 상태의 데이터의 영향을 주는지 판단하고,
    상기 전처리는, 이전 데이터가 현재 데이터에 영향을 주는 데이터들을 선별하고, 선별된 데이터를 설정된 시간 단계만큼 나누어 시간 창을 만드는 것을 특징으로 하는 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법.
  3. 제2항에 있어서,
    상기 b) 단계는,
    의사결정 경로를 구축한 후, 의사결정 경로의 정확도를 판단하는 단계를 더 포함하여, 구축된 의사결정 경로가 설정된 기준 이상이 아니면 상기 전처리를 재수행하고,
    기준 이상이면 c) 단계를 수행하는 단계를 포함하는 인공지능기반 역공학을 이용한 공장 자동화 시스템의 분석 방법.
  4. 제3항에 있어서,
    상기 의사결정 경로의 정확도는,
    계량 함수(metric)를 사용하되, 디지털 출력 데이터의 경우 수신자 조작 특성(ROC) 곡선의 하부영역(AUC) 점수를 사용하고, 아날로그 출력 데이터의 경우 제곱 오차(square error)를 사용하는 것을 특징으로 하는 인공지능기반 역공학을 이용한 공장 자동화 시스템의 분석방법.
  5. 제1항에 있어서,
    상기 c) 단계는,
    논리 모델에 초기 데이터를 재입력하여, 결과를 비교하여 정확도를 판단하는 단계를 더 포함하는 인공지능기반 역공학을 이용한 공장 자동화 시스템의 분석 방법.
KR1020180101425A 2018-08-28 2018-08-28 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법 KR101929955B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180101425A KR101929955B1 (ko) 2018-08-28 2018-08-28 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180101425A KR101929955B1 (ko) 2018-08-28 2018-08-28 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법

Publications (1)

Publication Number Publication Date
KR101929955B1 true KR101929955B1 (ko) 2018-12-17

Family

ID=65007459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180101425A KR101929955B1 (ko) 2018-08-28 2018-08-28 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법

Country Status (1)

Country Link
KR (1) KR101929955B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102224066B1 (ko) * 2019-10-25 2021-03-05 포항공과대학교 산학협력단 인공지능 기반 역공학을 이용한 지능 제어기의 분석 방법
CN117312388A (zh) * 2023-10-08 2023-12-29 江苏泰赋星信息技术有限公司 一种人工智能模型控制系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016193455A (ja) 2015-03-31 2016-11-17 上海交通大学 金属板材曲げ成形制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016193455A (ja) 2015-03-31 2016-11-17 上海交通大学 金属板材曲げ成形制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102224066B1 (ko) * 2019-10-25 2021-03-05 포항공과대학교 산학협력단 인공지능 기반 역공학을 이용한 지능 제어기의 분석 방법
CN117312388A (zh) * 2023-10-08 2023-12-29 江苏泰赋星信息技术有限公司 一种人工智能模型控制系统
CN117312388B (zh) * 2023-10-08 2024-03-19 江苏泰赋星信息技术有限公司 一种人工智能模型控制系统

Similar Documents

Publication Publication Date Title
CN104345726B (zh) 过程控制系统中的非侵入式数据分析
JP6551565B2 (ja) 工程解析装置、工程解析方法、及び工程解析プログラム
US20190129395A1 (en) Process performance issues and alarm notification using data analytics
EP3382485B1 (en) Controller, control program, control system, and control method
JP6918791B2 (ja) 原因結果マトリックスの安全論理を検証するためのシステム及び方法
KR101929955B1 (ko) 인공지능 기반 역공학을 이용한 공장 자동화 시스템의 분석 방법
JP2018159981A (ja) 制御システム、制御装置、制御プログラム、および制御方法
CN109933019A (zh) 工业控制系统及其支持装置、控制支持方法和存储介质
WO2022030041A1 (ja) 予測システム、情報処理装置および情報処理プログラム
CN113168564A (zh) 用于生成人工智能模型的方法和系统
JP5048748B2 (ja) 試験テーブル生成装置及び試験テーブル生成方法
US20190325093A1 (en) Visual debugging, simulation, and validation of hybrid control system configuration with rewind, play back, and play forward capability
CN115427968A (zh) 边缘计算设备中的鲁棒人工智能推理
Dahl et al. Automatic modeling and simulation of robot program behavior in integrated virtual preparation and commissioning
Theis et al. Process mining of programmable logic controllers: Input/output event logs
Xavier et al. Process mining in industrial control systems
WO2021110388A1 (en) System, device and method for model based analytics
JP7151312B2 (ja) 制御システム
KR20210075358A (ko) 스마트공장의 운영 분석 시스템 및 방법
US20220414555A1 (en) Prediction system, information processing apparatus, and information processing program
Yang et al. Streaming data analysis framework for cyber-physical system of metal machining processes
Estrada-Vargas et al. Identification of industrial automation systems: Building compact and expressive petri net models from observable behavior
KR102132659B1 (ko) 인공지능 기반 역공학을 이용한 공장 자동화용 제어기의 분석 방법
KR102224066B1 (ko) 인공지능 기반 역공학을 이용한 지능 제어기의 분석 방법
Maier et al. Automated generation of timing models in distributed production plants

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant