KR20230032230A - 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 - Google Patents

비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20230032230A
KR20230032230A KR1020210114822A KR20210114822A KR20230032230A KR 20230032230 A KR20230032230 A KR 20230032230A KR 1020210114822 A KR1020210114822 A KR 1020210114822A KR 20210114822 A KR20210114822 A KR 20210114822A KR 20230032230 A KR20230032230 A KR 20230032230A
Authority
KR
South Korea
Prior art keywords
module
data
digital twin
business logic
user
Prior art date
Application number
KR1020210114822A
Other languages
English (en)
Other versions
KR102537489B1 (ko
Inventor
김세정
오철원
Original Assignee
주식회사 팀솔루션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 팀솔루션 filed Critical 주식회사 팀솔루션
Priority to KR1020210114822A priority Critical patent/KR102537489B1/ko
Priority to PCT/KR2022/012421 priority patent/WO2023033420A1/ko
Publication of KR20230032230A publication Critical patent/KR20230032230A/ko
Application granted granted Critical
Publication of KR102537489B1 publication Critical patent/KR102537489B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Abstract

본 발명의 일 실시예에 따른 디지털 트윈 구축 시스템에 있어서, 데이터를 수집하는, 데이터 수집 모듈; 수집한 데이터를 로드하여 전처리 모듈로 전송하는, 연결 제어 모듈; 수신한 데이터를 전처리하는, 전처리 모듈; 전처리된 데이터를 저장하는, 저장 모듈; 상기 저장 모듈에 저장되어 있는 전처리된 데이터 중 3D CAD 데이터를 기초로 3D 렌더링을 수행하는, 3D 모델 처리 모듈; 상기 디지털 트윈 구축 시스템에 정의된 제어 단위를 사용자 입력을 기초로 생성 및 편집 중 적어도 하나를 수행하는, 사용자 기능 편집 모듈; 상기 사용자 기능 편집 모듈을 통해 생성 또는 편집된 제어 단위를 저장 및 관리하는, 설정 관리 모듈; 및 상기 시용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 컴포넌트를 적어도 하나 제공하는, 디지털 트윈 인터페이스 모듈; 을 포함할 수 있다.

Description

비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치{Digital twin constructing system, method and device therefor using visual script}
본 명세서는 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치를 제안한다.
디지털 트윈이란, 산업 현장의 특정 객체와 객체의 집합을 3D 모델로 재현/구현하고, 이를 ERP, MEW와 같은 생산 관리 시스템이나 IoT, PLC 등의 하드웨어 연결 기기의 데이터를 상기 3D 모델에 적용/반영하여, 실제 산업 현장의 모니터링, 시뮬레이션, 예지 보전 등을 수행하는 가상 시스템을 지칭한다.
정적인 객체뿐 아니라 이를 포함하는 전체 공정이 완벽히 재현된 '디지털 트윈'이 구현되기 위해서는 각 객체들간의 연관관계 혹은 로직이 세밀하게 설계되고 구현되어야 한다. 하지만, 최근 소비자 취향의 다변화에 따라 유연한 생산 방식이 강조되면서, 공정의 흐름이 재설계되거나 공장의 설비가 교체되는 경우가 잦은 빈도로 발생하고 있다. 이러한 변화가 적극적으로 반영되어 디지털 트윈 역시 변경되어야 하지만, 종래의 디지털 트윈 구현 시스템은 이러한 빠른 변화를 반영하는 데 많은 어려움이 있었다. 그 이유는, 종래의 디지털 트윈 구현 시스템은 특정 공정/객체 단위로 구분되어 있지 않고 전체가 하나의 공정/객체로 연속적으로 설계되어 있기 때문에, 사용자가 특정 공정/객체만을 선택적으로 수정하거나 보완하기가 매우 어려운 구조로 구성되어 있기 때문이다.
따라서, 본 명세서에서는 상술한 종래 기술의 문제점을 해결하고자, 공정, 객체, 기능, 설정 등과 같이 실제 공정에서 유동적으로 변동 가능한 제어 단위(본 발명의 경우 '블록', '로직', 'API' 등)를 정의하고, 이렇게 정의된 제어 단위가 상호 연결된 구조 기반의 전체 디지털 트윈 구축 시스템을 제안하고자 한다.
이렇게 생성된 디지털 트윈 구축 시스템의 경우, 사전에 정의된 제어 단위별로 변경, 대체 등이 가능하므로, 다이나믹하게 변화하는 실제 산업 현장을 제약없이 완벽하게 디지털 트윈으로 구현/재현해낼 수 있다는 효과가 있다.
본 발명의 일 실시예에 따른 디지털 트윈 구축 시스템에 있어서, 데이터를 수집하는, 데이터 수집 모듈; 수집한 데이터를 로드하여 전처리 모듈로 전송하는, 연결 제어 모듈; 수신한 데이터를 전처리하는, 전처리 모듈; 전처리된 데이터를 저장하는, 저장 모듈; 상기 저장 모듈에 저장되어 있는 전처리된 데이터 중 3D CAD 데이터를 기초로 3D 렌더링을 수행하는, 3D 모델 처리 모듈; 상기 디지털 트윈 구축 시스템에 정의된 제어 단위를 사용자 입력을 기초로 생성 및 편집 중 적어도 하나를 수행하는, 사용자 기능 편집 모듈; 상기 사용자 기능 편집 모듈을 통해 생성 또는 편집된 제어 단위를 저장 및 관리하는, 설정 관리 모듈; 및 상기 시용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 컴포넌트를 적어도 하나 제공하는, 디지털 트윈 인터페이스 모듈; 을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 정의된 제어 단위별로 변경, 대체 등의 유동적인 편집이 가능하므로, 다이나믹하게 변화하는 실제 산업 현장을 제약없이 완벽하게 디지털 트윈으로 구현/재현해낼 수 있다는 효과가 있다.
또한, 본 발명의 일 실시예에 따르면, 현장 데이터로 구성된 디지털 트윈의 컴포넌트를 사용자가 쉽게 배치할 수 있는 GUI(Graphic User Interface) 편집 기능을 제공하므로, 사용자는 해당 GUI 편집 기능을 통해 직관적으로 컴포넌트의 레이아웃을 (재)구성/(재)정렬할 수 있어 사용성 및 편의성이 향상될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 실제 현장 데이터 및 2D 컴포넌트와 연동된 3D 모델 재현/구현을 지원한다는 점에서, 사용자가 보다 직관적이고 효율적으로 실제 산업 현장을 파악 및 예측할 수 있다는 효과가 있다.
또한, 본 발명의 일 실시예에 따르면, 디지털 트윈에서 구현된 3D 모델에 대한 제어를 통해 실제 산업 현장의 객체/공정을 제어할 수 있는 공정 제어 시스템의 근간을 마련한다는 효과가 있다.
또한, 본 발명의 일 실시예에 따르면, 현장 실무자의 외부 개발자에 대한 의존도를 낮추고, 개별 현장에 보다 특화된 디지털 트윈의 구축이 가능하다는 효과가 있다.
이외에도 본 발명의 효과는 이에 한정되지 않으며, 이하에서 각 실시예를 참조하여 상세히 후술하기로 한다.
도 1은 본 발명의 일 실시예에 따른 디지털 트윈 구축 시스템을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 디지털 트윈 구축 방법을 예시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 비즈니스 로직 편집 실시예를 예시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 비주얼 스크립트 환경 기반의 비즈니스 로직 편집 화면을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따라 정의된 비즈니스 로직 중 데이터 비교 기능 블록의 작동 방법에 관한 순서도이다.
도 6은 본 발명의 일 실시예에 따라 비즈니스 로직이 적용된 3D 모델을 예시한 도면이다.
도 7 및 8은 본 발명의 일 실시예에 따른 디지털 트윈 인터페이스 모듈이 제공하는 인터페이스 화면을 예시한 도면이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. 예를 들어, 'A 및/또는 B'는 'A 또는 B 중 적어도 하나'의 의미로 해석될 수 있다. 또한, '/'는 '및' 또는 '또는'으로 해석될 수 있다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 디지털 트윈 구축 시스템을 예시한 도면이다.
본 블록도에서 각 구성은 설명의 편의를 위해 기능 단위로 구분된 개념이므로, 실제 시스템 구현에 있어서 하나의 구성은 하나 또는 복수의 하드웨어/소프트웨어의 조합으로 구현되거나 복수의 구성이 하나의 하드웨어/소프트웨어로 구현될 수 있음은 물론이다. 특히, 디지털 트윈 구축 시스템(100)에 포함된 모듈은, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), AP(Application Processor), AP(Application Processor) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 이용하여 구현될 수 있다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 디지털 트윈 구축 시스템(100)은, 데이터 수집 모듈(110), 연결 제어 모듈(120), 전처리 모듈(130), 저장 모듈(140), 3D 모델 처리 모듈(150), 설정 관리 모듈(160), 사용자 기능 편집 모듈(180) 및/또는 디지털 트윈 인터페이스 모듈(170)을 포함하여 구성될 수 있다. 디지털 트윈 구축 시스템(100)에서 적어도 하나의 모듈(110~180)은 실시예에 따라 제외되거나 새로운 모듈이 부가될 수 있음은 물론이다.
데이터 수집 모듈(110)은, 디지털 트윈의 대상이 되는 공정/현장의 다양한 데이터를 수집하는 모듈에 해당할 수 있다. 예를 들어, 디지털 트윈의 대상이 되는 공정이 제조업 공정인 경우, 데이터 수집 모듈(110)은 제조업 공정의 ERP, MES, PLM, PDM 등의 시스템(특히, 데이터 베이스)에 저장되어 있는 공정, 생산 계획 등과 관련된 데이터 및 실제 공정/현장을 렌더링한 3D CAD(Computer Aided Design) 모델링 데이터 등을 수집할 수 있다. 이외에도, 데이터 수집 모듈(110)은 디지털 트윈의 대상이 되는 공정/현장을 렌더링한 3D CAD 모델링 데이터, 해당 공정/현장에 설치된 IoT 시스템에 저장되어 있는 데이터, IoT 기기가 송/수신하는 데이터(예를 들어, 온도, 습도 등), 공정/현장 객체를 제어하는 PLC의 송수신 데이터, 및 공정/현장 객체가 송/수신하는 데이터 등 디지털 트윈을 구축하는 데 있어 필요한 실제 현장의 모든 데이터를 다양하게 수집할 수 있다.
만일, 미리 생성된 3D CAD 모델링 데이터가 존재하지 않는 경우, 해당 공정/현장에 대한 3D 스캐닝을 통해 별도의 모델링 과정을 거쳐 3D CAD 모델링 데이터를 생성하는 작업이 추가로 수행될 수 있다. 이렇게 생성된 3D CAD 모델링 데이터 역시 데이터 수집 모듈(110)에 의해 수집될 수 있다.
연결 제어 모듈(120)은 데이터 수집 모듈이 수집한 데이터를 로드하여 전처리 모듈로 전송하는 모듈에 해당할 수 있다. 전송은 기설정된 표준 프로토콜을 기반으로 네트워크를 통해 수행될 수 있다. 연결 제어 모듈(120)은 '미들웨어 게이트웨이 라우터'로 지칭될 수도 있다.
전처리 모듈(130)은 연결 제어 모듈(120)을 통해 전달받은 데이터를 전처리하는 모듈에 해당할 수 있다. 보다 상세하게는, 전처리 모듈(130)은 연결 제어 모듈(120)을 통해 전달받은 데이터의 종류를 판별하고, 이를 디지털 트윈 구축에 활용 가능한 공통의 데이터 포맷으로 가공/파싱하는 동작을 수행할 수 있다.
저장 모듈(140)은 다양한 데이터를 저장하는 저장하는 모듈에 해당할 수 있다. 예를 들어, 저장 모듈(140)은 플래시 메모리, HDD(Hard Disk Drive), SSD(Solid State Drive), 클라우드 등에 해당할 수 있다. 특히, 저장 모듈(140)은 전처리 과정을 거쳐 가공된 데이터 및 디지털 트윈 시스템에서 새롭게 생성되는 다양한 데이터를 저장하는 기능을 수행할 수 있다. IoT 기기/시스템 및/또는 PLC부터 수집한 데이터와 같이 실시간으로 수집되는 데이터는 실시간 데이터로 분류될 수 있으며, 실시간 데이터는 저장 모듈(140) 내에 별도로 마련되어 있는 별도의 저장 공간에 저장될 수 있다. 디지털 트윈에서 새롭게 생성되는 데이터는, 이하에서 후술할 모듈들의 동작에 따라 새롭게 생성되는 데이터를 의미하는 것으로, 예를 들어 블록, 로직(또는 비즈니스 로직), API 등이 이에 해당할 수 있다. 이들에 대해서는 설정 관리 모듈(160)과 관련하여 이하에서 상세히 후술하기로 한다.
이렇듯 실시간 수집 데이터만 별도로 저장하는 이유는, 실시간 수집 데이터를 저장 모듈에 설치된 관계형 데이터 베이스에 기록하는 것보다 시간별 데이터를 관리하기에는 TSDB(time series database)를 활용하는 것이 보다 더 효율적이기 때문이다. 특히, 실시간 수집 데이터의 경우, AI 학습에 활용되거나 혹은 시간에 따른 데이터 변화량을 기초로 통계를 산출하는 등과 같은 추가적인 활용 용도를 기대할 수 있기 때문에 별도 저장한다. 3D 모델 처리 모듈(150)은 저장 모듈(140)에 저장되어 있는 3D CAD 모델링 데이터를 기초로 3D 렌더링을 수행하는 모듈에 해당할 수 있다. 이러한 3D 모델 처리 모듈(150)은 구체적인 3D 렌더링 동작에 따라 다시 분석 모듈(Analyzer)(150-1), 경량화 모듈(Lightweight)(150-4), 렌더링 모듈(rendering)(150-2), 재구축 모듈(Re-Constructor)(150-3)로 구분될 수 있다.
분석 모듈(150-1)은 3D CAD 모델링 데이터를 분석하고, 분석 결과를 경량화 모듈(150-4)로 전달하며, 경량화 모듈(150-4)은 분석 결과를 기초로 3D CAD 모델링 데이터의 경량화를 수행한 후 저장 모듈(140)에 저장하는 기능을 수행할 수 있다. 여기서, 3D CAD 모델링 데이터의 경량화는, 3D CAD 모델링 데이터의 전체 사이즈를 경량화하는/줄이는 일련의 작업을 통칭한다. 예를 들어, 경량화는 3D CAD 모델링 데이터에 따라 렌더링된 3D 모델 자체의 형상뿐 아니라, 3D CAD 모델링 데이터에 포함되어 있는 데이터의 계층 구조에도 적용될 수 있다. 이를 통해 3D 모델링 작업/구축에 있어 요구되는 연산량을 감소시켜 결과적으로 전체 디지털 트윈 구축 시스템(100) 속도를 향상시키고 오버헤드를 최소화된다는 효과가 발생한다.
재구축 모듈은, 트리 기반의 구조로 이루어진 3D 모델의 자료 구조를 변경하여 추가, 확장, 축소 등 사용자의 용이/편의에 맞게 변경하는 기능을 제공하는 모듈에 해당한다. 특히, 재구축 모듈은, 경량화 모듈이 경량화를 진행할 때, 리소스 사용을 최소화하기 위해 구조를 직렬과 또는 Merge 등의 방식으로 간소화하여 경량화 진행 속도를 빠르게 앞당기는 기능을 수행할 수 있다.
경량화된 3D CAD 모델링 데이터는 저장 모듈(140)에 저장될 수 있으며, 사용자는 후술하는 설정 관리 모듈(160) 및 사용자 기능 편집 모듈(180)을 통해 저장된 3D CAD 모델링 데이터에 대한 접근이 가능하다. 특히, 사용자는 해당 모듈(160, 180)을 통해 저장된 3D CAD 모델링 데이터 중 적어도 하나에 대하여 선택 입력을 수행할 수 있으며, 선택된 3D CAD 모델링 데이터는 후술하는 렌더링 모듈(150-2)에 의해 3D 모델로 렌더링되어 화면에 출력될 수 있다.
렌더링 모듈(150-2)은 경량화되어 저장 모듈(140)에 저장되어 있는 3D CAD 모델링 데이터를 로드하여 렌더링할 수 있다. 렌더링 모듈(150-2)은 특히 실시간 렌더링 모듈과 실시간으로 통신을 수행하여 실시간으로 선택된 3D CAD 모델링 데이터에 대한 렌더링을 수행할 수 있다. 실시간 렌더링 모듈은, 예를 들어 유니티, 언리얼, Blender3D 등과 같은 3rd party 3D 플랫폼 인터페이스 또는 소프트웨어 개발 키트(Software Development Kit)를 일컫는 것으로, 오픈소스 라이브러리를 통해 실시간으로 3D CAD 모델링 데이터를 3D 모델로 렌더링하여 렌더링 모듈로 전송할 수 있으며, 렌더링 모듈(150-2)은 수신한 3D 모델을 실시간 출력할 수 있다. 사용자는 사용자 기능 편집 모듈(180)을 통해 렌더링 모듈(150-2)에 접근 가능하며, 렌더링 모듈(150-2)(및/또는 실시간 렌더링 모듈)이 지원하는 그래픽 연산 기능을 활용하여 렌더링된 3D 모델의 배치 방식 및 로직을 손쉽게 변경/편집/구현할 수 있다.
설정 관리 모듈(160)은 디지털 트윈 구축 시스템(100)에서 정의된 제어 단위(특히, 'API(Application Programming Interface)')로 저장, 관리 및/또는 제어하는 모듈에 해당할 수 있다.
보다 상세하게는, 본 명세서에서 제안되는 디지털 트윈 구축 시스템(100)은, 종래의 다른 디지털 트윈 구축 시스템과는 달리, 제어 대상/공정/객체를 조각화/세분화/세그먼트화하여 최소 제어 단위를 정의하고, 이러한 최소 제어 단위 비즈니스 로직을 구성하여 보다 자유롭고 유동적인 디지털 트윈 구축 환경을 제공함을 목적으로 한다. 본 시스템(100)에서 이러한 최소 제어/기능 단위는 '블록'으로 지칭된다. 이러한 블록은 제어 최소 단위라면 어떠한 기능/형태/객체/공정/구성/설정/동작 등으로든 정의될 수 있으며, 사용자에 의해 자유롭게 코딩되어 정의되거나 운영자/관리자에 의해 사전에 코딩되어 사용자에게 제공될 수 있다.
블록의 조합은 다시 '비즈니스 로직(또는 '로직')'으로 정의될 수 있다. 보다 상세하게는, 비즈니스 로직은 복수의 블록들을 포함할 수 있으며, 이들간의 관계, 동작 규칙, 데이터 생성/변형/저장/송수신 방법/규칙을 규정하는 전체 알고리즘에 해당할 수 있다. 블록 조합을 기반으로 한 비즈니스 로직의 생성 방법/규칙에 대해서는 도 3 및 4를 참조하여 이하에서 보다 상세히 후술하기로 한다.
나아가, 비즈니스 로직과 결합된 3D 모델은 다시 하나의 'API'로 정의될 수 있다. 이러한 API는 적어도 하나의 기능을 수행할 수 있는 공정/실험 단위를 의미할 수 있으며, 주로는 사용자(또는 관리자/운영자)에 의해 설정될 수 있다. 예를 들어, 식품 제조 공정이 크게 롤링 -> 가압 -> 절삭, 이렇게 3가지 공정으로 구분되는 경우, 사용자는 각 공정을 API(예를 들어, 순서대로 제1 내지 제3 API)로 설정할 수도 있으며, 3가지 공정을 통합하여 하나의 API로 설정할 수도 있다. 또한, API는 사용자 기능 편집 모듈과 연동되어 포함하고 있는 비즈니스 로직을 제어하고 수행하는 모듈 역할을 수행할 수 있다.
결국 본 명세서에서 제안되는 디지털 트윈 구축 시스템(100)에서, 적어도 하나의 블록의 조합으로 비즈니스 로직이 정의되고, 적어도 하나의 비즈니스 로직의 조합으로 API가 정의되는 3단계 계층 구조가 형성됨을 알 수 있다. 이를 상술한 예를 기초로 설명하면, 가압기의 가압 레벨, 가압 온도, 가압 시간 등과 같은 세분화된 최소 제어 단위 각각이 하나의 블록으로 정의될 수 있으며, 각 블록간 규칙/관계/순서 등이 비즈니스 로직으로서 (사용자에 의해) 정의/설정된 후 3D 모델과 결합/연동되어 하나의 가압 공정 API를 형성하게 된다. 이러한 블록, 비즈니스 로직 및 API는 사용자 기능 편집 모듈(180)을 통해 사용자(및/또는 관리자/운영자)에 의해 자유롭게 생성/편집될 수 있다.
설정 관리 모듈(160)은 이렇게 생성/편집된 API를 저장, 관리 및 제어하는 모듈로서, 사용자는 설정 관리 모듈(180)을 통해 API에 접근하여 해당 API가 렌더링된 3D 모델을 통해 시각적으로 쉽게 확인할 수 있게 된다. 따라서, 사용자는 시뮬레이션, 모니터링, 예지 보전 등을 수행하기 위한 제어 단위를 직접 API로 설정하여 3D 모델을 통해 시각적으로 확인할 수 있으며, 각 API에 대한 세부적인 제어는 이들에 포함되어 있는 비즈니스 로직 편집을 통해 수행될 수 있다
또한, 설정 관리 모듈(160)은 사용자 기능 편집 모듈(180) 및 디지털 트윈 인터페이스 모듈(170)과, 저장 모듈(140) 사이에 위치하여, 저장 모듈(140)에 저장되어 있는 데이터를 사용자 기능 편집 모듈(180)과 디지털 트윈 인터페이스 모듈(170)에 연동시키는 기능을 수행할 수 있다.
사용자 기능 편집 모듈(180)은 렌더링 모듈(150-2)과 연결되어 렌더링 모듈(150-2)을 통해 그래픽 연산이 수행된 3D 모델을 출력, 배치, 조작, 확대, 축소 및 변경하는 모듈에 해당할 수 있다. 나아가, 사용자 기능 편집 모듈(180)은 비주얼 스크립트 기술을 기초로, 출력 중인 3D 모델에 대한 비즈니스 로직을 편집하는 기능을 제공하는 모듈에 해당할 수 있다.
사용자 기능 편집 모듈(180)은 저장 모듈(140)과 연결되어 저장 모듈(140)에 저장되어 있는 다양한 데이터를 활용할 수 있다. 예를 들어, 사용자 기능 편집 모듈(180)은 저장 모듈(140)에 저장되어 있는 특정 데이터를 로딩하여 새로운 블록을 생성하거나 기존의 블록을 편집하는 기능을 제공할 수 있다. 그리고/또는, 사용자 기능 편집 모듈(180)은 특정 데이터를 지정하거나 지정한 데이터간 관계를 설정함으로써 비즈니스 로직을 생성 및/또는 편집하는 기능을 제공할 수 있다.
사용자 기능 편집 모듈(180)을 통한 비주얼 스크립트 기반의 비즈니스 로직(또는 API) 생성 및/또는 편집 기능을 제공할 수 있다. 여기서 비주얼 스크립트란, 그래픽으로 프로그램 요소를 시각화하여 제공하고, 사용자는 시각적으로 제공된 프로그램 요소를 조작하여 보다 쉽게 프로그래밍을 수행할 수 있는 프로그래밍 언어의 한 종류이다. 비주얼 스크립트에 따른 프로그래밍의 경우, 전문가가 아닌 초보자도 쉽게 직관적으로 프로그래밍을 수행할 수 있다는 장점이 있다. 사용자 기능 편집 모듈(180)은 이러한 비주얼 스크립트 환경을 지원하며, 각 블록은 시각화되어 사용자에게 제공될 수 있다. 사용자는 이렇게 시각적으로 제공된 블록을 조작(예를 들어, 배치, 연결, 추가, 삭제 등)하여 비즈니스 로직을 구성할 수 있다.
사용자 기능 편집 모듈(180)이 지원하는, 비주얼 스크립트 환경 기반의 비즈니스 로직 편집 실시예에 대해서는 도 3 및 4를 참조하여 이하에서 상세히 후술하기로 한다.
디지털 트윈 인터페이스 모듈(170)은, 사용자 입력에 따라 적어도 하나의 기정의된 컴포넌트를 인터페이스 화면에 로딩 및 배치하여 출력하는 모듈에 해당할 수 있다. 여기서, 컴포넌트란 API와 관련된 데이터가 시각화된 요소로서 예를 들어, 이미지, 텍스트, 동영상, 그래프, 표 등이 이에 해당할 수 있다. 특히, 디지털 트윈 인터페이스 모듈(170)은 인터페이스 화면 내에서의 컴포넌트에 대한 배치, 조작, 생성, 삭제, 레이아웃 지정, 변경 등과 같은 편집 기능을 추가로 제공할 수 있다. 또한, 디지털 트윈 인터페이스 모듈(170)은 렌더링 모듈(150-2)로부터 3D 모델을 로딩하고, 로딩한 3D 모델에 대한 조작 기능을 인터페이스 화면을 통해 제공할 수 있다. 이외에, 디지털 트윈 인터페이스 모듈(170)을 통한 컴포넌트 제어에 대한 실시예에 대해서는 도 7 및 8을 참조하여 이하에서 상세히 후술하기로 한다.
도 2는 본 발명의 일 실시예에 따른 디지털 트윈 구축 방법을 예시한 순서도이다.
본 순서도의 S201 내지 S208 단계는, 도 1의 110 내지 150, 180, 160 및 170 모듈에 순차적으로 매칭/대응되며, 각 단계는 매칭/대응하는 모듈에 의해 수행되는 것으로 해석될 수 있다. 따라서, 본 순서도의 각 단계는 도 1에서 상술한 매칭/대응하는 모듈의 기능/동작 설명으로 대체될 수 있으며, 중복되는 설명은 생략한다.
도 2를 참조하면, 디지털 트윈 구축 방법에 있어서, 우선 데이터 수집 모듈이 데이터를 수집할 수 있다(S201). 보다 상세하게는, 데이터 수집 모듈은 디지털 트윈의 대상이 되는 공정/현장의 다양한 데이터를 수집할 수 있다.
다음으로, 연결 제어 모듈이 연결을 제어할 수 있다(S202). 보다 상세하게는, 연결 제어 모듈은 데이터 수집 모듈이 수집한 데이터를 로드하고 이를 전처리 모듈로 전달하여, 데이터 수집 모듈과 전처리 모듈 사이의 연결을 제어하는 동작을 수행할 수 있다.
다음으로, 전처리 모듈이 수신한 데이터에 대한 전처리 동작을 수행할 수 있다(S203). 보다 상세하게는, 연결 제어 모듈을 통해 전달받은 데이터를, 디지털 트윈 구축에 활용 가능한 공통의 데이터 포맷으로 가공/파싱하는 동작을 수행할 수 있다.
다음으로, 저장 모듈은 전처리 모듈에 의해 전처리된 데이터를 수신 및 저장하는 동작을 수행할 수 있다(S204).
다음으로, 3D 모델 처리 모듈은 저장 모듈에 저장되어 있는 데이터 중 3D CAD 모델링 데이터를 추출하여 분석 및 경량화한 후 다시 저장 모듈로 전송하여 저장할 수 있다(S205).
다음으로, 사용자 기능 편집 모듈은, 사용자 입력에 기초하여, 설정 관리 모듈에 저장되어 있는 API를 로딩하여 편집하거나, 새로운 API를 생성할 수 있다(S206).
다음으로, 설정 관리 모듈은 사용자 기능 편집 모듈에서 편집되거나 새롭게 생성된 API를 저장 및 관리할 수 있다(S207). 본 단계에서는 API만을 예로 들었으나 이에 한정되지 않고, API에 포함된 블록 및/또는 비즈니스 로직 역시 설정 관리 모듈에 의해 저장 및 관리될 수 있다.
다음으로, 디지털 트윈 인터페이스 모듈은, 인터페이스 화면에 현재 작업중인(또는 선택/로딩된) API(및/또는 블록, 비즈니스 로직 등)에 대한 적어도 하나의 컴포넌트를 인터페이스 화면에 출력할 수 있다(S208).
본 순서도에서는 설명의 편의를 위해 각 단계를 시간 순서에 따라 시계열적으로 표현하였으나 이에 한정되는 것은 아니며, 실시예에 따라 순서가 변경되거나 어느 하나의 단계가 제외되거나 새로운 적어도 하나의 단계가 추가될 수 있다.
도 3은 본 발명의 일 실시예에 따른 비즈니스 로직 편집 실시예를 예시한 순서도이며, 도 4는 본 발명의 일 실시예에 따른 비주얼 스크립트 환경 기반의 비즈니스 로직 편집 화면을 예시한 도면이다.
도 3을 참조하면, 우선 사용자 기능 편집 모듈은, 사용자 선택 입력에 기초하여 설정 관리 모듈에 저장되어 있는 API 중 적어도 하나를 로드할 수 있다(S301). 로드된 API는, 비주얼 스크립트 기술을 기반으로, 복수의 블록(b1~b8) 조합이 시각화되어 도 4와 같이 출력될 수 있으며, 이러한 블록(b1~b8)간 비즈니스 로직(410)이 반영될 객체는 도 6과 같이 3D 모델(610)로 렌더링되어 출력될 수 있다.
다음으로, 사용자는 도 4와 같이 시각화된 비즈니스 로직(410)을 확인하여 원하는 블록이 존재하는지 여부를 판단할 수 있다(S302).
만일, 비즈니스 로직(410) 내에 원하는 블록이 존재하지 않는 경우, 사용자는 직접 코딩을 수행하여 원하는 블록을 새롭게 생성하고(S303), 새롭게 생성한 블록을 설정 관리 모듈에 등록할 수 있다(S304). 사용자는 가상 구현하고자 하는 상황/공정/환경에 맞춰, 새롭게 생성한 블록을 비즈니스 로직(410) 내에 원하는 위치에 배치한 후 다른 블록과 연결할 수 있다. 반대로, 비즈니스 로직(410) 내에 원하는 블록이 존재했던 경우, 사용자는 해당 블록을 가상 구현하고자 하는 상황/공정/환경에 맞춰, 새롭게 생성한 블록을 비즈니스 로직(410) 내에 원하는 위치에 배치한 후 다른 블록과 연결할 수 있다(S305).
다음으로, 사용자는 각 블록별 입출력 값을 조절하기 위한 내부 파라미터 값을 직접 설정/수정할 수 있다(S306). 각 블록에 입력된 입력 값은 이렇게 설정된 내부 파라미터 값을 기초로 제한되거나 연산되어 출력 값으로 출력될 수 있다. 이에 관한 상세한 설명은 도 5 및 6을 참조하여 이하에서 후술하기로 한다.
다음으로, 사용자는 각 블록별 입출력 데이터를 직접 설정/선택/수정할 수 있다(S307). 예를 들어, 도 4에 예시된 바와 같이, 각 블록(b1~b8)별로 좌측에는 입력 가능한 데이터의 종류가, 우측에는 출력되는 데이터의 종류가 각각 설정되어 있을 수 있다. 특히, b2 블록을 예로 들면, 입력 가능한 데이터의 종류로 send 및 start가, 출력 데이터의 종류로 received가 설정되어 있다. 사용자는 각 블록(b1~b8)별로 입출력 데이터의 종류를 선택하여 각 블록(b1~b8)별 입출력 데이터를 설정할 수 있다. 각 입출력 데이터 종류별로 선택 여부를 표시하기 위한 인디케이터가 추가로 제공될 수 있다. 사용자는 해당 인디케이터를 통해 각 블록(b1~b8)별로 현재 어떠한 입출력 데이터 종류가 설정되어 있는지를 시각적으로/직관적으로 쉽게 확인 가능하다.
본 순서도에는 도시하지 않았으나, 사용자는 이렇게 개별적인 블록(b1~b8)에 대한 설정/편집을 수행한 후, 전체 블록(b1~b8)의 입출력부를 상호 연결하는 비즈니스 로직(410) 형성/편집 동작을 추가로 수행할 수 있다. 예를 들어, b2 블록의 received 출력부를 b3 블록의 A 입력부와 연결함으로써, b2 블록의 출력 데이터가 b3의 A 입력 데이터로서 입력되도록 비즈니스 로직(410)을 구성할 수 있다.
이렇듯 본 발명의 일 실시예에 따를 때, 비주얼 스크립트 환경을 기반으로 사용자는 시각적으로 복수의 블록들의 배치, 위치, 순서, 기능 및/또는 복수의 블록들간의 연결선 등을 수정함으로써 비즈니스 로직(410)의 구성/편집이 가능하므로, 매우 쉽고 직관적으로 원하는 형태의 디지털 트윈의 구축이 가능하다는 효과가 발생한다.
마지막으로, 사용자는 편집이 완료된 비즈니스 로직(410)을 설정 관리 모듈에 등록한 뒤 이를 실행시킬 수 있다(S308). 실행 시 비즈니스 로직(410)을 따라 연동된 3D 모델이 작동할 수 있으며, 블록(b1~b8)간 입출력 데이터의 흐름은 연결선에 시각적 효과(예를 들어, 연결선이 깜빡임 등)가 적용됨으로써 표시될 수 있다. 비즈니스 로직(410) 실행에 관한 구체적인 설명은 도 5 및 6을 참조하여 이하에서 후술하기로 한다.
정리하자면, 사용자는 사용자 기능 편집 모듈을 통해, 설정 관리 모듈에 기정의된 블록(비주얼 스크립트 다이어그램의 단위)을 불러오거나 새롭게 생성할 수 있다. 사용자는 불러오거나 새롭게 생성한 블록을 배치한 뒤, 각 블록(b1~b8)의 입출력부를 드래그 입력 등을 통해 선으로 상호 연결시킴으로써 비즈니스 로직(410)의 데이터 입출력 관계/순서를 설정할 수 있다. 이러한 비즈니스 로직(410)은 3D 모델과 연동되어 하나의 API로서 정의될 수 있으며, 3D 모델과 연동되어 작동할 수 있다.
저장 모듈에 저장된 경량화된 3D CAD 모델링 데이터는, 설정 관리 모듈을 통해 접근이 가능하다. 설정 관리 모듈에서 관리되는 데이터/파일(특히, 블록(b1~b8), 비즈니스 로직(410) 및/또는 API 등)의 경우, 사용자 기능 편집 모듈 내의 드롭다운 메뉴에 표시될 수 있다. 3D 모델과 연동되어 작동하는 비즈니스 로직의 예시로는, 설비 움직임 검토 및 로봇 경로 설정을 위한 키네마틱이 있다. 키네마틱은 설비 움직임의 범위 및 한계를 규정하는 로직으로, 키네마틱이 부여된 3D 모델은 특정 조건이 충족되면 애니메이션으로 재생될 수 있다.
도 5는 본 발명의 일 실시예에 따라 정의된 비즈니스 로직 중 데이터 비교 기능 블록의 작동 방법에 관한 순서도이며, 도 6은 본 발명의 일 실시예에 따라 비즈니스 로직이 적용된 3D 모델을 예시한 도면이다.
도 5를 참조하면, 사용자 기능 편집 모듈은 실행 명령에 따라 비즈니스 로직을 실행할 수 있으며, 비즈니스 로직에서 정의된 순서 및 관계에 따라 블록간 입/출력 값이 송수신될 수 있다(S501). 블록이 이전 블록으로부터 입력 값을 수신하면, 해당 블록은 입력 값을 기초로 기정의된/기설정된 기능을 수행할 수 있다. 본 순서도에서는 특히, 데이터 비교 기능이 설정된 블록을 중심으로 설명한다.
데이터 비교 기능 블록은 이전 블록들로부터 입력 값 및 파라미터 값을 수신하면, 입력 값 및 파라미터 값 사이의 비교 동작을 수행할 수 있다(S502). 도 4의 b7 블록을 예시로 들면, 사용자가 b3 블록의 B 입력 값과 연결된 b7 블록의 파라미터 값을 25,000으로 입력한 경우, b3 블록은 이전 블록인 b2 블록으로부터 입력된 A 입력 값과 또 다른 이전 블록인 b7 블록으로부터 입력된 B 입력 값(즉, 파라미터 값=25,000)을 상호 비교하는 동작을 수행할 수 있다.
만일, 비교 결과가 블록에 정의/설정되어 있는 대소 조건을 만족하는 경우, 사용자 기능 편집 모듈은 해당 블록이 포함된 비즈니스 로직을 3D 모델(610)과 연동하여 도 6에 예시한 바와 같이 시뮬레이션하여 출력할 수 있다(S504). 예를 들어, b3 블록에 A > B 조건으로 대소 조건이 설정되어 있는 경우, A 입력 값이 25,000 초과 값으로 수신된 경우에 한해 3D 모델 시뮬레이션 동작을 수행할 수 있다.
반대로, 비교 결과가 블록에 정의/설정되어 있는 대소 조건을 만족하지 못한 경우, 사용자 기능 편집 모듈은 파라미터 값을 기설정된 값만큼 감소시킨 후 S502 단계로 회귀할 수 있다(S503). 예를 들어, b3 블록에 A > B 조건으로 대소 조건이 설정되어 있고 A 입력 값으로 25,000이 입력된 경우, 사용자 기능 편집 모듈은 25,000을 기설정된 값(예를 들어, 5,000)을 감소시킨 후 S502 단계로 회귀할 수 있다.
이는 실제 주변 환경에 따른 영향을 실제 비즈니스 로직에 반영하여 보다 정확한 디지털 트윈을 구현하기 위함으로, 예를 들어 로봇팔 모델이 실제 수직 방향으로 180도 범위까지 작동 가능하나, 주변 장애물, 천장 등의 영향으로 실제로는 90도 범위까지밖에 작동하지 못하는 경우 등에 적용될 수 있다. 이때, 파라미터 값은 사용자가 설정한 로봇팔 모델의 작동 범위이고, 입력 값이 실제 공정 환경에 따른 가동 제한 범위에 각각 해당할 수 있다. 본 실시예에 따를 때 실제 현장을 정확하게 반영한 디지털 트윈의 구현이 가능하다는 효과가 있다.
도 7 및 8은 본 발명의 일 실시예에 따른 디지털 트윈 인터페이스 모듈이 제공하는 인터페이스 화면을 예시한 도면이다.
도 7 및 8에 예시된 바와 같이, 디지털 트윈 인터페이스 모듈은 적어도 하나의 컴포넌트가 포함된 인터페이스 화면을 제공할 수 있다. 디지털 트윈 인터페이스 모듈은 인터페이스 화면을 통해, 새로운 컴포넌트를 생성하거나, 기생성된 컴포넌트의 배치, 삭제, 추가, 위치 변경, 컴포넌트간의 관계 설정 등과 같은 편집/설정 기능을 제공하여 사용자 맞춤형 화면을 구성하는 데 도움을 줄 수 있다. 이러한 편집 기능은, 인터페이스 화면에 각 편집 기능 실행 버튼이 포함된 툴 박스 형태로 제공될 수 있으며, 사용자는 툴 박스에 대한 선택 입력을 수행하여 컴포넌트를 편집할 수 있다. 나아가, 드래그, 클릭, 드롭 등과 같은 입력 형태를 통해 자유롭게 컴포넌트의 배치, 레이아웃을 직접 변경하여, 자신의 기호/편의에 맞게 인터페이스 화면을 구성할 수 있다.
나아가, 높은 수준의 커스터마이징 구현을 위해, 디지털 트윈 인터페이스 모듈은 소스 코드의 참조 및 수정 기능을 제공할 수 있다. 이를 위해, 디지털 트윈 인터페이스 모듈은 인터페이스 화면을 통해 웹페이지 소스 코드 생성기 및 에디터 기능을 추가로 제공할 수 있다. 소스 코드는 복수의 프로그래밍 언어(예를 들어, React, HTML 등)로 제공될 수 있으며, 사용자는 필요에 따라 특정 프로그래밍 언어로 코딩하여 원하는 형태의 웹 페이지 생성 가능하며, 이를 통해 사용자 맞춤형 커스터마이징이 가능하다는 효과가 있다.
이상으로 보다 효율적이고 높은 정확도를 갖는 디지털 트윈 구축 시스템 및 방법에 대해 살펴보았다. 본 발명은 3계층의 서로 다른 사이즈로 제어/기능 단위를 구분(즉, 블록 < 비즈니스 로직 < API)하고, 각 제어/기능 단위별로 설정, 편집이 가능한 디지털 트윈 구축 환경을 제공함으로써, 현실 세계의 변화를 매우 유동적이고 신속하게 가상 현실에 반영할 수 있다는 효과를 갖는다. 나아가, 본 발명은 비주얼 스크립트 환경을 기반으로 시각화된 디지털 트윈 구축/설정/편집 기능을 사용자에게 제공하므로, 전문가가 아닌 초보자도 보다 쉽고 직관적으로 디지털 트윈 구축 방법/시스템을 다룰 수 있다는 효과를 갖는다.
본 발명에 따른 실시예는 다양한 수단/모듈, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 특히, 본 명세서에서 모듈은 적어도 하나의 하드웨어 및/또는 소프트웨어를 지칭하는 것에 해당할 수 있다.
하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시예들을 병합하여 새로운 실시예를 구현하도록 설계하는 것도 가능하다. 또한, 본 발명은 상술한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
또한, 이상에서는 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 명세서는 상술한 특정의 실시예에 한정되지 아니하며, 청구 범위에서 청구하는 요지를 벗어남이 없이 당해 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 명세서의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (14)

  1. 디지털 트윈 구축 시스템에 있어서,
    데이터를 수집하는, 데이터 수집 모듈;
    수집한 데이터를 로드하여 전처리 모듈로 전송하는, 연결 제어 모듈;
    수신한 데이터를 전처리하는, 전처리 모듈;
    전처리된 데이터를 저장하는, 저장 모듈;
    상기 저장 모듈에 저장되어 있는 전처리된 데이터 중 3D CAD 데이터를 기초로 3D 렌더링을 수행하는, 3D 모델 처리 모듈;
    상기 디지털 트윈 구축 시스템에 정의된 제어 단위를 사용자 입력을 기초로 생성 및 편집 중 적어도 하나를 수행하는, 사용자 기능 편집 모듈;
    상기 사용자 기능 편집 모듈을 통해 생성 또는 편집된 제어 단위를 저장 및 관리하는, 설정 관리 모듈; 및
    상기 시용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 컴포넌트를 적어도 하나 제공하는, 디지털 트윈 인터페이스 모듈; 을 포함하는, 디지털 트윈 구축 시스템.
  2. 제 1 항에 있어서,
    상기 제어 단위는,
    최소 기능 단위인, 블록;
    복수의 블록을 포함하며, 상기 복수의 블록간 규칙을 정의하는, 비즈니스 로직; 및
    상기 비즈니스 로직과 3D 모델이 연동된, API를 포함하는, 디지털 트윈 구축 시스템.
  3. 제 2 항에 있어서,
    상기 데이터는, 디지털 트윈의 대상이 되는 공정 또는 현장에서 센싱되는 데이터인, 디지털 트윈 구축 시스템.
  4. 제 3 항에 있어서,
    상기 데이터는,
    상기 공정 또는 현장을 렌더링한 3D CAD 모델링 데이터, 상기 공정 또는 현장에 설치된 IoT(Internet of Things) 시스템에 저장되어 있는 데이터, IoT 기기가 송수신하는 데이터, 상기 공정 또는 현장의 객체를 제어하는 PLC(Programmable Logic Controller)의 송수신 데이터 및 상기 공정 또는 현장의 객체가 송수신하는 데이터 중 적어도 하나를 포함하는, 디지털 트윈 구축 시스템.
  5. 제 2 항에 있어서,
    상기 전처리 모듈은,
    상기 수신한 데이터의 종류를 판별하고, 다른 모듈에 의해 처리 가능한 공통 데이터 포맷으로 파싱하는, 디지털 트윈 구축 시스템.
  6. 제 2 항에 있어서,
    상기 3D 모델 처리 모듈은,
    상기 3D CAD 데이터를 경량화하는, 경량화 모듈; 및
    상기 3D CAD 데이터를 상기 3D 모델로 렌더링하는, 렌더링 모듈; 을 포함하는, 디지털 트윈 구축 시스템.
  7. 제 6 항에 있어서,
    상기 사용자 기능 편집 모듈은, 상기 사용자 입력에 기초하여,
    상기 설정 관리 모듈에 저장되어 있는 API 중 어느 하나를 로딩하고,
    상기 렌더링 모듈을 통해 로딩한 API의 3D 모델을 렌더링하여 출력하고,
    상기 3D 모델에 대한 비즈니스 로직을 비주얼 스크립트 환경을 기반으로 시각화하여 출력하고,
    시각화되어 출력된 비즈니스 로직을 편집하고,
    편집된 비즈니스 로직에 따라 상기 3D 모델을 시뮬레이션하여 출력하는, 디지털 트윈 구축 시스템.
  8. 제 7 항에 있어서,
    상기 비주얼 스크립트 환경을 기반으로 상기 비즈니스 로직이 출력되는 경우, 상기 시각화되어 출력된 비즈니스 로직은,
    상기 비즈니스 로직에 포함된 복수의 블록들, 상기 복수의 블록들 각각의 기능, 상기 복수의 블록들 각각의 입출력 데이터, 및 상기 복수의 블록들간 연결선을 포함하는, 디지털 트윈 구축 시스템.
  9. 제 8 항에 있어서,
    상기 시각화되어 출력된 비즈니스 로직은, 상기 사용자 입력에 기초하여,
    상기 복수의 블록들의 배치, 위치, 순서, 기능 및 상기 복수의 블록들간의 연결선 중 적어도 하나가 시각적으로 수정된 내용에 따라 편집되는, 디지털 트윈 구축 시스템.
  10. 제 9 항에 있어서,
    상기 3D 모델을 시뮬레이션하여 출력하는 경우,
    상기 시각화되어 출력된 비즈니스 로직 내 입출력 데이터의 흐름이 시각적 효과로 표현되어 상기 복수의 블록들간의 연결성 상에 표시되는, 디지털 트윈 구축 시스템.
  11. 제 7 항에 있어서,
    상기 컴포넌트는, 상기 사용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 데이터가 시각화된 요소에 해당하는, 디지털 트윈 구축 시스템.
  12. 제 11 항에 있어서,
    상기 컴포넌트는, 이미지, 텍스트, 동영상, 그래프 및 표 중 적어도 하나에 해당하는, 디지털 트윈 구축 시스템.
  13. 제 11 항에 있어서,
    상기 사용자 기능 편집 모듈이 상기 3D 모델을 시뮬레이션하여 출력하는 경우, 상기 디지털 트윈 인터페이스 모듈은,
    상기 3D 모델의 시뮬레이션에 따라 실시간으로 변경되는 데이터를 시각화하여 상기 컴포넌트로서 출력하는, 디지털 트윈 구축 시스템.
  14. 제 11 항에 있어서,
    상기 디지털 트윈 인터페이스 모듈은, 상기 사용자 입력에 기초한 상기 컴포넌트의 레이아웃 편집 기능을 제공하는, 디지털 트윈 구축 시스템.
KR1020210114822A 2021-08-30 2021-08-30 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 KR102537489B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210114822A KR102537489B1 (ko) 2021-08-30 2021-08-30 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치
PCT/KR2022/012421 WO2023033420A1 (ko) 2021-08-30 2022-08-19 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210114822A KR102537489B1 (ko) 2021-08-30 2021-08-30 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20230032230A true KR20230032230A (ko) 2023-03-07
KR102537489B1 KR102537489B1 (ko) 2023-05-26

Family

ID=85412793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210114822A KR102537489B1 (ko) 2021-08-30 2021-08-30 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치

Country Status (2)

Country Link
KR (1) KR102537489B1 (ko)
WO (1) WO2023033420A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116612223B (zh) * 2023-07-17 2023-10-17 金锐同创(北京)科技股份有限公司 数字孪生模拟空间的生成方法、装置、计算机设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101687497B1 (ko) * 2015-10-29 2016-12-19 중앙대학교 산학협력단 대용량 플랜트 설계 데이터의 경량화 방법
KR20200045924A (ko) * 2018-10-23 2020-05-06 디포커스 (주) 디지털 트윈 기반의 건설기계 안전관리를 위한 고장 원인분석 및 예측 모델 시스템
KR20210043825A (ko) * 2019-10-14 2021-04-22 주식회사 케이티 디지털 트윈 서비스에 기초하여 시뮬레이션을 수행하는 장치, 방법 및 컴퓨터 프로그램
KR20210083136A (ko) * 2019-12-26 2021-07-06 한국국토정보공사 공간정보기반 디지털트윈 서비스 제공 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866313B (zh) * 2019-10-22 2023-05-16 温州大学 一种实现断路器自动化检测流水线的数字孪生建模的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101687497B1 (ko) * 2015-10-29 2016-12-19 중앙대학교 산학협력단 대용량 플랜트 설계 데이터의 경량화 방법
KR20200045924A (ko) * 2018-10-23 2020-05-06 디포커스 (주) 디지털 트윈 기반의 건설기계 안전관리를 위한 고장 원인분석 및 예측 모델 시스템
KR20210043825A (ko) * 2019-10-14 2021-04-22 주식회사 케이티 디지털 트윈 서비스에 기초하여 시뮬레이션을 수행하는 장치, 방법 및 컴퓨터 프로그램
KR20210083136A (ko) * 2019-12-26 2021-07-06 한국국토정보공사 공간정보기반 디지털트윈 서비스 제공 장치

