US10755002B2 - Method and apparatus for facilitating creation of simulation model - Google Patents
Method and apparatus for facilitating creation of simulation model Download PDFInfo
- Publication number
- US10755002B2 US10755002B2 US15/593,432 US201715593432A US10755002B2 US 10755002 B2 US10755002 B2 US 10755002B2 US 201715593432 A US201715593432 A US 201715593432A US 10755002 B2 US10755002 B2 US 10755002B2
- Authority
- US
- United States
- Prior art keywords
- simulation model
- list
- xml
- array
- identified
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- H04L67/32—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/14—Pipes
Definitions
- a method of facilitating modeling of a system includes receiving, at a processor, an extensible markup language (XML) file corresponding to a piping and instrumentation diagram (PID) of the system; identifying, by the processor, components of the system that are described in the XML file, the XML file including information about attributes of the identified components; storing, by the processor, the information about the attributes of the identified components; and generating, by the processor, a simulation model page using syntax of a simulation modeling software environment, based on the stored information about the attributes of the identified components.
- XML extensible markup language
- PID piping and instrumentation diagram
- the system may be a process plant system.
- the XML file may follow PID XML Standard ISO 15926.
- the identifying may include, for each identified component, identifying, in the XML file, an XML element corresponding to the component.
- the method may further include generating, by the processor, for each identified XML element, a component object data structure corresponding to the identified XML element.
- the method may further include for each identified XML element, extracting, by the processor, attribute information of the identified XML element from the XML file.
- the storing may include for each generated component object data structure, storing, as one or more elements of the generated component object data structure, the attribute information extracted from the identified XML element to which the generated component object data structure corresponds.
- the storing may include generating a list of strings defining the identified components, the list of strings including information based on the information about the attributes of the identified components.
- the generating of the simulation model page may include reading from the list of strings, by the processor, attributes of each component defined the list of strings; creating a simulation object for each component defined by the list of strings, based on the read attributes; and populating the simulation model page with the simulation objects created for the components defined by the list of strings.
- a simulation model generating apparatus includes memory storing computer-executable instructions; and one or more processors configured to execute the computer-executable instructions such that the one or more processors are configured to perform operations including, receiving an extensible markup language (XML) file corresponding to a piping and instrumentation diagram (PID) of a system, identifying components of the system that are described in the XML file, the XML file including information about attributes of the identified components, storing the information about the attributes of the identified components, and generating a simulation model page using syntax of a simulation modeling software environment, based on the stored information about the attributes of the identified components.
- XML extensible markup language
- PID piping and instrumentation diagram
- the system may be a process plant system.
- the XML file may follow PID XML Standard ISO 15926.
- the one or more processors may be configured to execute the computer-executable instructions such that the identifying includes, for each identified component, identifying, in the XML file, an XML element corresponding to the component.
- the one or more processors may be configured to execute the computer-executable instructions such that the one or more processors are further configured to generate, for each identified XML element, a component object data structure corresponding to the identified XML element.
- the one or more processors may be configured to execute the computer-executable instructions such that the one or more processors are further configured to, for each identified XML element, extract attribute information of the identified XML element from the XML file.
- the one or more processors may be configured to execute the computer-executable instructions such that the storing includes, for each generated component object data structure, storing, as one or more elements of the generated component object data structure, the attribute information extracted from the identified XML element to which the generated component object data structure corresponds.
- the one or more processors may be configured to execute the computer-executable instructions such that the storing includes generating a list of strings defining the identified components, the list of strings including information based on the information about the attributes of the identified components.
- FIG. 1 is a block diagram illustrating an example of simulation model generating apparatus according to at least some example embodiments
- FIG. 2 is a flow chart illustrating an example of a simulation model generating method.
- FIG. 3 illustrates an example of a portion of a piping and instrumentation diagram (PID or P&ID).
- FIG. 4 illustrates an element in a portion of an extensible markup language (XML) file corresponding to a PID.
- XML extensible markup language
- FIG. 5 illustrates a method of performing object identification according to at least some example embodiments.
- FIGS. 6 and 7 are flow charts for illustrating a method of generating a simulation model file according to at least some example embodiments.
- FIG. 8 is a flow chart illustrating an example of a simulation model generating method.
- simulation model generating methods and apparatuses are described, herein, in terms of design documents, for example a piping and instrumentation diagram (PID or P&ID), of a process plant and a simulation platform.
- design documents for example a piping and instrumentation diagram (PID or P&ID)
- PID or P&ID piping and instrumentation diagram
- the simulation model generating methods and apparatuses according to at least some example embodiments can be applied to development of simulation models of other processes, where the design is documented in terms of objects with pre-defined attributes, which can be mapped into the attributes of objects in a simulation platform, because the simulation model generating methods and apparatuses according to at least some example embodiments include a
- first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers, and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, or section from another element, component, region, layer, or section. Thus, a first element, component, region, layer, or section discussed below could be termed a second element, component, region, layer, or section without departing from the teachings of example embodiments.
- spatially relative terms e.g., “beneath,” “below,” “lower,” “above,” “upper,” and the like
- the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the term “below” may encompass both an orientation of above and below.
- the device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.
- Example embodiments are described herein with reference to cross-sectional illustrations that are schematic illustrations of idealized embodiments (and intermediate structures) of example embodiments. As such, variations from the shapes of the illustrations as a result, for example, of manufacturing techniques and/or tolerances, are to be expected. Thus, example embodiments should not be construed as limited to the shapes of regions illustrated herein but are to include deviations in shapes that result, for example, from manufacturing.
- a simulation designer designing a simulation model of a system can refer to a PID of the system to learn the components and interconnections of the process plant being modeled.
- the PID can be drawn in a software (SW) environment.
- the simulation model is often developed in a SW environment.
- a simulation modeling software environment may include a GUI interface through which a simulation model may be input or defined, and/or the simulation modeling software may accept definitions of the model through an input file, e.g. ASCII.
- a simulation engineer enters each component and interconnection illustrated in a PID into simulation modeling software, manually (e.g., through the GUI interface). For example, if a PID illustrates two system elements (e.g.
- a software engineering would manually add the two system elements to a simulation model, and manually add a pipe connecting the two simulation elements to the simulation model, using simulation modeling software. Accordingly, the process of a simulation engineer manually creating a simulation model of a system based on a PID of the system can be time consuming, particularly when the system is a large system with hundreds or more of components and interconnections (e.g., a power plant system or chemical processing plant system).
- Some software packages for designing PIDs include an export function that generates an extensible markup language (XML) code representation of the components and interconnections illustrated by a PID.
- XML extensible markup language
- the XML code generated by PID software may follow PID XML Standard ISO 15926.
- a simulation model generating method includes extracting information defining the components and interconnections illustrated in a PID from the XML code representation of the PID, and generating a simulation model based on the extracted information.
- the simulation model is generated automatically, without the need for a simulation engineer to enter each component and interconnection illustrated in a PID into simulation modeling software manually. Examples of the simulation model generating method according to example embodiments are discussed in greater detail below with reference to FIGS. 2-8 . An example of a simulation model generating apparatus that implements the simulation model generating method will now be discussed below with reference to FIG. 1 .
- FIG. 1 is a block diagram illustrating an example of simulation model generating apparatus according to at least some example embodiments.
- a simulation model generating apparatus 200 may include, for example, a data bus 259 , a display unit 252 , an input unit 254 , a storage unit 256 , and a processing unit 258 .
- the display unit 252 , input unit 254 , storage unit 256 , and processing unit 258 may send data to and/or receive data from one another using the data bus 259 .
- the display unit 252 displays information in a graphical manner, for example, for viewing by a user.
- the display unit 252 may include any device capable of displaying information including, for example, one or more of a monitor, a television, a liquid crystal display (LCD) display, a light emitting diode (LED) display, a cathode ray tube (CRT) display, a projector, and the like.
- the input unit 254 receives data as input, for example, from a user.
- the input unit 245 may include any device capable of receiving input data including, for example, one or more of a mouse, a touchpad, a touchscreen, a keyboard, a microphone, a camera, and the like.
- the storage unit 256 may be any device capable of storing data including one or more of volatile memory, nonvolatile memory, magnetic storage, flash storage, random access memory (RAM), and the like.
- the processing unit 258 may be any device that is capable of processing data and is configured to carry out specific operations based on input data, or configured to execute instructions included in computer readable code including, for example code stored in the storage unit 256 .
- the simulation model generating apparatus 200 may be programmed, in terms of software and/or hardware, to perform any or all of the functions described herein as being performed by a simulation model generating apparatus, as well as any or all functions described below with reference to FIGS. 2-8 . Consequently, the simulation model generating apparatus 200 described herein may be embodied as a special purpose computer through software and/or hardware programming.
- the storage unit 256 may store a program including executable instructions corresponding to any or all of the operations described herein as being performed by a simulation model generating apparatus.
- the executable instructions may be stored in a computer-readable medium including, for example, an optical disc, flash drive, SD card, etc.
- the simulation model generating apparatus 200 may include hardware for reading data stored on the computer readable-medium.
- processing unit 258 may be a processor configured to perform any or all of the operations described herein as being performed by a simulation model generating apparatus 200 and/or any or all functions described below with reference to FIGS. 2-8 , for example, by reading and executing the executable instructions stored in at least one of the storage unit 256 and a computer readable storage medium loaded into hardware included in the simulation model generating apparatus 200 for reading computer-readable mediums.
- processor may refer to, for example, a hardware-implemented data processing device having circuitry that is physically structured to execute desired operations including, for example, operations represented as code and/or instructions included in a program.
- desired operations including, for example, operations represented as code and/or instructions included in a program.
- hardware-implemented data processing device include, but are not limited to, a microprocessor, a central processing unit (CPU), a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA).
- processors executing program code are programmed processors, and thus, are special-purpose computers
- the processing unit 258 may include a circuit that has a structural design dedicated to performing any or all of the operations described herein as being performed by a simulation model generating apparatus and/or any or all functions described below with reference to FIGS. 2-8 .
- the above-referenced circuit included in the processing unit 258 may be a FPGA or ASIC physically programmed, through specific circuit design, to perform any or all of the operations described herein as being performed by a simulation model generating apparatus.
- FIG. 2 is a flow chart illustrating an example of a simulation model generating method according to at least some example embodiments.
- an XML file corresponding to a PID of a system is received.
- the simulation model generating apparatus 200 may receive an XML file corresponding to a PID of a system.
- the system being modeled by the simulation model generating apparatus is a system of a process plant (e.g., a power plant or chemical processing plant)
- the XML file may be a file corresponding to a PID of a process plant.
- PID generating software used to create or access the PID of the system may export the PID of the system in the form of the XML file received by the simulation model generating apparatus 200 in operation S 205 .
- the exported XML file follows PID XML Standard ISO 15926. An example of a PID and XML data corresponding to a PID will now be discussed below with reference to FIGS. 3 and 4 .
- FIG. 3 illustrates an example of a portion of a PID 300 .
- the portion of the PID 300 illustrated in FIG. 3 may be a portion of a single page of the PID 300 .
- the PID 300 may span several pages.
- the PID 300 illustrated in FIG. 3 is a PID describing a system or systems of a nuclear power plant.
- a PID describing a system or systems of a nuclear power plant is used only as an example.
- PIDs can be generated for several different types of systems, and the PID to which the XML file received in operation S 205 is not limited to being a PID that describes systems associated with nuclear power plants.
- a PID can include visual depictions of several different types of components included in the system or systems being illustrated by the PID.
- different types of components may be illustrated using different types of symbols known to those of ordinary skill in the subject matter area of the system or systems illustrated in the PID.
- the symbols used in a PID like that shown in FIG. 3 are defined in a legend and used consistently across multiple diagrams.
- the symbols illustrated in PID 300 are recognizable to those familiar with PIDs for nuclear power plant designs. Examples of components within the portion of the PID 300 illustrated in FIG.
- valves 305 include valves 305 , a pressure instrument 311 , a Venturi/orifice 315 , a temperature instrument 319 , filters 321 , an off page connector 323 and a differential pressure instrument 325 .
- Valves 305 are used for isolating/controlling flow in the system described by the PID 300 .
- the differential pressure instrument 325 and temperature instrument are used for measuring pressure and temperature, respectively, in the system described by the PID 300 .
- the Venturi/orifice 315 creates a decrease in area for measuring differential pressure to measure flow in the system described by the PID 300 .
- the filters 321 remove particles in from liquid in the system described by the PID 300 .
- the off page connectors 323 each designate and label a system connection to another page of the PID 300 .
- that off page connectors 323 connect the portion of the PID 300 illustrated in FIG. 3 to clean water 954 and a makeup water system 951 .
- the differential pressure instrument 325 measures a difference in pressure between two points in the system described by the PID 300 .
- Further examples of components that could be included in the PID 300 include, but are not limited to, tanks and/or vessels, and silencers.
- the tanks and/or vessels can be used, for example, for storing mass and/or providing make up water to the system described by the PID 300 .
- the silencers can be used, for example to create restrictions to flow or to remove turbulence.
- interconnections between the several different types of components can also be included in a PID.
- the interconnections illustrated in the PID 300 may represent, for example, piping in between various components of a system or systems of a nuclear power plant.
- a PID can be exported in the form of an XML file. An excerpt from such an XML file is illustrated in FIG. 4 .
- FIG. 4 illustrates a portion of an XML file 400 .
- the XML file 400 corresponds to the PID 300 .
- the XML file 400 includes XML data, i.e., data expressed using XML syntax.
- the XML file 400 follows the PID XML Standard ISO 15926.
- the portion of XML file 400 shown in FIG. 4 illustrates XML data describing the filter component Filter-0121, which is one of the filters 321 illustrated in the PID 300 of FIG. 3 .
- the filter component Filter-0121 is also referred to, in the present disclosure, simply as “the Filter-0121 component.”
- the Filter-0121 component could be either one of the two filters 321 illustrated in FIG. 3 .
- the TagName attribute indicates a tag (i.e., “Filter-0121”) which may be illustrated in the PID 300 as a visual identifier of the Filter-0121 component.
- the filters 321 are illustrated in the PID 300 of FIG. 3 using only reference numerals, and not tag names.
- the ID attribute indicates an identifier value for the Filter-0121 component described by the “Equipment” element illustrated in FIG. 4 .
- the identifier value of the ID attribute may uniquely identify, with respect to all components described in the XML file 400 and/or included in the PID 300 , the Filter-0121 component described by the “Equipment” element illustrated in FIG. 4 .
- FIG. 4 illustrates only XML data corresponding to a single filter component
- the XML file 400 may include XML data describing any or all components included in the PID to which the XML file 400 corresponds.
- the items described by the XML data included in the XML file 400 may be of several different types.
- the XML file 400 is an example of an XML file exported from a PID that illustrates a system or systems of a nuclear power plant
- examples of the different types of components that may be described in the XML file 400 include, but are not limited to, pumps, valves, filters, tanks, piping segments, measuring instrumentation, silencers, and page connectors.
- the page connectors depict connections that span adjacent pages of a multi-page PID.
- the PID 300 and XML file 400 are generated using P&ID (computer-aided design) CAD software.
- the example of the PID 300 depicted in FIG. 3 is an example of a PID generated using SmartPlant® P&ID software
- the example of the portion of XML file 400 depicted in FIG. 4 is an example of a portion of an XML file generated using SmartPlant® P&ID software.
- SmartPlant® P&ID software is just one example among several known types/brands of P&ID CAD software which may be used to generate PIDs and XML files for use with the simulation model generating method illustrated in FIG. 2 .
- the XML file retrieved in operation S 205 of FIG. 2 and the PID to which the retrieved XML file corresponds can both be generated by any P&ID CAD software capable of generating XML data in accordance with the PID XML Standard ISO 15926.
- operation S 215 information describing the identified components is stored, based on the XML file.
- the simulation model generating apparatus 200 may store information describing the components that were identified by the simulation model generating apparatus 200 in operation S 210 .
- the simulation model generating apparatus 200 may extract information describing the identified components from the XML file that was received by the simulation model generating apparatus 200 in operation S 205 , and store the extracted data, for example, in the storage unit 256 .
- the simulation model generating apparatus 200 may create an array corresponding to the component, populate the array with information corresponding to the attributes and/or sub-elements of the element or sub-element describing the component in the XML file, and store the array.
- an example component array that corresponds to the Filter-0121 component described by the “Equipment” element illustrated in FIG. 4 and may be created by the simulation model generating apparatus 200 in operation S 215 is illustrated in Table 1, below.
- the array corresponding to the Filter-0121 component may include, as a value of an “ID” array element, the value of the “ID” attribute extracted by the simulation model generating apparatus 200 from the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- the array illustrated in Table 1 that corresponds to the Filter-0121 component may include, as a value of a “Name” array element, the value of the “ComponentName” attribute extracted by the simulation model generating apparatus 200 from the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- the array illustrated in Table 1 that corresponds to the Filter-0121 component may include, as a value of a “TagName” array element, the value of the “TagName” attribute extracted by the simulation model generating apparatus 200 from the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- the array illustrated in Table 1 that corresponds to the Filter-0121 component may include, as values of “PosX” and “Posy” array elements, respectively, “X” and “Y” values of the “Position” sub-element extracted by the simulation model generating apparatus 200 .
- the simulation model generating apparatus 200 may group the “NozName,” “NozPosX,” and “NozPosY” array elements with the “NozID” array element to which the “NozName,” “NozPosX,” and “NozPosY” array elements correspond.
- the simulation model generating apparatus 200 may extract, as the value of the “NozName” array element of the array illustrated in Table 1, the “ComponentName” attribute of the corresponding one of the 4 “Nozzle” sub-elements of the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- the simulation model generating apparatus may extract, as the “PMinY” array element of the array illustrated in Table 1, a “Y” attribute of a “Min” sub-element of the “Extent” sub-element of the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- the simulation model generating apparatus may extract, as the “PMaxX” array element of the array illustrated in Table 1, an “X” attribute of a “Max” sub-element of the “Extent” sub-element of the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- the simulation model generating apparatus may extract, as the “PMaxY” array element of the array illustrated in Table 1, a “Y” attribute of the “Max” sub-element of the “Extent” sub-element of the “Equipment” element of the XML file 400 that describes the Filter-0121 component.
- Table 1 above, is provided as an example of an array that includes attributes of a component listed in an XML file.
- an array created for a component described in an XML file is not limited to including only the information shown in Table 1. Additional types of information that may be included in the array shown in Table 1 include, but are not limited to, identification of graphical elements of the component corresponding to the array, topology information about the component corresponding to the array, and information about dimensions of the component corresponding to the array (e.g., pipe diameters).
- table 1 is provided as an example of a component array created for a filter component described by XML file 400 . Accordingly, the contents of the component array shown in Table 1 correspond to attributes of a filter component.
- component arrays created for components other than filter components e.g., page connector, piping segment, tank, valve, check valve, and/or pump components
- types of attributes may include types of attributes that correspond to attributes of the type of component for which the component array is created, and may differ from at least some of the types of attributes included in Table 1.
- the diameter of pipes is exported to the XML file, and this can be loaded into the simulation model to characterize the hydraulic resistance of the flow paths.
- SW tools used to produce the P&ID often are used to load in a database additional design information which is needed to procure the equipment.
- Database reports from the design tool indexed by EquipmentlD or “ID” can be reformatted and imported into most simulation tools, once the topology and arrangement of components is defined through this process. Examples of the type of information available are pump rated head and flowrate, heat exchanger heat transfer area, flow area and hydraulic diameter and valve loss characteristic as a function of open fraction.
- the simulation model generating apparatus 200 may also store a correspondence table defining the correspondence between the unique identifier value stored in the “ID” attribute or an element or sub-element, and the 4-digit value generated the simulation model generating apparatus 200 that corresponds to the unique identifier.
- the simulation model generating apparatus 200 can check the correspondence table to see if a 4-digit value has already been assigned to a unique identifier, and avoid generating a new 4-digit value for unique identifiers to which the simulation model generating apparatus 200 has already assigned a 4-digit value.
- 4-digit values are discussed above as an example, the operations described above with respect to the 4-digit values may be applied to any desired number of digits including, for example, 3-digit values, 5-digits values and 6-digit values.
- the simulation model generating apparatus 200 adds each of the generated arrays to at least one of a plurality of array lists, and stores the array lists, for example, in storage unit 256 . Examples of different types of array lists will be discussed in greater detail below with reference to FIG. 5 .
- simulation model generating apparatus 200 may perform operations S 210 and S 215 as a single step or separate steps.
- a simulation model is generated based on the information describing the identified components.
- the simulation model generating apparatus 200 may generate a simulation model based on the information describing the identified components that was stored by the simulation model generating apparatus 200 in operation S 215 .
- the simulation model generating apparatus 200 creates a simulation model file corresponding to a desired simulation modeling software environment.
- the desired simulation modeling software environment may be chosen, for example, in accordance with the preference of a simulation engineer or user performing a method in accordance with any of FIGS. 2-8 .
- the simulation model generating apparatus 200 reads the arrays that were created and stored by the simulation model generating apparatus 200 in operation 215 . Further, for each array read, the simulation model generating apparatus 200 may generate a corresponding description of a component using the syntax of the desired simulation modeling software environment, and add the description to the simulation model file.
- the resulting simulation model file may define a simulation model.
- FIG. 5 illustrates a method of performing object (i.e., component) identification according to at least some example embodiments.
- operation S 210 may be performed in accordance with FIG. 5 .
- operations S 210 and S 215 may be performed in accordance with FIG. 5 .
- FIGS. 5-7 will be described with reference to a scenario in which (i) the XML file received in operation S 205 represents piping segments as components, and (ii) according to the syntax of the simulation model file generated in step S 220 , piping segments are represented as links that originate at a first node and terminate at a second node, and each link may be a pump link or a flow link.
- An example of the above-referenced scenario includes an operation of the simulation model generating apparatus 200 generating a simulation model file using the syntax of a simulation platform simulation model based on an XML file exported from a PID by SmartPlant® P&ID software. Examples of different simulation platforms this apparatus applies to include Modelica, MATLABTM, 3KEYMASTERTM, JADETM.
- nodes some components (e.g., tanks, filters, valves, check valves, and page connectors) are defined as nodes, and some components (e.g., pipe segments and pumps) are defined as links.
- links some components (e.g., pipe segments and pumps) are defined as links.
- an object (i.e., component) identification operation is initiated for a component included in the XML file received in operation S 205 of FIG. 2 .
- the simulation model generating apparatus 200 may read an element or sub-element defining a component from the XML file received in operation S 205 of FIG. 2 .
- the simulation model generating apparatus 200 determines whether the component defined by the element or sub-element read in operation S 502 is a page connector. For example, according to at least some example embodiments, in operation S 505 , the simulation model generating apparatus 200 may determine whether the component defined by the element or sub-element read in operation S 502 is a page connector by determining whether a “ComponentName” attribute of the component defined by the element or sub-element read in operation S 502 has a value corresponding to a page connector component.
- the simulation model generating apparatus 200 extracts information defining the page connector component from the XML file received in operation S 205 of FIG. 2 , and stores the extracted information.
- the simulation model generating apparatus 200 may generate an array corresponding to the page connector component in the same manner discussed above with respect to operation S 215 of FIG. 2 and the array illustrated in Table 1.
- the array generated for the page connector component may include array elements for at least position information, component name information, and ID information of the page connector component.
- the simulation model generating apparatus 200 may store the array corresponding to the page connector component in one of a plurality of array lists.
- the simulation model generating apparatus 200 may create an on-link node array list, an endpoint node array list, and a link array list.
- the on-link node array list may store arrays corresponding to components that are defined as nodes that are placed on top of links in accordance with the design rules of the desired simulation modeling software environment. Examples of types of components that correspond to the arrays included in the on-link node array list in accordance with the design rules of some simulation platforms (e.g., 3KEYMASTERTM) include, for example, valve components and check valve components.
- the endpoint node array list may store arrays corresponding to components that can act as origin or termination nodes of a link in accordance with the design rules of the desired simulation modeling software environment.
- Examples of types of components that correspond to the arrays included in the endpoint node array list in accordance with the design rules of some simulation platforms include, for example, tank components and filter components.
- the link array list may store arrays corresponding to components that are defined as links in accordance with the design rules of the desired simulation modeling software environment.
- Examples of types of components that correspond to arrays included in the link array list in accordance with the design rules of some simulation platforms include, for example, pump components and piping segment components.
- the simulation platform may use a different scheme of simulating fluid systems, including, for example, a scheme in which, instead of pumps being defined as a link between nodes, a pump would be a component that would be between two nodes.
- a valve or check valve could also be simulated in a different manner. For example, instead of the valve or check valve being placed on a flow link, the valve or check valve could be a component that is connected from one portion of the flow link to another portion of the flow link, or connected between 2 flow links.
- simulation model generating apparatus 200 determines, in operation S 505 , that the component defined by the element or sub-element read in operation S 502 is not a page connector, the simulation model generating apparatus 200 proceeds to operation S 515 .
- the simulation model generating apparatus 200 determines whether the component defined by the element or sub-element read in operation S 502 is a piping segment. For example, according to at least some example embodiments, in operation S 515 , the simulation model generating apparatus 200 may determine whether the component defined by the element or sub-element read in operation S 502 is a piping segment by determining whether a “ComponentName” attribute of the component defined by the element or sub-element read in operation S 502 has a value corresponding to a piping segment component.
- simulation model generating apparatus 200 determines, in operation S 515 , that the component defined by the element or sub-element read in operation S 502 is a piping segment, the simulation model generating apparatus 200 proceeds to operation S 520 .
- the simulation model generating apparatus 200 determines whether the piping segment splits (e.g., branches).
- the simulation model generating apparatus 200 determines that the piping segment splits, the simulation model generating apparatus 200 proceeds to operation S 525 .
- the simulation model generating apparatus 200 may generate and store multiple arrays defining multiple links. For example, if a piping segment originates at a first node and branches into two pipes that connect to second and third nodes, respectively, the simulation model generating apparatus 200 may generate and store a node array corresponding to a new fourth node located at the point where the two pipes split. The simulation model generating apparatus 200 may generate and store a first link array defining a first link as originating at the first node and terminating at the new fourth node. The simulation model generating apparatus 200 may generate and store a second link array defining a second link as originating at the new fourth node and terminating at the second node. Further, the simulation model generating apparatus 200 may generate and store a third link array defining a third link as originating at the new fourth node and terminating at the third node.
- the simulation model generating apparatus 200 may extract node name and/or ID value and node position values from the XML file received in operation S 205 of FIG. 2 , and populate array elements of the first, second and third link arrays generated in operation S 525 with corresponding node name and/or ID values and node position values.
- the element or sub-element in the XML file that defines the piping segment component identified by the simulation modeling apparatus in operation S 515 may also include, for example, a “FromID” value identifying an origin node of the piping segment and one or more “ToID” values identifying one or more termination nodes of the piping segment.
- the “FromID” and “ToID” values may be, for example, attributes of a “Connection” sub-element of a “PipingNetworkSegment” element of the XML file that defines the piping segment identified in operation S 515 . Accordingly, in operation S 530 , the simulation model generating apparatus 200 can create or populate array elements that specify link origin nodes and link termination nodes for each of the first, second and third link arrays. According to at least some example embodiments, each of the first, second and third nodes may be, for example, components for which arrays have already been generated by the simulation model generating apparatus 200 .
- the simulation model generating apparatus 200 may refer to the arrays corresponding to the first, second and third nodes in order to acquire the position information of the first, second and third nodes that may be included as values for position array elements of the first, second and third link arrays. According to at least some example embodiments, the simulation model generating apparatus 200 placed node arrays corresponding to the first, second and third nodes in the endpoint node array list, for example, when the simulation model generating apparatus 200 created the arrays corresponding to the first, second and third nodes.
- the simulation model generating apparatus 200 may store the first, second, and third link arrays in the link array list, and may store the node array defining the new fourth node in the endpoint node array list.
- the simulation model generating apparatus 200 determines that the piping segment does not split, the simulation model generating apparatus 200 proceeds to operation S 535 .
- the simulation model generating apparatus 200 may generate and store a link array defining a link corresponding to the piping segment identified by the simulation model generating apparatus 200 in operation S 515 .
- the simulation model generating apparatus 200 may extract node name and/or ID value and node position values from the XML file received in operation S 205 of FIG. 2 , and populate array elements of the link array generated in operation S 535 using, for example, a “FromID” value identifying an origin node of the piping segment and a “ToID” values identifying one or more termination nodes of the piping segment.
- the “FromID” and “ToID” values may be, for example, attributes of a “Connection” sub-element of a “PipingNetworkSegment” element of the XML file that defines the piping segment identified in operation S 515 .
- each of the links described above with respect to operations S 525 -S 540 may be a flow links. Examples of pump links are described below with reference to steps S 580 an S 585 .
- simulation model generating apparatus 200 determines, in operation S 515 , that the component defined by the element or sub-element read in operation S 502 is not a piping segment, the simulation model generating apparatus 200 proceeds to operation S 520 .
- the simulation model generating apparatus 200 determines whether the component defined by the element or sub-element read in operation S 502 is a tank. For example, according to at least some example embodiments, in operation S 545 , the simulation model generating apparatus 200 may determine whether the component defined by the element or sub-element read in operation S 502 is a tank by determining whether a “ComponentName” attribute of the component defined by the element or sub-element read in operation S 502 has a value corresponding to a tank component.
- simulation model generating apparatus 200 determines, in operation S 545 , that the component defined by the element or sub-element (of Component Class or Component Name) read in operation S 502 is a tank, (or accumulator, drum or vessel) the simulation model generating apparatus 200 proceeds to operation S 550 .
- the simulation model generating apparatus 200 generates and stores a node array corresponding to the tank component identified in operation S 545 .
- the simulation model generating apparatus 200 extracts information defining the tank component from the XML file received in operation S 205 of FIG. 2 , and stores the extracted information in the node array generated in operation S 550 .
- the simulation model generating apparatus 200 may generate an array corresponding to the tank component in the same manner discussed above with respect to operation S 215 of FIG. 2 and the array illustrated in Table 1.
- the array generated for the tank component may include array elements for at least position information, component name information, and ID information of the tank component.
- the simulation model generating apparatus 200 may store the array corresponding to the tank component in the endpoint node array list.
- simulation model generating apparatus 200 determines, in operation S 560 , that the component defined by the element or sub-element read in operation S 502 is not a valve component, the simulation model generating apparatus 200 proceeds to operation S 575 .
- the simulation model generating apparatus 200 determines whether the component defined by the element or sub-element read in operation S 502 is a pump. For example, according to at least some example embodiments, in operation S 575 , the simulation model generating apparatus 200 may determine whether the component defined by the element or sub-element read in operation S 502 is a pump by determining whether a “ComponentName” or “Name” attribute of the component defined by the element or sub-element read in operation S 502 has a value corresponding to a pump component.
- simulation model generating apparatus 200 determines, in operation S 575 , that the component defined by the element or sub-element read in operation S 502 is a pump, the simulation model generating apparatus 200 proceeds to operation S 580 .
- the simulation model generating apparatus 200 generates and stores a link array corresponding to the pump component identified in operation S 560 .
- the simulation model generating apparatus 200 extracts information defining the pump component from the XML file received in operation S 205 of FIG. 2 , and stores the extracted information in the link array generated in operation S 580 .
- the simulation model generating apparatus 200 may generate a link array corresponding to the pump component in the same manner discussed above with respect to operation S 215 of FIG. 2 and the array illustrated in Table 1.
- the link array generated for the pump component may include array elements for at least position information of the pump component, component name information of the pump component, and ID information of the pump component.
- the link array generated for the pump component may define a pump link.
- the simulation model generating apparatus 200 may store the link array corresponding to the pump component in the link array list.
- the simulation model generating apparatus 200 may store the link array generated in operation S 580 in the link array list.
- the simulation model generating apparatus 200 may return to step S 502 , read a new element or sub-element from the XML file received in operation S 205 of FIG. 2 , and attempt to identify a component defined by the new element or sub-element in accordance with steps S 505 -S 585 .
- the simulation model generating apparatus 200 may create a simulation model file in accordance with the file format of the desired simulation modeling software environment, and identify a numbers and positions of the components described by the node arrays discussed above with respect to FIG. 5 .
- Operation S 605 may include two sub-operations, S 610 and S 620 .
- the simulation model generating apparatus 200 may read the information stored in node arrays listed in the endpoint node list discussed above with respect to FIG. 5 .
- the simulation model generating apparatus 200 may use the information read in operation S 610 to generate descriptions of each of the components corresponding to the node arrays listed in the endpoint node list, using the syntax of the desired simulation modeling software environment.
- the simulation model generating apparatus 200 may add each of the descriptions generated in operation S 615 to the simulation model file created in operation S 605 , thereby defining, in the simulation model file, node objects using the syntax of the desired simulation modeling software environment.
- each node object defined in the simulation model file in operation S 615 may correspond to an endpoint node array included in the endpoint node array list described above with respect to FIG. 5 .
- the node objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 615 may each include an ID value “ID,” a position value “Pos,” a type value “Type,” a name value “Name,” and graphic information “BMP.”
- the simulation model generating apparatus 200 may proceed to the method illustrated in FIG. 7 .
- the simulation model generating apparatus 200 identifies links.
- operation S 710 is a sub-operation of operation S 705 .
- the simulation model generating apparatus 200 may access link arrays that define corresponding components by reading the link array list described above with respect to FIG. 5 .
- step S 715 the simulation model generating apparatus 200 may read the information stored in each of the link arrays listed in the link array list.
- the link objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 725 may each include an ID value “ID,” a position value “Pos,” a type value “Type,” a name value “Name,” the “FromID” and “ToID” values, width and color values Width and Color, a “NumOfPoints” information item and a “Points” information item.
- the node objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 725 may each include, as an identifier (e.g., “ID”) value, a unique 4-digit integer.
- the unique 4-digit integers included in the definitions of the link objects added to the simulation model file in operation S 725 may be the unique 4-digit integers assigned to the components for which the link arrays corresponding to the link objects were generated. Examples of generating the unique 4-digit integers for component arrays are discussed above with respect to Table 1.
- component tag names included in the definitions of the link objects added to the simulation model file in operation S 725 may be or include the tag names of the components for which the link arrays corresponding to the link objects were generated.
- the position information e.g., coordinates
- type information
- the simulation model generating apparatus 200 may use the attribute information read from the link arrays in operation S 715 to generate the “NumOfPoints” item, which contains information items identifying a number of points through which the corresponding link will be routed, and generate the “Points” item, which contains information identifying coordinates of each of the points through which the corresponding link will be routed.
- each link object defined in the simulation model file in operation S 725 may correspond to a link array included in the link array list described above with respect to FIG. 5 .
- the link objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 725 may each include, as an identifier (e.g., “ID”) value, a unique 4-digit integer.
- the unique 4-digit integers included in the definitions of the link objects in the simulation model file may be the unique 4-digit integers assigned to the components for which the link arrays corresponding to the link objects were generated. Examples of generating the unique 4-digit integers for component arrays are discussed above with respect to Table 1.
- component tag names included in the definitions of the link objects in the simulation model file may be or include the tag names of the components for which the link arrays corresponding to the link objects were generated.
- link objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 725 can represent connections between 2 nodes and can each be either a pump link or a flow link.
- the pump link is a link that adds energy (flow) to the system being modeled by the simulation modeling software environment.
- a flow link passes energy in the system being modeled by the simulation modeling software environment.
- the simulation model generating apparatus 200 may return to the method illustrated in FIG. 6 .
- the simulation model generating apparatus 200 may read the information stored in node arrays listed in the on-link node list discussed above with respect to FIG. 5 .
- the simulation model generating apparatus 200 may use the information read in operation S 620 to generate descriptions of each of the node objects corresponding to the node arrays listed in the on-link node list, using the syntax of the desired simulation modeling software environment.
- the simulation model generating apparatus 200 may add each of the descriptions generated in operation S 625 to the simulation model file created in operation S 605 , thereby defining, in the simulation model file, node objects using the syntax of the desired simulation modeling software environment.
- each node object defined in the simulation model file in operation S 625 may correspond to an on-link node array included in the on-link node array list described above with respect to FIG. 5 .
- the node objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 625 may each include an ID value “ID,” a position value “Pos,” a paste ID value “PasteID,” a type value “Type,” a name value “Name,” and graphic information “BMP.”
- the node objects defined in the simulation model file by the simulation model generating apparatus 200 in operation S 625 may each include, as an identifier (e.g., “ID”) value, a unique 4-digit integer.
- the unique 4-digit integers included in the definitions of the node objects in the simulation model file may be the unique 4-digit integers assigned to the components for which the on-link node arrays corresponding to the node objects were generated. Examples of generating the unique 4-digit integers for component arrays are discussed above with respect to Table 1.
- component tag names included in the definitions of the node objects added to the simulation model in operation S 625 file may be or include the tag names of the components for which the on-link node arrays corresponding to the node objects were generated.
- the position information e.g., coordinates
- the simulation model generating apparatus 200 may set the paste ID value “PasteID” as the ID of the link, identified in operation S 560 , that the node object (e.g., valve or check valve) is placed inline of (or on top of).
- the node object e.g., valve or check valve
- FIGS. 5-7 were described with reference to a scenario in which (i) the XML file received in operation S 205 represents piping segments as objects, and (ii) according to the syntax of the simulation model file generated in step S 220 , piping segments are represented as links that originate at a first node and terminate at a second node, and each link may be a pump link or a flow link.
- operation S 520 -S 530 in FIG. 5 may be omitted, and the simulation model generating apparatus 200 may proceed directly from operation S 515 to operation S 535 , when the object is determined to be a piping segment in operation S 515 .
- a node array may be created for the pump object in operation S 580 instead of a link array.
- FIG. 8 is a flow chart illustrating an example of a simulation model generating method.
- the simulation modeling method of FIG. 8 may be performed by the simulation model generating apparatus 200 .
- the simulation modeling method of FIG. 8 may include receiving and opening an XML file corresponding to a PID of a system, as is described in greater detail below with reference to operations S 805 and S 810 .
- the XML file may include information about attributes of the PID and information about attributes of components of the system.
- the simulation modeling method of FIG. 8 may further include extracting the information about the attributes of the PID and storing the extracted information about the attributes of the PID, as is discussed in greater detail below with reference to operation S 815 .
- the simulation modeling method of FIG. 8 may further include identifying components of the system that are described in the XML file, extracting information about the attributes of the identified components from the XML file, and storing the extracted information about the attributes of the identified components, as is discussed in greater detail below with reference to operations S 820 -S 840 .
- the simulation modeling method of FIG. 8 may further include generating a simulation model page using syntax of a desired simulation modeling software environment, based on the stored information about the attributes of the identified components, as is discussed in greater detail below with reference to operation S 850 .
- the simulation model generating apparatus 200 opens the XML file received in operation S 805 in order to access the contents of the received XML file. For example, in operation S 810 , the simulation model generating apparatus 200 opens the XML file 400 .
- the simulation model generating apparatus 200 extracts, from the received XML file, dimensions of the PID corresponding to the received XML file, and stores the extracted information in a data structure referred to, herein, as a PIDcoord list.
- the simulation model generating apparatus 200 may generate the PIDcoord list by searching through the XML file 400 , finding the element that lists the dimensions of the PID 300 , creating an array or object data structure that stores the dimensions of the PID 300 listed in the XML file 400 , and storing the created array or object in the PIDcoord list.
- the simulation model generating apparatus 200 may extract “X” and “Y” attributes of “Min” and “Max” sub-elements of an “Extent” sub-element of a “Drawing” element included in the XML file 400 , and store the extracted elements as PID coordinate object in the PIDcoord list. If an XML file includes information exported from more than one PID, the simulation model generating apparatus 200 may create a PID coordinate object for each PID represented in the XML file, the PIDcoord list may include each of the create PID coordinate objects.
- the simulation model generating apparatus 200 extracts, from the received XML file, information about equipment components described in the XML file, and stores the extracted information in a data structure referred to, herein, as a EQcoord list.
- the EQcoord list may be generated based on a data structure referred to, herein, as a PIDequip list in a manner that will now be discussed in greater detail below.
- the simulation model generating apparatus 200 searches through the XML file 400 , and finds each “Equipment” element listed in the XML file 400 . Further, according to at least some example embodiments, in operation S 820 , for each “Equipment” element found in the XML file 400 , the simulation model generating apparatus 200 extracts attribute information about the “Equipment” element from the XML file 400 , creates a component object data structure which includes elements corresponding to the attributes of the “Equipment” element extracted from the XML file, and stores the created component object in the PIDequip list.
- the structure of the component array shown in Table 1 discussed above with reference to operations S 210 and S 215 of FIG. 2 is an example of the structure of the component objects the simulation model generating apparatus 200 creates for each “Equipment” element found in the XML file 400 in operation S 820 .
- each component object created by the simulation model generating apparatus 200 in operation S 820 may be created in the same manner as that described above with respect to operations S 210 and S 215 , and the component array shown in Table 1.
- the simulation model generating apparatus 200 may convert the attributes included in each of the component objects included in the PIDequip list into a series of strings, and store the series of strings in the EQcoord list along with text identifying the attributes included in each string.
- the simulation model generating apparatus 200 may read the 32-hexadecimal number identifier of the component object (and the 32-hexadecimal number identifiers of any corresponding sub-components), and convert the unique 32-hexadecimal number identifiers into n-digit unique identifier, where ‘n’ is a positive integer.
- the simulation model generating apparatus 200 may read the 32-hexadecimal number identifier of each component object included in the PIDequip list, and convert the unique 32-hexadecimal number identifier into a 4-digit unique identifier (e.g., a unique identifier that is a 4-digit decimal (i.e., base-10) number).
- the simulation model generating apparatus 200 may start with the 4-digit value “0001” and increment the 4-digit value, for example, by 1, for every new unique identification value corresponding to every unique 32-hexadecimal number identifier of every component object generated by the simulation model generating apparatus 200 .
- the simulation model generating apparatus 200 may generate the EQcoord list in operation S 820 by storing the unique 4-digit values generated in operation S 820 in the EQcoord list as unique IDs corresponding to each of the component objects and sub-components of the PIDequip list, in place of the 32-hexadecimal number identifiers from which the unique 4-digit values were converted.
- the simulation model generating apparatus 200 extracts, from the received XML file, information about piping network components described in the XML file, and stores the extracted information in a data structure referred to, herein, as a PIDpiperun list.
- the simulation model generating apparatus 200 searches through the XML file 400 , and finds each “PipingNetworkSegment” element listed in the XML file 400 . Further, according to at least some example embodiments, in operation S 825 , for each “PipingNetworkSegment” element found in the XML file 400 , the simulation model generating apparatus 200 extracts attribute information about the “PipingNetworkSegment” element from the XML file 400 , creates a component object data structure which includes elements corresponding to the attributes of the “PipingNetworkSegment” element extracted from the XML file, and stores the created component object in the PIDpiperun list.
- the simulation model generating apparatus 200 may convert the attributes included in each of the component objects included in the PIDpiperun list into a series of strings, and store the series of strings in a data structure referred to, herein, as a PIDpiperunconn list along with text identifying the attributes included in each string.
- the simulation model generating apparatus 200 may read the 32-hexadecimal number identifier of the component object (and the 32-hexadecimal number identifiers of any corresponding sub-components), and convert the unique 32-hexadecimal number identifiers into n-digit unique identifiers, for example, in the same manner discussed above with respect to operation S 820 .
- the simulation model generating apparatus 200 extracts, from the received XML file, information about process instrument components described in the XML file, and stores the extracted information in a data structure referred to, herein, as a ProcInst list.
- the simulation model generating apparatus 200 searches through the XML file 400 , and finds each “ProcessInstrument” element listed in the XML file 400 . Further, according to at least some example embodiments, in operation S 835 , for each “ProcessInstrument” element found in the XML file 400 , the simulation model generating apparatus 200 extracts attribute information about the “ProcessInstrument” element from the XML file 400 , creates a component object data structure which includes elements corresponding to the attributes of the “ProcessInstrument” element extracted from the XML file, and stores the created component object in the ProcInst list.
- the structure of the component array shown in Table 1 discussed above with reference to operations S 210 and S 215 of FIG. 2 is an example of the structure of the component objects the simulation model generating apparatus 200 creates for each “ProcessInstrument” element found in the XML file 400 in operation S 835 .
- each component object created by the simulation model generating apparatus 200 in operation S 835 may be created in the same manner as that described above with respect to operations S 210 and S 215 , and the component array shown in Table 1.
- the simulation model generating apparatus 200 may read the 32-hexadecimal number identifier of the component object (and the 32-hexadecimal number identifiers of any corresponding sub-components), and convert the unique 32-hexadecimal number identifiers into n-digit unique identifiers, for example, in the same manner discussed above with respect to operation S 820 .
- the simulation model generating apparatus 200 may generate the ProcInstList list in operation S 840 by storing the unique 4-digit values generated in operation S 230 in the ProcInstList list as unique IDs corresponding to each of the component objects and sub-components of the ProcInst list, in place of the 32-hexadecimal number identifiers from which the unique 4-digit values were converted.
- the simulation model generating apparatus 200 may create a simulation model page and populate the simulation model page with simulation node objects, link objects and/or instrumentation objects based on each of the components defined in each of the component object lists (e.g., the EQcoord list, the PIDpiperunconn list, and the ProcInstList list). For example, the simulation model generating apparatus 200 may loop through the EQcoord list and create a simulation node object for each component object included in the EQcoord list, using the syntax of the desired simulation modeling software environment.
- the component object lists e.g., the EQcoord list, the PIDpiperunconn list, and the ProcInstList list.
- the simulation model generating apparatus 200 may loop through the PIDpiperunconn list and create a simulation link object for each component object included in the PIDpiperunconn list, using the syntax of the desired simulation modeling software environment. Further, the simulation model generating apparatus 200 may loop through the ProcInstList list and create a simulation instrument object for each component object included in the ProcInstList list, using the syntax of the desired simulation modeling software environment. The simulation model generating apparatus 200 may populate the simulation model page with the created simulation node objects, link objects and/or instrumentation objects. The operations of creating the simulation model page and populating the simulation model page with simulation node objects and link objects will be discussed in greater detail below with reference to operations S 845 and S 847 .
- the simulation model generating apparatus 200 may identify a number and position of nodes, and in operation S 847 the simulation model generating apparatus 200 may identify links.
- the simulation model generating apparatus 200 performs operation S 845 in the same manner discussed above with respect to operations S 605 -S 625 of FIG. 6 , and performs operation S 847 in the same manner discussed above with respect to operations S 705 -S 725 of FIG. 7 .
- the EQcoord list created in operation S 820 may correspond to the endpoint and on-link node array lists discussed above with reference to FIGS. 5 and 6 .
- the PIDpiperunconn and ProcInstList lists created in operation S 830 and S 840 may correspond to the link array list discussed above with reference to FIGS. 5 and 7 . Accordingly, in operations S 845 and S 847 , the simulation model generating apparatus 200 generates and populates a simulation model file according to the syntax of the desired simulation modeling software environment.
- a simulation model page is output.
- the simulation model file generated in operations S 845 and S 847 may be imported into (or, exported to) the desired simulation modeling software environment as a simulation model page.
- the simulation model generating apparatus 200 may provide the simulation model page generated in operations S 845 and S 847 to an application corresponding to the desired simulation modeling software environment.
- the simulation model generating apparatus 200 may output the simulation model page generated in operations S 845 and S 847 to a destination (e.g., folder) chosen by a user of the simulation model generating apparatus 200 , with or without providing the simulation model page to an application corresponding to the desired simulation modeling software environment.
- a destination e.g., folder
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Description
TABLE 1 | |
Component | |
Array | |
Element | |
Type | Component Array Element Value |
ID | SP70A6483926D04E4F897179BD3F2BA36C |
Component | Filter |
Name | |
TagName | Filter-0121 |
PosX | [X coordinate of the position of the Filter-0121 component] |
PosY | [Y coordinate of the position of the Filter-0121 component] |
NozID | SP4E731C905AAC4730A06B831EA7A51B2E |
NozName | Flanged Nozzle |
NozPosX | [X coordinate of the position of nozzle “SP58...”] |
NozPosY | [Y coordinate of the position of nozzle “SP58...”] |
NozID | SPAE7F9B675581476BB501A28F619C9D26 |
PMinX | [minimum X coordinate of the Filter-0121 component] |
PMinY | [minimum Y coordinate of the Filter-0121 component] |
PMaxX | [maximum X coordinate of the Filter-0121 component] |
PMaxY | [maximum Y coordinate of the Filter-0121 component] |
Claims (18)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/593,432 US10755002B2 (en) | 2017-05-12 | 2017-05-12 | Method and apparatus for facilitating creation of simulation model |
PCT/US2018/032047 WO2018209071A1 (en) | 2017-05-12 | 2018-05-10 | Method and apparatus for facilitating creation of simulation model |
ES201990079A ES2794724A1 (en) | 2017-05-12 | 2018-05-10 | Method and apparatus for facilitating creation of simulation model |
CA3062841A CA3062841C (en) | 2017-05-12 | 2018-05-10 | Method and apparatus for facilitating creation of simulation model |
GB1916397.1A GB2576654A (en) | 2017-05-12 | 2018-05-10 | Method and apparatus for facilitating creation of simulation model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/593,432 US10755002B2 (en) | 2017-05-12 | 2017-05-12 | Method and apparatus for facilitating creation of simulation model |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180330028A1 US20180330028A1 (en) | 2018-11-15 |
US10755002B2 true US10755002B2 (en) | 2020-08-25 |
Family
ID=64097255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/593,432 Active 2038-06-17 US10755002B2 (en) | 2017-05-12 | 2017-05-12 | Method and apparatus for facilitating creation of simulation model |
Country Status (5)
Country | Link |
---|---|
US (1) | US10755002B2 (en) |
CA (1) | CA3062841C (en) |
ES (1) | ES2794724A1 (en) |
GB (1) | GB2576654A (en) |
WO (1) | WO2018209071A1 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867085B2 (en) * | 2017-03-10 | 2020-12-15 | General Electric Company | Systems and methods for overlaying and integrating computer aided design (CAD) drawings with fluid models |
US11538591B2 (en) | 2017-03-10 | 2022-12-27 | Altair Engineering, Inc. | Training and refining fluid models using disparate and aggregated machine data |
US10977397B2 (en) | 2017-03-10 | 2021-04-13 | Altair Engineering, Inc. | Optimization of prototype and machine design within a 3D fluid modeling environment |
US10409950B2 (en) | 2017-03-10 | 2019-09-10 | General Electric Company | Systems and methods for utilizing a 3D CAD point-cloud to automatically create a fluid model |
US10803211B2 (en) * | 2017-03-10 | 2020-10-13 | General Electric Company | Multiple fluid model tool for interdisciplinary fluid modeling |
EP3579127A1 (en) * | 2018-06-07 | 2019-12-11 | Hexagon Technology Center GmbH | Method of generation of an enhanced plant model |
US10534983B1 (en) * | 2018-09-07 | 2020-01-14 | Accenture Global Solutions Limited | Piping and instrumentation planning and maintenance system |
CN109918742B (en) * | 2019-02-15 | 2023-09-08 | 湖南高至科技有限公司 | Data distribution and management method based on simulation system |
EP3862832A1 (en) * | 2020-02-07 | 2021-08-11 | Basf Se | Generating a representation of a process network comprising at least two interconnected chenical plants |
CN113434919A (en) * | 2021-06-29 | 2021-09-24 | 广联达科技股份有限公司 | Geometric model reconstruction method and device, electronic equipment and storage medium |
CN113485160B (en) * | 2021-07-26 | 2025-02-18 | 中国核电工程有限公司 | A simulation modeling method and device based on graphic matching recognition |
CN114329863A (en) * | 2021-12-24 | 2022-04-12 | 新奥新智科技有限公司 | Method and device for generating pipeline in three-dimensional space, electronic equipment and storage medium |
CN114490756A (en) * | 2022-01-12 | 2022-05-13 | 中广核工程有限公司 | Generation method and device of association checking model, computer equipment and storage medium |
CN114694165B (en) * | 2022-06-01 | 2023-05-09 | 济南大学 | A method for intelligent identification and redrawing of PID drawings |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020077711A1 (en) * | 1999-02-22 | 2002-06-20 | Nixon Mark J. | Fusion of process performance monitoring with process equipment monitoring and control |
US20030200062A1 (en) * | 2002-04-22 | 2003-10-23 | Autodesk, Inc. | Adaptable multi-representation building systems part |
US20040024662A1 (en) * | 2002-08-02 | 2004-02-05 | David Gray | Equipment documentation management system, method, and software tools |
US20050007249A1 (en) * | 1999-02-22 | 2005-01-13 | Evren Eryurek | Integrated alert generation in a process plant |
US20070168060A1 (en) * | 2004-05-04 | 2007-07-19 | Fisher-Rosemount Systems, Inc. | Markup language-based, dynamic process graphics in a process plant user interface |
US20070179644A1 (en) | 2006-01-31 | 2007-08-02 | National Instruments Corporation | Automatically generating code from drawing specifications for use in motion control |
US20090282067A1 (en) * | 2008-02-25 | 2009-11-12 | Invensys Systems, Inc. | System and method for generating control system database and graphics from schema-based intermediate descriptions |
US20090292514A1 (en) * | 2008-02-15 | 2009-11-26 | Invensys Systems, Inc. | System And Method For Autogenerating Simulations For Process Control System Checkout And Operator Training |
WO2011049890A1 (en) | 2009-10-19 | 2011-04-28 | Siemens Corporation | Fault detection in hvac- systems using building information models and heat flow models |
US20120072386A1 (en) | 2010-09-17 | 2012-03-22 | Fluor Technologies Corporation | Intelligent Plant Development Library Environment |
US20120095603A1 (en) * | 2010-10-13 | 2012-04-19 | Kashif Rashid | Lift-gas optimization with choke control |
US20130123944A1 (en) | 2011-11-11 | 2013-05-16 | Rockwell Automation Technologies, Inc. | Data Resource Identity |
US9002809B2 (en) | 2012-11-30 | 2015-04-07 | Siemens Aktiengesellschaft | Method and apparatus for generating a data repository |
US20150301071A1 (en) * | 2014-04-22 | 2015-10-22 | Wipro Limited | System and method for sequential testing across multiple devices |
US20150323512A1 (en) * | 2014-05-09 | 2015-11-12 | Mks Instruments, Inc. | Computer-Implemented Systems and Methods for Generating Generalized Fractional Designs |
US20160161930A1 (en) * | 2014-12-03 | 2016-06-09 | Rockwell Automation Technologies, Inc. | P&id and control system synchronization |
US20170103103A1 (en) * | 2013-03-04 | 2017-04-13 | Fisher-Rosemount Systems, Inc. | Source-independent queries in distributed industrial system |
US20180210428A1 (en) * | 2015-10-12 | 2018-07-26 | Fisher-Rosemount Systems, Inc. | Automatic Loop Testing for a Process Control Loop |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201211796A (en) * | 2010-09-14 | 2012-03-16 | Chunghwa Telecom Co Ltd | Information communication configuration architecture design editor |
-
2017
- 2017-05-12 US US15/593,432 patent/US10755002B2/en active Active
-
2018
- 2018-05-10 ES ES201990079A patent/ES2794724A1/en active Pending
- 2018-05-10 WO PCT/US2018/032047 patent/WO2018209071A1/en active Application Filing
- 2018-05-10 CA CA3062841A patent/CA3062841C/en active Active
- 2018-05-10 GB GB1916397.1A patent/GB2576654A/en not_active Withdrawn
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050007249A1 (en) * | 1999-02-22 | 2005-01-13 | Evren Eryurek | Integrated alert generation in a process plant |
US20020077711A1 (en) * | 1999-02-22 | 2002-06-20 | Nixon Mark J. | Fusion of process performance monitoring with process equipment monitoring and control |
US20030200062A1 (en) * | 2002-04-22 | 2003-10-23 | Autodesk, Inc. | Adaptable multi-representation building systems part |
US20040024662A1 (en) * | 2002-08-02 | 2004-02-05 | David Gray | Equipment documentation management system, method, and software tools |
US20070168060A1 (en) * | 2004-05-04 | 2007-07-19 | Fisher-Rosemount Systems, Inc. | Markup language-based, dynamic process graphics in a process plant user interface |
US20070179644A1 (en) | 2006-01-31 | 2007-08-02 | National Instruments Corporation | Automatically generating code from drawing specifications for use in motion control |
US20150178422A1 (en) | 2008-02-15 | 2015-06-25 | Invensys Systems, Inc. | System and method for autogenerating simulations for process control system checkout and operator training |
US20090292514A1 (en) * | 2008-02-15 | 2009-11-26 | Invensys Systems, Inc. | System And Method For Autogenerating Simulations For Process Control System Checkout And Operator Training |
US20090282067A1 (en) * | 2008-02-25 | 2009-11-12 | Invensys Systems, Inc. | System and method for generating control system database and graphics from schema-based intermediate descriptions |
WO2011049890A1 (en) | 2009-10-19 | 2011-04-28 | Siemens Corporation | Fault detection in hvac- systems using building information models and heat flow models |
US20120072386A1 (en) | 2010-09-17 | 2012-03-22 | Fluor Technologies Corporation | Intelligent Plant Development Library Environment |
US20120095603A1 (en) * | 2010-10-13 | 2012-04-19 | Kashif Rashid | Lift-gas optimization with choke control |
US20130123944A1 (en) | 2011-11-11 | 2013-05-16 | Rockwell Automation Technologies, Inc. | Data Resource Identity |
US9002809B2 (en) | 2012-11-30 | 2015-04-07 | Siemens Aktiengesellschaft | Method and apparatus for generating a data repository |
US20170103103A1 (en) * | 2013-03-04 | 2017-04-13 | Fisher-Rosemount Systems, Inc. | Source-independent queries in distributed industrial system |
US20150301071A1 (en) * | 2014-04-22 | 2015-10-22 | Wipro Limited | System and method for sequential testing across multiple devices |
US20150323512A1 (en) * | 2014-05-09 | 2015-11-12 | Mks Instruments, Inc. | Computer-Implemented Systems and Methods for Generating Generalized Fractional Designs |
US20160161930A1 (en) * | 2014-12-03 | 2016-06-09 | Rockwell Automation Technologies, Inc. | P&id and control system synchronization |
US20180210428A1 (en) * | 2015-10-12 | 2018-07-26 | Fisher-Rosemount Systems, Inc. | Automatic Loop Testing for a Process Control Loop |
Non-Patent Citations (3)
Title |
---|
International Search Report PCT/ISA/210 for International Application No. PCT/US2018/032047 dated Aug. 27, 2018. |
Oppelt, Mathias et al., "Automatic Model Generation for Virtual Commissioning based on Plant Engineering Data," The International Federation of Automatic Control, Cape Town, South Africa. Aug. 24-29, 2014. |
Written Opinion of the International Searching Authority PCT/ISA/237 for International Application No. PCT/US2018/032047 dated Aug. 27, 2018. |
Also Published As
Publication number | Publication date |
---|---|
ES2794724A1 (en) | 2020-11-18 |
CA3062841A1 (en) | 2018-11-15 |
WO2018209071A1 (en) | 2018-11-15 |
US20180330028A1 (en) | 2018-11-15 |
CA3062841C (en) | 2023-10-17 |
GB2576654A (en) | 2020-02-26 |
GB201916397D0 (en) | 2019-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10755002B2 (en) | Method and apparatus for facilitating creation of simulation model | |
CN113853553B (en) | Automatically extract asset data from engineering data sources for use in generating HMIs | |
US20110209081A1 (en) | Methods and systems for constructing multi-dimensional data models for distribution networks | |
Watson et al. | Multistream heat exchanger modeling and design | |
CN107330970A (en) | A kind of threedimensional model processing method, server and computer read/write memory medium | |
CN108830554A (en) | The outcome data information quality intelligent detecting method and system of task based access control model | |
CN114035783A (en) | Software code knowledge graph construction method and tool | |
CN116821223A (en) | Industrial visual control platform and method based on digital twinning | |
CN105045583A (en) | Visualized process based IETM (Interactive Electronic Technical Manual) fault class data module creation apparatus and creation method therefor | |
Zhang et al. | Interactive educational software for teaching water distribution networks design | |
CN115906227A (en) | Water supply schematic diagram generation method, device, equipment and storage medium | |
US11580679B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
KR20000011770A (en) | Apparatus for and method of designing fluid control devices | |
CN107203525A (en) | The treating method and apparatus of database | |
CN109325163A (en) | It is a kind of from be designed into product issue high efficiency method | |
EP3933653A1 (en) | Method and system for generating a digital representation of one or more engineering diagrams in a computing environment | |
KR102591478B1 (en) | Piping material take off method of bidding stage with automation solutions | |
US20100036866A1 (en) | Piping Circuitization System and Method | |
CN115994395A (en) | Three-dimensional pipeline generation method, device and product based on drawing conversion | |
CN114595602A (en) | Nuclear engineering equipment mechanical analysis report generation method and device | |
US20210279921A1 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
US12314320B2 (en) | Generation of visual representations of facility components | |
US20240152661A1 (en) | Systems, methods, and media for automatically transforming textual data, representing an image, into p&id components | |
Malesevic et al. | Tool for automatic layout of business process model represented by UML activity diagram | |
US20240394312A1 (en) | Generation of visual representations of facility components |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GE-HITACHI NUCLEAR ENERGY AMERICAS LLC, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NUTT, LARRY EDWIN;MARQUINO, WAYNE;REEL/FRAME:042371/0806 Effective date: 20170510 Owner name: GE-HITACHI NUCLEAR ENERGY AMERICAS LLC, NORTH CARO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NUTT, LARRY EDWIN;MARQUINO, WAYNE;REEL/FRAME:042371/0806 Effective date: 20170510 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |