WO2023033420A1 - 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 - Google Patents
비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- WO2023033420A1 WO2023033420A1 PCT/KR2022/012421 KR2022012421W WO2023033420A1 WO 2023033420 A1 WO2023033420 A1 WO 2023033420A1 KR 2022012421 W KR2022012421 W KR 2022012421W WO 2023033420 A1 WO2023033420 A1 WO 2023033420A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- data
- digital twin
- construction system
- business logic
- Prior art date
Links
- 238000010276 construction Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims description 53
- 238000013515 script Methods 0.000 title claims description 19
- 230000000007 visual effect Effects 0.000 title claims description 18
- 238000003860 storage Methods 0.000 claims abstract description 28
- 238000009877 rendering Methods 0.000 claims abstract description 24
- 238000007781 pre-processing Methods 0.000 claims abstract description 20
- 238000013480 data collection Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 39
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 66
- 238000011960 computer-aided design Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
Definitions
- This specification proposes a digital twin construction system, method, and apparatus for the same using visual script.
- the digital twin is to reproduce/implement specific objects and sets of objects in industrial sites as 3D models, and apply/reflect data from production management systems such as ERP and MEW or hardware-connected devices such as IoT and PLC to the 3D models. Therefore, it refers to a virtual system that performs monitoring, simulation, and predictive maintenance of actual industrial sites.
- a control unit that can be flexibly changed in an actual process such as a process, object, function, setting, etc. ('block', 'logic', 'API' in the present invention, etc. ) is defined, and a whole digital twin construction system based on a structure in which the control units defined in this way are interconnected is proposed.
- a digital twin construction system comprising: a data collection module for collecting data; A connection control module that loads the collected data and transmits it to the pre-processing module; A preprocessing module for preprocessing the received data; a storage module that stores preprocessed data; a 3D model processing module that performs 3D rendering based on 3D CAD data among the preprocessed data stored in the storage module; a user function editing module that performs at least one of generating and editing a control unit defined in the digital twin construction system based on a user input; a setting management module for storing and managing control units created or edited through the user function editing module; and a digital twin interface module providing at least one component related to a control unit being created or edited by the user function editing module.
- a data collection module for collecting data
- a connection control module that loads the collected data and transmits it to the pre-processing module
- a preprocessing module for preprocessing the received data
- a storage module that stores preprocessed data
- a 3D model processing module that perform
- GUI Graphic User Interface
- Layout can be (re)configured/(re)sorted, so usability and convenience can be improved.
- FIG. 1 is a diagram illustrating a digital twin construction system according to an embodiment of the present invention.
- FIG. 2 is a flowchart illustrating a digital twin construction method according to an embodiment of the present invention.
- FIG. 3 is a flowchart illustrating an embodiment of editing business logic according to an embodiment of the present invention.
- FIG. 4 is a diagram illustrating a business logic editing screen based on a visual script environment according to an embodiment of the present invention.
- FIG. 5 is a flowchart of a method of operating a data comparison function block among business logic defined according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating a 3D model to which business logic is applied according to an embodiment of the present invention.
- FIG. 7 and 8 are diagrams illustrating interface screens provided by the digital twin interface module according to an embodiment of the present invention.
- first, second, A, B, etc. may be used to describe various elements, but the elements are not limited by the above terms, and are merely used to distinguish one element from another. used only as For example, without departing from the scope of the technology described below, a first element may be referred to as a second element, and similarly, the second element may be referred to as a first element.
- the terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items. For example, 'A and/or B' may be interpreted as meaning 'at least one of A or B'. Also, '/' can be interpreted as 'and' or 'or'.
- each component to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function.
- each component to be described below may additionally perform some or all of the functions of other components in addition to its main function, and some of the main functions of each component may be performed by other components. Of course, it may be dedicated and performed by .
- each process constituting the method may occur in a different order from the specified order unless a specific order is clearly described in context. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
- FIG. 1 is a diagram illustrating a digital twin construction system according to an embodiment of the present invention.
- each component is a concept that is divided into functional units for convenience of description.
- one component is implemented as one or a combination of hardware/software, or multiple components are implemented as one hardware/software combination.
- the modules included in the digital twin construction system 100 are CPU (Central Processing Unit), MPU (Micro Processor Unit), MCU (Micro Controller Unit), AP (Application Processor), AP (Application Processor) or the present invention. It can be implemented using any type of processor well known in the art.
- the digital twin construction system 100 includes a data collection module 110, a connection control module 120, a preprocessing module 130, a storage module 140, and a 3D It may include a model processing module 150, a setting management module 160, a user function editing module 180, and/or a digital twin interface module 170.
- a model processing module 150 may be included in the digital twin construction system 100.
- a setting management module 160 may be excluded or a new module may be added according to the embodiment.
- the data collection module 110 may correspond to a module that collects various data of a process/field subject to digital twin.
- the process subject to the digital twin is a manufacturing process
- the data collection module 110 processes and produces data stored in systems (especially databases) such as ERP, MES, PLM, and PDM of the manufacturing process. It is possible to collect data related to plans and 3D CAD (Computer Aided Design) modeling data that rendered actual processes/sites.
- ERP Computer Aided Design
- the data collection module 110 includes 3D CAD modeling data that renders the process/site subject to the digital twin, data stored in the IoT system installed in the process/site, and data transmitted/received by the IoT device (eg For example, temperature, humidity, etc.), data sent/received by PLCs that control process/site objects, and data sent/received by process/site objects, etc. can do.
- 3D CAD modeling data generated in advance may be additionally performed. 3D CAD modeling data generated in this way may also be collected by the data collection module 110 .
- the connection control module 120 may correspond to a module that loads data collected by the data collection module and transmits the data to the preprocessing module. Transmission may be performed through a network based on a preset standard protocol.
- the connection control module 120 may also be referred to as a 'middleware gateway router'.
- the preprocessing module 130 may correspond to a module that preprocesses data received through the connection control module 120 . More specifically, the pre-processing module 130 may determine the type of data transmitted through the connection control module 120 and process/parse it into a common data format usable for building a digital twin. .
- the storage module 140 may correspond to a module for storing various data.
- the storage module 140 may correspond to a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or a cloud.
- the storage module 140 may perform a function of storing data processed through a preprocessing process and various data newly generated in the digital twin system.
- Data collected in real time such as data collected from IoT devices/systems and/or PLCs, may be classified as real-time data, and real-time data may be stored in a separate storage space provided separately in the storage module 140.
- Data newly generated in the digital twin refers to data newly generated according to the operation of modules to be described below, and may correspond to, for example, blocks, logic (or business logic), APIs, and the like. These will be described in detail later in relation to the setting management module 160 .
- the 3D model processing module 150 may correspond to a module that performs 3D rendering based on 3D CAD modeling data stored in the storage module 140 .
- This 3D model processing module 150 re-analyzes (Analyzer) 150-1, a lightweight module (150-4), a rendering module (rendering) 150-2, It can be divided into a build module (Re-Constructor) 150-3.
- the analysis module 150-1 analyzes the 3D CAD modeling data, transmits the analysis result to the lightweight module 150-4, and the lightweight module 150-4 performs lightweighting of the 3D CAD modeling data based on the analysis result.
- a function of storing in the storage module 140 may be performed.
- lightweighting of 3D CAD modeling data collectively refers to a series of operations for lightening/reducing the overall size of 3D CAD modeling data. For example, weight reduction may be applied not only to the shape of a 3D model itself rendered according to 3D CAD modeling data, but also to a hierarchical structure of data included in 3D CAD modeling data. Through this, the amount of computation required for 3D modeling work/construction is reduced, resulting in an effect of improving the speed of the entire digital twin construction system 100 and minimizing overhead.
- the reconstruction module corresponds to a module that provides a function of changing the data structure of a tree-based 3D model to suit the user's ease/convenience, such as addition, expansion, or reduction.
- the rebuilding module may perform a function of rapidly accelerating the lightweighting process by simplifying the structure in a serial or merging manner to minimize resource use.
- the lightweight 3D CAD modeling data may be stored in the storage module 140, and the user may access the stored 3D CAD modeling data through a setting management module 160 and a user function editing module 180 described later.
- the user may select and input at least one of the 3D CAD modeling data stored through the corresponding modules 160 and 180, and the selected 3D CAD modeling data is converted into a 3D model by a rendering module 150-2 described later. can be rendered and displayed on the screen.
- the rendering module 150 - 2 may load and render 3D CAD modeling data that is lightweight and stored in the storage module 140 .
- the rendering module 150-2 may perform real-time rendering of the selected 3D CAD modeling data in real-time by communicating with the real-time rendering module in real-time.
- the real-time rendering module refers to a 3rd party 3D platform interface or software development kit such as Unity, Unreal, Blender3D, etc., and renders 3D CAD modeling data into a 3D model in real time through an open source library. It can be transmitted to the rendering module, and the rendering module 150-2 can output the received 3D model in real time.
- the user can access the rendering module 150-2 through the user function editing module 180, and utilizes the graphic calculation function supported by the rendering module 150-2 (and/or the real-time rendering module) to obtain the rendered 3D data. You can easily change/edit/implement the layout method and logic of the model.
- the setting management module 160 may correspond to a module that stores, manages, and/or controls as a control unit defined in the digital twin construction system 100 (in particular, 'API (Application Programming Interface)').
- 'API Application Programming Interface
- the digital twin construction system 100 unlike other conventional digital twin construction systems, divides / subdivides / segments the control target / process / object to define the minimum control unit and , It aims to provide a more free and flexible digital twin construction environment by configuring these minimum control unit business logics.
- these minimum control/functional units are referred to as 'blocks'. These blocks can be defined as any function/form/object/process/configuration/setting/action, etc. if they are the smallest unit of control, and can be freely coded and defined by the user or pre-coded and provided to the user by the operator/manager. there is.
- the combination of blocks can be defined again as 'business logic (or 'logic')'. More specifically, the business logic may include a plurality of blocks and may correspond to an entire algorithm that defines relationships between them, operation rules, and data creation/transformation/storage/transmission/reception methods/rules. A method/rules for generating business logic based on block combinations will be described in more detail below with reference to FIGS. 3 and 4 .
- the 3D model combined with the business logic can be defined as one 'API' again.
- Such an API may mean a process/experimental unit capable of performing at least one function, and may be mainly set by a user (or manager/operator). For example, if the food manufacturing process is largely divided into three processes: rolling -> pressing -> cutting, the user may set each process as an API (eg, first to third APIs in order), , the three processes can be integrated and set as one API.
- the API can play a role as a module that controls and executes business logic in conjunction with the user function editing module.
- a three-level hierarchical structure is formed in which business logic is defined by a combination of at least one block and API is defined by a combination of at least one business logic.
- each of the subdivided minimum control units such as pressurization level, pressurization temperature, pressurization time, etc. of the pressurizer can be defined as one block, and rules/relationships/orders between each block are business logic
- pressurization level pressurization temperature
- rules/relationships/orders between each block are business logic
- business logic After being defined/set (by the user), it is combined/interlocked with the 3D model to form a pressurized process API.
- These blocks, business logic and APIs can be freely created/edited by users (and/or administrators/operators) through the user function editing module 180 .
- the settings management module 160 is a module that stores, manages, and controls APIs created/edited in this way, and the user accesses the API through the setting management module 180 and can easily visually check the corresponding API through a rendered 3D model. be able to Therefore, users can directly set control units for simulation, monitoring, predictive maintenance, etc. as APIs and visually check them through 3D models. can be done through
- the setting management module 160 is located between the user function editing module 180 and the digital twin interface module 170 and the storage module 140, and the data stored in the storage module 140 is edited by the user function. It can perform a function of interlocking the module 180 and the digital twin interface module 170.
- the user function editing module 180 corresponds to a module that is connected to the rendering module 150-2 and outputs, arranges, manipulates, enlarges, reduces, and changes the 3D model on which the graphic operation is performed through the rendering module 150-2. can do. Furthermore, the user function editing module 180 may correspond to a module providing a function of editing business logic for the 3D model being output, based on visual script technology.
- the user function editing module 180 is connected to the storage module 140 and may utilize various data stored in the storage module 140 .
- the user function editing module 180 may provide a function of creating a new block or editing an existing block by loading specific data stored in the storage module 140 .
- the user function editing module 180 may provide a function of creating and/or editing business logic by designating specific data or establishing a relationship between designated data.
- a visual script-based business logic (or API) generation and/or editing function may be provided through the user function editing module 180 .
- the visual script is a type of programming language in which program elements are visualized and provided graphically, and a user can more easily perform programming by manipulating the visually provided program elements.
- the user function editing module 180 supports such a visual script environment, and each block can be visualized and provided to the user.
- the user can compose business logic by manipulating (for example, arranging, connecting, adding, deleting, etc.) the visually provided blocks.
- the digital twin interface module 170 may correspond to a module that loads, arranges, and outputs at least one predefined component on an interface screen according to a user input.
- a component is an element in which data related to an API is visualized, and may correspond to, for example, an image, text, video, graph, table, and the like.
- the digital twin interface module 170 may additionally provide editing functions such as arrangement, manipulation, creation, deletion, layout designation, and change of components within the interface screen.
- the digital twin interface module 170 may load a 3D model from the rendering module 150-2 and provide a manipulation function for the loaded 3D model through an interface screen.
- an embodiment of component control through the digital twin interface module 170 will be described in detail below with reference to FIGS. 7 and 8 .
- FIG. 2 is a flowchart illustrating a digital twin construction method according to an embodiment of the present invention.
- Steps S201 to S208 of this flowchart are sequentially matched/corresponded to modules 110 to 150, 180, 160, and 170 in FIG. 1, and each step can be interpreted as being performed by a matching/corresponding module. Therefore, each step of this flowchart can be replaced with the function/operation description of the matching/corresponding module described above in FIG. 1, and duplicate descriptions will be omitted.
- a data collection module may collect data (S201). More specifically, the data collection module can collect various data of the process/site subject to the digital twin.
- connection control module may control the connection (S202). More specifically, the connection control module may perform an operation of controlling the connection between the data collection module and the pre-processing module by loading the data collected by the data collection module and transferring it to the pre-processing module.
- the pre-processing module may perform a pre-processing operation on the received data (S203). More specifically, an operation of processing/parsing data received through the connection control module into a common data format that can be used for building a digital twin can be performed.
- the storage module may perform an operation of receiving and storing the data preprocessed by the preprocessing module (S204).
- the 3D model processing module may extract 3D CAD modeling data from among the data stored in the storage module, analyze and lighten the data, and then transmit the data to the storage module for storage (S205).
- the user function editing module may load and edit the API stored in the setting management module or create a new API based on the user input (S206).
- the configuration management module may store and manage the API edited or newly created in the user function editing module (S207).
- the API is taken as an example, but it is not limited thereto, and blocks and/or business logic included in the API may also be stored and managed by the setting management module.
- the digital twin interface module may output at least one component for the currently working (or selected/loaded) API (and/or block, business logic, etc.) on the interface screen (S208). .
- each step is expressed in time series according to time order for convenience of explanation, but is not limited thereto, and the order may be changed, any one step may be excluded, or at least one new step may be added depending on the embodiment. there is.
- FIG. 3 is a flowchart illustrating an embodiment of business logic editing according to an embodiment of the present invention
- FIG. 4 is a diagram illustrating a business logic editing screen based on a visual script environment according to an embodiment of the present invention.
- the user function editing module may load at least one of the APIs stored in the setting management module based on a user selection input (S301).
- a user selection input S301
- a combination of a plurality of blocks (b1 to b8) can be visualized and output as shown in FIG. 4, and the business logic 410 between these blocks (b1 to b8) will be reflected.
- the user can determine whether a desired block exists by checking the visualized business logic 410 as shown in FIG. 4 (S302).
- a desired block does not exist in the business logic 410, the user may directly create a desired block by directly coding (S303), and register the newly created block in the configuration management module (S304). The user can place the newly created block in a desired position within the business logic 410 according to the situation/process/environment to be virtually implemented, and then connect it with other blocks. Conversely, if a desired block exists within the business logic 410, the user places the newly created block in a desired location within the business logic 410 according to the situation/process/environment in which the corresponding block is to be virtually implemented, and then other It can be connected with the block (S305).
- an input value input to each block may be limited or calculated based on the set internal parameter value and output as an output value. A detailed description thereof will be described below with reference to FIGS. 5 and 6 .
- the user can directly set/select/modify input/output data for each block (S307).
- the type of input data may be set on the left side and the type of output data may be set on the right side.
- send and start are set as types of data that can be input, and received are set as types of output data.
- the user can set input/output data for each block b1 to b8 by selecting the type of input/output data for each block b1 to b8.
- An indicator may be additionally provided for displaying selection for each type of input/output data. The user can easily visually/intuitively check which type of input/output data is currently set for each block (b1 to b8) through the corresponding indicator.
- the user performs setting/editing for individual blocks (b1 to b8) and then forms/edits the business logic 410 that connects the input/output units of the entire blocks (b1 to b8). additional can be done.
- the business logic 410 may be configured such that the output data of the b2 block is input as the A input data of the b3 by connecting the received output of the b2 block to the A input of the b3 block.
- the user visually modifies the arrangement, position, order, function, and/or connection line between the plurality of blocks, thereby providing the business logic 410 can be configured/edited, so it is possible to build a digital twin in the desired form very easily and intuitively.
- the user can execute the edited business logic 410 after registering it in the setting management module (S308).
- the interlocked 3D model can operate according to the business logic 410, and the flow of input/output data between blocks (b1 to b8) will be displayed by applying visual effects (eg, blinking of the connection line, etc.) to the connection line.
- visual effects eg, blinking of the connection line, etc.
- the user can call or newly create a block (a unit of visual script diagram) previously defined in the setting management module through the user function editing module.
- the user can set the data input/output relationship/sequence of the business logic 410 by arranging the imported or newly created blocks and connecting the input/output parts of each block (b1 to b8) with a line through a drag input or the like.
- This business logic 410 may be defined as one API in association with the 3D model, and may operate in association with the 3D model.
- the lightweight 3D CAD modeling data stored in the storage module can be accessed through the setting management module.
- Data/files (particularly, blocks b1 to b8, business logic 410, and/or API) managed by the setting management module may be displayed in a drop-down menu in the user function editing module.
- Examples of business logic that works in conjunction with the 3D model include kinematics for reviewing equipment movements and setting robot paths. Kinematic is a logic that defines the range and limits of equipment movement, and a 3D model with kinematic can be played as an animation when certain conditions are met.
- FIG. 5 is a flowchart illustrating a method of operating a data comparison function block among business logic defined according to an embodiment of the present invention
- FIG. 6 is a diagram illustrating a 3D model to which business logic is applied according to an embodiment of the present invention. .
- the user function editing module may execute business logic according to an execution command, and input/output values between blocks may be transmitted and received according to the order and relationship defined in the business logic (S501).
- the corresponding block may perform a predefined/preset function based on the input value.
- the block in which the data comparison function is set will be mainly described.
- the user function editing module simulates and outputs the business logic included in the block with the 3D model 610 as illustrated in FIG. It can be done (S504). For example, if the condition A > B is set in the b3 block, the 3D model simulation operation can be performed only when the input value of A exceeds 25,000.
- the user function editing module may decrease the parameter value by a preset value and then return to step S502 (S503). For example, if the condition A > B is set in the b3 block and 25,000 is input as the A input value, the user function editing module reduces 25,000 to a preset value (eg, 5,000) and then returns to S502 You can go back step by step.
- a preset value eg, 5,000
- the robot arm model can operate up to 180 degrees in the vertical direction, but the influence of surrounding obstacles, ceilings, etc. In practice, it can be applied to cases where it can only operate up to a range of 90 degrees.
- the parameter value is the operation range of the robot arm model set by the user, and the input value may correspond to the operation limit range according to the actual process environment. According to this embodiment, there is an effect that it is possible to implement a digital twin that accurately reflects the actual site.
- FIG. 7 and 8 are diagrams illustrating interface screens provided by the digital twin interface module according to an embodiment of the present invention.
- the digital twin interface module may provide an interface screen including at least one component.
- the digital twin interface module is used to configure user-customized screens by providing editing/setting functions such as creating new components, arranging, deleting, adding, changing positions, and setting relationships between components through interface screens.
- Such an editing function may be provided in the form of a toolbox including buttons for executing each editing function on an interface screen, and a user may edit a component by performing a selection input to the toolbox.
- it is possible to configure an interface screen according to one's preference/convenience by directly changing the arrangement and layout of components freely through input forms such as drag, click, and drop.
- the digital twin interface module can provide source code reference and modification functions.
- the digital twin interface module may additionally provide web page source code generator and editor functions through the interface screen.
- the source code can be provided in multiple programming languages (e.g., React, HTML, etc.), and the user can code in a specific programming language as needed to create a web page in the desired form, through which customized customization is possible. It has an effect.
- the present invention divides control/functional units into three layers of different sizes (i.e., block ⁇ business logic ⁇ API) and provides a digital twin construction environment that can be set and edited for each control/function unit. It has the effect of being able to reflect changes in virtual reality very fluidly and quickly. Furthermore, since the present invention provides a digital twin construction / setting / editing function visualized based on a visual script environment to the user, it has an effect that even beginners who are not experts can handle the digital twin construction method / system more easily and intuitively.
- Embodiments according to the present invention may be implemented by various means/modules, for example, hardware, firmware, software, or a combination thereof.
- a module may correspond to referring to at least one piece of hardware and/or software.
- one embodiment of the present invention provides one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, etc.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- processors controllers, microcontrollers, microprocessors, etc.
- an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means.
- the recording medium may include program commands, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software.
- recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.
- the device or terminal according to the present invention may be driven by a command that causes one or more processors to perform the functions and processes described above.
- such instructions may include interpreted instructions, such as script instructions such as JavaScript or ECMAScript instructions, or executable code or other instructions stored on a computer readable medium.
- the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.
- a computer program (also known as a program, software, software application, script or code) loaded into a device according to the present invention and executing the method according to the present invention includes a compiled or interpreted language or a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including stand-alone programs, modules, components, subroutines, or other units suitable for use in a computer environment.
- a computer program does not necessarily correspond to a file in a file system.
- a program may be in a single file provided to the requested program, or in multiple interacting files (e.g., one or more modules, subprograms, or files that store portions of code), or parts of files that hold other programs or data. (eg, one or more scripts stored within a markup language document).
- a computer program may be deployed to be executed on a single computer or multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.
- the present invention is applicable to the digital twin industry.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Stored Programmes (AREA)
Abstract
본 발명에 따른 디지털 트윈 구축 시스템은, 데이터를 수집하는, 데이터 수집 모듈; 수집한 데이터를 로드하여 전처리 모듈로 전송하는, 연결 제어 모듈; 수신한 데이터를 전처리하는, 전처리 모듈; 전처리된 데이터를 저장하는, 저장 모듈; 상기 저장 모듈에 저장되어 있는 전처리된 데이터 중 3D CAD 데이터를 기초로 3D 렌더링을 수행하는, 3D 모델 처리 모듈; 상기 디지털 트윈 구축 시스템에 정의된 제어 단위를 사용자 입력을 기초로 생성 및 편집 중 적어도 하나를 수행하는, 사용자 기능 편집 모듈; 상기 사용자 기능 편집 모듈을 통해 생성 또는 편집된 제어 단위를 저장 및 관리하는, 설정 관리 모듈; 및 상기 시용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 컴포넌트를 적어도 하나 제공하는, 디지털 트윈 인터페이스 모듈;을 포함할 수 있다.
Description
본 명세서는 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치를 제안한다.
디지털 트윈이란, 산업 현장의 특정 객체와 객체의 집합을 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)
- 디지털 트윈 구축 시스템에 있어서,데이터를 수집하는, 데이터 수집 모듈;수집한 데이터를 로드하여 전처리 모듈로 전송하는, 연결 제어 모듈;수신한 데이터를 전처리하는, 전처리 모듈;전처리된 데이터를 저장하는, 저장 모듈;상기 저장 모듈에 저장되어 있는 전처리된 데이터 중 3D CAD 데이터를 기초로 3D 렌더링을 수행하는, 3D 모델 처리 모듈;상기 디지털 트윈 구축 시스템에 정의된 제어 단위를 사용자 입력을 기초로 생성 및 편집 중 적어도 하나를 수행하는, 사용자 기능 편집 모듈;상기 사용자 기능 편집 모듈을 통해 생성 또는 편집된 제어 단위를 저장 및 관리하는, 설정 관리 모듈; 및상기 시용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 컴포넌트를 적어도 하나 제공하는, 디지털 트윈 인터페이스 모듈; 을 포함하는, 디지털 트윈 구축 시스템.
- 제 1 항에 있어서,상기 제어 단위는,최소 기능 단위인, 블록;복수의 블록을 포함하며, 상기 복수의 블록간 규칙을 정의하는, 비즈니스 로직; 및상기 비즈니스 로직과 3D 모델이 연동된, API를 포함하는, 디지털 트윈 구축 시스템.
- 제 2 항에 있어서,상기 데이터는, 디지털 트윈의 대상이 되는 공정 또는 현장에서 센싱되는 데이터인, 디지털 트윈 구축 시스템.
- 제 3 항에 있어서,상기 데이터는,상기 공정 또는 현장을 렌더링한 3D CAD 모델링 데이터, 상기 공정 또는 현장에 설치된 IoT(Internet of Things) 시스템에 저장되어 있는 데이터, IoT 기기가 송수신하는 데이터, 상기 공정 또는 현장의 객체를 제어하는 PLC(Programmable Logic Controller)의 송수신 데이터 및 상기 공정 또는 현장의 객체가 송수신하는 데이터 중 적어도 하나를 포함하는, 디지털 트윈 구축 시스템.
- 제 2 항에 있어서,상기 전처리 모듈은,상기 수신한 데이터의 종류를 판별하고, 다른 모듈에 의해 처리 가능한 공통 데이터 포맷으로 파싱하는, 디지털 트윈 구축 시스템.
- 제 2 항에 있어서,상기 3D 모델 처리 모듈은,상기 3D CAD 데이터를 경량화하는, 경량화 모듈; 및상기 3D CAD 데이터를 상기 3D 모델로 렌더링하는, 렌더링 모듈; 을 포함하는, 디지털 트윈 구축 시스템.
- 제 6 항에 있어서,상기 사용자 기능 편집 모듈은, 상기 사용자 입력에 기초하여,상기 설정 관리 모듈에 저장되어 있는 API 중 어느 하나를 로딩하고,상기 렌더링 모듈을 통해 로딩한 API의 3D 모델을 렌더링하여 출력하고,상기 3D 모델에 대한 비즈니스 로직을 비주얼 스크립트 환경을 기반으로 시각화하여 출력하고,시각화되어 출력된 비즈니스 로직을 편집하고,편집된 비즈니스 로직에 따라 상기 3D 모델을 시뮬레이션하여 출력하는, 디지털 트윈 구축 시스템.
- 제 7 항에 있어서,상기 비주얼 스크립트 환경을 기반으로 상기 비즈니스 로직이 출력되는 경우, 상기 시각화되어 출력된 비즈니스 로직은,상기 비즈니스 로직에 포함된 복수의 블록들, 상기 복수의 블록들 각각의 기능, 상기 복수의 블록들 각각의 입출력 데이터, 및 상기 복수의 블록들간 연결선을 포함하는, 디지털 트윈 구축 시스템.
- 제 8 항에 있어서,상기 시각화되어 출력된 비즈니스 로직은, 상기 사용자 입력에 기초하여,상기 복수의 블록들의 배치, 위치, 순서, 기능 및 상기 복수의 블록들간의 연결선 중 적어도 하나가 시각적으로 수정된 내용에 따라 편집되는, 디지털 트윈 구축 시스템.
- 제 9 항에 있어서,상기 3D 모델을 시뮬레이션하여 출력하는 경우,상기 시각화되어 출력된 비즈니스 로직 내 입출력 데이터의 흐름이 시각적 효과로 표현되어 상기 복수의 블록들간의 연결성 상에 표시되는, 디지털 트윈 구축 시스템.
- 제 7 항에 있어서,상기 컴포넌트는, 상기 사용자 기능 편집 모듈에서 생성 또는 편집 중인 제어 단위와 관련된 데이터가 시각화된 요소에 해당하는, 디지털 트윈 구축 시스템.
- 제 11 항에 있어서,상기 컴포넌트는, 이미지, 텍스트, 동영상, 그래프 및 표 중 적어도 하나에 해당하는, 디지털 트윈 구축 시스템.
- 제 11 항에 있어서,상기 사용자 기능 편집 모듈이 상기 3D 모델을 시뮬레이션하여 출력하는 경우, 상기 디지털 트윈 인터페이스 모듈은,상기 3D 모델의 시뮬레이션에 따라 실시간으로 변경되는 데이터를 시각화하여 상기 컴포넌트로서 출력하는, 디지털 트윈 구축 시스템.
- 제 11 항에 있어서,상기 디지털 트윈 인터페이스 모듈은, 상기 사용자 입력에 기초한 상기 컴포넌트의 레이아웃 편집 기능을 제공하는, 디지털 트윈 구축 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210114822A KR102537489B1 (ko) | 2021-08-30 | 2021-08-30 | 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 |
KR10-2021-0114822 | 2021-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023033420A1 true WO2023033420A1 (ko) | 2023-03-09 |
Family
ID=85412793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/012421 WO2023033420A1 (ko) | 2021-08-30 | 2022-08-19 | 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102537489B1 (ko) |
WO (1) | WO2023033420A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612223A (zh) * | 2023-07-17 | 2023-08-18 | 金锐同创(北京)科技股份有限公司 | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 |
Citations (5)
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 | 주식회사 케이티 | 디지털 트윈 서비스에 기초하여 시뮬레이션을 수행하는 장치, 방법 및 컴퓨터 프로그램 |
US20210116505A1 (en) * | 2019-10-22 | 2021-04-22 | Wenzhou University | Digital-twin modeling method for automated testing pipeline for circuit breakers |
KR20210083136A (ko) * | 2019-12-26 | 2021-07-06 | 한국국토정보공사 | 공간정보기반 디지털트윈 서비스 제공 장치 |
-
2021
- 2021-08-30 KR KR1020210114822A patent/KR102537489B1/ko active IP Right Grant
-
2022
- 2022-08-19 WO PCT/KR2022/012421 patent/WO2023033420A1/ko active Application Filing
Patent Citations (5)
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 | 주식회사 케이티 | 디지털 트윈 서비스에 기초하여 시뮬레이션을 수행하는 장치, 방법 및 컴퓨터 프로그램 |
US20210116505A1 (en) * | 2019-10-22 | 2021-04-22 | Wenzhou University | Digital-twin modeling method for automated testing pipeline for circuit breakers |
KR20210083136A (ko) * | 2019-12-26 | 2021-07-06 | 한국국토정보공사 | 공간정보기반 디지털트윈 서비스 제공 장치 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612223A (zh) * | 2023-07-17 | 2023-08-18 | 金锐同创(北京)科技股份有限公司 | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 |
CN116612223B (zh) * | 2023-07-17 | 2023-10-17 | 金锐同创(北京)科技股份有限公司 | 数字孪生模拟空间的生成方法、装置、计算机设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
KR102537489B1 (ko) | 2023-05-26 |
KR20230032230A (ko) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046735B1 (en) | Transforming graphical objects in a graphical modeling environment | |
CN107810516A (zh) | 通过矢量时钟转换的实时分布式共同创作 | |
Di Gironimo et al. | From virtual reality to web-based multimedia maintenance manuals | |
WO2023033420A1 (ko) | 비주얼 스크립트를 이용한 디지털 트윈 구축 시스템, 방법 및 이를 위한 장치 | |
CN106021816A (zh) | 一种基于行为树的分布式系统行为仿真分析工具的实现方法 | |
CN108536964A (zh) | 存储介质、卫星星座覆盖性能仿真分析方法及其系统 | |
US4870397A (en) | System for producing graphic displays and programs for generating same | |
US20160275219A1 (en) | Simulating an industrial system | |
CN116859850A (zh) | 一种模块化的工业数字孪生系统 | |
CN111429578B (zh) | 一种火电厂机组的三维模型生成方法及三维虚拟检修系统 | |
CN112416715B (zh) | 一种基于运营场景的计算机联锁性能测试系统 | |
WO2005098661A1 (ja) | 文書処理装置及び文書処理方法 | |
Bergström et al. | Model-and hardware-in-the-loop testing in a model-based design workflow | |
CN116719521A (zh) | 一种示教器型号编辑方法、系统及组态软件系统 | |
CN113516779B (zh) | 一种面向增强现实的电缆铺设工艺设计与引导系统及方法 | |
CN113296759B (zh) | 用户界面处理方法、用户界面处理系统、设备及存储介质 | |
JP2009238215A (ja) | データ処理装置及びデータ処理方法 | |
Flotyński et al. | Knowledge-based management of virtual training scenarios | |
Lan et al. | Application of ICD management software in aircraft design and test | |
Hao et al. | Design and Implementation of Power Communication Network 3D Simulation Training System Based on Unity3D | |
JP2000331036A (ja) | 設計支援装置、設計情報管理装置、設計情報編集方法、設計支援システムおよび設計情報編集プログラムを格納する記録媒体 | |
CN118568949A (zh) | 一种数字孪生驱动的人机交互制造工艺设计方法 | |
Liu et al. | Design and application of electric power communication network comprehensive simulation training system | |
Feng et al. | M2PLab--IoT controller for control system evolution process | |
CN114911731A (zh) | 复杂体系的模型化接口设计方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22864924 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22864924 Country of ref document: EP Kind code of ref document: A1 |