Also Published As

Publication number Publication date
KR102537489B1 (ko) 2023-05-26
WO2023033420A1 (ko) 2023-03-09

Similar Documents

Publication Publication Date Title
CN102906652B (zh) 生成用于闭环控制器的代码的方法和装置
Möbius et al. OpenFlipper: An open source geometry processing and rendering framework
Waser et al. World lines
JP3962109B2 (ja) ソフトウェアモデリングシステムにおけるデータ依存関係を表示する方法
CN103365773A (zh) 自动测试的系统和方法
CN111309315B (zh) 一种基于工业物联网数据和业务建模的自动化配置方法
Holm et al. A combined immersive and desktop authoring tool for virtual environments
CN111079244B (zh) 一种基于行为树的分布式仿真平台
CN111652453A (zh) 用于零件设计、仿真和制造的智能工作流程顾问
KR102537489B1 (ko) 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치
Martin et al. A VR-CAD Data Model for Immersive Design: The cRea-VR Proof of Concept
CN107577709B (zh) 一种信息系统资源模型的图形化管理方法
US6281900B1 (en) Information processing apparatus and method, and providing medium
KR101103787B1 (ko) 그래픽 기반 로봇 프로그래밍 시스템
Hasan et al. An interactive digital twin platform for offshore wind farms’ development
Prajapat et al. A framework for next generation interactive and immersive des models
Tofte et al. How digital technology and standardisation can improve offshore operations
CN115495069B (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
Li et al. Investigations on visualization and interaction of ship structure multidisciplinary finite element analysis data for virtual environment
JP2009238215A (ja) データ処理装置及びデータ処理方法
Abidi et al. How to create a new generation of industrial processes simulation by coupling simulation tools with VR platforms
Maik et al. Flexible photorealistic VR training system for electrical operators
Levante Data Management and Virtual Reality Applications of BIM models
Barker et al. Graphical user interfaces in computer-aided control system design
US11573686B2 (en) Extended reality human machine interface to simulate actual flow

Legal Events

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