KR20230153942A - 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템 - Google Patents

컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20230153942A
KR20230153942A KR1020230054418A KR20230054418A KR20230153942A KR 20230153942 A KR20230153942 A KR 20230153942A KR 1020230054418 A KR1020230054418 A KR 1020230054418A KR 20230054418 A KR20230054418 A KR 20230054418A KR 20230153942 A KR20230153942 A KR 20230153942A
Authority
KR
South Korea
Prior art keywords
input
output
knowledge graph
processing unit
parameter value
Prior art date
Application number
KR1020230054418A
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 지멘스 악티엔게젤샤프트
Publication of KR20230153942A publication Critical patent/KR20230153942A/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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/0428Safety, monitoring
    • 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
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • 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/0297Reconfiguration of monitoring system, e.g. use of virtual sensors; change monitoring method as a response to monitoring results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32252Scheduling production, machining, job shop
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템을 제공한다. 방법은 추가로, 프로세싱 유닛(202)이, 연결 오류가 존재하는 것으로 결정될 때 생성된 입출력 지식 그래프의 분석에 기초하여 제2 입력 파라미터 값을 시뮬레이션하는 단계를 포함한다. 제2 입력 파라미터 값은 엔지니어링 프로그램의 실행 동안 복수의 센서 디바이스들(126A-N)로부터 수신될 파라미터 값이다. 방법은 추가로, 프로세싱 유닛(202)이, 적어도 복수의 산업 디바이스들(108A-N)을 제어하기 위해, 생성된 적어도 하나의 출력 파라미터 값을 기술 설비 내의 복수의 산업 디바이스들(108A-N)에 송신하는 단계를 포함한다.

Description

컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR SEAMLESS TRANSITION OF RUNTIME SYSTEM FROM CONTROLLER DEVICE TO DIGITALIZATION PLATFORM}
본 발명은 컴퓨터(computer) 지원 프로그래밍(programming)의 엔지니어링(engineering) 분야에 관한 것이고, 특히 컨트롤러 디바이스(controller device)로부터 디지털화 플랫폼(digitalization platform)으로 런타임 시스템(runtime system)을 끊김없이 전환하기 위한 방법 및 시스템에 관한 것이다.
산업 플랜트와 같은 기술 설비는 프로그램가능 논리 컨트롤러와 같은 컨트롤러 디바이스에 의해 제어되는 복수의 산업 디바이스들을 포함한다. 복수의 산업 디바이스들의 예들은 제어 밸브(valve)들, 모터(motor)들, 펌프(pump)들 및 액추에이터(actuator)들을 포함한다(그러나, 이에 제한되지 않음). 컨트롤러 디바이스는 산업 플랜트(plant)의 복수의 센서(sensor) 디바이스들로부터 실시간 입력들을 수신하도록 추가로 구성된다. 컨트롤러 디바이스는 수신된 실시간 입력들을 프로세싱(process)하여 복수의 산업 디바이스들을 제어한다. 수신된 실시간 입력들은 컨트롤러 디바이스에서 엔지니어링 프로그램을 실행하여 프로세싱된다.
디지털화 기반 컴퓨팅(computing) 기술들의 출현으로, 디지털화 플랫폼에서 호스팅되는 컨트롤러 디바이스의 디지털 트윈(twin)에서 엔지니어링 프로그램을 실행하는 것이 유리할 수 있다. 이 경우, 디지털화 플랫폼은 실시간 입력들을 수신하고 수신된 실시간 입력들에 기반하여 복수의 산업 디바이스들을 제어한다.
디지털화 플랫폼에서 엔지니어링 프로그램들의 실행은 몇 가지 단점들을 갖는다. 예를 들어, 산업 플랜트의 효율적인 기능은 디지털화 플랫폼에 실시간 입력들의 적시 입력을 요구한다. 실시간 입력이 적시에 디지털화 플랫폼에 공급되지 않으면, 엔지니어링 프로그램 실행은 영향을 받아, 다운타임(downtime)을 초래한다. 따라서, 복수의 센서 디바이스들과 디지털화 플랫폼 간의 네트워크(network) 연결에서 연결 에러들의 존재는 산업 플랜트의 효율적인 기능을 방해할 수 있다. 추가로, 디지털화 플랫폼이 컨트롤러 디바이스의 거동을 정확하게 시뮬레이션하지 않으면, 실시간 입력들은 잘못 프로세싱될 수 있다. 이러한 경우, 산업 플랜트의 기능은 방해를 받는다.
추가로, 엔지니어링 시스템의 런타임을 컨트롤러 디바이스로부터 디지털화 플랫폼으로 전환하는 것은 비쌀 수 있다. 예를 들어: 디지털화 플랫폼이 거동을 정확하게 시뮬레이션하기 위해, 디지털화 플랫폼은 컨트롤러 디바이스의 방대한 수의 입력 신호들 및 출력 신호들의 분석에 기반하여 생성되어야 한다. 따라서, 디지털화 플랫폼의 생성은 막대한 양의 시간과 노력이 필요하다. 결과적으로, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템의 전환 시도는 시간과 노동 집약적인 프로세스(process)일 수 있다.
따라서, 기존 자동화 시스템을 PLC 기반 플랫폼에서 디지털화 플랫폼으로 전환하는 것은 비싸고, 힘들고, 어렵다.
위를 고려하여, PLC 기반 플랫폼으로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 효율적이고 비용 효율적인 방법 및 시스템이 필요하다. 그러므로, 본 발명의 목적은 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템을 제공하는 것이다.
본 발명의 목적은 런타임 시스템을 컨트롤러 디바이스로부터 디지털화 플랫폼으로 끊김없이 전환하기 위한 방법 및 시스템에 의해 달성된다. 컨트롤러 디바이스의 예들은 프로그램가능 논리 컨트롤러(PLC) 또는 마이크로프로세서 또는 프로세싱 유닛(unit)을 포함한다. 디지털화 플랫폼은 구성 가능한 컴퓨팅 물리적 및 논리적 리소스(resource)들, 예를 들어 네트워크들, 서버(server)들, 스토리지(storage), 애플리케이션(application)들, 서비스(service)들 등, 및 클라우드(cloud) 컴퓨팅 플랫폼과 같은 플랫폼에 분산된 데이터(data)를 포함한다. 컨트롤러 디바이스 및 디지털화 플랫폼은 기술 설비에서 복수의 산업 디바이스들을 제어하기 위해 엔지니어링 프로그램을 실행하도록 구성된다. 복수의 산업 디바이스들의 예들은 제어 밸브들, 모터들, 펌프들, 로봇(robot)들, 선반들 및 액추에이터(actuator)들을 포함한다(그러나, 이에 제한되지 않음). 기술 설비의 예들은 제조 플랜트, 발전소 또는 화학 프로세싱 플랜트를 포함한다.
엔지니어링 프로그램은 각각이 하나 이상의 프로그램 명령들을 포함하는 복수의 프로그래밍 블록(block)들을 포함한다. 일 예에서, 엔지니어링 프로그램은 프로그램 논리를 포함하는 그래픽 프로그램(graphical program)이다. 엔지니어링 프로그램은 프로그램 논리에 대응하는 프로그램가능 명령들 또는 설명문들을 포함한다. 복수의 프로그래밍 블록들의 각각의 프로그래밍 블록은 기술 설비의 엔지니어링 설계 하의 기능 블록에 대응한다. 엔지니어링 설계는 이러한 프로그램가능 블록들을 여러 개 포함할 수 있다. 컨트롤러 디바이스는 복수의 스캔 사이클(scan cycle)들에서 엔지니어링 프로그램을 실행하도록 구성된다. 컨트롤러 디바이스 및 디지털화 플랫폼은 추가로 복수의 센서 디바이스들 및 복수의 인간 기계 인터페이스(interface)들에 통신 가능하게 결합된다. 복수의 센서 디바이스들은 압력 센서, 온도 센서 및 진동 센서를 포함한다. 인간 기계 인터페이스들의 예들은 키보드(keyboard)들, 마우스(mouse)들 및 터치스크린(touchscreen)들을 포함한다(그러나, 이에 제한되지 않음). 복수의 인간 기계 인터페이스들은 컨트롤러 디바이스 또는 디지털화 플랫폼에 네트워크 연결된 스마트폰(smartphone), 데스크톱(desktop) 컴퓨터 및 태블릿(tablet) 컴퓨터와 같은 복수의 클라이언트(client) 디바이스들을 더 포함한다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 엔지니어링 프로그램 실행의 복수의 스캔 사이클들 동안 컨트롤러 디바이스에 의해 전송되거나 수신된 복수의 입력-출력 파라미터(parameter) 값들을 캡처(capture)하는 단계를 포함한다. 복수의 입력-출력 파라미터 값들은 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들의 예들은 복수의 센서 디바이스들 및 복수의 인간 기계 인터페이스들로부터 컨트롤러 디바이스에 의해 수신된 파라미터 값들을 포함한다.
따라서, 캡처된 복수의 입력-출력 파라미터 값들은 센서 데이터, 사용자 커맨드(command)들 및 사용자 입력들을 포함한다. 일 예에서, 복수의 입력-출력 파라미터 값들은 사용자가 컨트롤러 디바이스에 연결된 복수의 인간 기계 인터페이스들의 인간 기계 인터페이스들에서 수행한 복수의 사용자 동작들에 대한 정보를 더 포함한다. 다른 예에서, 복수의 입력-출력 파라미터 값들은 복수의 센서 디바이스들로부터 컨트롤러 디바이스에 의해 수신된 복수의 입력 파라미터들을 포함한다. 복수의 입력-출력 파라미터 값들은 복수의 사용자 동작들의 수신에 응답하여, 컨트롤러 디바이스에 의해 생성된 복수의 출력 파라미터 값들을 더 포함한다. 복수의 출력 파라미터 값들은 컨트롤러 디바이스 또는 디지털화 플랫폼에 의해 기술 설비의 복수의 산업 디바이스들로 전송되는 파라미터 값들을 포함한다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 캡처된 복수의 입력-출력 파라미터 값들을 분석하는 단계를 더 포함한다. 프로세싱 유닛은 분석에 기반하여 복수의 입력-출력 파라미터 값들에서 복수의 패턴(pattern)들을 식별하도록 구성된다. 추가로, 프로세싱 유닛은 캡처된 복수의 입력-출력 파라미터 값들에서의 파라미터 값들 사이의 복수의 관계들을 식별하도록 추가로 구성된다.
방법은 프로세싱 유닛에 의해, 캡처된 복수의 입력-출력 파라미터 값들의 분석에 기반하여 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 대응 지식 그래프를 생성하는 단계를 더 포함한다. 입력 지식 그래프는 캡처된 복수의 입력-출력 파라미터 값들에서의 복수의 입력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 프로세싱 유닛은 엔지니어링 프로그램 실행의 미래 스캔 사이클 동안 컨트롤러 디바이스에 의해 수신될 가능성이 있는 파라미터 값들을 예측하기 위해 입력 지식 그래프를 쿼리(query)하도록 구성된다. 미래 스캔 사이클은 복수의 입력-출력 파라미터 값들이 캡처되는 복수의 스캔 사이클들에 후속하여 발생한다.
출력 지식 그래프는 컨트롤러 디바이스에 의해 전송되는 복수의 출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 프로세싱 유닛은 컨트롤러 디바이스에서 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 컨트롤러 디바이스에 의해 전송될 가능성이 있는 출력 파라미터 값들을 예측하기 위해 출력 지식 그래프를 쿼리하도록 구성된다. 입력-출력 대응 지식 그래프는 복수의 입력 파라미터 값들 각각과 복수의 출력 파라미터 값들 각각의 사이의 관계들에 대한 정보를 포함한다. 프로세싱 유닛은 컨트롤러 디바이스에 의해 수신된 주어진 입력 파라미터 값에 대해 컨트롤러 디바이스에 의해 전송될 가능성이 있는 출력 파라미터 값을 예측하기 위해 입력 출력 대응 지식 그래프를 쿼리하도록 구성된다. 방법은 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 지식 그래프에 기반하여 입력-출력 지식 그래프를 생성하도록 더 구성된다. 일 예에서, 입력-출력 지식 그래프는 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 지식 그래프가 3 차원 지식 그래프에서 직교 차원으로 표현된 3 차원 지식 그래프이다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 복수의 센서 디바이스들과 컨트롤러 디바이스 또는 디지털화 플랫폼 중 하나 사이의 네트워크 연결과 연관된 복수의 네트워크 연결 파라미터들을 수신하는 단계를 더 포함한다. 복수의 네트워크 연결 파라미터들은 복수의 센서 디바이스들과 컨트롤러 디바이스 또는 디지털화 플랫폼 중 하나 사이의 네트워크 연결과 연관된 네트워크 강도, 패킷 카운트(packet count), 패킷 드롭 데이터(drop data)와 연관된 정보를 포함한다. 방법은 프로세싱 유닛에 의해, 복수의 네트워크 연결 파라미터들을 분석하는 단계를 더 포함한다. 방법은 프로세싱 유닛에 의해, 적어도 하나의 연결 에러가 분석에 기반하여 네트워크 연결에 존재하는지를 결정하는 단계를 더 포함한다. 일 예에서, 복수의 네트워크 연결 파라미터들은 네트워크 강도를 포함한다. 그러한 경우에, 프로세싱 유닛은 네트워크 강도가 미리 정의된 임계치 아래로 떨어지는지 여부를 결정하도록 구성된다. 네트워크 강도가 미리 정의된 임계치 아래로 떨어지는 것으로 결정되는 경우, 적어도 하나의 연결 에러는 복수의 센서 디바이스들/복수의 인간 기계 인터페이스들과 컨트롤러 디바이스 또는 디지털화 플랫폼 중 하나 사이의 네트워크 연결에 존재하는 것으로 결정된다.
적어도 하나의 연결 에러가 네트워크 연결에 존재하는 것으로 결정되는 경우, 방법은 생성된 입력-출력 지식 그래프의 분석에 기반하여 제1 입력 파라미터 값을 시뮬레이션하는 단계를 더 포함한다. 일 예에서, 제1 입력 파라미터 값은 입력-출력 지식 그래프를 쿼리함으로써 프로세싱 유닛에 의해 시뮬레이션된다. 입력-출력 지식 그래프가 복수의 스캔 사이클들에서 컨트롤러 디바이스에 의해 수신된 복수의 입력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다는 것이 유의되었다. 따라서, 바람직하게는, 제1 입력 파라미터 값의 시뮬레이션은 복수의 스캔 사이클들에서 컨트롤러 디바이스에 의해 수신된 복수의 입력 파라미터 값들을 고려한다. 따라서, 시뮬레이션된 제1 입력 파라미터 값은 엔지니어링 프로그램의 실행 동안 복수의 센서 디바이스들/복수의 인간 기계 인터페이스들로부터 컨트롤러 디바이스에 의해 수신될 가능성이 매우 높다.
적어도 하나의 연결 에러가 없는 것으로 결정되는 경우, 프로세싱 유닛은 복수의 센서 디바이스들로부터 제2 입력 파라미터 값을 수신하도록 구성된다. 제2 입력 파라미터 값은 네트워크 연결을 통해 수신된다. 제2 입력 파라미터 값의 예들은 복수의 센서 디바이스들로부터 수신된 센서 데이터 및 인간 기계 인터페이스로부터 수신된 복수의 사용자 입력들을 포함한다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 시뮬레이션된 제1 입력 파라미터 값 또는 수신된 제2 입력 파라미터 값 중 하나에 관한 정보가 입력-출력 지식 그래프에 존재하는지 여부를 결정하는 단계를 더 포함한다. 즉, 프로세싱 유닛은 입력-출력 지식 그래프가 복수의 입력-출력 파라미터 값들과 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 사이의 복수의 관계들에 대한 정보를 포함하는지 여부를 결정하도록 구성된다. 입력-출력 지식 그래프가 제1 입력 파라미터 값 또는 제2 입력 파라미터 값에 대한 정보를 포함하는 경우, 프로세싱 유닛은 적어도 하나의 출력 파라미터 값을 생성하기 위해 입력-출력 지식 그래프를 쿼리하도록 구성된다.
적어도 하나의 출력 파라미터 값은 컨트롤러 디바이스에서 제1 입력 파라미터 값 또는 제2 입력 파라미터 값을 수신하고 프로세싱할 때, 컨트롤러 디바이스에 의해 생성될 가능성이 있는 파라미터 값이다. 유리하게는, 적어도 하나의 출력 파라미터 값은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스에 의해 수신된 복수의 입력-출력 파라미터 값들의 분석에 기반하여 시뮬레이션된다. 추가로, 적어도 하나의 출력 파라미터 값은 캡처된 복수의 입력-출력 파라미터 값들의 파라미터 값들 사이의 복수의 관계들과 연관된 정보의 분석에 기반하여 시뮬레이션된다. 따라서, 바람직하게는, 프로세싱 유닛은 정확히 적어도 하나의 출력 파라미터 값을 정확하게 시뮬레이션할 수 있다. 따라서, 적어도 하나의 출력 파라미터 값의 생성은 컨트롤러 디바이스가 아닌 디지털화 플랫폼에서 수행된다.
따라서, 유리하게도, 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하기 위해 소비되는 프로세싱 전력은 컨트롤러 디바이스가 아닌 디지털화 플랫폼에 의해 쓰여진다. 따라서, 컨트롤러 디바이스의 프로세싱 부하는 감소된다. 그 결과, 컨트롤러 디바이스의 프로세싱 용량이 증가된다. 추가로, 유리하게는, 컨트롤러 디바이스 및 디지털화 플랫폼은 네트워크 연결에서 적어도 하나의 연결 에러가 존재함에도 불구하고 제1 입력 파라미터 값 또는 제2 입력 파라미터 값을 계속해서 수신한다. 따라서, 유리하게, 적어도 하나의 연결 에러가 네트워크 연결에 존재하더라도 엔지니어링 프로그램의 실행은 중단되지 않는다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 중 하나가 임계 데이터 항목인지 여부를 결정하는 단계를 더 포함한다. 일 예에서, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 중 하나는 제1 입력 파라미터 값 및 제2 입력 파라미터 값에 대한 인공지능 모델(model)의 적용에 기반하여 임계 데이터 항목으로 결정된다. 제1 파라미터 값 또는 제2 파라미터 값이 임계 데이터 항목인 것으로 결정되는 경우, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값은 컨트롤러 디바이스에서 프로세싱된다.
제1 파라미터 값 또는 제2 파라미터 값에 대한 정보가 입력-출력 지식 그래프에 존재하지 않는 것으로 결정되는 경우, 방법은 프로세싱 유닛에 의해, 제1 파라미터 값 또는 제2 파라미터 값을 컨트롤러 디바이스로 전송하는 단계를 포함한다. 컨트롤러 디바이스는 엔지니어링 프로그램의 실행에 기반하여 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하도록 구성된다. 추가로, 컨트롤러 디바이스는 엔지니어링 프로그램의 실행에 의해 제1 파라미터 값 또는 제2 파라미터 값으로부터 적어도 하나의 출력 파라미터 값을 생성하도록 구성된다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 컨트롤러 디바이스로부터 생성된 적어도 하나의 출력 파라미터 값을 수신하는 단계를 더 포함한다. 방법은 복수의 산업 디바이스들을 제어하고 기술 설비를 효율적으로 실행하기 위해 생성된 적어도 하나의 출력 파라미터 값을 기술 설비 내의 복수의 산업 디바이스들에 전송하는 단계를 더 포함한다. 따라서, 유리하게도, 컨트롤러 디바이스는 입력-출력 지식 그래프에 존재하지 않는 이들 파라미터 값들만을 프로세싱해야 한다. 따라서, 컨트롤러 디바이스의 프로세싱 부하는 크게 줄어들고 대부분의 파라미터 값 프로세싱은 디지털화 플랫폼에서 발생한다. 따라서, 적어도 하나의 출력 파라미터 값의 생성은 디지털화 플랫폼에서 수행된다. 따라서, 유리하게도, 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하기 위해 소비되는 프로세싱 전력은 컨트롤러 디바이스가 아닌 디지털화 플랫폼에 의해 쓰여진다. 따라서, 컨트롤러 디바이스의 프로세싱 부하는 감소된다.
바람직한 실시예에서, 방법은 생성된 적어도 하나의 출력 파라미터 값을 분석하는 단계를 더 포함한다. 추가로, 방법은 적어도 하나의 출력 파라미터 값, 제1 입력 파라미터 값 및 제2 입력 파라미터 값의 분석에 기반하여 입력-출력 지식 그래프를 수정하는 단계를 더 포함한다. 입력-출력 지식 그래프는 제1 입력 파라미터 값, 제2 파라미터 값 및 적어도 하나의 출력 파라미터 값 사이의 관계가 입력-출력 지식 그래프에 기록되도록 수정된다.
따라서, 유리하게, 컨트롤러 디바이스 또는 디지털화 플랫폼이 미래에 제1 입력 파라미터 값 또는 제2 파라미터 값과 동일한 파라미터 값을 수신하는 경우, 출력 파라미터 값은 입력-출력 지식 그래프를 쿼리하여 용이하게 생성된다. 따라서, 컨트롤러 디바이스의 프로세싱 부하는 더 감소된다. 결국, 입력-출력 지식 그래프는 컨트롤러 디바이스에 의해 수신될 수 있는 모든 가능한 파라미터 값들과 연관된 정보를 축적한다. 그러한 경우에, 디지털화 플랫폼은 컨트롤러 디바이스에 의해 수신된 입력 파라미터 값들의 모든 가능한 조합들에 대해 복수의 출력 파라미터 값을 생성할 수 있게 될 것이다. 따라서, 유리하게는, 기술 설비의 런타임은 컨트롤러 디바이스로부터 디지털화 플랫폼으로 끊김없이 전환된다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 컨트롤러 디바이스에 의해 실행되는 엔지니어링 프로그램의 복수의 프로그래밍 블록들을 분석하는 단계를 더 포함한다. 방법은 프로세싱 유닛에 의해, 컨트롤러 디바이스의 복수의 프로그램 실행 파라미터들을 결정하는 단계를 더 포함한다. 복수의 프로그램 실행 파라미터들은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스의 내부 기능에 대한 정보를 포함한다. 예를 들어, 복수의 프로그램 실행 파라미터들은 컨트롤러 디바이스에서 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스의 메모리 프래그먼트화(memory fragmentation), 스캔 사이클 특성, 시스템 자원 활용 및 메모리 활용에 대한 정보와 같은 런타임 정보를 포함한다. 방법은 프로세싱 유닛에 의해, 컨트롤러 디바이스에 의한 엔지니어링 프로그램의 실행 효율을 결정하는 단계를 더 포함한다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 엔지니어링 프로그램의 실행 효율을 방해하는 엔지니어링 프로그램의 하나 이상의 프로그래밍 블록들을 결정하는 단계를 더 포함한다. 방법은 프로세싱 디바이스에 의해, 컨트롤러 디바이스에 의한 엔지니어링 프로그램의 결정된 실행 효율에 기반하여 변환될 하나 이상의 프로그래밍 블록들을 선택하는 단계를 더 포함한다. 방법은 프로세싱 유닛에 의해, 결정된 하나 이상의 프로그래밍 블록에 인공 지능 모델을 적용하는 단계를 더 포함한다. 인공 지능 모델은 컨트롤러 디바이스에 의한 엔지니어링 프로그램 실행 효율성을 최적화하기 위해 결정된 하나 이상의 프로그래밍 블록들을 변환하도록 훈련된다. 방법은 프로세싱 유닛에 의해, 엔지니어링 프로그램에 인공 지능 모델의 적용에 기반하여 복수의 프로그래밍 블록들을 변환하는 단계를 더 포함한다. 방법은 프로세싱 유닛에 의해, 변환된 복수의 프로그래밍 블록들을 디지털화 플랫폼으로 이동시키는 단계를 더 포함한다.
바람직한 실시예에서, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하는 방법은 프로세싱 유닛에 의해, 컨트롤러 디바이스에 의해 전송되거나 수신되는 복수의 입력-출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함하는 제1 입력-출력 지식 그래프를 수신하는 단계를 포함한다. 복수의 입력-출력 파라미터 값들은 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들의 예들은 복수의 인간 기계 인터페이스들 중 복수로부터 컨트롤러 디바이스에 의해 수신된 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들은 센서 데이터, 사용자 커맨드들 및 사용자 입력들을 포함한다. 일 예에서, 복수의 입력 파라미터 값들은 복수의 인간 기계 인터페이스들 상에서 사용자에 의해 수행되는 복수의 사용자 동작들을 포함한다. 복수의 사용자 동작들의 예들은 인간 기계 인터페이스의 입력 디바이스에서 사용자에 의해 입력되는 사용자 커맨드들, 사용자 입력들, 프로그래밍 명령들 및 사용자 선택들을 포함한다. 복수의 출력 파라미터 값들은 컨트롤러 디바이스 및 디지털화 플랫폼에 의해 기술 설비의 복수의 산업 디바이스들로 전송되는 파라미터 값들을 포함한다. 복수의 출력 파라미터 값들은 복수의 사용자 동작들의 수신에 기반하여 컨트롤러 디바이스에 의해 전송되는 제어 신호들을 포함한다. 사용자는 실행된 엔지니어링 프로그램을 이용하여 태스크(task)를 수행하기 위한 복수의 사용자 동작들을 입력할 수 있다. 복수의 사용자 동작들은 작업흐름들로 정리된다. 사용자는 태스크를 수행하기 위한 사용자 동작들의 세트를 포함하는 작업흐름을 실행할 수 있다. 일 예에서, 태스크는 제1 작업흐름 및 제2 작업흐름 중 하나를 사용하여 수행될 수 있다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 적어도 하나의 연결 에러가 복수의 인간 기계 인터페이스들과 컨트롤러 디바이스 또는 디지털화 플랫폼 중 하나 사이의 네트워크 연결에 존재하는지 여부를 결정하는 단계를 더 포함한다. 적어도 하나의 연결 문제는 네트워크 연결과 연관된 복수의 네트워크 연결 파라미터들의 분석에 기반하여 결정된다. 방법은 연결 에러가 존재하는 것으로 결정될 때, 프로세싱 유닛에 의해, 수정된 입력-출력 지식 그래프의 분석에 기반하여 제1 입력 파라미터 값을 시뮬레이션하는 단계를 더 포함한다. 제1 입력 파라미터 값은 엔지니어링 프로그램의 실행 동안 복수의 인간 기계 인터페이스들로부터 수신될 가능성이 있는 파라미터 값이다. 일 예에서, 제1 입력 파라미터 값은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스에 의해 수신될 가능성이 있는 사용자 동작에 대한 정보를 포함한다.
예에서, 방법은 연결 에러가 복수의 인간 기계 인터페이스들과 컨트롤러 디바이스 사이의 네트워크 연결에 존재하지 않는다고 결정될 때, 프로세싱 유닛에 의해, 복수의 센서 디바이스들로부터 제2 입력 파라미터 값을 수신하는 단계를 포함한다. 제2 입력 파라미터 값은 제어 신호, 센서 데이터 신호 및 제1 사용자로부터의 사용자 입력 중 적어도 하나이다. 방법은 프로세싱 유닛에 의해, 제1 및 제2 입력 파라미터 값 중 하나가 제1 입력 출력 파라미터 값에 존재하는지 여부를 결정하는 단계를 더 포함한다. 즉, 방법은 제1 및 제2 입력 파라미터 값 중 하나와 복수의 입력-출력 파라미터 값들 중 임의의 값 사이의 관계가 제1 입력-출력 지식 그래프에 기록되어 있는지 여부를 결정하는 단계를 포함한다. 제1 및 제2 입력 파라미터 값 중 적어도 하나에 대한 정보가 제1 입력-출력 지식 그래프에 존재하는 경우, 프로세싱 유닛은 제1 입력-출력 지식 그래프를 단순히 쿼리하여 적어도 하나의 출력 파라미터를 생성할 수 있다. 제1 또는 제2 입력 파라미터 값 중 하나에 대한 정보가 제1 입력-출력 지식 그래프에 존재하지 않는 경우, 방법은 제1 또는 제2 입력 파라미터에 대한 정보가 데이터베이스(database)에 저장된 제2 입력-출력 지식 그래프에 존재하는지 여부를 결정하는 단계를 더 포함한다.
일 예에서, 제1 또는 제2 입력 파라미터 값에 대한 정보가 제2 입력-출력 지식 그래프에 존재하는 것으로 결정되는 경우, 방법은 프로세싱 유닛에 의해, 제2 입력-출력 지식 그래프 내에서 하나 이상의 지식 그래프 인스턴스들을 결정하는 단계를 더 포함한다. 하나 이상의 지식 그래프 인스턴스들은 제1 또는 제2 입력 파라미터 값에 대한 정보를 포함한다. 하나 이상의 지식 그래프 인스턴스들은 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 컨트롤러 디바이스에 의해 수신될 가능성이 있는 하나 이상의 파라미터 값들에 대한 정보를 더 포함한다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 제1 입력-출력 지식 그래프의 복수의 부분들을 활성 섹션(section) 및 잠재 섹션으로 분류하기 위해 제1 입력-출력 지식 그래프를 분석하는 단계를 더 포함한다. 활성 섹션은 엔지니어링 프로그램 실행의 현재 스캔 사이클에서 프로세싱될 제1 파라미터 값들의 세트에 대한 정보를 포함한다. 잠재 섹션은 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 프로세싱될 제2 파라미터 값의 세트에 대한 정보를 포함한다. 방법은 프로세싱 유닛에 의해, 수신된 하나 이상의 지식 그래프 인스턴스들을 제1 입력-출력 지식 그래프의 활성 섹션 또는 잠재 섹션 중 하나에 매핑(map)하는 단계를 더 포함한다. 방법은 프로세싱 유닛에 의해, 인지 규칙들의 세트에 기반하여 수신된 하나 이상의 지식 그래프들을 제1 입력-출력 지식 그래프에 첨부하는 단계를 더 포함한다. 따라서, 프로세싱 유닛은 인지 규칙들의 세트에 기반하여 제1 입력-출력 지식 그래프를 수정하도록 구성된다. 인지 규칙들의 세트는 하나의 지식 그래프에서 다른 지식 그래프로 학습들을 전송하도록 설계된 규칙들의 세트이다.
다른 예에서, 방법은 프로세싱 유닛에 의해, 엔지니어링 프로그램을 사용하여 태스크를 수행하기 위한 제1 사용자 동작들의 세트를 포함하는 제1 작업흐름을 결정하는 단계를 포함한다. 일 예에서, 태스크는 엔지니어링 시스템을 통해 수행되는 엔지니어링 태스크이다. 다른 예에서, 태스크는 기술 설비에서 복수의 산업 디바이스들을 제어하기 위한 제어 태스크이다. 제1 사용자 동작들의 세트는 태스크를 수행하는 제1 방법을 나타낸다. 제1 작업흐름과 연관된 정보는 제1 입력-출력 지식 그래프에 존재한다. 제1 작업흐름과 연관된 정보는 제1 작업흐름의 제1 사용자 동작들의 세트 사이의 복수의 관계들에 대한 정보를 포함한다. 추가로, 제1 입력-출력 지식 그래프는 제1 사용자 동작들의 세트가 실행되는 시퀀스에 대한 정보를 포함한다. 방법은 프로세싱 유닛에 의해, 엔지니어링 프로그램을 사용하여 동일한 태스크를 수행하기 위한 제2 사용자 동작들의 세트를 포함하는 제2 작업흐름을 수신하는 단계를 더 포함한다. 제2 사용자 동작들의 세트는 제1 사용자 동작들의 세트와 상이하다. 즉, 제2 사용자 동작들의 세트는 엔지니어링 프로그램을 사용하여 동일한 태스크를 수행하는 제2 방법을 나타낸다. 제2 작업흐름과 연관된 정보는 데이터베이스에 저장되는 제2 입력-출력 지식 그래프에 존재한다. 제2 입력-출력 지식 그래프는 제2 작업흐름의 일련의 사용자 동작들에 대한 정보와 또한 제2 작업흐름의 개별 사용자 동작들에 대한 정보를 포함한다.
바람직한 실시예에서, 방법은 제1 입력-출력 지식 그래프를 제2 입력-출력 지식 그래프와 비교하는 단계를 더 포함한다. 일 예에서, 제1 입력-출력 지식 그래프는 2 개의 지식 그래프들 사이의 상관 동작에 기반하여 제2 입력-출력 지식 그래프와 비교된다. 방법은 프로세싱 유닛에 의해, 비교에 기반하여 제1 작업흐름 및 제2 작업흐름의 프로세스 효율을 결정하는 단계를 더 포함한다. 제1 및 제2 작업흐름들 각각의 프로세스 효율은 각자의 작업흐름이 태스크를 완료하는 효율의 지표이다. 일 예에서, 제1 작업흐름 및 제2 작업흐름의 프로세스 효율은 제1 작업흐름 및 제2 작업흐름 각각이 디지털 트윈에서 실행될 때, 태스크 완료에 걸리는 시간을 측정하여 결정된다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 제2 작업흐름의 프로세스 효율이 제1 작업흐름의 프로세스 효율보다 큰지 여부를 결정하는 단계를 더 포함한다. 제2 작업흐름의 프로세싱 효율이 제1 작업흐름의 프로세싱 효율보다 높은 경우, 방법은 프로세싱 유닛에 의해, 제2 작업흐름에 대응하는 제2 입력-출력 지식 그래프에서 하나 이상의 지식 그래프 인스턴스들을 결정하는 단계를 더 포함한다. 방법은 프로세싱 유닛에 의해, 제2 입력-출력 지식 그래프로부터 결정된 하나 이상의 지식 그래프 인스턴스들을 수신하는 단계를 더 포함한다. 방법은 수신된 하나 이상의 지식 그래프 인스턴스들을 제1 입력-출력 지식 그래프 인스턴스들에 첨부함으로써 제1 입력-출력 지식 그래프를 수정하는 단계를 더 포함한다.
바람직한 실시예에서, 방법은 프로세싱 유닛에 의해, 시뮬레이션된 제1 입력 파라미터 값으로부터 적어도 하나의 출력 파라미터 값을 생성하는 단계를 더 포함한다. 방법은 적어도 하나의 디바이스를 제어하기 위해 프로세싱 유닛에 의해, 생성된 적어도 하나의 출력 파라미터 값을 기술 설비 내의 적어도 하나의 디바이스로 전송하는 단계를 더 포함한다.
본 발명의 목적은 또한 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 엔지니어링 시스템에 의해 달성된다. 엔지니어링 시스템은 하나 이상의 프로세서(들) 및 프로세싱 유닛에 결합된 메모리를 포함한다. 메모리는 프로세서에 의해 실행 가능한 기계 판독가능 명령들의 형태로 저장된 데이터 분석 및 수집 모듈을 포함한다. 데이터 분석 및 수집 모듈은 위에서 설명된 방법을 수행하도록 구성된다.
본 발명의 목적은 또한 산업 환경에 의해 달성된다. 산업 환경은 엔지니어링 시스템, 하나 이상의 물리적 구성요소들을 포함하는 기술 설비 및 엔지니어링 시스템과 기술 설비에 통신 가능하게 결합된 복수의 인간 기계 인터페이스들을 포함한다. 엔지니어링 시스템은 위에서 설명된 방법 단계들을 수행하도록 구성된다.
본 발명의 목적은 또한 하나 이상의 프로세서(들)에 의해 실행될 때, 하나 이상의 프로세서(들)로 하여금 위에서 설명된 방법 단계들을 수행하게 하는 기계 판독가능 명령들이 저장된 컴퓨터 프로그램 제품에 의해 달성된다.
본 발명의 위에서 언급된 특징 및 다른 특징은 이제 본 발명의 첨부된 도면들을 참조하여 설명될 것이다. 예시된 실시예들은 예시를 위한 것이고, 본 발명을 제한하지 않는다.
본 발명은 첨부된 도면들에 도시된 예시된 실시예들을 참조하여 이하에서 추가로 설명된다.
도 1은 본 발명의 실시예에 따라, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 전환할 수 있는 산업 환경의 블록도이다.
도 2는 본 발명의 실시예가 구현된 도 1에 도시된 것들과 같은 엔지니어링 시스템의 블록도이다.
도 3은 본 발명의 실시예가 구현될 수 있는 도 2에 도시된 것들과 같은 데이터 수집 및 분석 모델의 블록도이다.
도 4a-도 4e는 본 발명의 실시예에 따라, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하는 예시적인 방법을 예시하는 프로세스 흐름도이다.
도 5a-도 5e는 본 발명의 다른 실시예에 따라, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하는 예시적인 방법을 예시하는 프로세스 흐름도이다.
도 6은 본 발명의 실시예에 따라, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 전환할 수 있는 시스템의 예시적인 구현을 묘사하는 블록도이다.
도 7은 본 발명의 일 실시예에 따라, 잠재 섹션과 활성 섹션을 포함하는 입력-출력 지식 그래프를 예시하는 개략도이다.
도 8은 본 발명의 일 실시예에 따라, 입력-출력 지식 그래프를 수정하는 방법을 예시하는 개략도이다.
도 9는 본 발명의 일 실시예에 따라, 제1 인지 규칙을 사용하여 입력-출력 지식 그래프를 수정하는 방법을 예시하는 개략도이다.
도 10은 본 발명의 실시예에 따라, 본 발명의 실시예에 따른, 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 전환할 수 있는 시스템의 예시적인 구현을 묘사하는 블록도이다.
도 11은 본 발명의 일 실시예에 따라, 입력-출력 지식 그래프를 수정하는 방법을 예시하는 개략도이다.
도 12는 본 발명의 일 실시예에 따라, 제2 인지 규칙을 사용하여 입력-출력 지식 그래프를 수정하는 방법을 예시하는 개략도이다.
도 13은 본 발명의 일 실시예에 따라, 제3 인지 규칙을 사용하여 입력-출력 지식 그래프를 수정하는 방법을 예시하는 개략도이다.
도 14는 본 발명의 일 실시예에 따라, 제4 인지 규칙을 사용하여 입력-출력 지식 그래프를 수정하는 방법을 예시하는 개략도이다.
다양한 실시예들은 도면들을 참조하여 설명되고, 유사한 참조 번호들은 도면들을 참조하기 위해 사용되고, 유사한 참조 번호들은 전체적으로 유사한 요소들을 참조하기 위해 사용된다. 다음의 설명에서, 설명의 목적으로, 다수의 특정 세부사항들은 하나 이상의 실시예들의 완전한 이해를 제공하기 위해 제시된다. 그러한 실시예들은 이들 특정 세부사항들 없이 실시될 수 있다는 것이 명백할 수 있다.
도 1은 본 발명의 실시예에 따라, 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환할 수 있는 산업 환경(100)의 블록도이다. 도 1에서, 산업 환경(100)은 엔지니어링 시스템(102), 기술 설비(106) 및 복수의 인간 기계 인터페이스들(120A-N)을 포함한다. 본원에서 사용되는 바와 같이, "산업 환경"은 구성 가능한 컴퓨팅 물리적 및 논리적 리소스들, 예를 들어 네트워크들, 서버들, 스토리지, 애플리케이션들, 서비스들 등, 및 클라우드 컴퓨팅 플랫폼과 같은 플랫폼에 분산된 데이터를 포함하는 프로세싱 환경을 지칭한다. 산업 환경(100)은 구성 가능한 컴퓨팅 물리적 및 논리적 리소스들의 공유 풀에 대한 주문형 네트워크 액세스(access)를 제공한다. 엔지니어링 시스템(102)은 (LAN(Local Area Network), WAN(Wide Area Network), Wi-Fi, 인터넷, 임의의 단거리 또는 광역 통신과 같은) 네트워크 연결(104)을 통해 기술 설비(106)에 통신 가능하게 연결된다. 엔지니어링 시스템(102)은 또한 네트워크 연결(104)을 통해 복수의 인간 기계 인터페이스들(120A-N)에 연결된다.
엔지니어링 시스템(102)은 네트워크 연결(104)을 통해 기술 설비(106)의 복수의 산업 디바이스들(108A-N)에 연결된다. 복수의 산업 디바이스들(108A-N)은 서버들, 로봇들, 스위치들, 자동화 디바이스들, PLC(programmable logic controller)들, 인간 기계 인터페이스(HMI)들, 모터들, 밸브들, 펌프들, 액추에이터들, 센서들 및 다른 산업 장비(들)를 포함할 수 있다. 복수의 산업 디바이스들(108A-N)은 물리적 연결들을 통해 서로 또는 여러 다른 구성요소들(도 1에 도시되지 않음)에 연결될 수 있다. 물리적 연결들은 복수의 산업 디바이스들(108A-N) 사이의 배선을 통해 이루어질 수 있다. 대안적으로, 복수의 산업 디바이스들(108A-N)은 또한 비물리적 연결(예를 들어, 사물 인터넷(IOT)) 및 5G 네트워크들을 통해 연결될 수 있다. 도 1이 하나의 기술 설비(106)에 연결된 엔지니어링 시스템(102)을 예시하지만, 통상의 기술자는 엔지니어링 시스템(102)이 네트워크 연결(104)을 통해 상이한 지리적 위치들에 위치된 여러 기술 설비들에 연결될 수 있음을 상상할 수 있다.
기술 설비(106)는 복수의 센서 디바이스들(126A-N)을 더 포함한다. 복수의 센서 디바이스들(126A-N)은 압력 센서, 전압 센서, 온도 센서 및 진동 센서와 같은 센서들을 포함한다. 복수의 센서 디바이스들(126A-N)은 기술 설비(106)로부터 하나 이상의 측정들을 수행한다. 하나 이상의 측정들은 온도 측정, 압력 측정 및 진동 측정을 포함한다. 복수의 센서 디바이스들(126A-N)은 네트워크 연결(104)을 통해 컨트롤러 디바이스(124)에 연결된다.
복수의 인간 기계 인터페이스들(120A-N)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿, 스마트폰 등일 수 있다. 복수의 인간 기계 인터페이스들(120A-N) 각각은 엔지니어링 프로그램들을 각각 생성 및/또는 편집하기 위한 엔지니어링 도구(122A-N)가 제공된다. 복수의 인간 기계 인터페이스들(120A-N)은 엔지니어링 프로그램들을 자동으로 생성하기 위해 엔지니어링 시스템(102)에 액세스할 수 있다. 복수의 인간 기계 인터페이스들(120A-N)은 (웹 브라우저를 통해 복수의 산업 디바이스들(108A-N)의 성능 시각화를 제공하는 것과 같은) 클라우드 애플리케이션들에 액세스할 수 있다. 명세서 전체에서, "인간 기계 인터페이스", "클라이언트 디바이스" 및 "사용자 디바이스"라는 용어는 교환 가능하게 사용된다. 복수의 인간 기계 인터페이스들(120A-N)은 복수의 사용자들로부터 복수의 사용자 동작들을 수신하도록 추가로 구성된다. 복수의 사용자 동작들은 사용자 입력들, 사용자 커맨드들, 사용자 제스처들, 프로그래밍 명령들 및 사용자 패스워드들을 포함한다. 복수의 사용자 동작들은 컨트롤러 디바이스(124) 및 복수의 산업용 디바이스들(108A-N)을 사용하여 하나 이상의 태스크들을 수행하기 위해 복수의 사용자들에 의해 입력된다.
엔지니어링 시스템(102)이 컨트롤러 디바이스(124)에 연결되어 있음이 유의된다. 컨트롤러 디바이스(124)의 예들은 프로그래밍 가능한 논리 컨트롤러들, 마이크로프로세서들 및 다른 프로세싱 유닛들 포함한다(그러나, 이에 제한되지 않음). 컨트롤러 디바이스(124)는 복수의 스캔 사이클들에서 엔지니어링 시스템(102)에 의해 생성된 엔지니어링 프로그램을 실행하도록 구성된다. 컨트롤러 디바이스(124)는 복수의 센서 디바이스들(126A-N) 및 복수의 인간 기계 인터페이스들(120A-N)로부터 복수의 입력 파라미터 값들을 수신하도록 구성된다. 컨트롤러 디바이스(124)는 복수의 산업 디바이스들(108A-N) 및 복수의 인간 기계 인터페이스들에 복수의 출력 파라미터 값들을 전송하도록 추가로 구성된다.
엔지니어링 시스템(102)은 제어 스테이션에 배치된 독립형 서버이거나 클라우드 컴퓨팅 플랫폼의 원격 서버일 수 있다. 바람직한 실시예에서, 엔지니어링 시스템(102)은 클라우드 기반 엔지니어링 시스템일 수 있다. 엔지니어링 시스템(102)은 복수의 산업 디바이스들(108A-N)을 포함하는 기술 설비(106)를 관리하기 위한 애플리케이션들(클라우드 애플리케이션들과 같은)을 전달할 수 있다. 엔지니어링 시스템(102)은 (클라우드 컴퓨팅 플랫폼과 같은) 디지털화 플랫폼(110), 데이터 수집 및 분석 모듈(112), 하드웨어 리소스들 및 운영 체제(OS)를 포함하는 서버(114), 네트워크 인터페이스(116) 및 데이터베이스(118)를 포함할 수 있다. 디지털화 플랫폼(110)은 입력-출력 지식 그래프를 더 포함한다. 입력-출력 지식 그래프는 시간 간격 동안 컨트롤러 디바이스(124)에 의해 수신되거나 전송되는 복수의 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 네트워크 인터페이스(116)는 엔지니어링 시스템(102), 기술 설비(106), 클라이언트 디바이스(들)(120A-N), 디지털화 플랫폼(110) 및 컨트롤러 디바이스(124) 사이의 통신을 가능하게 한다. (클라우드 인터페이스와 같은) 인터페이스(도 1에 도시되지 않음)는 복수의 산업용 디바이스들(120A-N)의 엔지니어들이 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)에 액세스하게 하고 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)에서 복수의 사용자 동작들을 실행하게 할 수 있다.
서버(114)는 OS가 설치된 하나 이상의 서버들을 포함할 수 있다. 서버들(114)은 하나 이상의 프로세서들, 예를 들어 데이터 및 기계 판독가능 명령들을 저장하기 위한 메모리 유닛들 같은 하나 이상의 저장 디바이스들, 애플리케이션 및 애플리케이션 프로그래밍 인터페이스(API)들, 및 컴퓨팅(예를 들어 클라우드 컴퓨팅) 기능을 제공하기 위해 요구되는 다른 주변디바이스들을 포함할 수 있다. 일 예에서, 디지털화 플랫폼(110)은 서버(114)에서 구현될 수 있다. 디지털화 플랫폼(110)은 서버들(114)의 하드웨어 리소스들 및 OS를 이용하여 데이터 수신, 데이터 프로세싱, 데이터 렌더링, 데이터 통신 등과 같은 기능들을 가능하게 하고, 내부에 배치된 애플리케이션 프로그래밍 인터페이스들을 사용하여 전술한 서비스들을 전달한다. 디지털화 플랫폼(110)은 하드웨어 및 OS 위에 구축된 전용 하드웨어 및 소프트웨어의 조합을 포함할 수 있다. 예시적인 실시예에서, 디지털화 플랫폼(110)은 복수의 인간 기계 인터페이스들(120A-N)의 사용자들이 엔지니어링 프로그램들을 생성하게 하는 프로그램 편집기들 및 컴파일러들을 포함하는 통합 개발 환경(IDE)에 대응할 수 있다. 디지털화 플랫폼(110)은 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템의 끊김없는 전환을 가능하게 하도록 구성된 데이터 수집 및 분석 모듈(112)을 더 포함할 수 있다. 일 예에서, 데이터 수집 및 분석 모듈(112)은 컨트롤러 디바이스(124)의 디지털 트윈을 포함한다. 데이터 수집 및 분석 모듈(112)의 세부사항들은 도 3에서 설명된다.
데이터베이스(118)는 기술 설비(106) 및 복수의 인간 기계 인터페이스들(120A-N)에 관한 정보를 저장한다. 데이터베이스(118)는 예를 들어 SQL(Structured Query Language) 데이터 저장소 또는 유일하지는 않지만 SQL(NoSQL) 데이터 저장소이다. 예시적인 실시예에서, 데이터베이스(118)는 산업 환경(100)에서 구현되는 클라우드 기반 데이터베이스로서 구성될 수 있고, 여기서 컴퓨팅 리소스들은 플랫폼(110)을 통해 서비스로 전달된다. 본 발명의 다른 실시예에 따른 데이터베이스(118)는 데이터 수집 및 분석 모듈(112)에 의해 직접 액세스 가능한 파일 시스템 상의 위치이다. 데이터베이스(118)는 복수의 산업 디바이스들(108A-N)의 엔지니어링 프로젝트 파일, 엔지니어링 프로그램들, 객체 거동 모델, 복수의 산업 디바이스들(108A-N)과 연관된 파라미터 값들, 테스트 결과들, 시뮬레이션 결과들, 상태 메시지들, 하나 이상의 시뮬레이션 인스턴스들, 그래픽 프로그램들, 프로그램 논리들, 프로그램 논리 패턴들 및 엔지니어링 객체 속성들, 하나 이상의 엔지니어링 객체 블록들, 복수의 산업 디바이스들(108A-N) 간의 관계 정보, 요건들, 프로그램 업데이트 메시지들 등을 저장하도록 구성된다.
도 2는 본 발명의 실시예가 구현된 도 1에 도시된 것들과 같은 엔지니어링 시스템(102)의 블록도이다 도 2에서, 엔지니어링 시스템(102)은 프로세싱 유닛(202), 액세스 가능 메모리(204), 저장 유닛(206), 통신 인터페이스(208), 입력-출력 유닛(210), 네트워크 인터페이스(212) 및 버스(214)를 포함한다.
본원에서 사용되는 프로세싱 유닛(202)은 임의의 유형의 컴퓨팅 회로, 이를테면 마이크로프로세서 유닛, 마이크로컨트롤러, 복합 명령 세트 컴퓨팅 마이크로프로세서 유닛, 감소된 명령 세트 컴퓨팅 마이크로프로세서 유닛, 매우 긴 명령어 마이크로프로세서 유닛, 명시적으로 병렬 명령 컴퓨팅 마이크로프로세서 디바이스, 그래픽 프로세싱 유닛, 디지털 신호 프로세싱 유닛 또는 다른 유형의 프로세싱 회로(그러나, 이에 제한되지 않음)를 의미한다. 프로세싱 유닛(202)은 또한 일반 또는 프로그램 가능한 논리 디바이스들 또는 어레이들, 주문형 집적 회로들, 단일 칩 컴퓨터들 등과 같은 임베디드 컨트롤러들을 포함할 수 있다.
메모리(204)는 비일시적 휘발성 메모리 및 비휘발성 메모리일 수 있다. 메모리(204)는 컴퓨터 판독가능 저장 매체와 같은 프로세싱 유닛(202)과의 통신을 위해 결합될 수 있다. 프로세싱 유닛(202)은 메모리(204)에 저장된 기계 판독가능 명령들 및/또는 소스 코드를 실행할 수 있다. 다양한 기계 판독가능 명령들은 메모리(204)에 저장되고 메모리로부터 액세스될 수 있다. 메모리(204)는 판독 전용 메모리, 랜덤 액세스 메모리, 소거 가능 프로그램 가능 판독 전용 메모리, 전기적으로 소거 가능 프로그램가능 판독 전용 메모리, 하드 드라이브, 컴팩트 디스크들, 디지털 비디오 디스크들, 디스켓들, 자기 테이프 카트리지들, 메모리 카드들을 핸들링하기 위한 착탈식 매체 드라이브 등과 같은 데이터 및 기계 판독가능 명령들을 저장하기 위한 임의의 적합한 요소들을 포함할 수 있다. 본 실시예에서, 메모리(204)는 통합 개발 환경(IDE)(216)을 포함한다. IDE(216)는 임의의 전술한 저장 매체 상에 기계 판독가능 명령들의 형태로 저장된 데이터 수집 및 분석 모듈(112)을 포함하고 프로세서(들)(202)에 의해 실행되고 통신할 수 있다.
프로세싱 유닛(202)에 의해 실행될 때, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환하게 한다. 런타임 시스템은 컨트롤러 디바이스(124)에 저장된 엔지니어링 프로그램을 기계 실행가능 코드로 변환하고, 궁극적으로 컨트롤러 디바이스(124)에서 엔지니어링 프로그램의 실행을 구현한다.
엔지니어링 프로그램은 복수의 프로그래밍 블록들을 포함한다. 일 예에서, 엔지니어링 프로그램은 프로그램 논리를 포함하는 그래픽 프로그램이다. 엔지니어링 프로그램은 프로그램 논리에 대응하는 프로그램가능 명령들 또는 설명문들을 포함한다. 복수의 프로그래밍 블록들의 각각의 프로그래밍 블록은 기술 설비(106)의 엔지니어링 설계 하의 기능 블록에 대응한다. 엔지니어링 설계는 이러한 프로그램가능 블록들을 여러 개 포함할 수 있다. 컨트롤러 디바이스(124)는 복수의 스캔 사이클들에서 엔지니어링 프로그램을 실행하도록 구성된다.
프로세싱 유닛(202)에 의해 실행될 때, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 엔지니어링 프로그램 실행의 복수의 스캔 사이클들 동안 컨트롤러 디바이스(124)에 의해 전송되거나 수신된 복수의 입력-출력 파라미터 값들을 캡처하게 한다. 복수의 입력-출력 파라미터 값들은 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들의 예들은 복수의 센서 디바이스들(126A-N) 및 복수의 인간 기계 인터페이스들(120A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 파라미터 값들을 포함한다.
일 예에서, 복수의 입력-출력 파라미터 값들은 사용자가 컨트롤러 디바이스(124)에 연결된 입력 디바이스에서 수행한 복수의 사용자 동작들에 대한 정보를 더 포함한다. 복수의 입력-출력 파라미터 값들은 복수의 사용자 동작들의 수신에 응답하여 컨트롤러 디바이스(124)에 의해 생성된 복수의 출력 파라미터 값들을 더 포함한다. 복수의 출력 파라미터 값들은 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110)에 의해 기술 설비(106)의 복수의 산업 디바이스들(126A-N)로 전송되는 파라미터 값들을 포함한다.
프로세싱 유닛(202)에 의해 실행될 때, 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 캡처된 복수의 입력-출력 파라미터 값들을 분석하게 한다. 프로세싱 유닛(202)은 분석에 기반하여 복수의 입력-출력 파라미터 값들에서 복수의 패턴들을 식별하도록 구성된다. 추가로, 프로세싱 유닛(202)은 캡처된 복수의 입력-출력 파라미터 값들에서의 파라미터 값들 사이의 복수의 관계들을 식별하도록 추가로 구성된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 캡처된 복수의 입력-출력 파라미터 값들의 분석에 기반하여 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 대응 지식 그래프를 생성하게 한다. 입력 지식 그래프는 캡처된 복수의 입력-출력 파라미터 값들에서의 복수의 입력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 일 예에서, 복수의 관계들은 복수의 입력 파라미터 값들의 각각이 컨트롤러 디바이스(124)에 의해 수신되는 시퀀스를 포함한다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에서 엔지니어링 프로그램 실행의 미래 스캔 사이클 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 파라미터 값들을 예측하기 위해 입력 지식 그래프를 쿼리하도록 구성된다. 미래 스캔 사이클은 복수의 입력-출력 파라미터 값들이 캡처되는 복수의 스캔 사이클들에 후속하여 발생한다. 예를 들어, 프로세싱 유닛(202)은 캡처된 입력 출력 파라미터 값에 기반하여 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 다음 입력 파라미터 값을 결정하기 위해 입력 파라미터 지식 그래프에 쿼리하도록 구성된다.
출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 전송되는 복수의 출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에서 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 파라미터 값들을 예측하기 위해 출력 지식 그래프를 쿼리하도록 구성된다.
입력 출력 대응 지식 그래프는 복수의 입력 파라미터 값들 각각과 복수의 출력 파라미터 값들 각각 사이의 관계들에 대한 정보를 포함한다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에 의해 수신된 주어진 입력 파라미터 값에 대해 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 파라미터 값을 예측하기 위해 입력-출력 대응 지식 그래프를 쿼리하도록 구성된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 대응 지식 그래프에 기반하여 입력-출력 지식 그래프를 생성하게 한다. 일 예에서, 입력-출력 지식 그래프는 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 대응 지식 그래프가 3 차원 지식 그래프에서 개별 차원들로 표현된 3 차원 지식 그래프이다.
즉, 입력-출력 지식 그래프는 복수의 센서 디바이스들(126A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들 사이의 제1 관계들의 세트에 대한 정보를 포함한다. 입력-출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 복수의 산업 디바이스(108A-N)로 전송되는 복수의 출력 파라미터 값들 사이의 제2 관계들의 세트에 대한 정보를 포함한다. 입력-출력 지식 그래프는 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들 사이의 제3 관계들의 세트에 대한 정보를 포함한다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 복수의 센서 디바이스들(126A-N), 복수의 인간 기계 인터페이스들(120A-N) 및 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)과 연관된 복수의 네트워크 연결 파라미터들을 수신하게 한다. 복수의 네트워크 연결 파라미터들은 복수의 센서 디바이스들(126A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)과 연관된 네트워크 강도, 패킷 카운트, 패킷 드롭 데이터와 연관된 정보를 포함한다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 복수의 네트워크 연결 파라미터들을 분석하게 한다. 일 예에서, 프로세싱 유닛(202)은 복수의 미리 정의된 임계치들에 기반하여 복수의 네트워크 연결 파라미터들을 분석하도록 구성된다. 예를 들어, 프로세싱 유닛(202)은 복수의 네트워크 연결 파라미터들 중 적어도 하나가 복수의 사전 정의된 임계치들 중 특정 미리 정의된 임계치보다 큰지 여부를 결정하도록 구성된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)으로 하여금 적어도 하나의 연결 에러가 분석에 기반하여 네트워크 연결(104)에 존재하는지 여부를 결정하게 한다. 일 예에서, 복수의 네트워크 연결 파라미터들은 네트워크 강도를 포함한다. 그러한 경우에, 프로세싱 유닛(202)은 네트워크 강도가 미리 정의된 임계치 아래로 떨어지는지 여부를 결정하도록 구성된다. 네트워크 강도가 미리 정의된 임계치 미만으로 떨어지는 것으로 결정되는 경우에, 적어도 하나의 연결 에러는 복수의 센서 디바이스들(126A-N)/복수의 인간 기계 인터페이스들(120A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 간의 네트워크 연결(104)에 존재하는 것으로 결정된다.
적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는 것으로 결정되는 경우, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 생성된 입력-출력 지식 그래프의 분석에 기반하여 제1 입력 파라미터 값을 시뮬레이션하게 한다. 시뮬레이션된 제1 입력 파라미터 값들은 적어도 하나의 연결 에러가 네트워크 연결에 존재하는 지속기간 동안 컨트롤러 디바이스(112)에 의해 수신될 가능성이 있는 파라미터 값이다.
일 예에서, 제1 입력 파라미터 값은 입력-출력 지식 그래프를 쿼리함으로써 프로세싱 유닛(202)에 의해 시뮬레이션된다. 입력-출력 지식 그래프가 복수의 스캔 사이클들에서 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다는 것이 유의되었다. 따라서, 바람직하게는, 제1 입력 파라미터 값의 시뮬레이션은 복수의 스캔 사이클들에서 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들을 고려한다. 따라서, 시뮬레이션된 제1 입력 파라미터 값은 정확하고 엔지니어링 프로그램의 실행 동안 복수의 센서 디바이스들(126A-N)/복수의 인간 기계 인터페이스들(120A-N)로부터 수신될 가능성이 매우 높다. 추가로, 유리하게는, 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)은 네트워크 연결(104)에서 적어도 하나의 연결 에러가 존재함에도 불구하고 입력 파라미터 값들을 계속 수신한다. 따라서, 유리하게는, 엔지니어링 프로그램의 실행은 중단되지 않는다.
적어도 하나의 연결 에러가 존재하지 않는 것으로 결정되는 경우, 프로세싱 유닛(202)은 복수의 센서 디바이스들(126A-N)로부터 제2 입력 파라미터 값을 수신하도록 구성된다. 제2 입력 파라미터는 네트워크 연결(104)을 통해 수신된다. 제2 입력 파라미터 값의 예들은 복수의 센서 디바이스들(126A-N)로부터 수신된 센서 데이터 및 복수의 인간 기계 인터페이스들(120A-N)로부터 수신된 복수의 사용자 입력들을 포함한다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)으로 하여금 시뮬레이션된 제1 입력 파라미터 값 또는 수신된 제2 입력 파라미터 값 중 하나에 대한 정보가 입력-출력 지식 그래프에 존재하는지 여부를 결정하게 한다. 즉, 프로세싱 유닛(202)은 입력-출력 지식 그래프가 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들과 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 사이의 복수의 관계들에 대한 정보를 포함하는지 여부를 결정하도록 구성된다.
입력-출력 지식 그래프가 제1 입력 파라미터 값 또는 제2 입력 파라미터 값에 대한 정보를 포함하는 경우, 프로세싱 유닛(202)은 적어도 하나의 출력 파라미터 값을 생성하기 위해 입력-출력 지식 그래프를 쿼리하도록 구성된다. 적어도 하나의 출력 파라미터 값은 제1 입력 파라미터 값 또는 제2 입력 파라미터 값이 컨트롤러 디바이스(124)에 의해 프로세싱된 후에 컨트롤러 디바이스(124)에 의해 생성될 가능성이 있는 파라미터 값이다. 유리하게는, 적어도 하나의 출력 파라미터 값은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스에 의해 수신된 복수의 입력-출력 파라미터 값들의 분석에 기반하여 시뮬레이션된다. 추가로, 적어도 하나의 출력 파라미터는 캡처된 복수의 입력-출력 파라미터 값들의 파라미터 값들 사이의 복수의 관계들과 연관된 정보의 분석에 기반하여 시뮬레이션된다. 따라서, 유리하게는, 프로세싱 유닛(202)은 정확히 적어도 하나의 출력 파라미터 값을 시뮬레이션한다. 따라서, 적어도 하나의 출력 파라미터 값의 생성은 컨트롤러 디바이스(124)가 아닌 디지털화 플랫폼(110)에서 수행된다. 결과로서, 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하기 위해 소비되는 프로세싱 전력은 컨트롤러 디바이스(124)가 아닌 디지털화 플랫폼(110)에 의해 쓰여진다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 감소된다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 용량은 증가된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)으로 하여금 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 중 하나가 임계 데이터 항목인지 여부를 결정하게 한다. 일 예에서, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 중 하나는 제1 입력 파라미터 값 및 제2 입력 파라미터 값에 대한 인공지능 모델의 적용에 기반하여 임계 데이터 항목으로 결정된다. 제1 파라미터 값 또는 제2 파라미터 값이 임계 데이터 항목인 것으로 결정되는 경우, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값은 컨트롤러 디바이스(124)에서 프로세싱된다. 일 예에서, 인공 지능 모델은 임계 데이터 항목들로 라벨링된 복수의 파라미터 값들을 포함하는 훈련 데이터 세트에 기반하여 임계 데이터 항목을 검출하도록 훈련된다.
제1 파라미터 값 또는 제2 파라미터 값에 대한 정보가 입력-출력 지식 그래프에 존재하지 않는다고 결정되는 경우, 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)으로 하여금 제1 파라미터 값 또는 제2 파라미터 값을 컨트롤러 디바이스(124)에 전송하게 한다. 컨트롤러 디바이스(124)는 엔지니어링 프로그램의 실행에 기반하여 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하도록 구성된다. 추가로, 컨트롤러 디바이스(124)는 엔지니어링 프로그램의 실행에 의해 제1 파라미터 값 또는 제2 파라미터 값으로부터 적어도 하나의 출력 파라미터 값을 생성하도록 구성된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 컨트롤러 디바이스(124)로부터 생성된 적어도 하나의 출력 파라미터 값을 복수의 산업 디바이스들(108A-N)로 전송하게 한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 전송된 적어도 하나의 출력 파라미터 값에 기반하여 복수의 산업 디바이스들(108A-N)을 제어하게 하고 기술 설비를 효율적으로 실행하게 한다. 따라서, 유리하게도, 컨트롤러 디바이스(124)는 입력-출력 지식 그래프에 존재하지 않는 이들 파라미터 값들만을 프로세싱해야 한다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 상당히 감소되고 복수의 입력 파라미터 값들의 프로세싱의 대부분은 디지털화 플랫폼(110)에서 발생한다. 따라서, 유리하게도, 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하기 위해 소비되는 프로세싱 전력은 컨트롤러 디바이스(124)가 아닌 디지털화 플랫폼(110)에 의해 쓰여진다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 감소된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 생성된 적어도 하나의 출력 파라미터 값을 분석하게 한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 적어도 하나의 출력 파라미터 값, 제1 입력 파라미터 값 및 제2 입력 파라미터 값의 분석에 기반하여 입력-출력 지식 그래프를 수정하게 한다. 입력-출력 지식 그래프는 제1 입력 파라미터 값, 제2 파라미터 값 및 적어도 하나의 출력 파라미터 값 사이의 관계가 입력-출력 지식 그래프에 기록되도록 수정된다.
따라서, 유리하게, 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110)이 미래에 제1 입력 파라미터 값 또는 제2 파라미터 값과 동일한 파라미터 값을 수신하는 경우, 적어도 하나의 출력 파라미터 값은 입력-출력 지식 그래프를 쿼리하여 디지털화 플랫폼(110)에 의해 용이하게 생성된다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 더 감소된다. 결국, 입력-출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 모든 가능한 파라미터 값들과 연관된 정보를 축적한다. 그러한 경우에, 디지털화 플랫폼(110)은 컨트롤러 디바이스(124)에 의해 수신된 입력 파라미터 값들의 모든 가능한 조합들에 대해 복수의 출력 파라미터 값들을 생성할 수 있게 될 것이다. 따라서, 유리하게는, 기술 설비(106)의 런타임 시스템은 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 끊김없이 전환된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 컨트롤러 디바이스(124)에 의해 실행되는 엔지니어링 프로그램의 복수의 프로그래밍 블록들을 분석하게 한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 컨트롤러 디바이스(124)의 복수의 프로그램 실행 파라미터들을 결정하게 한다. 복수의 프로그램 실행 파라미터들은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스(124)의 내부 기능에 대한 정보를 포함한다. 예를 들어, 복수의 프로그램 실행 파라미터들은 컨트롤러 디바이스(124)에서 엔지니어링 프로그램을 실행하는 동안 컨트롤러 디바이스(124)의 메모리 프래그먼트화, 스캔 사이클 특성, 시스템 리소스 활용 및 메모리 활용에 대한 정보와 같은 런타임 정보를 포함한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 컨트롤러 디바이스(124)에 의한 엔지니어링 프로그램 실행의 효율을 결정하게 한다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 엔지니어링 프로그램의 하나 이상의 프로그래밍 블록들이 엔지니어링 프로그램의 실행 효율성을 방해하고 있다고 결정하게 한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 하나 이상의 프로그래밍 블록들 때문에 엔지니어링 프로그램의 실행 효율이 방해된다는 결정에 기반하여 변환될 하나 이상의 프로그래밍 블록들을 선택하게 한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 선택된 하나 이상의 프로그래밍 블록들에 인공 지능 모델을 적용하게 한다. 인공 지능 모델은 결정된 하나 이상의 프로그래밍 블록들을 변환하여 컨트롤러 디바이스(124)에 의한 엔지니어링 프로그램의 실행 효율성을 최적화하도록 훈련된다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 엔지니어링 프로그램에 대한 인공 지능 모델의 적용에 기반하여 복수의 프로그래밍 블록들을 변환하게 한다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 변환된 복수의 프로그래밍 블록들을 디지털화 플랫폼(110)으로 마이그레이션하게 한다.
다른 실시예에서, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 컨트롤러 디바이스(124)에 의해 전송되거나 수신되는 복수의 입력-출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함하는 제1 입력-출력 지식 그래프를 수신하게 한다. 복수의 입력-출력 파라미터 값들은 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들의 예들은 복수의 센서 디바이스들(126A-N) 및 복수의 인간 기계 인터페이스들(120A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들은 센서 데이터, 프로그래밍 명령들, 사용자 커맨드들, 및 사용자 입력들을 포함한다. 일 예에서, 복수의 입력 파라미터 값들은 복수의 인간 기계 인터페이스들(120A-N) 상에서 사용자에 의해 수행되는 복수의 사용자 동작들을 포함한다. 복수의 사용자 동작들의 예들은 복수의 인간 기계 인터페이스들(120A-N)의 입력 디바이스에서 사용자에 의해 입력되는 사용자 커맨드들, 사용자 입력들 및 사용자 선택들을 포함한다. 복수의 출력 파라미터 값들은 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)에 의해 기술적 설비(106)의 복수의 산업 디바이스들(108A-N)로 전송되는 파라미터 값들을 포함한다. 복수의 출력 파라미터 값들은 복수의 사용자 동작들의 수신에 기반하여 컨트롤러 디바이스(124)에 의해 전송되는 제어 신호들을 포함한다. 사용자는 실행된 엔지니어링 프로그램을 이용하여 태스크를 수행하기 위한 복수의 사용자 동작들을 입력할 수 있다. 복수의 사용자 동작들은 작업흐름들로 정리된다. 사용자는 태스크를 수행하기 위한 사용자 동작들의 세트를 포함하는 작업흐름을 실행할 수 있다. 일 예에서, 동일한 태스크는 제1 작업흐름 및 제2 작업흐름 중 하나를 사용하여 수행될 수 있다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 엔지니어링 프로그램을 사용하여 태스크를 수행하기 위해 제1 사용자 동작들의 세트를 포함하는 제1 작업흐름을 결정하게 한다. 일 예에서, 태스크는 엔지니어링 시스템(102)을 통해 수행되는 엔지니어링 태스크이다. 다른 예에서, 태스크는 기술 설비(106)에서 복수의 산업 디바이스들(108A-N)을 제어하기 위한 제어 태스크이다. 제1 작업흐름과 연관된 정보는 제1 입력-출력 지식 그래프에 존재한다. 제1 작업흐름과 연관된 정보는 제1 작업흐름의 제1 사용자 동작들의 세트 사이의 복수의 관계들에 대한 정보를 포함한다. 추가로, 제1 입력-출력 지식 그래프는 제1 사용자 동작들의 세트가 사용자에 의해 실행되는 시퀀스에 대한 정보를 포함한다.
데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 엔지니어링 프로그램을 사용하여 태스크를 수행하기 위해 제2 사용자 동작들의 세트를 포함하는 제2 작업흐름을 수신하게 한다. 제2 사용자 동작들의 세트는 제1 사용자 동작들의 세트와 상이하다. 제2 작업흐름과 연관된 정보는 데이터베이스에 저장되는 제2 입력-출력 지식 그래프에 존재한다. 제2 입력-출력 지식 그래프는 제2 작업흐름의 일련의 사용자 동작들에 대한 정보와 또한 제2 작업흐름의 개별 사용자 동작들에 대한 정보를 포함한다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제1 입력-출력 지식 그래프를 제2 입력-출력 지식 그래프와 비교하게 한다. 일 예에서, 제1 입력-출력 지식 그래프는 2 개의 지식 그래프들 사이의 상관 동작에 기반하여 제2 입력-출력 지식 그래프와 비교된다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 상관 연산에 기반하여 제1 작업흐름 및 제2 작업흐름의 프로세스 효율을 결정하게 한다. 일 예에서, 제1 작업흐름 및 제2 작업흐름의 프로세스 효율은 컨트롤러 디바이스(124)의 디지털 트윈에서 제1 및 제2 작업흐름을 실행하고 제1 및 제2 작업흐름들 각각을 이용하여 태스크를 수행하는 데 걸리는 시간을 계산함으로써 결정된다. 제1 및 제2 작업흐름들 각각의 프로세스 효율은 각자의 작업흐름이 태스크를 완료하는 효율의 지표이다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제2 작업흐름의 프로세스 효율이 제1 작업흐름의 프로세스 효율보다 큰지 여부를 결정하게 한다. 제2 작업흐름의 프로세스 효율이 제1 작업흐름의 프로세스 효율보다 더 큰 경우, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제2 작업흐름에 대응하는 제2 입력-출력 지식 그래프에서 하나 이상의 지식 그래프 인스턴스들을 결정하게 한다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제2 입력-출력 지식 그래프로부터 결정된 하나 이상의 지식 그래프 인스턴스들을 수신하게 한다. 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)으로 하여금 적어도 하나의 연결 에러가 복수의 센서 디바이스들(126A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)에 존재하는지 여부를 결정하게 한다. 적어도 하나의 연결 문제는 네트워크 연결(104)과 연관된 복수의 네트워크 연결 파라미터들의 분석에 기반하여 결정된다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)으로 하여금, 적어도 하나의 연결 에러가 존재하는 것으로 결정될 때, 수정된 입력-출력 지식 그래프의 분석에 기반하여 제1 입력 파라미터 값을 시뮬레이션하게 한다. 제1 입력 파라미터 값은 엔지니어링 프로그램 실행 동안 복수의 센서 디바이스들(126A-N)로부터 수신될 가능성이 있는 파라미터 값이다. 일 예에서, 제1 입력 파라미터 값은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 사용자 동작에 대한 정보를 포함한다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)으로 하여금, 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하지 않는다고 결정될 때, 복수의 센서 디바이스들(126A-N)로부터 제2 입력 파라미터 값을 수신하게 한다. 제2 입력 파라미터 값은 제어 신호, 센서 데이터 신호 및 제1 사용자로부터의 사용자 입력 중 적어도 하나이다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)으로 하여금 제1 또는 제2 입력 파라미터 값 중 하나가 제1 입력 출력 파라미터 값에 존재하는지 여부를 결정하게 한다. 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)으로 하여금 제1 및 제2 입력 파라미터 값 중 하나와 복수의 입력-출력 파라미터 값 중 임의의 값 사이의 관계가 제1 입력-출력 지식 그래프에 기록되는지 여부를 결정하게 한다. 제1 및 제2 입력 파라미터 값 중 적어도 하나에 대한 정보가 제1 입력-출력 지식 그래프에 존재하는 경우, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제1 입력-출력 지식 그래프를 단순히 쿼리함으로써 적어도 하나의 출력 파라미터를 생성하게 한다. 제1 또는 제2 입력 파라미터 값 중 하나에 대한 정보가 제1 입력-출력 지식 그래프에 존재하지 않는 경우, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)으로 하여금 제1 또는 제2 입력 파라미터 값에 대한 정보가 데이터베이스(114)에 저장된 제2 입력-출력 지식 그래프에 존재하는지 여부를 결정하게 한다.
제1 또는 제2 입력 파라미터 값에 대한 정보가 제2 입력-출력 지식 그래프에 존재하는 것으로 결정되는 경우, 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제2 입력-출력 지식 그래프 내의 하나 이상의 지식 그래프 인스턴스들을 선택하게 한다. 하나 이상의 지식 그래프 인스턴스들은 제1 또는 제2 입력 파라미터 값에 대한 정보를 포함한다. 하나 이상의 지식 그래프 인스턴스들은 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 하나 이상의 파라미터 값들에 대한 정보를 더 포함한다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 제1 입력-출력 지식 그래프의 복수의 부분들을 활성 섹션 및 잠재 섹션으로 분류하기 위해 제1 입력-출력 지식 그래프를 분석하게 한다. 활성 섹션은 엔지니어링 프로그램 실행의 현재 스캔 사이클에서 프로세싱될 제1 파라미터 값들의 세트에 대한 정보를 포함한다. 잠재 섹션은 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 프로세싱될 제2 파라미터 값의 세트에 대한 정보를 포함한다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 수신된 하나 이상의 지식 그래프 인스턴스들을 제1 입력-출력 지식 그래프의 활성 섹션 또는 잠재 섹션 중 하나로 매핑하게 한다. 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 인지 규칙들의 세트에 기반하여 수신된 하나 이상의 지식 그래프들을 제1 입력-출력 지식 그래프로 수정하게 한다.
데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 시뮬레이션된 제1 입력 파라미터 값으로부터 적어도 하나의 출력 파라미터 값을 생성하게 한다. 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 생성된 적어도 하나의 출력 파라미터 값을 기술 설비 내의 적어도 하나의 디바이스에 전송하여, 적어도 하나의 디바이스를 제어하게 한다.
통신 인터페이스(208)는 복수의 인간 기계 인터페이스들(120A-N), 엔지니어링 시스템(102) 및 컨트롤러 디바이스(124) 사이의 통신 세션들을 확립하도록 구성된다. 통신 인터페이스(208)는 복수의 인간 기계 인터페이스들(120A-N)에서 실행되는 하나 이상의 엔지니어링 애플리케이션이 엔지니어링 프로그램들을 컨트롤러 디바이스(124)로 가져오기/내보내기를 허용한다. 실시예에서, 통신 인터페이스(208)는 엔지니어들이 엔지니어링 프로젝트 파일과 연관된 엔지니어링 프로그램들에 액세스하고 엔지니어링 시스템(102)에 저장된 엔지니어링 프로그램들에 대한 하나 이상의 동작들을 수행하게 하도록 복수의 인간 기계 인터페이스들(120A-N)에서의 인터페이스와 상호 작용한다.
입력-출력 유닛(210)은 엔지니어링 프로젝트 파일을 프로세싱하기 위한 사용자 커맨드들과 같은 하나 이상의 입력 신호들을 수신할 수 있는 키패드, 터치 감지 디스플레이, 카메라(예를 들어, 제스처 기반 입력들을 수신하는 카메라) 등의 입력 디바이스를 포함할 수 있다. 또한, 입력-출력 유닛(210)은 수정된 엔지니어링 프로그램들과 연관된 거동 모델을 시각화하고 또한 그래픽 사용자 인터페이스 상에서 수행되는 각각의 동작들의 세트와 연관된 상태 정보를 디스플레이하는 그래픽 사용자 인터페이스를 디스플레이하기 위한 디스플레이 유닛일 수 있다. 동작들의 세트는 미리 정의된 테스트들의 실행, 그래픽 프로그램들의 다운로드, 컴파일 및 배포를 포함할 수 있다. 버스(214)는 프로세서(202), 메모리(204) 및 입력-출력 유닛(210) 사이의 상호연결 역할을 한다.
네트워크 인터페이스(212)는 엔지니어링 시스템(102), 복수의 인간 기계 인터페이스들(120A-N) 및 기술 설비(106) 사이의 네트워크 연결성, 대역폭 및 네트워크 트래픽을 핸들링하도록 구성될 수 있다.
통상의 기술자들은 도 2에 묘사된 하드웨어가 특정 구현들에 대해 변할 수 있음을 인식할 것이다. 예를 들어, 광 디스크 드라이브 등과 같은 다른 주변 디바이스들, LAN(Local Area Network), WAN(Wide Area Network), 무선(예를 들어, Wi-Fi) 어댑터, 그래픽 어댑터, 디스크 컨트롤러, 입력-출력( I/O) 어댑터는 또한 묘사된 하드웨어에 추가로 또는 대신에 사용될 수 있다. 묘사된 예는 설명의 목적으로만 제공되고 본 개시내용과 관련하여 구조적 제한들을 암시하는 것을 의미하지 않는다.
통상의 기술자들은 단순함과 명료함을 위해, 본 개시내용과 함께 사용하기에 적합한 모든 데이터 프로세싱 시스템들의 전체 구조 및 동작이 본원에서 묘사되거나 설명되지 않는다는 것을 인식할 것이다. 대신에, 본 개시내용에 고유하거나 본 개시내용의 이해에 필요한 만큼의 엔지니어링 시스템(102)만이 묘사되고 설명된다. 엔지니어링 시스템(102)의 구성 및 동작의 나머지는 기술 분야에 알려진 다양한 현재 구현 및 실무들 중 임의의 것을 따를 수 있다.
도 3은 본 발명의 실시예가 구현될 수 있는 도 2에 도시된 것들과 같은 데이터 분석 및 수집(112)의 블록도이다. 도 3에서, 데이터 분석 및 수집(112)은 요청 핸들러 모듈(302), 디지털 트윈 생성 모듈(304), 분석 모듈(306), 수정자 모듈(308), 엔지니어링 객체 데이터베이스(310), 검증 모듈(312) 및 배치 모듈(314)을 포함한다. 도 3은 도 1 및 도 2와 함께 설명된다.
요청 핸들러 모듈(302)은 기술 설비(106)에서 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템의 전환을 개시하라는 요청을 수신하도록 구성된다. 예를 들어, 요청은 네트워크를 통해 산업 환경(100) 외부의 하나 이상의 사용자들 중 하나로부터 수신된다. 대안적인 실시예에서, 요청은 네트워크를 통해 하나 또는 복수의 인간 기계 인터페이스들(120A-N)로부터 수신된다. 요청 핸들러 모듈(302)은 컨트롤러 디바이스(124)에 의해 수신되거나 전송된 복수의 입력-출력 파라미터 값들을 캡처하도록 추가로 구성된다.
디지털 트윈 생성 모듈(304)은 컨트롤러 디바이스(124)로부터 캡처된 복수의 입력-출력 파라미터 값들을 분석하도록 구성된다. 디지털 트윈 생성 모듈(304)은 입력 지식 그래프, 출력 지식 그래프 및 입력 출력 대응 지식 그래프를 생성하도록 구성된다. 디지털 트윈 생성 모듈(304)은 입력-출력 지식 그래프를 생성하도록 더 구성된다.
분석 모듈(306)은 네트워크 연결(104)에서 적어도 연결 에러의 존재를 예측하기 위해 복수의 네트워크 연결 파라미터들을 분석하도록 구성된다. 분석 모듈(306)은 시뮬레이션된 제1 입력 파라미터 값 또는 수신된 제2 파라미터 값이 입력-출력 지식 그래프에 존재하는지 여부를 검출하도록 추가로 구성된다.
수정자 모듈(308)은 인지 규칙 세트들의 세트에 기반하여 입력-출력 지식 그래프에 하나 이상의 지식 그래프 인스턴스들을 첨부함으로써 입력-출력 지식 그래프를 수정하도록 구성된다. 수정자 모듈(308)은 엔지니어링 프로그램의 복수의 프로그래밍 블록들에 대한 인공 지능 모델의 적용에 기반하여 엔지니어링 프로그램의 복수의 프로그래밍 블록들을 변환하도록 추가로 구성된다.
엔지니어링 객체 데이터베이스(310)는 생성된 객체 거동 모델들, 복수의 산업 디바이스들(108A-N)에 대한 정보, 복수의 산업 디바이스들(108A-N) 사이의 물리적 연결들, 및 복수의 산업 디바이스들(108A-N) 및 물리적 연결들과 연관된 복수의 임계 파라미터 값들을 포함하는 엔지니어링 객체 라이브러리를 생성하도록 구성된다. 엔지니어링 객체 데이터베이스(310)는 엔지니어링 프로그램들의 업데이트된 버전들로 엔지니어링 객체 라이브러리를 지속적으로 업데이트하도록 구성된다.
검증 모듈(312)은 컨트롤러 디바이스에 의해 실행되는 엔지니어링 프로그램을 검증하도록 구성된다. 검증 모듈(312)은 컨트롤러 디바이스(124)의 디지털 트윈에서 엔지니어링 프로그램을 실행함으로써 시뮬레이션 환경에서 기술 설비(106)의 컨트롤러 디바이스(124)에 의한 엔지니어링 프로그램의 실행을 시뮬레이션하도록 구성된다.
배치 모듈(314)은 컨트롤러 디바이스(124)에서 디지털화 플랫폼(110)으로 엔지니어링 프로그램의 실행을 실시간으로 전환하도록 구성된다.
도 4a-도 4e는 본 발명의 실시예에 따라, 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환하는 예시적인 방법(400)을 예시하는 프로세스 흐름도이다. 도 4a-도 4e는 도 1 내지 도 3과 함께 설명된다.
단계(402)에서, 엔지니어링 프로그램의 실행의 복수의 스캔 사이클 동안 컨트롤러 디바이스(124)에 의해 전송되거나 수신된 복수의 입력-출력 파라미터 값들은 프로세싱 유닛(202)에 의해 캡처된다. 복수의 입력 파라미터 값들의 예들은 복수의 센서 디바이스들(126A-N) 및 복수의 인간 기계 인터페이스들(120A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 파라미터 값들을 포함한다.
단계(404)에서, 캡처된 복수의 입력-출력 파라미터 값들은 프로세싱 유닛(202)에 의해 분석된다. 프로세싱 유닛(202)은 분석에 기반하여 복수의 입력-출력 파라미터 값들에서 복수의 패턴들을 식별하도록 구성된다. 추가로, 프로세싱 유닛(202)은 캡처된 복수의 입력-출력 파라미터 값들에서의 파라미터 값들 사이의 복수의 관계들을 식별하도록 추가로 구성된다.
단계(406)에서, 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 대응 지식 그래프는 캡처된 복수의 입력-출력 파라미터 값들의 분석에 기반하여 프로세싱 유닛(202)에 의해 생성된다. 입력 지식 그래프는 캡처된 복수의 입력-출력 파라미터 값들에서 복수의 입력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 일 예에서, 복수의 관계들은 복수의 입력 파라미터 값들의 각각이 컨트롤러 디바이스(124)에 의해 수신되는 시퀀스를 포함한다.
단계(408)에서, 입력 지식 그래프는 컨트롤러 디바이스(124)에서 엔지니어링 프로그램 실행의 미래 스캔 사이클 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 파라미터 값들을 예측하기 위해 프로세싱 유닛(202)에 의해 쿼리된다. 미래 스캔 사이클은 복수의 입력-출력 파라미터 값들이 프로세싱 유닛(202)에 의해 캡처되는 복수의 스캔 사이클들에 후속하여 발생한다. 예를 들어, 프로세싱 유닛(202)은 캡처된 복수의 입력 출력 파라미터 값들에 기반하여 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 다음 입력 파라미터 값을 결정하기 위해 입력 파라미터 지식 그래프에 쿼리하도록 구성된다.
출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 전송되는 복수의 출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에서 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 파라미터 값들을 예측하기 위해 출력 지식 그래프를 쿼리하도록 구성된다.
입력 출력 대응 지식 그래프는 복수의 입력 파라미터 값들 각각과 복수의 출력 파라미터 값들 각각 사이의 관계들에 대한 정보를 포함한다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에 의해 수신된 주어진 입력 파라미터 값에 대해 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 파라미터 값을 예측하기 위해 입력 출력 대응 지식 그래프를 쿼리하도록 구성된다.
단계(410)에서, 입력-출력 지식 그래프는 입력 지식 그래프, 출력 지식 그래프, 및 입력-출력 지식 그래프에 기반하여 프로세싱 유닛(202)에 의해 생성된다. 일 예에서, 입력-출력 지식 그래프는 입력 지식 그래프, 출력 지식 그래프 및 입력-출력 지식 그래프가 3 차원 지식 그래프에서 개별 차원들로 표현된 3 차원 지식 그래프이다. 즉, 입력-출력 지식 그래프는 복수의 센서 디바이스들(126A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들 사이의 제1 관계들의 세트에 대한 정보를 포함한다. 입력-출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 복수의 산업 디바이스(108A-N)로 전송되는 복수의 출력 파라미터 값들 사이의 제2 관계들의 세트에 대한 정보를 포함한다. 입력-출력 지식 그래프는 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들 사이의 제3 관계들의 세트에 대한 정보를 포함한다.
단계(412)에서, 복수의 센서 디바이스들(126A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)과 연관된 복수의 네트워크 연결 파라미터들은 프로세싱 유닛(202)에 의해 수신된다. 복수의 네트워크 연결 파라미터들은 복수의 센서 디바이스들(126A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)과 연관된 네트워크 강도, 패킷 카운트, 패킷 드롭 데이터와 연관된 정보를 포함한다.
단계(414)에서, 복수의 네트워크 연결 파라미터들은 프로세싱 유닛(202)에 의해 분석된다. 일 예에서, 프로세싱 유닛(202)은 복수의 미리 정의된 임계치들에 기반하여 복수의 네트워크 연결 파라미터들을 분석하도록 구성된다. 예를 들어, 프로세싱 유닛(202)은 복수의 네트워크 연결 파라미터들 중 적어도 하나가 복수의 사전 정의된 임계치들 중 특정 미리 정의된 임계치보다 큰지 여부를 결정하도록 구성된다.
단계(416)에서, 프로세싱 유닛(202)에 의해, 적어도 하나의 연결 에러가 분석에 기반하여 네트워크 연결(104)에 존재하는지 여부가 결정된다. 예를 들어, 복수의 네트워크 연결 파라미터들이 네트워크 강도를 포함하는 경우, 프로세싱 유닛(202)은 네트워크 강도가 미리 정의된 임계치 아래로 떨어지는지 여부를 결정하도록 구성된다. 네트워크 강도가 미리 정의된 임계치 미만으로 떨어지는 것으로 결정되는 경우에, 적어도 하나의 연결 에러는 복수의 센서 디바이스들(126A-N)/복수의 인간 기계 인터페이스들(120A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 간의 네트워크 연결(104)에 존재하는 것으로 결정된다.
단계(418)에서, 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는 것으로 결정되는 경우, 제1 입력 파라미터 값은 생성된 입력-출력 지식 그래프의 분석에 기반하여 프로세싱 유닛(202)에 의해 시뮬레이션된다. 시뮬레이션된 제1 입력 파라미터 값들은 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는 지속기간 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 파라미터 값이다.
일 예에서, 제1 입력 파라미터 값은 입력-출력 지식 그래프를 쿼리함으로써 프로세싱 유닛(202)에 의해 시뮬레이션된다. 입력-출력 지식 그래프가 복수의 스캔 사이클들에서 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함한다는 것이 유의되었다. 따라서, 바람직하게는, 제1 입력 파라미터 값의 시뮬레이션은 복수의 스캔 사이클들에서 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들을 고려한다. 따라서, 시뮬레이션된 제1 입력 파라미터 값은 정확하고 엔지니어링 프로그램의 실행 동안 복수의 센서 디바이스들(126A-N)/복수의 인간 기계 인터페이스들(120A-N)로부터 수신될 가능성이 매우 높다. 추가로, 유리하게는, 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)은 네트워크 연결(104)에서 적어도 하나의 연결 에러가 존재함에도 불구하고 입력 파라미터 값들을 계속 수신한다. 따라서, 유리하게는, 엔지니어링 프로그램의 실행은 중단되지 않는다.
단계(420)에서, 적어도 하나의 연결 에러가 존재하지 않는 것으로 결정되는 경우, 제2 입력 파라미터 값은 프로세싱 유닛(202)에 의해 복수의 센서 디바이스들(126A-N)로부터 수신된다. 제2 입력 파라미터 값은 네트워크 연결(104)을 통해 수신된다. 제2 입력 파라미터 값의 예들은 복수의 센서 디바이스들(126A-N)로부터 수신된 센서 데이터 및 복수의 인간 기계 인터페이스들(120A-N)로부터 수신된 복수의 사용자 입력들을 포함한다.
단계(422)에서, 프로세싱 유닛(202)에 의해, 시뮬레이션된 제1 입력 파라미터 값 또는 수신된 제2 입력 파라미터 값 중 하나에 관한 정보가 입력-출력 지식 그래프에 존재하는지 여부가 결정된다. 즉, 프로세싱 유닛(202)은 입력-출력 지식 그래프가 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력 파라미터 값들과 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 사이의 복수의 관계들에 대한 정보를 포함하는지 여부를 결정하도록 구성된다.
단계(424)에서, 입력-출력 지식 그래프가 제1 입력 파라미터 값 또는 제2 입력 파라미터 값에 대한 정보를 포함하는 것으로 결정되는 경우, 프로세싱 유닛(202)은 적어도 하나의 출력 파라미터 값을 생성하기 위해 입력-출력 지식 그래프를 쿼리하도록 구성된다. 적어도 하나의 출력 파라미터 값은, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값이 컨트롤러 디바이스(124)에 의해 프로세싱된 후에 컨트롤러 디바이스(124)에 의해 생성될 가능성이 있는 파라미터 값이다. 유리하게는, 적어도 하나의 출력 파라미터 값은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스(124)에 의해 수신된 복수의 입력-출력 파라미터 값들의 분석에 기반하여 시뮬레이션된다. 추가로, 적어도 하나의 출력 파라미터는 캡처된 복수의 입력-출력 파라미터 값들의 파라미터 값들 사이의 복수의 관계들과 연관된 정보의 분석에 기반하여 시뮬레이션된다. 따라서, 유리하게는, 프로세싱 유닛(202)은 정확히 적어도 하나의 출력 파라미터 값을 시뮬레이션하는 것이 가능해진다. 따라서, 적어도 하나의 출력 파라미터 값의 생성은 컨트롤러 디바이스(124)가 아닌 디지털화 플랫폼(110)에서 수행된다. 따라서, 유리하게도, 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하기 위해 소비되는 프로세싱 전력은 컨트롤러 디바이스(124)가 아닌 디지털화 플랫폼(110)에 의해 쓰여진다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 감소된다. 그 결과, 컨트롤러 디바이스(124)의 프로세싱 용량이 증가된다.
단계(426)에서, 프로세싱 유닛(202)에 의해, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 중 하나가 임계 데이터 항목인지 여부가 결정된다. 일 예에서, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값 중 하나는 제1 입력 파라미터 값 및 제2 입력 파라미터 값에 대한 인공지능 모델의 적용에 기반하여 임계 데이터 항목으로 결정된다. 제1 파라미터 값 또는 제2 파라미터 값이 임계 데이터 항목인 것으로 결정되는 경우, 제1 입력 파라미터 값 또는 제2 입력 파라미터 값은 컨트롤러 디바이스(124)에서 프로세싱된다. 일 예에서, 인공 지능 모델은 복수의 임계 데이터 항목들을 포함하는 훈련 데이터 세트에 기반하여 임계 데이터 항목을 검출하도록 훈련된다.
단계(428)에서, 프로세싱 유닛(202)에 의해, 제1 파라미터 값 또는 제2 파라미터 값에 대한 정보가 입력-출력 지식 그래프에 존재하지 않음이 결정된다. 이러한 경우에, 제1 파라미터 값 또는 제2 파라미터 값은 프로세싱 유닛(202)에 의해 컨트롤러 디바이스(124)로 전송된다. 컨트롤러 디바이스(124)는 엔지니어링 프로그램의 실행에 기반하여 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하도록 구성된다. 추가로, 컨트롤러 디바이스(124)는 엔지니어링 프로그램의 실행에 의해 제1 파라미터 값 또는 제2 파라미터 값으로부터 적어도 하나의 출력 파라미터 값을 생성하도록 구성된다.
단계(430)에서, 생성된 적어도 하나의 출력 파라미터는 프로세싱 유닛(202)에 의해 컨트롤러 디바이스(124)로부터 복수의 산업 디바이스들(108A-N)로 전송된다.
단계(432)에서, 복수의 산업 디바이스들(108A-N)은 전송된 적어도 하나의 출력 파라미터에 기반하여 프로세싱 유닛(202)에 의해 제어된다. 따라서, 기술 설비(106)는 효율적으로 실행된다. 따라서, 유리하게도, 컨트롤러 디바이스(124)는 입력-출력 지식 그래프에 존재하지 않는 이들 파라미터 값들만을 프로세싱해야 한다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 크게 줄어들고 대부분의 파라미터 값 프로세싱은 디지털화 플랫폼(110)에서 발생한다. 따라서, 유리하게도, 제1 파라미터 값 또는 제2 파라미터 값을 프로세싱하기 위해 소비되는 프로세싱 전력은 컨트롤러 디바이스(124)가 아닌 디지털화 플랫폼(110)에 의해 쓰여진다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 감소된다.
단계(434)에서, 생성된 적어도 하나의 출력 파라미터 값은 프로세싱 유닛(202)에 의해 분석된다. 단계(436)에서, 입력-출력 지식 그래프는 적어도 하나의 출력 파라미터 값, 제1 입력 파라미터 값 및 제2 입력 파라미터 값의 분석에 기반하여 프로세싱 유닛(202)에 의해 수정된다. 입력-출력 지식 그래프는 제1 입력 파라미터 값, 제2 파라미터 값 및 적어도 하나의 출력 파라미터 값 사이의 관계가 입력-출력 지식 그래프에 기록되도록 수정된다.
따라서, 유리하게, 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110)이 미래에 제1 입력 파라미터 값 또는 제2 파라미터 값과 동일한 파라미터 값을 수신하는 경우, 출력 파라미터 값은 입력-출력 지식 그래프를 쿼리하여 용이하게 생성된다. 따라서, 컨트롤러 디바이스(124)의 프로세싱 부하는 더 감소된다. 결국, 입력-출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 모든 가능한 파라미터 값들과 연관된 정보를 축적한다. 그러한 경우에, 디지털화 플랫폼(110)은 컨트롤러 디바이스(124)에 의해 수신된 입력 파라미터 값들의 모든 가능한 조합들에 대해 복수의 출력 파라미터 값들을 생성할 수 있게 될 것이다. 따라서, 유리하게는, 기술 설비(106)의 런타임은 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 끊김없이 전환된다.
단계(436)에서, 컨트롤러 디바이스(124)에 의해 실행되는 엔지니어링 프로그램의 복수의 프로그래밍 블록들은 프로세싱 유닛(202)에 의해 분석된다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 컨트롤러 디바이스(124)의 복수의 프로그램 실행 파라미터들을 결정하게 한다. 복수의 프로그램 실행 파라미터들은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스(124)의 내부 기능에 대한 정보를 포함한다. 예를 들어, 복수의 프로그램 실행 파라미터들은 컨트롤러 디바이스에서 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스의 메모리 프래그먼트화, 스캔 사이클 특성, 시스템 리소스 활용 및 메모리 활용에 대한 정보와 같은 런타임 정보를 포함한다. 추가로, 컨트롤러 디바이스(124)에 의해 엔지니어링 프로그램의 실행 효율은 복수의 프로그램 실행 파라미터들에 기반하여 프로세싱 유닛(202)에 의해 결정된다.
단계(438)에서, 엔지니어링 프로그램의 실행 효율을 방해하는 것으로 프로세싱 유닛(202)에 의해 결정된 엔지니어링 프로그램의 하나 이상의 프로그램가능 블록들은 프로세싱 유닛(202)에 의해 결정된다. 단계(440)에서, 변환될 하나 이상의 프로그래밍 블록들은 컨트롤러 디바이스에 의해 엔지니어링 프로그램의 결정된 실행 효율에 기반하여 프로세싱 유닛(202)에 기반하여 선택된다. 단계(442)에서, 인공 지능 모델은 프로세싱 유닛(202)에 의해 선택된 하나 이상의 프로그래밍 블록들에 적용된다. 인공 지능 모델은 결정된 하나 이상의 프로그래밍 블록들을 변환하여 컨트롤러 디바이스(124)에 의한 엔지니어링 프로그램의 실행 효율성을 최적화하도록 훈련된다.
단계(444)에서, 복수의 프로그래밍 블록들은 엔지니어링 프로그램에 인공 지능 모델의 적용에 기반하여 프로세싱 유닛(202)에 의해 변환된다. 데이터 수집 및 분석 모듈(112)은 추가로 프로세싱 유닛(202)이 변환된 복수의 프로그래밍 블록들을 디지털화 플랫폼(110)으로 마이그레이션하게 한다.
도 5a-도 5e는 본 발명의 실시예에 따라, 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환하는 예시적인 방법(400)을 예시하는 프로세스 흐름도이다.
단계(502)에서, 컨트롤러 디바이스(124)에 의해 전송되거나 수신되는 복수의 입력-출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함하는 제1 입력-출력 지식 그래프는 프로세싱 유닛(202)에 의해 캡처된다. 복수의 입력-출력 파라미터 값들은 복수의 입력 파라미터 값들과 복수의 출력 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들의 예들은 복수의 인간 기계 인터페이스들(122A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 파라미터 값들을 포함한다. 복수의 입력 파라미터 값들은 센서 데이터, 사용자 커맨드들, 및 사용자 입력들을 포함한다.
일 예에서, 복수의 입력 파라미터 값들은 복수의 인간 기계 인터페이스들(122A-N) 상에서 사용자에 의해 수행되는 복수의 사용자 동작들을 포함한다. 복수의 사용자 동작들의 예들은 복수의 인간 기계 인터페이스들(122A-N)의 입력 디바이스에서 사용자에 의해 입력되는 사용자 커맨드들, 사용자 입력들 및 사용자 선택들을 포함한다. 복수의 출력 파라미터 값들은 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)에 의해 기술적 설비(106)의 복수의 산업 디바이스들(108A-N)로 전송되는 파라미터 값들을 포함한다.
복수의 출력 파라미터 값들은 복수의 사용자 동작들의 수신에 기반하여 컨트롤러 디바이스(124)에 의해 전송되는 제어 신호들을 포함한다. 사용자는 실행된 엔지니어링 프로그램을 이용하여 태스크를 수행하기 위한 복수의 사용자 동작들을 입력할 수 있다. 복수의 사용자 동작들은 작업흐름들로 정리된다. 사용자는 태스크를 수행하기 위한 사용자 동작들의 세트를 포함하는 작업흐름을 실행할 수 있다. 일 예에서, 태스크는 제1 작업흐름 및 제2 작업흐름 중 하나를 사용하여 수행될 수 있다.
단계(504)에서, 엔지니어링 프로그램을 사용하여 태스크를 수행하기 위해 제1 사용자 동작들의 세트를 포함하는 제1 작업흐름은 프로세싱 유닛(202)에 의해 결정된다. 일 예에서, 태스크는 엔지니어링 시스템(100)을 통해 수행되는 엔지니어링 태스크이다. 다른 예에서, 태스크는 기술 설비(106)에서 복수의 산업 디바이스들(108A-N)을 제어하기 위한 제어 태스크이다. 제1 작업흐름과 연관된 정보는 제1 입력-출력 지식 그래프에 존재한다. 제1 작업흐름과 연관된 정보는 제1 작업흐름의 제1 사용자 동작들의 세트 사이의 복수의 관계들에 대한 정보를 포함한다. 예를 들어, 복수의 관계들에 대한 정보는 제1 사용자 동작들의 세트 각각이 실행되는 시퀀스에 대한 정보를 포함한다.
단계(506)에서, 엔지니어링 프로그램을 사용하여 동일한 태스크를 수행하기 위해 제2 사용자 동작들의 세트를 포함하는 제2 작업흐름은 프로세싱 유닛(202)에 의해 수신된다. 제2 사용자 동작들의 세트는 제1 사용자 동작들의 세트와 상이하다. 제2 작업흐름과 연관된 정보는 데이터베이스에 저장되는 제2 입력-출력 지식 그래프에 존재한다. 제2 입력-출력 지식 그래프는 제2 작업흐름의 일련의 사용자 동작들에 대한 정보와 또한 제2 작업흐름의 개별 사용자 동작들에 대한 정보를 포함한다.
단계(508)에서, 제1 입력-출력 지식 그래프는 프로세싱 유닛(202)에 의해 제2 입력-출력 지식 그래프와 비교된다. 일 예에서, 제1 입력-출력 지식 그래프는 2 개의 지식 그래프들 사이의 상관 동작에 기반하여 제2 입력-출력 지식 그래프와 비교된다.
단계(510)에서, 제1 작업흐름 및 제2 작업흐름의 프로세스 효율은 비교에 기반하여 프로세싱 유닛(202)에 의해 결정된다. 일 예에서, 제1 작업흐름 및 제2 작업흐름의 프로세스 효율은 컨트롤러 디바이스(124)의 디지털 트윈에서 제1 및 제2 작업흐름을 실행하여 결정된다. 제1 및 제2 작업흐름들 각각의 프로세스 효율은 각자의 작업흐름이 태스크를 완료하는 효율의 지표이다.
단계(512)에서, 제2 작업흐름의 프로세스 효율이 제1 작업흐름의 프로세스 효율보다 큰지 여부가 결정된다. 제2 작업흐름의 프로세스 효율이 제1 작업흐름의 프로세스 효율보다 높은 경우, 프로세싱 유닛(202)은 제2 작업흐름에 대응하는 제2 입력-출력 지식 그래프에서 하나 이상의 지식 그래프 인스턴스들을 결정하도록 구성된다.
단계(514)에서, 결정된 하나 이상의 지식 그래프 인스턴스들은 프로세싱 유닛(202)에 의해 제2 입력-출력 지식 그래프로부터 수신된다. 단계(516)에서, 프로세싱 유닛(202)에 의해, 적어도 하나의 연결 에러가 복수의 센서 디바이스들(126A-N)과 컨트롤러 디바이스(124) 또는 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)에 존재하는지 여부가 결정된다. 적어도 하나의 연결 문제는 네트워크 연결(104)과 연관된 복수의 네트워크 연결 파라미터들의 분석에 기반하여 결정된다.
단계(518)에서, 연결 에러가 존재하는 것으로 결정되는 경우, 제1 입력 파라미터 값은 수정된 입력-출력 지식 그래프의 분석에 기반하여 프로세싱 유닛(202)에 의해 생성된다. 제1 입력 파라미터 값은 엔지니어링 프로그램 실행 동안 복수의 센서 디바이스들(126A-N)로부터 수신될 가능성이 있는 파라미터 값이다. 일 예에서, 제1 입력 파라미터 값은 엔지니어링 프로그램의 실행 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 사용자 동작에 대한 정보를 포함한다.
단계(520)에서, 연결 에러가 네트워크 연결(104)에 존재하지 않는다고 결정되면, 제2 입력 파라미터 값은 프로세싱 유닛(202)에 의해 복수의 센서 디바이스들(126A-N)로부터 수신된다. 제2 입력 파라미터 값은 제어 신호, 센서 데이터 신호 및 제1 사용자로부터의 사용자 입력 중 적어도 하나이다.
단계(522)에서, 프로세싱 유닛(202)에 의해 제1 또는 제2 입력 파라미터 값 중 하나가 제1 입력 출력 파라미터 값에 존재하는지 여부가 결정된다. 단계(524)에서, 프로세싱 유닛(202)에 의해, 제1 및 제2 입력 파라미터 값 중 하나와 복수의 입력-출력 파라미터 값들 중 어느 하나 사이의 관계가 제1 입력-출력 지식 그래프에 기록되는지 여부가 결정된다. 제1 및 제2 입력 파라미터 값 중 적어도 하나에 대한 정보가 제1 입력-출력 지식 그래프에 존재하면, 프로세싱 유닛(202)은 제1 입력-출력 지식 그래프를 단순히 쿼리하여 적어도 하나의 출력 파라미터를 생성하도록 구성된다. 제1 또는 제2 입력 파라미터 값 중 하나에 대한 정보가 제1 입력-출력 지식 그래프에 존재하지 않는 경우, 프로세싱 유닛(202)은 제1 또는 제2 입력 파라미터에 대한 정보가 데이터베이스에 저장된 제2 입력-출력 지식 그래프에 존재하는지 여부를 결정하도록 구성된다.
단계(526)에서, 제1 또는 제2 입력 파라미터 값에 대한 정보가 제2 입력-출력 지식 그래프에 존재하는 것으로 결정되는 경우, 제2 입력-출력 지식 그래프 내의 하나 이상의 지식 그래프 인스턴스들은 프로세싱 유닛(202)에 의해 선택된다. 선택된 하나 이상의 지식 그래프 인스턴스들은 제1 또는 제2 입력 파라미터 값에 대한 정보를 포함한다. 하나 이상의 지식 그래프 인스턴스들은 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 하나 이상의 파라미터 값들에 대한 정보를 더 포함한다.
단계(528)에서, 제1 입력-출력 지식 그래프는 제1 입력-출력 지식 그래프의 복수의 부분들을 활성 섹션 및 잠재 섹션으로 분류하기 위해 프로세싱 유닛(202)에 의해 분석된다. 활성 섹션은 엔지니어링 프로그램 실행의 현재 스캔 사이클에서 프로세싱될 제1 파라미터 값들의 세트에 대한 정보를 포함한다. 잠재 섹션은 엔지니어링 프로그램 실행의 미래 스캔 사이클에서 프로세싱될 제2 파라미터 값의 세트에 대한 정보를 포함한다.
단계(530)에서, 수신된 하나 이상의 지식 그래프 인스턴스들은 프로세싱 유닛(202)에 의해 제1 입력-출력 지식 그래프의 활성 섹션 또는 잠재 섹션 중 하나로 매핑된다. 추가로, 수신된 하나 이상의 지식 그래프 인스턴스들은 인지 규칙들의 세트에 기반하여 프로세싱 유닛(202)에 의해 제1 입력-출력 지식 그래프에 첨부된다.
단계(532)에서, 적어도 하나의 출력 파라미터 값은 시뮬레이션된 제1 입력 파라미터 값으로부터 프로세싱 유닛(202)에 의해 생성된다. 데이터 수집 및 분석 모듈(112)은 프로세싱 유닛(202)이 생성된 적어도 하나의 출력 파라미터 값을 기술 설비(106) 내의 적어도 하나의 디바이스에 전송하여, 적어도 하나의 디바이스를 제어하게 한다.
도 6은 본 발명의 실시예에 따라, 기술 설비(106)에서 런타임 시스템을 컨트롤러 디바이스(124)에서 디지털화 플랫폼(110)으로 전환하기 위한 시스템 작업의 예시적인 예시를 예시한다.
기술 설비(106)는 네트워크 연결(104)을 통해 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)에 연결된 복수의 산업 디바이스들(108A-N) 및 복수의 센서 디바이스들(126A-N)을 포함한다. 컨트롤러 디바이스(124)는 엔지니어링 프로그램을 실행한다. 엔지니어링 프로그램은 컨트롤러 디바이스(124)에 의해 실행될 때, 컨트롤러 디바이스(124)가 기술 설비(106)를 효율적으로 실행하기 위해 복수의 산업 디바이스들(108A-N)을 제어하게 하는 복수의 프로그래밍 명령들을 포함한다. 엔지니어링 프로그램이 컨트롤러 디바이스(124)에 의해 실행되는 컨트롤러 디바이스(124)의 동작 단계는 런타임 시스템으로 칭해진다.
일 예에서, 컨트롤러 디바이스(124)는 복수의 센서 디바이스들(126A-N)로부터 복수의 센서 신호들을 수신하도록 구성된다. 복수의 센서 신호들의 예들은 압력 신호, 온도 신호 및 광 신호를 포함한다(그러나 이에 제한되지 않음). 컨트롤러 디바이스(124)에서 엔지니어링 프로그램의 런타임 동안, 컨트롤러 디바이스(124)는 수신된 복수의 센서 신호들을 엔지니어링 프로그램으로의 입력으로서 공급하도록 구성된다. 컨트롤러 디바이스(124)는 복수의 산업 디바이스들(108A-N)을 제어하기 위해 복수의 출력 신호들을 생성하도록 추가로 구성된다. 복수의 출력 신호들은 프로세싱된 복수의 센서 신호들에 기반하여 생성된다.
프로세싱 유닛(202)은 복수의 센서 디바이스들(126A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 복수의 센서 신호들을 캡처하도록 구성된다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에 의해 복수의 산업 디바이스들(108A-N)로 전송되는 복수의 출력 신호들을 캡처하도록 추가로 구성된다.
프로세싱 유닛(202)은 복수의 센서 신호들 및 복수의 출력 신호들의 각각의 신호 사이의 복수의 관계들을 결정하기 위해 복수의 센서 신호들 및 복수의 출력 신호들을 분석하도록 추가로 구성된다. 예를 들어, 프로세싱 유닛(202)은 복수의 센서 신호들의 신호들 사이의 제1 관계들의 세트 및 복수의 출력 신호들의 신호들 사이의 제2 관계들의 세트를 결정하도록 구성된다. 프로세싱 유닛(202)은 복수의 센서 신호들과 복수의 출력 신호들 사이의 제3 관계들의 세트를 결정하도록 추가로 구성된다.
프로세싱 유닛(202)은 복수의 센서 신호들의 신호들 사이의 제1 관계들의 세트로부터 입력 지식 그래프를 생성하도록 추가로 구성된다. 프로세싱 유닛(202)은 복수의 출력 신호들의 신호들 사이의 제2 관계들의 세트로부터 출력 지식 그래프를 생성하도록 추가로 구성된다. 프로세싱 유닛(202)은 복수의 센서 신호들과 복수의 출력 신호들 간의 제3 관계들의 세트에 기반하여 입력 출력 대응 지식 그래프를 생성하도록 추가로 구성된다.
입력 지식 그래프를 쿼리함으로써, 프로세싱 유닛(202)은 주어진 시간 간격에서 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 센서 신호를 예측하도록 구성된다. 출력 지식 그래프를 쿼리함으로써, 프로세싱 유닛(202)은 주어진 시간 간격에서 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 신호를 예측할 수 있다. 입력 출력 대응 지식 그래프를 쿼리함으로써, 프로세싱 유닛(202)은 컨트롤러 디바이스(124)가 특정 센서 신호를 수신할 때 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 신호를 예측할 수 있다. 프로세싱 유닛(202)은 입력 지식 그래프, 출력 지식 그래프 및 입력 출력 대응 지식 그래프를 결합하여 입력-출력 지식 그래프를 생성하도록 구성된다.
프로세싱 유닛(202)은 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는지 여부를 결정하도록 구성된다. 적어도 하나의 연결 에러가 존재하는 경우, 컨트롤러 디바이스(124)에서 복수의 센서 신호들의 실시간 수신이 중단될 수 있다. 그러한 시나리오에서, 프로세싱 유닛(202)은 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는 시간 간격 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 제1 센서 신호를 결정하기 위해 입력 지식 그래프를 쿼리하도록 구성된다. 따라서, 유리하게는, 컨트롤러 디바이스(124)가 복수의 센서 디바이스들(126A-N)로부터 복수의 센서 신호들을 수신할 수 없는 경우에, 프로세싱 유닛(202)은 복수의 센서 디바이스들(126A-N)로부터 수신될 가능성이 있는 제1 센서 신호를 생성한다.
적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하지 않는 것으로 결정되는 경우에, 컨트롤러 디바이스(124) 또는 프로세싱 유닛(202) 중 적어도 하나는 복수의 센서 디바이스들(126A-N)로부터 제2 센서 신호를 수신하도록 구성된다.
프로세싱 유닛(202)은 제1 또는 제2 센서 신호 중 적어도 하나에 대한 정보가 입력-출력 지식 그래프에 존재하는지 여부를 결정하도록 추가로 구성된다. 즉, 프로세싱 유닛(202)은 입력-출력 지식 그래프를 쿼리하여 프로세싱 유닛(202)이 제1 또는 제2 센서 신호 중 적어도 하나에 대응하는 출력 신호를 생성할 수 있는지 여부를 결정한다.
제1 또는 제2 센서 신호 중 적어도 하나에 대한 정보가 입력-출력 지식 그래프에 존재하지 않는 경우, 프로세싱 유닛(202)은 제1 또는 제2 센서 신호 중 적어도 하나에 대한 정보가 외부 입력-출력 지식 그래프에 존재하는지 여부를 결정한다. 일 예에서, 외부 입력-출력 지식 그래프는 기술 설비(106) 외부에 있는 데이터베이스(114)에 저장될 수 있다.
제1 또는 제2 센서 신호 중 적어도 하나에 대한 정보가 외부 입력-출력 지식 그래프에 존재하는 경우, 프로세싱 유닛(202)은 외부 입력-출력 지식 그래프에서 하나 이상의 지식 그래프 인스턴스들을 결정하도록 구성된다. 결정된 하나 이상의 지식 그래프 인스턴스들은 제1 또는 제2 센서 신호 중 적어도 하나에 대한 정보를 포함한다.
프로세싱 유닛(202)은 인지 규칙들의 세트에 기반하여 하나 이상의 지식 그래프 인스턴스들을 입력-출력 지식 그래프에 첨부함으로써 입력-출력 지식 그래프를 수정하도록 추가로 구성된다. 입력-출력 지식 그래프의 수정은 도 7 내지 도 14를 참조하여 상세히 설명된다.
입력-출력 지식 그래프를 수정하기 위해, 프로세싱 유닛(202)은 입력-출력 지식 그래프의 활성 섹션 및 잠재 섹션을 결정하기 위해 입력-출력 지식 그래프를 분석하도록 구성된다. 도 7을 참조하면, 도 7은 입력-출력 지식 그래프(700)를 예시한다. 입력-출력 지식 그래프에서 복수의 노드들(702)을 포함한다. 도 7은 입력-출력 지식 그래프의 복수의 부분들 중 일부(702A)를 추가로 예시한다. 부분(702A)은 컨트롤러 디바이스(124)에 의해 수신된 복수의 센서 신호들 중 제1 센서 신호들의 세트에 대한 정보를 포함한다. 프로세싱 유닛(202)은 부분(702A)의 복수의 노드들을 활성 섹션(704) 및 잠재 섹션(706)으로 분류하도록 구성된다. 활성 섹션은 엔지니어링 프로그램을 실행하는 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 하나 이상의 센서 신호들에 대한 정보를 포함한다. 잠재 섹션은 컨트롤러 디바이스(124)에 의한 엔지니어링 프로그램의 실행 동안 수신될 것 가능성이 없는 하나 이상의 센서 신호들에 대한 정보를 포함한다. 활성 섹션(704)은 제1 노드들의 세트(710)를 포함한다. 잠재 섹션(706)은 제2 노드들의 세트(708)를 포함한다.
다른 예에서, 활성 섹션(704)은 엔지니어링 프로그램을 끊김없이 실행하고 기술 설비(106)를 효율적으로 실행하기 위해 컨트롤러 디바이스(124)에 의해 현재 요구되는 센서 신호들과 연관된 정보를 포함한다. 잠재 섹션(706)은 엔지니어링 프로그램을 끊김없이 실행하고 기술 설비(106)를 효율적으로 실행하기 위해 나중에 컨트롤러 디바이스(124)에 의해 요구되는 센서 신호들과 연관된 정보를 포함한다.
도 8을 참조하면, 도 8은 입력-출력 지식 그래프(700)에 추가된 외부 입력-출력 지식 그래프로부터의 지식 그래프 인스턴스(802)를 예시한다. 도 9를 참조하면, 도 9는 인지 규칙들의 세트에 기반하여 입력-출력 지식 그래프(700)에 첨부되는 지식 그래프 인스턴스(802)를 예시한다. 인지 규칙들의 세트의 예들은 “즉시 학습” 규칙, “항상 학습 규칙”, 및 “학습 잊음” 규칙을 포함한다(그러나, 이에 제한되지 않음).
도 9를 참조하면, 도 9는 인지 규칙들의 세트의 “즉시 학습 규칙”에 기반하여 입력-출력 지식 그래프(700)에 첨부되는 지식 그래프 인스턴스(802)를 예시한다.
"즉시 학습 규칙"에 따라, 하나 이상의 지식 그래프 인스턴스들(802)은 입력-출력 지식 그래프의 활성 섹션(704)에 첨부된다. 따라서, 제1 센서 신호 및 제2 센서 신호 중 적어도 하나에 대한 정보는 지식 입력-출력 그래프(700)에 첨부되어 포함된다.
다시 도 6을 참조하면, 입력-출력 지식 그래프는 외부 입력-출력 지식 그래프로부터 도출된 정보를 포함하도록 수정된다. 따라서, 유리하게도, 디지털화 플랫폼(110)은 컨트롤러 디바이스(124)에 의해 수신된 복수의 센서 신호들로부터 뿐만 아니라, 외부 데이터베이스들에 저장된 지식 그래프들로부터도 학습한다.
프로세싱 유닛(202)은 제1 센서 신호 또는 제2 센서 신호 중 적어도 하나에 기반하여 출력 신호를 생성하기 위해 수정된 입력-출력 지식 그래프를 쿼리하도록 추가로 구성된다. 프로세싱 유닛(202)은 생성된 출력 신호를 복수의 산업 디바이스들(108A-N)로 전송하여, 복수의 산업 디바이스들(108A-N)을 제어하도록 추가로 구성된다. 따라서, 유리하게도, 디지털화 플랫폼(110)은 입력-출력 지식 그래프(700) 및 외부 입력-출력 지식 그래프에서 커버되는 모든 센서 신호들에 대한 출력 신호들을 생성하도록 구성된다.
제1 또는 제2 센서 신호 중 적어도 하나에 대한 정보가 외부 입력-출력 지식 그래프에 존재하는 경우, 프로세싱 유닛(202)은 프로세싱을 위해 적어도 제1 또는 제2 센서 신호를 컨트롤러 디바이스(124)로 전송하도록 구성된다. 컨트롤러 디바이스(124)는 출력 신호를 생성하도록 구성된다. 프로세싱 유닛(202)은 생성된 출력 신호를 복수의 산업 디바이스들(108A-N)로 전송하여, 복수의 산업 디바이스들(108A-N)을 제어하도록 추가로 구성된다. 추가로, 컨트롤러 디바이스(124)에 의해 생성된 출력 신호는 프로세싱 유닛(202)에 의해 분석된다. 추가로, 입력-출력 지식 그래프는 분석에 기반하여 수정된다.
따라서, 유리하게도, 입력-출력 지식 그래프는 제1 또는 제2 센서 신호 및 출력 신호에 대한 정보를 포함하도록 수정된다. 따라서, 유리하게도, 제1 또는 제2 센서 신호에 대한 정보가 입력-출력 지식 그래프 또는 외부 입력-출력 지식 그래프에 존재하지 않는 경우, 프로세싱 유닛(202)은 제1 또는 제2 센서 신호에 대한 정보를 포함하도록 입력-출력 지식 그래프를 수정하도록 구성된다.
따라서, 결국 입력-출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 복수의 센서 신호들의 모든 가능한 조합들에 대한 정보를 축적한다. 결과적으로, 엔지니어링 프로그램의 런타임은 컨트롤러 디바이스(124)에서 디지털화 플랫폼(110)으로 완전히 전환된다.
도 10은 본 발명의 실시예에 따라, 기술 설비(106)에서 런타임 시스템을 컨트롤러 디바이스(124)에서 디지털화 플랫폼(110)으로 전환하기 위한 시스템 작업의 예시적인 예시를 예시한다.
기술 설비(106)는 네트워크 연결(104)을 통해 컨트롤러 디바이스(124) 및 디지털화 플랫폼(110)에 연결되는 복수의 산업 디바이스들(108A-N) 및 복수의 인간 기계 인터페이스들(HMI)(120A-N)을 포함한다. 컨트롤러 디바이스(124)는 엔지니어링 프로그램을 실행한다. 엔지니어링 프로그램은 컨트롤러 디바이스(124)에 의해 실행될 때, 컨트롤러 디바이스가 기술 설비(106)를 효율적으로 실행하기 위해 복수의 산업 디바이스(108A-N)를 제어하게 하는 복수의 프로그래밍 명령들을 포함한다. 컨트롤러 디바이스(124)는 복수의 HMI들(120A-N)을 통해 사용자로부터 복수의 사용자 입력들을 수신하도록 구성된다. 복수의 사용자 입력들은 사용자 커맨드들, 사용자 제스처들 및 다른 형태들의 사용자 입력들을 포함한다.
일 예에서, 복수의 사용자 입력들은 프로그래밍 명령들의 세트를 포함한다. 그러한 시나리오에서, 엔지니어링 프로그램 내의 복수의 프로그래밍 명령들은 사용자로부터 수신된 프로그래밍 명령들의 세트로 대체된다.
다른 예에서, 복수의 사용자 입력들은 복수의 산업 디바이스들(108A-N)을 제어하기 위해 복수의 HMI들(120A-N) 상에서 사용자에 의해 수행되는 제1 사용자 동작들의 세트를 포함한다.
컨트롤러 디바이스(124)는 복수의 산업 디바이스들(108A-N)을 제어하기 위해 복수의 출력 신호를 생성하도록 추가로 구성된다. 복수의 출력 신호들은 프로세싱된 복수의 사용자 입력들에 기반하여 생성된다.
프로세싱 유닛(202)은 복수의 HMI들(120A-N)로부터 컨트롤러 디바이스(124)에 의해 수신된 복수의 사용자 입력들을 캡처하도록 구성된다. 프로세싱 유닛(202)은 컨트롤러 디바이스(124)에서의 복수의 사용자 입력들의 수신에 기반하여 컨트롤러 디바이스(124)에 의해 복수의 산업 디바이스들(108A-N)로 전송된 복수의 출력 신호들을 캡처하도록 추가로 구성된다.
프로세싱 유닛(202)은 복수의 사용자 입력들 및 복수의 출력 신호들 각각 사이의 복수의 관계들을 결정하기 위해 복수의 사용자 입력들 및 복수의 출력 신호들을 분석하도록 추가로 구성된다. 예를 들어, 프로세싱 유닛(202)은 복수의 사용자 입력들 사이의 제1 관계들의 세트와 복수의 출력 신호들 사이의 제2 관계들의 세트를 결정하도록 구성된다. 프로세싱 유닛(202)은 복수의 사용자 입력들과 복수의 출력 신호들 간의 제3 관계들의 세트를 결정하도록 추가로 구성된다.
프로세싱 유닛(202)은 복수의 사용자 입력들 간의 제1 관계들의 세트로부터 입력 지식 그래프를 생성하도록 추가로 구성된다. 프로세싱 유닛(202)은 복수의 출력 신호들의 신호들 사이의 제2 관계들의 세트로부터 출력 지식 그래프를 생성하도록 추가로 구성된다. 프로세싱 유닛(202)은 복수의 사용자 입력들과 복수의 출력 신호들 사이의 제3 관계들의 세트에 기반하여 입력 출력 대응 지식 그래프를 생성하도록 추가로 구성된다.
입력 지식 그래프를 쿼리함으로써, 프로세싱 유닛(202)은 주어진 시간 간격에서 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 사용자 입력을 예측할 수 있다. 출력 지식 그래프를 쿼리함으로써, 프로세싱 유닛(202)은 주어진 시간 간격에서 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 신호를 예측할 수 있다. 입력 출력 대응 지식 그래프를 쿼리함으로써, 프로세싱 유닛(202)은 컨트롤러 디바이스(124)가 특정 사용자 입력을 수신할 때 컨트롤러 디바이스(124)에 의해 전송될 가능성이 있는 출력 신호를 예측할 수 있다. 프로세싱 유닛(202)은 입력 지식 그래프, 출력 지식 그래프 및 입력 출력 대응 지식 그래프를 결합하여 입력-출력 지식 그래프를 생성하도록 구성된다.
프로세싱 유닛(202)은 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는지 여부를 결정하도록 구성된다. 적어도 하나의 연결 에러가 존재하는 경우, 컨트롤러 디바이스(124)에서 복수의 사용자 입력들의 실시간 수신이 중단될 수 있다. 그러한 시나리오에서, 프로세싱 유닛(202)은 적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하는 시간 간격 동안 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 제1 사용자 입력을 결정하기 위해 입력 지식 그래프를 쿼리하도록 구성된다. 따라서, 유리하게는, 컨트롤러 디바이스(124)가 복수의 인간 기계 인터페이스들(120A-N)로부터 복수의 사용자 입력들을 수신할 수 없는 경우에, 프로세싱 유닛(202)은 복수의 HMI들(120A-N)로부터 수신될 가능성이 있는 제1 사용자 입력을 생성한다.
적어도 하나의 연결 에러가 네트워크 연결(104)에 존재하지 않는 것으로 결정되는 경우에, 컨트롤러 디바이스(124) 또는 프로세싱 유닛(202) 중 적어도 하나는 복수의 HMI들(120A-N)로부터 제2 사용자 입력을 수신하도록 구성된다.
프로세싱 유닛(202)은 제1 또는 제2 사용자 입력 중 적어도 하나에 대한 정보가 입력-출력 지식 그래프에 존재하는지 여부를 결정하도록 추가로 구성된다. 즉, 프로세싱 유닛(202)은 입력-출력 지식 그래프를 쿼리하여 프로세싱 유닛(202)이 제1 또는 제2 사용자 입력 중 적어도 하나에 대응하는 출력 신호를 생성할 수 있는지 여부를 결정한다.
제1 또는 제2 사용자 입력 중 적어도 하나에 대한 정보가 입력-출력 지식 그래프에 존재하지 않는 경우, 프로세싱 유닛(202)은 제1 또는 제2 사용자 입력 중 적어도 하나에 대한 정보가 외부 입력-출력 지식 그래프에 존재하는지 여부를 결정한다. 일 예에서, 외부 입력-출력 지식 그래프는 기술 설비(106) 외부에 있는 데이터베이스에 저장될 수 있다.
제1 또는 제2 사용자 입력 중 적어도 하나에 대한 정보가 외부 입력-출력 지식 그래프에 존재하는 경우, 프로세싱 유닛(202)은 외부 입력-출력 지식 그래프에서 하나 이상의 지식 그래프 인스턴스들을 결정하도록 구성된다. 결정된 하나 이상의 지식 그래프 인스턴스들은 제1 또는 제2 사용자 입력 중 적어도 하나에 대한 정보를 포함한다.
프로세싱 유닛(202)은 인지 규칙들의 세트에 기반하여 하나 이상의 지식 그래프 인스턴스들을 입력-출력 지식 그래프에 첨부함으로써 입력-출력 지식 그래프를 수정하도록 추가로 구성된다. 따라서, 유리하게도, 수정된 입력-출력 지식 그래프는 캡처된 복수의 사용자 입력들 및 캡처된 복수의 출력 신호들과, 제1 및 제2 사용자 입력의 복수의 관계들에 대한 정보를 포함한다. 입력-출력 지식 그래프의 수정은 도 11 내지 도 14를 참조하여 상세히 설명된다.
입력-출력 지식 그래프를 수정하기 위해, 프로세싱 유닛(202)은 입력-출력 지식 그래프(700)의 활성 섹션(704) 및 잠재 섹션(706)을 결정하기 위해 입력-출력 지식 그래프(700)를 분석하도록 구성된다.
복수의 사용자 입력들이 사용자에 의해 입력된 프로그래밍 명령들인 경우, 활성 섹션은 엔지니어링 프로그램을 사용하여 하나 이상의 태스크들을 실행하기 위해 컨트롤러 디바이스(124)에 의해 요구되는 정보를 포함한다. 잠재 섹션은 컨트롤러 디바이스(124)의 실행 동안 나중에 컨트롤러 디바이스(124)에 의해 요구되는 정보를 포함한다.
도 11을 참조하면, 도 11은 입력-출력 지식 그래프(700)에 추가된 외부 입력-출력 지식 그래프로부터의 지식 그래프 인스턴스(802)를 예시한다. 도 12를 참조하면, 도 12는 인지 규칙들의 세트에 기반하여 입력-출력 지식 그래프(700)에 첨부되는 지식 그래프 인스턴스(802)를 예시한다.
도 12를 참조하면, 도 12는 인지 규칙들의 세트의 “학습 잊음 규칙”에 기반하여 입력-출력 지식 그래프(700)에 첨부되는 지식 그래프 인스턴스(802)를 예시한다.
“학습 잊음”에 따라, 노드들(C1, C2 및 C3)의 세트는 먼저 입력-출력 지식 그래프(700)로부터 제거된다. 추가로, 하나 이상의 지식 인스턴스들(802)은 노드들(C1, C2, 및 C3)의 세트 대신 첨부된다. 따라서, 제1 사용자 입력 및 제2 사용자 입력 중 적어도 하나에 대한 정보는 지식 입력-출력 그래프(700)에 첨부되어 포함된다.
도 13을 참조하면, 도 13은 수정된 입력-출력 지식 그래프(700)에 추가된 외부 입력-출력 지식 그래프로부터의 추가 지식 그래프 인스턴스(804)를 예시한다. 추가 지식 그래프(804)는 제1 사용자 입력 및 제2 사용자 입력에 대한 정보를 더 포함한다.
도 14를 참조하면, 도 14는 인지 규칙들의 세트에 기반하여 입력-출력 지식 그래프(700)에 첨부되는 지식 그래프 인스턴스(802)를 예시한다.
도 14를 참조하면, 도 14는 인지 규칙들의 세트의 “나중에 학습” 규칙에 기반하여 입력-출력 지식 그래프(700)에 첨부되는 지식 그래프 인스턴스(802)를 예시한다.
"나중에 학습" 규칙에 따라, 하나 이상의 지식 그래프 인스턴스(802)는 먼저 입력-출력 지식 그래프(700)의 잠재 섹션(706)에서 활성 섹션(704)으로 이동된다. 추가로, 추가적인 하나 이상의 지식 인스턴스들(804)은 입력-출력 지식 그래프(700)의 하나 이상의 지식 그래프 인스턴스들(802)에 첨부된다.
다시 도 10을 참조하면, 입력-출력 지식 그래프는 외부 입력-출력 지식 그래프로부터 도출된 정보를 포함하도록 수정된다. 따라서, 유리하게도, 디지털화 플랫폼(110)은 컨트롤러 디바이스(124)에 의해 수신된 복수의 사용자 입력으로부터 뿐만 아니라, 외부 데이터베이스들에 저장된 하나 이상의 지식 그래프들로부터 학습한다.
프로세싱 유닛(202)은 제1 사용자 입력 또는 제2 사용자 입력 중 적어도 하나에 기반하여 출력 신호를 생성하기 위해 수정된 입력-출력 지식 그래프를 쿼리하도록 추가로 구성된다. 프로세싱 유닛(202)은 생성된 출력 신호를 복수의 산업 디바이스들(108A-N)로 전송하여, 복수의 산업 디바이스들(108A-N)을 제어하도록 추가로 구성된다. 따라서, 유리하게도, 디지털화 플랫폼(110)은 입력-출력 지식 그래프(700) 및 외부 입력-출력 지식 그래프에서 커버되는 모든 사용자 입력에 대한 출력 신호들을 생성하도록 구성된다.
제1 또는 제2 사용자 입력 중 적어도 하나에 대한 정보가 외부 입력-출력 지식 그래프에 존재하지 않는 경우, 프로세싱 유닛(202)은 프로세싱을 위해 적어도 제1 또는 제2 센서 신호를 컨트롤러 디바이스(124)로 전송하도록 구성된다. 컨트롤러 디바이스(124)는 출력 신호를 생성하도록 구성된다. 프로세싱 유닛(202)은 생성된 출력 신호를 복수의 산업 디바이스들(108A-N)로 전송하여, 복수의 산업 디바이스들(108A-N)을 제어하도록 추가로 구성된다. 추가로, 컨트롤러 디바이스(124)에 의해 생성된 출력 신호는 프로세싱 유닛(202)에 의해 분석된다. 추가로, 입력-출력 지식 그래프는 분석에 기반하여 수정된다.
따라서, 유리하게도, 입력-출력 지식 그래프는 제1 또는 제2 센서 신호 및 출력 신호에 대한 정보를 포함하도록 수정된다. 따라서, 유리하게도, 제1 또는 제2 사용자 입력에 대한 정보가 입력-출력 지식 그래프 또는 외부 입력-출력 지식 그래프에 존재하지 않는 경우, 프로세싱 유닛(202)은 제1 또는 제2 사용자 입력에 대한 정보를 포함하도록 입력-출력 지식 그래프를 수정하도록 구성된다.
따라서, 결국 입력-출력 지식 그래프는 컨트롤러 디바이스(124)에 의해 수신될 가능성이 있는 복수의 사용자 입력들의 모든 가능한 조합들에 대한 정보를 축적한다. 결과적으로, 엔지니어링 프로그램의 런타임은 컨트롤러 디바이스(124)에서 디지털화 플랫폼(110)으로 완전히 전환된다.
본 발명은 하나 이상의 컴퓨터들, 프로세서들 또는 명령 실행 시스템에 의해 또는 그와 관련하여 사용하기 위한 프로그램 코드를 저장하는 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체로부터 액세스 가능한 프로그램 모듈들을 포함하는 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 이 설명의 목적을 위해, 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 관련하여 사용하기 위한 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 모든 장치일 수 있다. 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템(또는 장치 또는 디바이스)일 수 있거나 또는 신호 반송파들이 물리적 컴퓨터 판독가능 매체의 정의에 포함되지 않기 때문에 그 자체들의 그리고 그 자체들 내의 전파 매체들은 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, RAM(Random Access Memory), ROM(Read Only Memory), 견고한 자기 디스크 및 광학 디스크, 이를테면 CD-ROM(compact disk read-only memory), 콤팩트 디스크 판독/기록, 및 DVD를 포함한다. 기술의 각각의 양태를 구현하기 위한 프로세서들 및 프로그램 코드 둘 모두는 통상의 기술자들에게 공지된 바와 같이 중앙집중식이거나 분산식(또는 이들의 조합)일 수 있다.
본 발명이 소정 실시예들을 참조하여 상세하게 설명되었지만, 본 발명이 이들 실시예들로 제한되지 않음이 인식되어야 한다. 본 개시내용을 고려하여, 본원에 기술된 바와 같이 본 발명의 다양한 실시예들의 범위를 벗어나지 않고 통상의 기술자들에게 많은 수정들 및 변경들이 제시될 것이다. 그러므로, 본 발명의 범위는 전술한 설명보다는 다음의 청구범위에 의해 나타내어진다. 청구범위의 의미와 등가 범위 내에서 발생하는 모든 변경들, 수정들 및 변형들은 그 범위 내에서 고려되어야 한다. 방법 청구범위에 청구된 모든 유리한 실시예들은 또한 시스템/장치 청구범위에 적용될 수 있다.

Claims (14)

  1. 컨트롤러 디바이스(controller device)(124)로부터 디지털화 플랫폼(digitalization platform)(110)으로 런타임 시스템(runtime system)을 끊김없이 전환하는 방법으로서,
    프로세싱 유닛(processing unit)(202)에 의해, 엔지니어링 프로그램(engineering program)의 실행 동안 상기 컨트롤러 디바이스(124)에 의해 전송되거나 수신되는 복수의 입력-출력 파라미터(parameter) 값들을 캡처(capture)하는 단계;
    상기 프로세싱 유닛(202)에 의해, 캡처된 복수의 입력-출력 파라미터 값들에서의 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함하는 입력-출력 지식 그래프(graph)를 생성하는 단계;
    상기 프로세싱 유닛(202)에 의해, 적어도 하나의 연결 에러(error)가 복수의 센서(sensor) 디바이스들(126A-N)과 상기 컨트롤러 디바이스(124) 또는 상기 디지털화 플랫폼(110) 중 하나 사이의 네트워크(network) 연결(104)에 존재하는지 여부를 결정하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 연결 에러가 존재하는 것으로 결정되면, 상기 생성된 입력-출력 지식 그래프의 분석에 기반하여 제1 입력 파라미터 값을 시뮬레이션(simulate)하는 단계 ― 상기 제1 입력 파라미터 값은 상기 컨트롤러 디바이스(124)에 의해, 상기 엔지니어링 프로그램의 실행 동안 상기 복수의 센서 디바이스들(126A-N)로부터 수신될 파라미터 값임 ―;
    상기 프로세싱 유닛(202)에 의해, 시뮬레이션된 제1 입력 파라미터 값 또는 복수의 센서 디바이스들(126A-N)로부터 수신된 제2 입력 파라미터 값 중 하나로부터 적어도 하나의 출력 파라미터 값을 생성하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 기술 설비(106) 내의 복수의 산업 디바이스들(108A-N)을 제어하기 위해, 상기 생성된 적어도 하나의 출력 파라미터 값을 상기 복수의 산업 디바이스들(108A-N)로 전송하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  2. 제1 항에 있어서,
    상기 프로세싱 유닛(202)에 의해, 상기 적어도 하나의 출력 파라미터 값과 상기 복수의 입력-출력 파라미터 값들 사이의 관계를 결정하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 상기 결정된 관계에 기반하여 상기 적어도 하나의 출력 파라미터 값에 기반하여 상기 입력-출력 지식 그래프를 수정하는 단계를 더 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  3. 제1 항 또는 제2 항에 있어서,
    상기 적어도 하나의 출력 파라미터 값을 생성하는 단계는:
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나에 대한 정보가 상기 입력-출력 지식 그래프에 존재하는지 여부를 결정하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나에 대한 정보가 상기 입력-출력 지식 그래프에 존재하는 것으로 결정되면, 상기 입력-출력 지식 그래프의 분석에 기반하여 상기 디지털화 플랫폼(110)에서 상기 적어도 하나의 출력 파라미터 값을 생성하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나에 대한 정보가 상기 입력-출력 지식 그래프에 존재하지 않을 때, 상기 컨트롤러 디바이스(124)에서의 상기 엔지니어링 프로그램의 실행에 기반하여 상기 컨트롤러 디바이스(124)에서 상기 적어도 하나의 출력 파라미터 값을 생성하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 입력-출력 지식 그래프를 생성하는 단계는:
    상기 프로세싱 유닛(202)에 의해, 상기 캡처된 복수의 입력-출력 파라미터 값들을 분석하는 단계;
    입력 지식 그래프, 출력 지식 그래프 및 입력-출력 대응 지식 그래프를 생성하는 단계 ―
    상기 입력 지식 그래프는 상기 캡처된 복수의 입력-출력 파라미터 값들에서의 복수의 입력 파라미터 값들 사이의 복수의 관계들과 연관된 정보를 포함하고,
    상기 출력 지식 그래프는 상기 캡처된 복수의 입력-출력 파라미터 값들에서의 복수의 출력 파라미터 값들 사이의 복수의 관계들과 연관된 정보를 포함하고,
    상기 입력-출력 대응 지식 그래프는 상기 캡처된 복수의 입력-출력 파라미터 값들에서의 상기 복수의 입력 파라미터 값들과 상기 복수의 출력 파라미터 값들 사이의 복수의 관계들과 연관된 정보를 포함함 ―; 및
    상기 프로세싱 유닛(202)에 의해, 상기 생성된 입력 지식 그래프, 상기 출력 지식 그래프 및 상기 입력-출력 대응 지식 그래프에 기반하여 상기 입력-출력 지식 그래프를 생성하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  5. 제4 항에 있어서,
    상기 프로세싱 유닛(202)에 의해, 상기 컨트롤러 디바이스(124)에 의해 실행되는 상기 엔지니어링 프로그램의 복수의 프로그래밍 블록(block)들을 분석하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 컨트롤러 디바이스(124)의 복수의 프로그램 실행 파라미터들을 결정하는 단계 ― 상기 복수의 프로그램 실행 파라미터들은 상기 엔지니어링 프로그램의 실행 동안 상기 컨트롤러 디바이스(124)의 내부 기능에 대한 정보를 포함함 ―;
    상기 프로세싱 유닛(202)에 의해, 상기 복수의 프로그램 실행 파라미터들의 분석에 기반하여 상기 컨트롤러 디바이스(124)를 실행하는 상기 엔지니어링 프로그램의 효율을 결정하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 엔지니어링 프로그램에 대한 인공 지능 모델(model)의 적용에 기반하여 상기 복수의 프로그래밍 블록들을 변환하는 단계 ― 상기 인공 지능 모델은 상기 복수의 프로그래밍 블록들을 변환하도록 훈련됨 ―; 및
    상기 프로세싱 유닛(202)에 의해, 상기 변환된 복수의 프로그래밍 블록들을 상기 디지털화 플랫폼(110)으로 이동시키는 단계를 더 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  6. 제1 항에 있어서,
    상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나로부터 상기 적어도 하나의 출력 파라미터 값을 생성하는 단계는:
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나가 임계 데이터(data) 항목인지 여부를 결정하는 단계 ― 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나는 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값에 대한 인공 지능 모델의 적용에 기반한 임계 데이터 항목인 것으로 결정됨 ―; 및
    상기 프로세싱 유닛(202)에 의해, 상기 컨트롤러 디바이스(124)에서의 상기 엔지니어링 프로그램의 실행에 기반하여 상기 컨트롤러 디바이스(124)에서 상기 적어도 하나의 출력 파라미터 값을 생성하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  7. 제1 항에 있어서,
    적어도 하나의 연결 에러가 상기 네트워크 연결(104)에 존재하는지 여부를 결정하는 단계는:
    상기 프로세싱 유닛(202)에 의해, 상기 복수의 센서 디바이스들(126A-N)과 상기 컨트롤러 디바이스(124) 또는 상기 디지털화 플랫폼(110) 중 하나 사이의 상기 네트워크 연결과 연관된 복수의 네트워크 연결 파라미터들을 수신하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 복수의 네트워크 연결 파라미터들을 분석하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 상기 적어도 하나의 연결 에러가 상기 분석에 기반하여 상기 네트워크 연결(104)에 존재하는지 여부를 결정하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  8. 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환하는 방법으로서,
    프로세싱 유닛(202)에 의해, 상기 컨트롤러 디바이스(124)에 의해 전송되거나 수신되는 복수의 입력-출력 파라미터 값들 사이의 복수의 관계들에 대한 정보를 포함하는 제1 입력-출력 지식 그래프를 수신하는 단계;
    상기 프로세싱 유닛(202)에 의해, 엔지니어링 프로그램의 실행 동안 상기 컨트롤러 디바이스(124)에 의해 수신될 하나 이상의 파라미터 값들에 대한 정보를 포함하는 하나 이상의 지식 그래프 인스턴스(instance)들을 수신하는 단계;
    상기 프로세싱 유닛(202)에 의해, 인지 규칙들의 세트(set)에 기반하여 상기 수신된 하나 이상의 지식 그래프 인스턴스들을 상기 제1 입력-출력 지식 그래프에 첨부함으로써 상기 제1 입력-출력 지식 그래프를 수정하는 단계;
    상기 프로세싱 유닛(202)에 의해, 적어도 하나의 연결 에러가 복수의 인간 기계 인터페이스(interface)들(120A-N)과 상기 컨트롤러 디바이스(124) 또는 상기 디지털화 플랫폼(110) 중 하나 사이의 네트워크 연결(104)에 존재하는지 여부를 결정하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 연결 에러가 존재하는 것으로 결정되는 경우, 상기 수정된 입력-출력 지식 그래프의 분석에 기반하여 제1 입력 파라미터 값을 시뮬레이션하는 단계 ― 상기 제1 입력 파라미터 값은 상기 엔지니어링 프로그램의 실행 동안 상기 복수의 인간 기계 인터페이스들(120A-N)로부터 수신될 파라미터 값임 ―;
    상기 프로세싱 유닛(202)에 의해, 상기 시뮬레이션된 제1 입력 파라미터 값으로부터 적어도 하나의 출력 파라미터 값을 생성하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 기술 설비(106) 내의 복수의 산업 디바이스들(108A-N)을 제어하기 위해, 상기 생성된 적어도 하나의 출력 파라미터 값을 상기 복수의 산업 디바이스들(108A-N)로 전송하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  9. 제8 항에 있어서,
    상기 복수의 입력-출력 파라미터 값들은 상기 복수의 인간 기계 인터페이스들을 통해 상기 컨트롤러 디바이스(124)에 의해 수신되는 제1 사용자 입력들의 세트를 포함하고,
    상기 수신된 하나 이상의 지식 그래프 인스턴스들은 상기 엔지니어링 프로그램의 실행 동안 상기 컨트롤러 디바이스(124)에 의해 수신될 상기 하나 이상의 사용자 입력들에 대한 정보를 포함하고,
    상기 방법은:
    상기 프로세싱 유닛(202)에 의해, 상기 제1 사용자 입력들의 세트를 포함하는 제1 작업흐름을 결정하는 단계 ― 상기 제1 작업흐름과 연관된 정보가 상기 제1 입력-출력 지식 그래프에 존재함 ―;
    상기 프로세싱 유닛(202)에 의해, 제2 사용자 입력들의 세트를 포함하는 제2 작업흐름을 수신하는 단계 ― 상기 제2 작업흐름과 연관된 정보는 제2 입력-출력 지식 그래프에 존재함 ―;
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력-출력 지식 그래프와 상기 제2 입력-출력 지식 그래프를 비교하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 비교에 기반하여 상기 제1 작업흐름 및 상기 제2 작업흐름의 프로세스 효율을 결정하는 단계 ― 상기 제1 작업흐름 및 상기 제2 작업흐름 각각의 상기 프로세스 효율은 개개의 작업흐름이 상기 엔지니어링 프로그램을 사용하여 엔지니어링 태스크(task)를 완료하는 효율의 지표임 ―;
    상기 프로세싱 유닛(202)에 의해, 상기 제2 작업흐름의 프로세스 효율이 상기 제1 작업흐름의 상기 프로세스 효율보다 큰지 여부를 결정하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 상기 제2 작업흐름의 프로세스 효율이 더 큰 것으로 결정될 때, 상기 제2 입력-출력 지식 그래프로부터 상기 하나 이상의 지식 그래프 인스턴스들을 수신하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  10. 제8 항에 있어서,
    상기 하나 이상의 지식 그래프 인스턴스들을 수신하는 단계는:
    상기 프로세싱 유닛(202)에 의해, 상기 연결 에러가 존재하지 않는 것으로 결정될 때, 상기 복수의 인간 기계 인터페이스들로부터 제2 입력 파라미터 값을 수신하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나에 대한 정보가 상기 제1 입력-출력 지식 그래프에 존재하는지 여부를 결정하는 단계;
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나에 대한 정보가 상기 제1 입력-출력 지식 그래프에 존재하지 않는 것으로 결정될 때, 제2 입력-출력 지식 그래프를 수신하는 단계 ― 상기 제2 입력-출력 지식 그래프는 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값 중 하나에 대한 정보를 포함함 ―;
    상기 프로세싱 유닛(202)에 의해, 상기 제1 입력 파라미터 값 또는 상기 제2 입력 파라미터 값과 연관된 정보를 포함하는 상기 제2 입력-출력 지식 그래프 내의 상기 하나 이상의 지식 그래프 인스턴스들을 결정하는 단계; 및
    상기 프로세싱 유닛(202)에 의해, 상기 제2 입력-출력 지식 그래프로부터 상기 결정된 하나 이상의 지식 그래프 인스턴스들을 수신하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  11. 제9 항 또는 제10 항에 있어서,
    상기 수신된 하나 이상의 지식 그래프 인스턴스들을 첨부함으로써 상기 제1 입력-출력 지식 그래프를 수정하는 단계는:
    상기 프로세싱 유닛에 의해, 상기 제1 입력-출력 지식 그래프의 복수의 부분들을 활성 섹션(section)과 잠재 섹션으로 분류하기 위해 상기 제1 입력-출력 지식 그래프를 분석하는 단계;
    상기 프로세싱 유닛에 의해, 상기 수신된 하나 이상의 지식 그래프 인스턴스들을 상기 제1 입력-출력 지식 그래프의 상기 활성 섹션 또는 상기 잠재 섹션 중 하나로 매핑(map)하는 단계; 및
    상기 프로세싱 유닛에 의해, 상기 수신된 하나 이상의 지식 그래프들을 상기 인지 규칙들의 세트에 기반하여 상기 제1 입력-출력 지식 그래프로 수정하는 단계를 포함하는, 런타임 시스템을 끊김없이 전환하는 방법.
  12. 컨트롤러 디바이스(124)로부터 디지털화 플랫폼(110)으로 런타임 시스템을 끊김없이 전환하기 위한 엔지니어링 시스템(102)으로서,
    프로세싱 유닛(202); 및
    상기 프로세싱 유닛(202)에 결합된 메모리(memory)(204)를 포함하며,
    상기 메모리는 하나 이상의 프로세서(processor)(들)에 의해 실행 가능한 기계 판독가능 명령들의 형태로 저장된 데이터 수집 및 분석 모듈(module)(112)을 포함하고,
    상기 데이터 수집 및 분석 모듈(112)은 제1 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행할 수 있는, 엔지니어링 시스템(102).
  13. 산업 환경(100)으로서,
    제10 항에 따른 엔지니어링 시스템(102);
    하나 이상의 물리적 구성요소들을 포함하는 기술 설비(106); 및
    네트워크(104)를 통해 상기 엔지니어링 시스템(102)에 통신 가능하게 결합된 복수의 인간 기계 인터페이스들(120A-N)을 포함하며,
    상기 엔지니어링 시스템(102)은 제1 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 산업 환경(100).
  14. 프로세싱 유닛(202)에 의해 실행될 때, 프로세서들이 제1 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하게 하는 기계 판독가능 명령들이 저장된 컴퓨터 프로그램 제품.
KR1020230054418A 2022-04-29 2023-04-26 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템 KR20230153942A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP22170746.6 2022-04-29
EP22170746.6A EP4270121A1 (en) 2022-04-29 2022-04-29 Method and system for seamless transition of runtime system from controller device to digitalization platform

Publications (1)

Publication Number Publication Date
KR20230153942A true KR20230153942A (ko) 2023-11-07

Family

ID=81448596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230054418A KR20230153942A (ko) 2022-04-29 2023-04-26 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US20230350392A1 (ko)
EP (1) EP4270121A1 (ko)
JP (1) JP2023164396A (ko)
KR (1) KR20230153942A (ko)
CN (1) CN116974244A (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160062B2 (en) * 2006-01-31 2012-04-17 Microsoft Corporation Network connectivity determination based on passive analysis of connection-oriented path information
US10805329B2 (en) * 2018-01-19 2020-10-13 General Electric Company Autonomous reconfigurable virtual sensing system for cyber-attack neutralization
DE102019121589A1 (de) * 2019-08-09 2021-02-11 Compredict Gmbh Verfahren zur Bestimmung einer Sensorkonfiguration

Also Published As

Publication number Publication date
JP2023164396A (ja) 2023-11-10
US20230350392A1 (en) 2023-11-02
EP4270121A1 (en) 2023-11-01
CN116974244A (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
EP3671571A1 (en) A method and system for generating an artificial intelligence model
EP3696745A1 (en) Intelligent workflow advisor for part design, simulation and manufacture
EP3037904B1 (en) Sizing and selection closer to the executing environment
Valente et al. An approach to design and develop reconfigurable control software for highly automated production systems
CN116859850A (zh) 一种模块化的工业数字孪生系统
US11928047B2 (en) Contextual data generation for application testing in mixed reality simulations
US20210200167A1 (en) Control program code conversion
EP4073626B1 (en) Method and system for generating engineering diagrams in an engineering system
US20230315613A1 (en) Method and system for eradicating programmatical errors from engineering programs in a technical installation
KR20230153942A (ko) 컨트롤러 디바이스로부터 디지털화 플랫폼으로 런타임 시스템을 끊김없이 전환하기 위한 방법 및 시스템
EP4148584A1 (en) Method and system for generating and optimizing test cases for an engineering program
US20220309209A1 (en) Method and system for provisioning simulation model generation in a cloud computing environment
EP4328681A1 (en) Method and system for managing technical installation during occurrence of error state in a controller
Mehdi et al. A simulator testbed for MT-Connect based machines in a scalable and federated multi-enterprise environment
EP4113282A1 (en) Method and system for generating programs for an automation system by code-similarity based approach
Lagartinho-Oliveira et al. Using Petri Nets for Digital Twins Modeling and Deployment: A Power Wheelchair System Case Study
US20230237249A1 (en) Method and system for generating an automation engineering project in a technical installation using multidisciplinary approach
EP4227824A1 (en) Method and system for generating metadata tags for a plurality of engineering objects
EP4328683A1 (en) Method and system for generating user recommendations to aid generation of an engineering project
EP4167079A1 (en) Method and system for generating and optimizing engineering programs for a technical installation
US20240264829A1 (en) Method and system for generating engineering programs which are compatible with a specific engineering environment
EP4141648A1 (en) Method and system for generating automation domain objects using knowledge from another automation domain object
EP4156050A1 (en) Method and system for optimizing an engineering project in a technical installation
EP4369187A1 (en) Method and system for implementing a virtual assistant for automatic configuration of engineering objects
EP4390666A1 (en) Method and system for automatic generation of domain based binary code for programmable logic controllers