WO2000008576A1 - Systeme et procede pour generer des representations graphiques de boucles de composants - Google Patents

Systeme et procede pour generer des representations graphiques de boucles de composants Download PDF

Info

Publication number
WO2000008576A1
WO2000008576A1 PCT/AU1999/000616 AU9900616W WO0008576A1 WO 2000008576 A1 WO2000008576 A1 WO 2000008576A1 AU 9900616 W AU9900616 W AU 9900616W WO 0008576 A1 WO0008576 A1 WO 0008576A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
loop
data
connection
components
Prior art date
Application number
PCT/AU1999/000616
Other languages
English (en)
Inventor
Dermot Terrace Kennedy
Steven David Jones
Joshua Roland Urs Petrig
Original Assignee
I & E Systems Pty. Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AUPP4995A external-priority patent/AUPP499598A0/en
Priority claimed from AUPQ1261A external-priority patent/AUPQ126199A0/en
Priority claimed from AUPQ1260A external-priority patent/AUPQ126099A0/en
Priority claimed from AUPQ1769A external-priority patent/AUPQ176999A0/en
Application filed by I & E Systems Pty. Ltd. filed Critical I & E Systems Pty. Ltd.
Priority to AU51407/99A priority Critical patent/AU5140799A/en
Publication of WO2000008576A1 publication Critical patent/WO2000008576A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Definitions

  • the present invention relates to a computer engineering design system and aspects thereof, which have particular, but not exclusive, utility in the design, maintenance and upgrading of large scale reticular systems of components, such as large scale electrical circuits incorporating instrumentation for industrial plants.
  • a loop generation system for an application adapted to model reticular systems of interconnected components by means of at least one data set having component data for modelling said components and connections data for modelling connections between said components and wherein a set of inter-connected components comprises a loop; said loop generation system comprising a library of graphical symbols for graphically representing said components in said component data; selection means for selecting graphical symbols from said library corresponding with components in at least one loop; drawing means for locating said graphical symbols selected by said selection means onto a drawing template so as to form a graphical representation of said loop.
  • the loop generation system further comprises loop identification means for identifying loops of components in said data set and for generating sets of loop information dependent on said identified loops; said drawing tool adapted to locate said graphical symbols onto said template according to said loop information.
  • the loop generation system is adapted such that components in said component data further comprise connection point data whereby said connections data represents connections between connection points and wherein said sets of loop information comprise sets of connection point data from components forming a loop.
  • the loop generation system is adapted such that said drawing means is adapted to determine an order for said graphical symbols on said template from a sub-set of said connections data corresponding to connections between a set of connection points identified by a set of loop information.
  • the loop generation system is adapted such that said data set is further adapted to model said loops according to a convention designating a connection as having at least one connection point on its left hand side and at least one connection point on its right hand side whereby said connection data further comprises left hand data and right hand data.
  • the loop generation system is adapted such that a field device comprises a component with no connection on the left hand side of any connection point and at least one connection on the right hand side of at least one connection point and a system device comprises a component with no connection on the right hand side of any connection points and at least one connection on the left hand side of at least one connection point
  • said drawing tool is adapted to distribute said graphical symbols on said template so as to represent said left to right convention of said loops whereby said field devices are located on a left hand side of said drawing and system devices are located on a right hand side of said drawing.
  • the loop generation system is adapted such that said component data further comprises group data; said group data adapted to group connection points on a component so as to define connections between connection points internal to a component.
  • the loop generation system is adapted such that said internal connections represents logical connections between connection points of a component.
  • the loop generation system is adapted such that said loop identification means is adapted to access said group data so as to identify connections between connection points, internal to a component.
  • the loop generation system is adapted such that said component data is further adapted to represent multi-point connection points containing a plurality of connection points and wherein said connections data is adapted to represent connections between multi-point connection points whereby said drawing means is adapted to locate graphical symbols comprising of components having multipoint connection points.
  • the loop generation system is adapted such that said connection points contained by said multi-point connection points are each associated with one of a number of sets of associated connection points whereby said connections data represents connections between multi-point connection points as connections between corresponding sets of associated connection points whereby said loop identification means is adapted to identify loops comprising components inter-connected by means of multi-point connection points.
  • said method further comprises the step 3) of operating said application to identify loops of components in said data set; 4) generating sets of loop information dependent on said identified loops; 5) locating said graphical symbols onto said template according to said loop information.
  • said method is further adapted such that said components in said component data further comprise connection point data whereby said connections data represents connections between connection points and wherein said sets of loop information comprise sets of connection points of components forming a loop.
  • said method further comprises the step 6) of said application determining an order for locating said graphical symbols onto said template from a sub-set of said connections data corresponding to connections between a set of connection points identified by a set of loop information.
  • said method is further adapted such that said data set is further adapted to model said loops according to a convention designating a connection as having at least one connection point on its left hand side and at least one connection point on its right hand side whereby said connection data further comprises left hand data and right hand data and said method further comprising the step 7) of locating said graphical symbols onto said template in an order conforming with said left and right convention.
  • a field device comprises a component with no connection on the left hand side of any connection point and at least one connection on the right hand side of at least one connection point
  • a system device comprises a component with no connection on the right hand side of any connection points and at least one connection on the left hand side of at least one connection point
  • said method further comprising the step 8) of locating said graphical symbols onto said template so as to represent said left to right convention of said loops whereby said field devices are located on a left hand side of said drawing and system devices are located on a right hand side of said drawing.
  • said method is further adapted such that said component data further comprises group data; said group data adapted to group connection points on a component so as to define connections between connection points internal to a component said method further comprising the step 9) of said application accessing said group data so as to identify connections between connection points internal to a component.
  • said method is further adapted such that said internal connections represent logical connections between connection points of a component.
  • said method is further adapted such that said component data is further adapted to represent multi-point connection points containing a plurality of connection points and wherein said connections data is adapted to represent connections between multi-point connection points and further comprising the step 10) locating graphical representations of components having multi-point connection points onto drawings of loops.
  • connection points contained by said multi-point connection points are each associated with one of a number of sets of associated connection points whereby said connections data represents connections between multi-point connection points as connections between corresponding sets of associated connection points and said method further comprising the step 11 ) of identifying loops comprising components interconnected by means of multi-point connection points.
  • loop generation as detailed above wherein said application is adapted to store copies of components as amended of various revision level; said drawing means adapted to locate components on to said drawing having indicia reflective of a components revision level.
  • said loop generation system is further adapted such that said loop identification means is adapted to identify loops having components at specified revisions level.
  • loop generation system is further adapted such that said indicia is a colour representation of said components.
  • FIG 1 shows in diagrammatical form a computer aided engineering (CAE) system
  • Figure 2 shows in diagrammatical form a data structure used in the CAE system of Figure 1 ;
  • Figure 3a is a flow chart of the revision control process of Figure 3a in operation
  • Figure 3b is a flow chart of the operation of a conflict management process used by the CAE system of Figure 1 ;
  • Figure 3c shows a flow chart of a component definition procedure
  • Figure 3d shows a flow chart of procedures for generating graphical representations of loops of inter-connected components
  • Figure 4 is schematic representation of a Revision Control Process
  • FIG. 5 shows a project set up - revisions portion of a Graphical User Interface (GUI) of the computer aided engineering system of Figure 1 ;
  • GUI Graphical User Interface
  • Figure 6 shows a project set up - areas/facilities portion of the GUI in Figure 1
  • Figure 7 shows a project set up screen - Users portion of the GUI in Figure 1 ;
  • Figure 8 shows a login prompt for a user of the GUI in Figure 1 ;
  • Figure 9 shows a component definition - general details screen as represented by the GUI of Figure 1 ;
  • Figure 10 shows a component definition - specific details screen as represented by the GUI of Figure 1 ;
  • Figure 11 shows a revisions prompt accessed through the update button in Figures 9 and 10;
  • Figure 12 shows a delete/demolish prompt access through the delete/demolish button of Figures 9 and 10;
  • Figure 13 shows a revisions control screen accessed through the revisions button of Figures 9 and 10;
  • Figure 14 shows a component transfer screen accessed through the transfer button of Figure 13.
  • Figure 15a is a screen of a GUI 190 for defining a specification level attributes of a component
  • Figure 15b is a component classification screen for adding specification level attributes into a component specification defined in Figure 15a;
  • Figure 16 is a connection points screen for defining connection points of a component specification defined in Figure 15a;
  • Figure 17 is a loop design screen of the GUI in Figure 1 for modelling interconnections between components
  • Figure 18 is a schematic representation of a sets of connection points and associated connections data used for modelling loops of components
  • Figure 19 is a flow chart of a loop identification procedure operating on the loops of Figure 18;
  • Figure 20 is the connection points of Figure 18 represented in a series of tables that demonstrate and a batch process for identifying loops of components within the connection points;
  • Figure 21 is connection points and associated connections of Figure 18 as represented following the batch sorting procedure of Figure 20;
  • Figure 22 is a schematic representation of tables of loop data derived from the results of sorting process in Figure 19 and 20;
  • Figure 23 is a relationship diagram for the tables of Figure 22;
  • Figure 24 is a flow chart of a procedure for accessing the tables of Figure 22 and for locating graphical symbols that represent these components on a drawing template;
  • Figure 25 is a flow chart for distributing the graphical symbols of Figure 24 on the drawing template
  • Figure 26 is a loop diagram.
  • the present embodiments are directed towards a computer aided engineering system 100 for instrumentation and electrical components, although it should be appreciated that the Computer Aided Engineering System is also applicable to areas, such as communications systems and piping systems.
  • the embodiments are directed towards a system for generating graphical representations of inter-connected components in a reticular system modelled by a database.
  • the embodiments provide particular advantages in Computer Aided Engineering systems design reticular systems with the aid of a database and then access this database when generating a graphical representation of the components and their inter-connections that are stored within the database.
  • the computer aided engineering system of the embodiment utilises a data instantiation technique to minimise duplication of data entry in relation to components. This data instantiation is achieved by defining component specifications from which component instances are instantiated.
  • a component specification specifies the data attributes related to that component, and whether each data attribute is a specification level attribute or an instance level attribute.
  • Specification level attributes are attributes which are common to all instances of a component.
  • Instance level attributes are attributes that are dependent upon the particular instance of a component in question.
  • a component specification for a control card may include the number of input ports; the name of the card; the number of output indicators. Each of these attributes are common to all control cards of that type and are therefore specification level attributes.
  • Instance level attributes include what is connected to each of the input ports, the tag name of the particular control card; where the particular control card is installed.
  • a component specification defines the attributes of a specific type of component in an abstract manner. An instance of a component relates to a particular component.
  • CAE computer aided engineering
  • the CAE system 100 comprises a data store 105 which stores data generated by the CAE system 100.
  • the CAE system 100 also includes a database management system (DBMS) 140 for generating and managing the data stored in the data store 105.
  • DBMS database management system
  • the DBMS achieves this by use of several tools, including a revision control and conflict management tool 145, a component specification and instance definition tool 150, a component connections tool 155, a project definition tool 160, and a drawing tool 165, a classification elements store 112 and a set of graphical symbols in component shape data store 114.
  • the CAE system 100 of the present embodiment is a networked version that provides the DBMS 140 with access to the data store 105 by means of an applications server tool 135 which communicates with a data server tool 115.
  • the data server tool accesses the data store 105 by means of a transaction management tool 110.
  • the CAE system also includes a client 185 which is in communication with a CAE graphical user interface (GUI) 190.
  • GUI graphical user interface
  • the client tool 185 communicates with the network 175 by means of a Public Switched Telecommunications network using preferably an ISDN line that feeds into a wide area network that connects to the network 175.
  • the CAE system however is not limited to having single user access.
  • the CAE system 100 may be arranged according to standard networking procedures so that it can be accessed by a number of users each by means of a separate CAE client 185 and CAE GUI 190.
  • the CAE system 100 may also be implemented in a freestanding version that is not networked.
  • CAE system 100 may be adapted to run on a number of different hardware platforms, including Unix TM platforms and Windows NT TM platforms.
  • the CAE client 185 and CAE GUI 190 may also be installed on a number of different hardware platforms, including personal computers (PC) running windowsTM, UnixTM or AppleTM operating systems.
  • PC personal computers
  • FIG 2 is a diagrammatic representation of some of the various data types stored in the data store 105.
  • Some of these data types stored in the data store 105 include Area hierarchy data 200, component specification data 270, component instance data 230, project data 215, user data 210; revision level data 260, and component connections data 250.
  • Area hierarchy data 200 stored in the data store 105 shall now be described.
  • the Area hierarchy data 200 is a hierarchal definition of various physical locations with different engineering facilities, sites and/or systems which are modelled by the CAE system 100.
  • the engineering facilities may be an offshore facility called Off_Shore_Facility_A 202 and a refinery facility called Refinery_Facility_A 203.
  • Both Off_Shore_Facility_A 202 and Refinery_Facility_A 203 are one level down from a root level, called a root facilities level 201.
  • the root facilities level 201 contains data common to every engineering facility, site and/or system modelled by the CAE system 100.
  • Off_Shore_Facility_A data 202 One level down in the hierarchy from the Off_Shore_Facility_A data 202 is a number of sub areas (or zones) into which the Off_Shore_Facility_A data 220 is logically divided. Typically these sub areas will be modelled on the area tag names actually used on the facility that the CAE system 100 is modelling.
  • the name attributable for Off_Shore_Facility_A 202 has been designated as OSFA.
  • a Power Generation building 235 on OSFA 220 has been designated name attribute PGB 204.
  • the unique tag for the power generation building 204 of OSFA 203 would be OSFA_PGB 204.
  • a control room 205 in the PGB 204 may be assigned name attribute CR205.
  • its unique identifier in the Area hierarchy data 200 is OSFA_PGB_CR 205.
  • Each level in the hierarchy may be viewed as a container.
  • the OSFA 202 level contains the power generation building level 204 and all of its sub levels including the control room 205 and the generation room 206.
  • the control room 205 and generation room 206 are each in turn contained within the power generation building 204.
  • User data 210 stored in the data store 105 shall now be described. It details a list of user identification (ID) attributes 211. There is provided one ID attribute 211 for each user. These ID attributes 211 serve to identify each user to the CAE system 100.
  • the user data 210 also includes an Authority level attribute 212 which defines the maximum authorisation level that a user can be assigned within a Project 215. Other data such as e-mail addresses 213 may also be contained in user data 210.
  • Project data 215 stored in the project data store 105 shall now be described.
  • Each project in the project data 210 serves to model a particular project being performed on one of the facilities that is modelled by the CAE system 100.
  • a project may be a maintenance project 217 to the control room 205 of the Power Generation building 204 on OSFA 202.
  • it may be installation project 218 for the installation of an additional generation plant in generator room 206 in the generation building 204 of OSFA 220.
  • Each of the projects in the project data 215 contains a project name 219 which uniquely identifies the project within the context of the project data 219.
  • a sub set of users from the user data 210 are assigned to each Project.
  • Each user in this sub set is assigned a user project ID attribute 221. This attribute uniquely identifies the user within the context of the project. It is a security measure allowing users to have different authority levels on different projects.
  • Each user assigned to a project is assigned a user approval level attribute 223. This provides each user with a certain level of authority within the context of the project for approving changes to design data.
  • Each project instance also has an authorised area attribute 224 which designates areas in the hierarchy data 200 which a project has access to.
  • the maintenance project 217 for the control room 205 may only be designated as having access to the actual control room 205 (as opposed to other rooms in the Power Generation Building 204).
  • the installation project 218 may be designated as having access to all rooms in the power generation building 204.
  • the authorised area data 224 for the control room maintenance project 217 will reference area data for OSFA_PGB_CR 205 in the area hierarchy data 200.
  • the authorisation area data 224 for the installation project 218 will need, only reference the Power_Generation_Building tag 204 (namely OSFA_PGB 204) in order to authorise access of the installation project 218 to every room in the power generation building 204.
  • Project data 215 may be viewed as a set of containers for the various components and connections (detailed further below) within the CAE system 100. In this regard each component and connection is reserved against a project.
  • Components and connections that are reserved against the As Built Common project are free to be reserved by any project, such as the maintenance project 217 or the installation project 218. Components and connections reserved against a project other than the As Built Common project can not be reserved against any other project. This means that only one project can access and amend a particular instance of a component or connection at any one time.
  • Each revision (amendment/change) of a component 231 and a connection 251 is provided with a name using a revisions Name Attribute 267.
  • An attribute called next revision 269 indicates the next revision level 269 in the sequence of revision levels 260 assigned to a project.
  • An "As Built” 268 flag in the revisions level data 260 when set to “TRUE” indicates that the component or connection will move to the As Built common project when it issues at the "As Built” revision level.
  • the pre-defined set of revision levels 260 conforms to standard engineering methodology such as ""As Built”" revision, "Revision A", “Revision B” etc.
  • Each revision level is assigned a minimum approval level. Only users 211 nominated on a project with an appropriate approval level 223 (or higher) can authorise that a particular revision to a component or connection in the CAE system 100 can be marked off as approved.
  • Revisions data 250 also contains a set of approval levels 220, such as client level, chief engineer level, engineer level, maintenance level, commissioning engineer level etc.
  • a sub set of these approval levels may be selected for the different revision levels 260 of a project. This enables the revisions process for different projects, eg. a maintenance project, to have different sets of authorisation levels than eg. an installation or retro-fit project.
  • Each approval level 220 in a revision 260 corresponds with one of the approval levels 223 assigned to the users of the project.
  • Component instance data 230 stored in the data store 105 will now be described.
  • Each component instance 231 in the component instance data 230 identifies a unique component such as a field device or cable within one of the engineering facilities modelled by the CAE system 100.
  • a component instance 231 may be one of many indicator lights each of which is installed on one of several switch boards. Each of the switch boards being located in the control room 205 of the power generation building 204 on the OSFA 202.
  • Each component instance 231 in the component instance data 230 has a component instance ID attribute 237 which serves to uniquely identify each component of each facility modelled by the CAE system 100.
  • Each component may exist several times within the set of component instances 215 so as to represent the component at different revision levels. This is because some of the components data may change as it progresses from revision level to revision level.
  • the component history ID attribute 238 operates as an alternate key for the component instances. It allows the various instances of a component at different revision levels to be distinguished from each other as well as from different components.
  • Each component instance 231 has an Area attribute 235 which references an area attribute in the Area hierarchy data 200.
  • This area attribute 235 such as OSFA_PGB_CR 205 identifies the location of the component on the modelled facility.
  • Each component may also have a component container ID attribute 239 which identifies whether or not a component is contained by another component.
  • component container Id 239 for the indicator lights will reference the panel on the switchboard on which the light is located and the component container Id 239 for each panel will reference the switch board cabinet in which they are located.
  • the component container Id 239 for the switch board cabinet will typically be "null", unless it is itself contained within another component.
  • Each component instances 231 has a project attribute 236.
  • the project attribute 236 references a project in the project data 215 which has reserved the component instance 231 thereby preventing access to the component by all other projects. Only one project instance may reserve a particular component instance 231 at any one time. If the component instance 231 is not reserved by a project instance then the project attribute 236 references an "As Built Common" project 215. This component instance reservation feature has application in revision control and conflict management procedures of which greater detail is provided below.
  • a revisions attribute 234 identifies the revision level which a component instance has been approved to within a project.
  • a component instance may represent an "As Built” component in which case the component is referenced as belonging to the As Built Common Project 216 for the facility on which the component is located.
  • it may be authorised at "revision level A” or at "revision level B" within the project against which the component instance 231 is reserved.
  • a new instance of the component be created that is, at least in part, identified by its revision level attribute. This enables a component, as it was issued, at various revision levels throughout a project's history to be reviewed.
  • the component and its connections to other components may be issued by different projects.
  • each component instance 231 may have one or more connection point attributes 240.
  • a connection point is a point where a component physically inter connects with another.
  • a connection point may refer to an electrical connection or it may refer to a mechanical or hydraulic connection.
  • Connection point attributes 240 include a multi-point attribute 245. This attribute specifies whether or not the connection points 241 of the component instance 231 are grouped together or whether they are regarded as individual connection points.
  • An example of a multipoint connection point is a three pin power plug for domestic power. The three pin plug has three terminals, positive, neutral and ground. Each of these terminals is a connection point within the CAE system 100.
  • the three terminals operate as a single unit as mechanically it is not possible to connect any one of the terminals to a power outlet without also connecting the other two at the same time.
  • a three pin plug is a component that has a multi-point connection attribute.
  • connection data 240 may be used to check that design data for inter connecting components specifies two components that are mechanically capable of forming an inter connection.
  • connection point data 240 of the component specification also has a label attribute 242 which is a unique name assigned to each connection point of a component. It also has a ferrule attribute 243 which corresponds to the ferrule name of a component.
  • the CAE system 100 has a further data set, namely a connections data set 250.
  • This data set details which connection points 241 inter connect to form an instance of a connection 251.
  • the connection data set 250 can be seen to reference connections 251 between components 231.
  • connection data set 250 details for each connection 251 which connection point 241 of which component 231 is on the left of the connection 251 with respect to the loop of component which the connection 251 is in. It also specifies which connection point 241 is on the right hand side of the connection 251. This is achieved using two attributes, namely a "connection point on the left” attribute 254 and a "connection point on the right” attribute 255. Each connection 251 is also flagged against the project data 215 and revisions data 260 in a similar manner to component instances 231.
  • a revision control process and a conflict management process used by the revisions control and conflict management tool 145 computer aided engineering system 100 will be now be described.
  • FIG. 3a shows a flowchart of a revision control process.
  • a set of component instances at an "As Built" revision level 350 and reserved against the As Built Common Project 216 is depicted.
  • the system administrator at the step 3055 creates a project say the "installation project” 218 and assigns to the "Authorised Area Attribute” 224 of the Project 218, an area or areas from the Area hierarchy data 200 over which the project 218 is authorised to operate.
  • the project can only modify components and connections whose area attribute 235 corresponds with the area attribute 224 of the project 218.
  • the administrator assigns users to the user Project ID attribute 221 of the project 218 and also assigns an approval level to each user on the project from the user approval level attributes 223 of the Project 218.
  • the administrator predefines the revision level attributes 267 for the project.
  • users at step 3075 may log into the project and create or modify components, component specifications and/or connections between components.
  • the user is prompted at step 3080 to indicate the revision level 234 of component from the predefined list of revision levels 267.
  • the newly created or modified component is instantiated (stored) in the data store 105 with the revision attribute 234 set as per the revision level selected by the user.
  • component instances are selected by authorised users having sufficient approval level attributes 223 and are approved at their current revision level.
  • the process returns to step 3075. If no more changes are recorded to the component or its connections, the component can be installed and commissioned. Once commissioned the component may be set to revision level "As Built”. Once the component has been approved at revision level "As Built", the project assignment flag 236 for the component instance is set to the "As Built Common" Project and the component is then available for other projects to modify.
  • the revision control process of the embodiment provides a structured way to manage multiple projects and the large numbers of components and modifications that may be made to these components at any particular time.
  • a revision approval level for each component and its connections to other components is enforced through use of authorisation levels.
  • Figure 3b shows a flowchart describing a conflict management process.
  • the process has a set of "As Built" components 3165 that are reserved against the "As Built” common project 215.
  • an administrator of the CAE system 100 assigns areas from the Area Hierarchy data 200 to the Authorised area attribute 224 of a project called "Project A”.
  • Project A modifies a component 231 , as a result of which the project assignment flag 236 for that component now indicates Project A. Effectively, Project A now owns the assigned component until the assigned component is issued at the "As Built" level or until it is transferred to another project.
  • further changes may or may not be applied to the component. If further changes are applied, the procedure returns to step 3105. As part of this loop, various revision levels 266 within the project may be approved.
  • the revision level of the project is set to "As Built” at step 3115.
  • the component instance is then issued at the "As Built” revision level and the project assignment flag 236 for the component is reset to the "As Built Common" project 216.
  • a second project, "Project B” is assigned one or more areas of one or more facilities within which it may modify components 230. For the purpose of illustration, it is assumed that the areas assigned to Project A and Project B overlap.
  • a user logged into Project B attempts to modify a component. If the Project assignment flag 236 of the component is set to the "As Built Common" project or to "Project B", the user of Project B at step 430 can proceed to modify the component as described above at step 405.
  • the user is provided with the name of the Project A and at step 3140, resolution of the conflict between Project A and Project B over the component is resolved by negotiation between the users of the projects. If the negotiations conclude that the component should be retained by Project A, then the project assignment flag 236 is retained as Project A and the user of the Project B may not make any changes to that component. The user of the Project B may however, at step 3145 continue to make changes to other components that are not currently assigned to any project or that are currently assigned to Project B.
  • step 3140 the negotiations conclude that the component should be transferred to Project B then a user of Project A with sufficient authorisation level selects the component and initiates a transfer process.
  • the transfer process enables an authorised user of Project A to select Project B, whereupon the project flag 236 of the component in question is set to Project B.
  • Project B can now modify the component and that Project A can no longer modify the component.
  • custody of connections 250 between components may be transferred independently of custody of the component 230 that takes part in a connection.
  • each item of connections data 250 has a project assignment flag associated therewith.
  • each item of connections data also has a revisions attribute 252 which ensures that amendments to connections data proceeds through a revision control process as discussed above in relation to components.
  • an As Built common component separates Project A and Project B.
  • the component is component C.
  • Certain connections to component C maybe reserved against Project A. Whilst other connections to component C may be reserved against project B.
  • component C is preferably neither reserved against Project A or Project B. This is to prevent modifications to component C, that do not conform with the connections data of the other component that connects to Component C. This rule is not essential as other checking procedures may be implemented to deal with conflict between projects arising from connections between components that are reserved against different projects.
  • FIG. 3c details a process by which component specifications may be defined from a set of pre-defined classification elements. Following definition of a component specification, the process instantiates component instances using the component specification.
  • a pre-defined set of classification elements from the classification elements store 112 are displayed, by means of a GUI 190.
  • Each element represents a portion of a component specification.
  • the component specification is a class definition of the component that is stored in the component specification data 270.
  • An instance of the component may be created from a component specification.
  • this combining of classification elements is achieved in the GUI 190 environment by use of a drag and drop procedure well known in the art.
  • a user selects a set of specification elements sufficient to define a component specification. The user then combines the selected elements.
  • the GUI 190 prompts the user for data values in respect of specification level attributes. The user enters these values and at step 3215 the component specification is stored in component specification data 270.
  • a user decides to create an instance of a component. Accordingly the GUI 190 displays a set of component specifications that have been stored in component specification data 270 and the user selects the desired component specification.
  • the GUI 190 prompts the user, to enter instance related data into the component specification.
  • the component specification with instance related data is instantiated by being stored in the component instance data 230.
  • a list of component instances may then be displayed by the GUI 190 to confirm that the instance has been created.
  • a loop is a circuit, such as an electrical circuit or a hydraulic circuit.
  • a loop is generally comprised of devices, such as sensors, switches and controllers that are interconnected by connecting devices such as cables.
  • devices such as sensors, switches and controllers that are interconnected by connecting devices such as cables.
  • a loop of components has field devices on its left hand side and system components on its right hand side. Field devices are located remotely from a power source.
  • a loop may have any number of components intermediate a field device and a system device.
  • a loop may also have any number of field devices and any number of system devices.
  • the CAE system 100 may be used to design loops of components.
  • the CAE system 100 has facilities for dynamically generating graphical representations of these loops. These graphical representations may be generated for example by a batch process, which typically occurs when data server 115 and/or application server 135 have low activity, or on an individual lop basis, which is slower than the batch process but less processor intensive. Both generation procedures commence at step 3300 where component data, connections data and revisions data is created or modified within data store 105. From step 3300, the batch process for dynamically generating graphical representations of loops commences at step 3305 and proceeds through to step 3385, whereas the non-batch process commences at step 3340 and proceeds through to step 3385.
  • the batch process for dynamically generating graphical representations of component loops commences at step 3305 where modifications to component data, connections data and revisions data are stored in data store 105.
  • This modified data is created by operators of the CAE system 100 as they design new loops of components or modify existing loops of components.
  • step 305 the loop generation procedure moves to step 3310, which commences when there is low activity on the server.
  • step 3310 typically occurs outside of business hours as it is processor intensive.
  • Step 3310 is a process of sorting connections data 250 so as to identify separate loops of components within data store 105.
  • Step 3310 preferably proceeds according to a modified form of bubble sort procedure, which is an efficient method for identifying loops of components within the store 105.
  • step 3310 the loop generation process proceeds to step 3315 which operates to update loop data store 3315.
  • Loop data store 3315 stores data on the loops designed by use of the CAE system and stored within data store 105. Loop data store 3315 preferably stores information such as the connections and connection points associated with each of these loops. A graphical representation of the loops can be created from the information in loop data store 3315.
  • step 3320 determines whether or not a loop in the data store was modified at step 3310, the batch sorting process. If the loop has not been modified then the process moves to step 3330 and flags the loop as having been previously generated. If however step 3320 indicates that the loop has been modified then the process proceeds to step 3325. At step 3325 a new graphical representation of the loop is generated. After step 3325 the process moves to step 3330 and the loop is flagged as being generated.
  • step 3330 the process moves to step 3332 which determines whether or not every loop in the loop data store of step 3315 has been tested by step 3320. If they have not then the process moves to step 3315, however if they have then the process moves to step 3335 where all of the updated graphical representations of the loops are stored in a common data store. At step 3385, the loops may be viewed directly from this data store.
  • the non-batch process for generating a loop commences at step 3340 after step 3300. This process is less efficient than the batch process, however it is less processor intensive, and so is used during periods of high server activity.
  • an operator selects a connection from connections data 250 around which a graphical representation of a loop is to be dynamically generated.
  • step 3340 the process moves to step 3345 where the operator selects a required revision level about which the component loop is to be dynamically generated.
  • a required revision level about which the component loop is to be dynamically generated.
  • the ""As Built"" loop may be required to be generated.
  • the latest approved revision of the loop may need to be generated alternatively the latest and un-approved revisions to the loop may need to be generated.
  • step 3345 the process moves to step 3350 where the CAE system 100 identifies all of the components and connections between components of the loop to which the selected connection belongs. Parent components according to containership properties of the components may also be selected.
  • step 3355 a drawing tool, such as VISIOTM from Visio Corporation, Seattle, Washington, USA is accessed and a drawing template activated.
  • step 3360 for each component of the loop a predetermined shape is selected from a component shape data store and located on the template.
  • step 3360 the process moves to step 3365 where the shapes are located within the template according to the containership properties of the component instance that each shape represents.
  • step 3365 the process moves to step 3370 where the shapes are connected according to connections data 250.
  • step 3370 the process moves to step 3375 where the shapes are aligned and arranged within the drawing template in a manner readable by an operator.
  • step 3375 the process moves to step 3380 where the loop is coloured according to revisions data so that it can be identified which components were modified at which revision level.
  • step 3380 the process moves to step 3385 where the loop is viewed by an operator.
  • the loop may also be stored in the data store of step 3335.
  • FIG. 4 is a schematic representation of a revision control process utilised by the revisions control and conflict management tool 145. It details interactions between three projects, namely the installation project 218, the maintenance project 217 and the null project called the "As Built Common" project 216.
  • the installation project 218 is represented from the point of view of one component that the installation project 218 creates at 400.
  • the solid outline of the project 218 indicates that the component 305 is contained within the installation project 218. This indicates that no other project within the CAE system 100 can access and modify the component.
  • the component progresses through various revision levels, namely levels A, B and C as dictated by the revisions data set 260 assigned to the installation project 218.
  • a copy of the component is created within the set of component instances 230. This provides a unique copy of each component at each revision level and allows the progress of a component to be tracked from initial design to being issued at the "As Built" revision level.
  • the component is installed and commissioned on the facility at revision level C. Once commissioned the component is said to have been issued at the "As Built” revision level 310. A new copy of the component instance with revision attribute 234 set to "As Built 1" is created.
  • the component may be re assigned to the installation project 218.
  • the component When the component is reassigned to the installation project 218 it is preferably issued at a revision level that is different to any revision level that it has previously held within the installation project 218. In this case it is re assigned to the installation project 218 at level “OA” 415 and it moves through levels “OB” 415 and “OC” 415 before it issues at the "As Built2" revision level 420 and is re assigned to the "As Built Common” project 216.
  • the component When it issues at the "As Built Common" project 216 for the second time, the component is preferably designated as "As Built Revision 2". This indicates that it is the second "As Built" version of the component.
  • the Revision control process is a one way process for components from revision level to revision level.
  • a component is preferably never issued at the same revision level twice.
  • the revisions process of Figure 4 also indicates how connections data 250 may be assigned to the maintenance project 217 at the same time that the component 305 is assigned to the installation project.
  • the maintenance project for the unchanged circuit reserves the appropriate connections on the controller, so that the circuit can be re connected once the controller is installed on the facility.
  • the maintenance project also details that the connections of the component 305 may under go a series of revisions before they issue at the As Built level. This may be explained by referring again to the above example of a controller that is installed by the installation project 218. The connections of the controller are still reserved against the maintenance project 217, however it has been decided to modify the circuit that the controller is connected to.
  • a component that has issued at the "As Built" level will preferably exist between two projects such as the installation project and the maintenance project. This enables different components from the two projects to be connected to the connection points of the same component, such as a controller. These changes to the connections of the controller preferably pass in a one way manner through some (or all) of the revision levels of the maintenance project 217.
  • maintenance project 217 has adopted a different set of revision conventions to the installation project.
  • connections of the revised circuit have been commissioned, they issue at the As Built level. Once they have been issued at the As Built level the CAE system re assigns the connections to the As Built common project 216.
  • FIG. 5 shows project setup screen 500 of GUI 190 in revisions mode.
  • a project name 510 is provided at the top of the screen 500, with a drop-down list 515 provided for selecting other projects.
  • a set of approval level attributes 220 that can be ascribed to a user is shown as a list in the Team Members window 520.
  • a set of revision levels 266 are shown in an expandable list in an approval authorities screen frame 525.
  • Each revision level 266 has a name attribute 267 such as "As Built", A, B etc associated therewith. Selecting an expand/collapse button 540 will expand or collapse a list of approval level attributes 220 that are required for each revision level to issue. Approval from a user, with sufficient authority within the Project, is obtained before a revision level 266 is issued. Approval levels attributes 220 can be inserted or removed from a revision level 266 by simply dragging and dropping the required approval levels 220 from the Team Members screen 520 to a selected revision level 266 and vice versa. Alternatively, the "Rev Id" window 545, the insert button 550 or the delete button 555 may be used.
  • revision levels 266 Three revision levels 266 are shown, named “"As Built”", “a” and “b”. Each of these revision levels 530 has a list of approval level attributes 220. This list indicates that each revision level requires approval from: a user having an authorisation level of at least “editor”; a user having an authorisation level of at least “checker”; and a user having an authorisation level of at least “lead engineer” before the component can issue at each one of revision levels A, B and "As Built". It should be appreciated that different Projects may have different sets of revision levels. These revision levels 266 may have different lists 535 of approval level attributes 220.
  • a new revisions level 530 can be added to a Project by either selecting a predefined revision level from a drop-down list 545 or a new level defined by typing a revision level name into the list 545 and selecting an "insert new" button 550. Similarly, a revision level can be deleted by selecting the revision level button 530 and then selecting "delete” button 555.
  • Revision control and conflict management are a Quality Assurance procedures that ensure that modifications to component instances 230 and connections data 250 are performed on a project by project basis.
  • the data structure reserves every component instance 231 against a project by means of the component's project attribute 236.
  • the set of projects includes a null project against which those components that are free for modification by any project are reserved.
  • the null project is called the As Built Common Project.
  • As Built is derived from common engineering terminology that means a component that has been installed and commissioned on a facility.
  • An alternative definition of the "As Built” term is any component installed on a facility that is capable of being modified and that is not reserved against another project.
  • Some embodiments may permit projects to modify the connections data 250 of these components 230 without allowing the components to be modified. This is achieved by a data structure that has revision control for connections data 250 that is separate to its revision control for component instance data 230.
  • FIG. 6 shows the project set up screen 500 of GUI 190 in "areas and facilities" mode 605. Again, the project name 510 is shown at the top of the screen 500.
  • a list of facilities 610 from the Area Hierarchy data 200 is provided on the facilities screen 610.
  • a sub set of areas 615 within these facilities 610 that have been selected for entry against the authorised area attribute 224 of the Project is shown in the selected areas screen 615.
  • Area hierarchy data 200 The hierarchical nature of the Area hierarchy data 200 is shown by the facility "Australia” containing three facilities named “Facility A”, “Facility B” and “Onshore Plant”. Each of these facilities can be expanded to reveal other facilities or areas contained within them. Areas may be added and removed to the selected areas list 615 from the facilities screen 610 by a drag-and-drop procedure.
  • FIG 7 shows the project set up screen 500 in "users" mode 700.
  • the project name 510 is shown at the top of the screen 500.
  • a list of users 705 from user data 210 is provided in an All Personnel screen 705 whilst a list of user approval authorisation level attributes 223 is shown on the team member screen 710.
  • Assigning users to the project 510 is achieved by means of a drag-and-drop process.
  • a user is selected from the list of users 705 and dragged onto a user approval level attribute 223 in the team members screen 710. This user approval level 223 is then assigned to that user for the project 510.
  • the user may have a different approval level in a different project.
  • Each user is also entered against the user Project Id attribute 221.
  • a new project can be created by clicking an "add project button” 715.
  • An existing project can be renamed via a “rename project” button 720 or deleted via a “delete project” button 725.
  • a project cannot be deleted if there exists any components whose project identification tags 236 reference the project being deleted.
  • the "Project Setup" screens shown in Figures 5, 6 and 7 are preferably restricted to system administrators.
  • FIG. 8 illustrates a login screen.
  • a user logs in by means of a login prompt 800.
  • the user selects the project 282 on which they will be working via a drop down list 805 before entering their user name and password at 810 for that Particular project.
  • the user name and password are checked that they are correct, and the user is then permitted access to the system 100 only in the context of the Project under which they have logged on.
  • To modify a component reserved by a different project the user logs on under that different project. This allows users to have different authorisation levels in different projects.
  • the user can access components whose project assignment flag 236 corresponds with the project under which the user has logged on.
  • the user may also access components that are reserved against the "As Built Common" project 216 and that have an area flag 235 that corresponds to the authorised area flag 224 of the project.
  • the privileges granted to the user for the Project will depend upon the user approval level attribute 223 associated with the user when the project 805 is established by an administrator.
  • FIGS 9 and 10 show a component instancing means having, a general details screen 900 and a specific details screen 1000.
  • the title bar of the screens 900 and 1000 both include a name 905 and 1005 respectively of a component instance, the current revision level 910 and 1010 respectively of the component and the project reserving the component 215 which is referenced by the project assignment flag 236 of the component instance 231.
  • the tag name 916 of the component is shown on both screens in the 'Tag No./ltem” text box 915 and 1015 respectively, where the name can be edited.
  • the area on the facility within which the component 215 is contained is shown in the "Area text box” 920 and 1020 respectively.
  • a description of the component specification, which the component is an instance thereof, is shown in the "component specification text box” 925 and 1020 respectively.
  • "Area Select Button” 930 and 1030 respectively provide a facility to change the area associated with a components area attribute 235.
  • the "component specification select button” 935 & 1035 respectively provide a facility to change a components specification.
  • a copy of the component instance in the data store 105 is made and the changes are applied to the copy of the component instance.
  • the copy of the component with the changes applied thereto is marked as the "current" version of the component by means of incrementing the component History Id attribute. In this way, a full history of changes applied to the component is maintained within the CAE system 100.
  • the copies of the component data in the data store 105 which relate to changes made between the previously accepted revision and the recently accepted revision may be archived to reduce the storage size of the data store 105. In this manner, a revision history of the component as it stood at each accepted revision level is maintained in the data store 105 along with a list of incremental changes made as part of the current revision level.
  • a verification prompt 1200 shown in Figure 12 is displayed. If the user selects the "demolish” button 1205 from the verification prompt 1200, the component instance data is tagged as being proposed for demolition. As soon as the component is issued at the ""As Built”" revision level, it will be regarded as demolished on the facility and the component will be reserved against a project called “demolished”. The history of the component will remain, within the data store 105 until archived.
  • the component window 1305 of the screen 1300 shows a list of components 1310 for which approval at a revision level nominated by a sign off window 1360 is sought.
  • the components 1310 preserve the concept of containership within other components, so that a hierarchical structure showing which components are contained within other components is achieved. Further, if a component has connections made thereto, from other component instances, the component can be expanded to show these connections 1390.
  • each component 1310 and their connections 1315 may separately require approval. Consequently, a connection can be approved at a different revisions level to its component.
  • each of the components 1310 is represented by an icon 1320, a tag name 1325, the revision level 1330 to which the component has been approved, and indication data 1335 indicating the approval levels required before the revision level can issue.
  • each connection point of each component may be represented by an icon 1340. Further data may be included with reference to each connection point such as, the current revision level 1350 of the connection to which the connection point is associated and a list of authorisation levels 1355 for which the connection associated with the connection point requires approval. There may also be an indication 1356 of any other components associated with the connection.
  • a "sign-off' 1360 revision level for the component is shown.
  • the sign-off revision level corresponds with the revision level a component, selected in component window 1305, will issue at when approved.
  • a list of approval levels 1365 required for approving the revision before it can be issued is displayed in the approval levels window 1366. If a user does not have a sufficient authorisation level to be able to approve one or more of the approval levels in the approval list 1335, those approval levels can not be signed off by that user. This will require a user with a sufficient user approval level attribute 223 to log on and approve the revision level. It is preferable that a user can approve components and connections at a lower approval level than allocated by their user approval level attribute 223.
  • the user selects the required component in the component display portion 1305 of screen 1300, then selects the required approval level from the approval level list 1335 and clicks the "approve revision” button 1370.
  • multiple-selecting is provided by means of a toggle button 1375. Pressing the button 1375 switches multiple-select on or off, and whilst multiple-select is on, the user can select multiple components and/or connections within the component display portion 1305 of screen 1300. This is useful when a large number of components require approval. It is preferable that the multiple select button 1375 operates according to the containership rules between the components in the component window 1305. Hence approving a component at a first level in the containership hierarchy approves all of its child components but does not approve its parent component.
  • the copy of the component that issued at the previous revision level is tagged as being issued at this previous revision level. All non-current copies of the component instance within the data store 105 that correspond with incremental changes made since the previously-accepted revision level may be deleted. If the revision level that was issued by pressing the set revision the button 1380 corresponds with the "As Built" common revision level, the project assignment flag 236 for that component is reset to the "As Built" common project.
  • the screen 1300 also includes a transfer button 1385, which presents to the user the dialogue shown in Figure 14 and which will be described below.
  • a transfer button 1385 which presents to the user the dialogue shown in Figure 14 and which will be described below.
  • Conflict between projects that want to modify the same component or connection simultaneously is managed by the project attribute 236 of each component or connection.
  • the user of the first project When a user of a first project selects a component that it wants to modify and that is reserved against a second project, the user of the first project receives an error message.
  • the error message indicates that the component or connection is reserved against the second project.
  • a component connection transfer screen as shown in Figure 14 is displayed to the user.
  • the transfer screen 1400 contains a list of projects 1410. The user selects from this list a target project to which the component or connection is to be transferred.
  • the user Upon selecting the target project, the user clicks on a select button 1405 which transfers the component to the target project by resetting the components project attribute 236 to correspond with the target project.
  • revision control and conflict management procedures of the present embodiments may be equally applicable to other data structures, data management systems and database management systems not associated with computer aided engineering systems or computer aided drawing systems.
  • the procedures may be applied to computer aided software engineering (CASE) tools and application development tools, particularly object oriented application development tools.
  • CASE computer aided software engineering
  • FIG. 15a is a component specification screen 400 of the GUI 190.
  • the component specification screen 1500 is used for defining component specifications within component specification data 270.
  • a component specification defined by use of the component specification screen 1500 may later be instantiated by use of an instancing means.
  • a component specification is a class definition of a component.
  • a component specification that is instantiated by use of an instancing means forms a component instance that is part of the component instance data set 230.
  • the component specification screen 400 has a description window 405 that corresponds with description attribute 232 of the component specification data set.
  • the description of the component specification comprises three elements which are, in order of left to right in the window 1505, a field defining the type of component, a field defining the manufacturer of the component and a field defining the model number of the component.
  • the component specification is of a type that is an R/O Module that is manufactured by a company called Triconex and its model number is 3636R.
  • the component specification screen 1500 also has a detail screen 1530 and a connection point screen 1545.
  • the detail screen 1530 is shown in Figure 15 and the connection point screen in Figure 16.
  • the detail screen 1530 has an attributes window 1507.
  • the attributes window 1507 lists the attributes of the component specification referred to in the description window 1505.
  • the various attributes of a component specification will typically assume a hierarchical structure. Each attribute representing a node in this hierarchy. Amongst this hierarchical structure of component attributes are instance level attributes 1515 and specification level attributes 1520.
  • Specification level attributes are attributes that are assigned values at the specification level, ie the class level. Definition of specification level attributes is achieved within the component specification window 1500. The values of these attributes are defined by selecting a specification level attribute 1520 whose icon is displayed within the attribute window 1507. Once selected the GUI 190 prompts the operator to enter data into a field displayed by the GUI 190 on the user screen. This data forms the specification level attribute.
  • Specification level attributes preferably cannot be changed when instantiating a component instance from a component specification. It should be noted that it is preferable that a user cannot enter attributes into instance level attributes 1515 from the component specification screen 1500.
  • the values for these instance level attributes 1515 are defined when a component instance is instantiated from a specification by use of an instancing means.
  • the component specification screen 1500 is a specification means.
  • the detail screen 1530 comprises an add classification button 1535 and a remove classification button 1540. These buttons enable additional classification elements from a library of classification elements to be added to the component specification. Similarly the remove button 1540 enables attributes to be removed from the component specification.
  • the GUI 190 prompts the user with a component classification screen 1570 that is shown in Figure 15b.
  • This component classification screen 1570 displays a library of classification elements. These elements are preferably a hierarchical set of attributes 1572, defined according to an Object Oriented technique referred to as an Inheritance/Specialisation/Generalisation technique.
  • the hierarchy of classification elements 1572 has a number of root level classifications 1595 that include a component classification 1510. This component classification 1510 is used by an operator when defining a component specification 1506 within the component specification screen 1500.
  • the root level classifications may also include additional classification information, such as electrical data, process information, process connection and reference drawing classifications. These additional classifications enable additional information to be associated with a component without the information becoming an attribute of the component.
  • This attribute hierarchy 1572 comprises a number of root attributes including root level specification attributes 1520 and root level instance attributes 1525.
  • the Connecting Component sub-classification 1575 has two specification level attributes 1580 that relate to the length of the connecting component and the power distribution circuit that the connecting component is connected to.
  • the connecting component sub-classification 1575 also has a further two sub- classifications namely a cable sub-classification 1585 and a tubing sub- classification 1586. Within each of these sub-classifications there will be further instance level attributes and specification level attributes, there may also be further sub-classifications. Similarly the cabinet sub-classification 1590 has a further hierarchical definition of sub-classification folders and of instance level attributes and of specification level attributes. Accordingly each attribute forms a node in the hierarchy of classification elements.
  • the component classification screen 1570 is displayed by the GU1 190 when an operator of the CAE system 100 selects the add classification button 1535 of the component specification screen 1500.
  • the hierarchy of classification elements 1572 a user selects classifications that are required to be incorporated within the component specification that is being defined within the component specification screen 1500.
  • the cable sub-classification 1585 has been selected by a user. This selection maybe indicated by the GUI 190 highlighting the word Cable of the Cable sub-classification 1585.
  • the Cable sub-classification 1585 all of the attributes and sub-classifications that are within the cable sub-classification 1585 are imported into the component specification presently being defined in the component specification screen 1500. The hierarchical structure of the attributes and sub-classifications are retained. The Cable sub-classification 1585 also inherits all of the attributes that are on its level or higher in the hierarchy of component attributes.
  • Cable sub-classification 1585 will import into the component specification the instance level attributes 1580 of the connecting component sub- classification 1575.
  • tubing sub-classification 1586 and its attributes and sub-classifications will not be imported into the component specification.
  • the component specification folder 1510 will preferably be imported and displayed in the attribute screen 1507.
  • the root level attributes 1520 and 1525 should be suspended from the component specification folder 1510.
  • the component specification displayed in the attribute screen 1507 will display a component folder which has suspended therefrom in the hierarchy of attributes a Connecting component folder 1575 and the length and power attributes 1580 along with the cable sub-classification folder 1585 and any attributes within that folder.
  • Cabinet sub-classification 1590 is selected to be imported into the component specification 1506 then a user will preferably see the Cabinet sub- classification folder 1590 appear on the attribute window 1507. The imported Cabinet sub-classification 1590 will retain the same hierarchical relationship with the component classification folder 1510.
  • the attributes within the hierarchy of classification elements 1572 are predefined as either being specification level attributes or instance level attributes.
  • An alternate embodiment may allow an operator to define which of its attributes are specification level and which of its attributes are instance level.
  • quality assurance procedures used in design of engineering facilities prefer that the specification level attributes and the instance level attributes are pre defined for the user.
  • the component specification screen 1500 contains a further five control buttons mainly a new button 1550, a clone button 1555, an update button 1560, a delete button 1565 and a close button.
  • the new button 1550 is selected by an operator when a new component specification is to be defined.
  • the clone button is used to generate a copy of a component specification which may then be modified to create a new specification.
  • This button is a short cut button that provides an easier method of generating a component specification once a similar component specification has been defined.
  • the update button enables an existing component specification to be amended by means of inserting or removing attributes or by means of changing data values entered into specification level attributes.
  • the delete button 1565 deletes a component specification from the component specification data 270.
  • connection points screen 1545 of the component specification screen 1500 contains the description window 1505 as seen within the detail screen 1530 and it also contains the new button 1550, the clone button 1555, the update button 1560, the delete button 1565, and the close button.
  • the connections points screen 1545 is used for defining the connection point data 275 of a component specification 271.
  • the connection point screen 1545 contains three data sets that relate to connection point data 275 of a component specification 271.
  • connection point data 1605 A first of these three data sets is connection point data 1605.
  • a connection point of a component is a point where the component is inter connected with another component.
  • a power outlet of a domestic power circuit typically contains three connection points namely a positive connection point, a neutral connection point, and an earth connection point. In use, each of these connection points are connected with a corresponding connection point of a three pin plug when a power cord containing the three pin plug is connected to the power outlet.
  • connection point data 1605 For example, a user may enter the name "positive terminal” against data item #1 , 1606 of the connection point data 1605, "neutral terminal” against data item #2, 1606 and "earth terminal” against data item #3, 1607, of the connection point data 1605.
  • connection point data 240 of component specification 271 there are three connection points named respectively, "positive”, “neutral” and “earth” within a "power outlet".
  • the power outlet is a double outlet which is capable of receiving two three pin plugs.
  • a user will need to define a further three connections points within the connection point data 1605.
  • connection point four 1609 is a positive terminal
  • connection point five 1611 is a neutral terminal
  • connection point six 1612 is an earth terminal.
  • connection points for the power outlet Before defining the connection points for the power outlet the user will be aware that the power outlet contains three connection points. The user will also be aware that these three connection points operate mechanically as a single unit that can only receive compatible three pin plugs. This mechanical nature of a three pin power outlet is captured within connection point data by defining a multipoint connection within the multi-point connection data set 1665.
  • the first three pin plug is a multi-point connection called cable socket A and the second three pin plug a multi-point connection called cable socket B.
  • connection point data 240 of the component specification 271 After selecting the insert button 1510 for the connection point data that relates to connection points 1 , 2 & 3, the user selects a "No. to insert” window 1620. The user then details within this "No. to insert” window 1620, the individual connection points within the connection point data 1605 that are to be inserted into a multipoint connection. The user then selects one of the previously defined multi-point connections within the multi-point connection data 1665. Upon selecting the insert button 1610 the connection points that are highlighted in the "No. to insert" window 1620 are defined within the connection point data 240 of the component specification 271 as being associated with the selected multi-point connection.
  • first set of three connection points may be associated with the cable socket A multi-point connection so as to represent a first three pin power outlet within the component specification.
  • second set of three connection points may be associated with the cable socket B multi-point connection so as to represent a second power outlet within the component specification.
  • sets of individual connection points 1605 are associated with multi-point connections 1665 so as to represent that a set of connection points physically exist within a multi-point connection device.
  • Additional multi-point connections maybe inserted or removed from connection data 240 of a component specification 271 by use of insert button 1655 and remove button 1660 respectively.
  • insert button 1655 When the insert button 1655 is selected, a new data element appears within the multi-point connection data set 1665. The user is required to enter a name into this new data element within the multi-point connection data 465.
  • Multi-point connections enable operators of the CAE system 100 to connect components having multiple numbers of connection points together. Once two multi-points are connected together, their connection points are connected within the database. Preferably the connection points within a multi-point are ordered in some manner so that corresponding connection points of connecting multi-points are connected together.
  • the multi-points model the operation of real world multi-point connectors. This allows operators of the CAE system 100 to connect components in the way they would real world components.
  • the remaining set of data within the connection points screen 1645 is the grouping data.
  • Grouping data represents that a number of connection points are physically connected or logically associated internally to a component. It is typically used where a component has more than two connection points.
  • An example of a simple device where groups of connection points are logically connected is a relay.
  • a typical relay has input terminals that receive a control current. The control current is used to trip the contactors of the relay.
  • the contactors of the relay are typically connected to a separate circuit to that of the control current. Typically the contactors of the relay are used to activate and deactivate a power circuit.
  • connection points 1 and 2 are connection points 1 and 2 in connection point data 1605 and that the contactor terminals of the relay component are connection points 3 and 4 in connection point data 1605.
  • the control terminals, namely connection points 1 and 2, and the contactor terminals, namely connection points 3 and 4 will form a group of connection points within the connection point data 240 of the component specification data 271.
  • Group data is used in modelling circuits (often referred to as loops) of components by the CAE system 100.
  • the relay components connected to the contactor terminals of the relay namely components connected to connection point 3 and connection point 4 of the relay will form part of a loop that is controlled by the relay.
  • that loop will include the control terminals, namely connection points 1 and 2 of the relay component.
  • a group of connection points may contain connection points from different multipoint connections.
  • An example where this may occur is an electrical termination panel (ETP).
  • An electrical termination panel often contains a series of individual terminals where individual cores (wires) are terminated. These individual cores are often associated by means of control logic and power circuitry, with one or more connection points of a multi-point connection terminal.
  • a multipoint connection terminal may receive data input on several of its pins that in turn cause a control current or a power current to be activated on two or possibly three of the individual connection points. This may occur where for example the electrical termination panel receives data input on three channels from some form of control device.
  • These data channels may be converted by means of control logic internal to the electrical termination panel into a power current that appears on two connection points terminated individually within the series of individual terminals.
  • a loop involving the electrical termination panel would see a multi-point connection on say, the right-hand side of the electrical termination panel.
  • This multi-point connection would also be seen as activating two individual connection points on the corresponding left-hand side of a loop containing the electrical termination panel.
  • an electrical termination panel that receives three input channels on three pins of a multi-point connection socket. These three channels activate two separate sets of terminals. Each separate set of terminals operates a separate control circuit. These control circuits operate individually of each other. In this sense the electrical termination panel may be regarded as a branch element in a loop as it has one input on, say, the right-hand side of the loop which branches into two outputs on the corresponding left-hand side of the loop.
  • connection points that are driven by the three channel input are located on separate multi-point connections.
  • three sets of connection points (one input set and two output sets) are associated with three different multi-point connections.
  • each of these connection points are contained within the one group as they all form part of the one loop.
  • a multi-point connection may contain connection points that belong to several different groups of connection points.
  • the multi-point connection referred to above that has the three channel input may also contain further sets of connection points that receive separate input data streams. These connection points that receive separate input data streams preferably form a separate group within the multi-point connection point.
  • connection point To define a group of connection points an operator selects "Group name" window 1635 and enters a group name. This defines a new group within group data 1645. The operator then inputs a connection point into a connection point tile 1641 , along with a group number in a corresponding group tile 1646 that the connection point is to be associated with. The multi-point connection, if any, that the group is also to be associated with is entered into a corresponding multi-point tile 1647.
  • a component specification may have a multitude of different groups as demonstrated by group data 1645.
  • groups of connection points maybe disassociated within connection point data 240 by selecting a group name within the group name window 1635 and selecting the ungroup button 1630.
  • an individual connection point 1640 within the group data 1645 may be removed from a group by selecting the ungroup button 1630.
  • individual connection points maybe inserted into a group in a similar manner using the group button 1625.
  • a user may be prompted to define which groups of the two multipoint connection points are to be connected together when a connection between two multi-point connections is requested.
  • the instantiating means has a TAG No. / ITEM window 906 that defines a unique name for the component being instantiated.
  • the tag name 915 entered into the TAG No. / ITEM window 906 constitutes the component instance ID attribute 237.
  • the area tag 920 entered into the area window 922 constitutes the area attribute 235 of the component instance 231 that is being instantiated by the component instancing screen 900. This attribute identifies the location of the component instance 231 relative to the area hierarchy data 200.
  • the general detail screen 990 comprises a containership window 940.
  • the containership window 940 contains a graphical display of the area hierarchy data 200.
  • the hierarchy data 200 maybe expanded to show the location of components within each area of the area hierarchy data 200.
  • an area icon 941 that represents the area attribute 235 of a component 942 that is being instantiated by the component instancing screen 900 is displayed.
  • the component 942 Suspended from the area icon 941 in a hierarchical manner is the component 942 presently being instantiated by the component instancing screen 900. This relationship indicates that the component 942 is located within an area of a facility indicated by the area icon 941.
  • component 942 and area icon 941 also indicates that the component 942 has its component container ID attribute 239 set to null. This is because the component is not contained within any other components within the area indicated by area icon 941.
  • Suspended in hierarchical fashion from the component 942 is a series of child components 945 that are contained within the component 942 that is being instantiated. Each of the child components 945 is graphically indicated as being suspended from their parent component 942. This indicates that each of the child components has their component container ID attribute 239 set to indicate that they are contained within their parent component 942.
  • a switchboard chassis may be represented by parent component 942 and each of the child components 945, may represent items such as rails, relays, terminal blocks, controllers, switch gear, and panels that are commonly found within a switchboard chassis.
  • the series of child components 945 may also have a hierarchical structure.
  • a first child component in the series may have its component container Id attribute 239 set so as to indicate a parent component that is itself a child component of the parent component at the root level of hierarchy.
  • the parent component of the first child component will have its component container Id 239 set to indicate the component 942 at the root level of the component hierarchy.
  • the containership window 940 contains a check box called show demolished 950 and a resequence button 955.
  • the resequence button 955 enables a user to change containership relationships between components displayed within the containership screen 940. For example a user will select a component. The user will then select resequence button 955 and this will enable the user to move the icon of the selected component into a new containership relationship with another component. Once the component has been moved into its new containership relationship the update button is selected and the changes are stored within the data store 105.
  • the show demolished check box 950 indicates that a component is to have its project tag 236 set to a demolished project when the component issues at the "As Built" level. This is achieved by an operator selecting a component that is to be demolished then selecting the delete/demolish button 970. Upon selecting the delete/demolish button 970, the user is prompted as to whether they wish to delete the component or demolish the component. When the user selects that they wish to demolish the component the check box 950 is then marked to indicate that the component will be demolished when it is approved at the "As Built" level.
  • This demolished feature will typically be used to indicate that a component on the facility has been decommissioned and removed from the facility.
  • the specific detail screen 1090 has a hierarchical list of component attributes 1051. These component attributes correspond with the attributes defined by the specification means detailed in the component specification window 1500.
  • the hierarchical attributes 1051 have instance level attributes 1050 and specification level attributes 1045.
  • the data values for the specification level attributes 1045 were entered into the specification when the specification was defined using component specification screen 1500.
  • instance level attributes 1050 so as to instantiate a component a user selects, in turn, each instance level attribute 1050. Upon selecting an instance level attribute the GUI 190 prompts the user to enter data values for that attribute. This process is repeated for each specification level attribute in the component specification. When completed the component may be instantiated by selecting the update button 630 which stores the component instance with instance level attributes in the component instance data 230.
  • FIG. 17 is a loop design screen 1700 for use in defining connections between components.
  • Connections between components are defined using connections data set 250.
  • the connections data set 250 references connection point data 240 in the set of component instances 230.
  • Connections data 250 contains a connection name attribute 251 , a revisions attribute 252, a project attribute 253, a connection point on left attribute 254, a connection point on right attribute 255, and a demolished attribute 256.
  • connection name attribute 251 uniquely identifies connections between two connection point attributes 241 of two different component instances 231.
  • the revision attribute 252 of the connection data defines a set of revision levels through which a connection must pass in order to be issued at the "As Built" level.
  • the project data 253 of the connection point data 250 reserves each connection against a project in the project data 215. This enables connections between connection points to be defined by separate projects to those that have reserved the component instance 231 containing the connection points.
  • the loop design screen 1700 is used to define connections between components.
  • a series of components that are connected together to form a circuit are commonly referred to as a loop of components.
  • a component such as a control unit that is located in a switchboard is referred to as a system component.
  • a field device such as a sensor, a power outlet or a light globe
  • Convention also dictates that when a loop is drawn, system components are on the right hand side of the loop and field devices are on the left hand side of the loop.
  • Different embodiments may choose to follow a different loop definition convention. In the convention of the present embodiment a loop is depicted graphically as a sequence of components one adjacent to the other.
  • the order of components in a loop is dictated by the sequence of components that extend between field devices on the left of a loop and system components on the right of the loop. This sequence can be determined by 1) identifying the components in a loop; 2) identifying field devices and system components in the loop; and 3) identifying the connections between all of the components so that the relative positions of the components is determined.
  • the loop design window has seven component windows namely a first component window 1701 , a second component window 1704, a third component window 1705, a fourth component window 1708, a fifth component window 1710, a sixth component window 1713, and a seventh component window 1715.
  • An unrestricted number of component windows and connection point panels may be added to the loop design screen 1700. Scroll bars may be used to view the different component windows and connection point panels.
  • Each component window has a corresponding connection point panel.
  • the first component window 1701 has a first connection point panel 1719.
  • the second component window has a second connection point panel 1720
  • the third component window 1705 has a third connection point panel 1721
  • the fourth component window has a fourth connection point panel 1722
  • the fifth component window has a fifth connection point panel 1723
  • the sixth component window 1713 has a sixth connection point panel 1724
  • the seventh component window 1715 has a seventh connection point panel 1725.
  • Each component window details one or more icons that represent one or more components and their containership hierarchy.
  • the connection points detailed in the connection point panel correspond to the component selected in the component window. More than one component and its containership hierarchy may appear in a component window.
  • Components are preferably located in a connection point panel by a drag and drop procedure well known in the art. For example, a component specified in the general details screen 900 may be dragged onto and then dropped into a component window. This results in the component and its containership hierarchy appearing in the component window.
  • connection point panel details the connection points of the component selected in the component window.
  • the connection points are detailed under a column of elements called the label column 1731. Adjacent to the label column are two further columns namely a #L column 1732 and a #R column 1733.
  • the entries across a row of a connection point panel relate to one individual connection point.
  • a #L element indicates the number of components that are connected to the connection point on the left hand side of the loop.
  • a #R element 1733 indicates the number of components that are connected to the connection point on the right hand side of the loop.
  • connection points of each component that are to be connected together With the visual layout of the loop design screen, it is preferably if only connection points in adjacent panels can be connected together. Other visual layouts for the loop design screen 1700 may be used. Such alternative layouts may require different rules for the connecting of connection points.
  • a user will highlight a first connection point in the first connection point panel 1719 and select a second connection point in the second connection point panel 1720.
  • a connection 251 is formed within the connections data 250. This connection indicates that the selected connection point in the first connection point table is connected to the connection point selected in the second connection point table 1720.
  • connection point has a value of 2 or greater in its #L or #R element, it indicates that the connection point is a branch in a loop.
  • the component window on the left there may be two or more separate components that the branch is connected to.
  • each connection from the branch element to its connecting components on the left or right be made separately. This may require two or more components to be located in a component window adjacent a branch element. These two or more components may be located in a component window at any one time by dragging for example a second or a third component, as required, into the component window adjacent the branch.
  • connection point tile When selecting a connection point in a connection point tile, it may be a multipoint connection point.
  • the CAE system 100 preferably operates to check that the connection point that the multi-point is being connected to is also a multi-point connection point. Some embodiments may also check that the multi-point connection points are mechanically compatible. This may be achieved by assigning a label to the multi-point connection point when being defined. A compatibility list may then be used to cross check multi-point connection points with different labels as to their compatibility.
  • connection points are defined being connected.
  • connection points are defined so that corresponding connection points in the multi-points are connected together.
  • the groups are preferably treated in an identical manner as individual connection points so that a single connection point in one multi-point is connected with a group of connection points in their connecting multi-point.
  • each connection point in a multi-point is assigned to a group.
  • FIG 18 is a graphical representation of two loops of components 1800 and 1805 respectively, each generated using the loop design screen 1700.
  • Each loop is represented by a series of interconnected black dots.
  • Each dot represents a connection point instance 241 and its associated connections data 250.
  • the connection points are shown as being interconnected by use of solid unbroken lines.
  • Each solid unbroken line is used to represent connection data 250.
  • the connections data may be derived from group data. Hence the solid unbroken lines may represent internal connections between connection points in a component.
  • connection point instances comprise a first loop 1800 that has a connection point 8 that is connected to a connection point 5 and a connection point 4 that is also connected to connection point 5. Both connection point 8 and connection point 4 are connection points of field devices as they are on the left- hand end of the first loop 1800.
  • Connection point 5 is also connected to a connection point 13 and connection point 13 is in turn connected to a connection point 15.
  • Connection point 15 is connected to a number of connection points, namely a connection point 11 , a connection point 1 , a connection point 10 and a connection point 17.
  • connection point 11 , connection point 1 , connection point 10 and connection point 17 are connection points of system components as they are on the right-hand end of the first loop 1800.
  • connection point 6 which is connected to a connection point 7 and also a connection point 3 which is connected to connection point 7.
  • Connection point 6 and connection point 3 are both connection points of field devices as they are on the left-hand end of the second loop 1805.
  • Connection point 7 is connected to a connection point 14.
  • Connection point 14 is connected to a connection point 9 and a connection point 12.
  • Connection point 9 is also a connection point of a field device, as it has no components connected to its left-hand side, whereas it has connection point 14 connected to its right-hand side.
  • Connection point 14 is also connected to a connection point 12.
  • Connection point 12 is connected to a connection point 2 and a connection point 16.
  • Both connection point 2 and connection point 16 are connection points of system devices as they are connected on the right-hand end of the second loop 605 with no components, and hence no connections to connection points on their right- hand side.
  • Group data is used to identify the path of a loop within a component.
  • a component with a three sets of input terminals and a corresponding number of output terminal, for three separate circuits will be represented by corresponding input terminals and output terminals forming three separate groups of connection points.
  • These groups of connection points enables the CAE system to represent the component as servicing three separate loops.
  • three separate loops can be traced through the component by means of the group data.
  • each group of connection points may be part of a single multipoint connection point that interconnects with another multi-point connection point
  • the multi-point connection points will preferably have been defined as having three groups of connections points, one group for each circuit.
  • group data in the multi-point connection points enables three separate loops to be traced through the multi-point connection point.
  • This use of group data and multi-point connection points enables graphical symbols that represent entire components to be depicted rather than graphical symbols that represent an internal part of an entire component. That is, a symbol of an entire multi-core cable can be located onto a loop drawing instead of locating a representation of one of the cores contained by the cable.
  • loop diagrams This enables loop diagrams to be constructed that represent the components that have been, or will be, used in constructing the loop on a particular facility.
  • FIG 19 is a flow chart of a procedure for investigating connection data 250 so as to identify a loop of components.
  • This procedure is a non-batch procedure of the type referred to in steps 3340 - 3350 of Figure 3d.
  • the dynamic loop identification process starts at step 1900.
  • a connection point selected by an operator, or by some function within the CAE system 100 is designated as a "current" connection point.
  • a revisions level for the loop diagram is then selected. This level may be the "As Built” level or revisions level "A”.
  • the loop identification procedure identifies the components and connections at the selected revisions level. These components and connections are ultimately placed onto a drawing to represent the selected loop at the selected revisions level.
  • the loop identification procedure proceeds by use of a "connection point” stack and a "final set" of connection points.
  • step 1905 the loop proceeds to step 1910.
  • step 1910 the current connection point is added to the connection point stack.
  • step 1910 the loop identification procedure proceeds to step 1915, where the procedure tests the connections data 250 related to the current connection point to identify whether or not it is connected to a connection point on its left that has not already been placed in the final set of connection points. If step 1915 is negative, then the procedure moves to step 1925. If step 1915 is positive then the loop proceeds to step 1920.
  • the current connection point is added to the top of the connection point stack and the connection point on the left is then designated as the current connection point only if it has not already been recorded in the final set of connection points.
  • step 1920 the procedure returns to step 1915.
  • This loop of step 1915 and step 1920 repeats until step 1915 returns a negative answer whereupon the loop proceeds to step 1925.
  • connection data 250 related to the connection point that is designated as the current connection point is investigated.
  • the investigation determines whether or not the current connection point is connected to connection point that is on its right-hand side.
  • step 1935 If there is not, then the loop identification procedure moves to step 1930.
  • step 1930 the current connection point is added to the top of the connection point stack and the connection point on the right is designated as the current connection point, only if it is not already in the final set of connection points.
  • the loop of step 1925 and step 1930 repeats until step 1925 returns a negative answer whereupon the loop identification procedure moves to step 1935.
  • Step 1935 determines whether or not the connection point stack is empty. If the connection point stack is not empty then the loop identification procedure moves to step 1940.
  • step 1940 the connection point that is currently on the top of the connection point stack is removed and added to the final set of connection points.
  • the current connection point data is updated to designate the connection point on the top of the connection point stack as the current connection point.
  • Step 1945 returns the connection points in the final set of connection points as the connection points that are identified as belonging to the identified loop. These connection points may be stored in the loop data store of step 3315 in Figure 3d.
  • This alternate loop identification procedure is a batch procedure in that it identifies all of the loops in the connections data 250 in the one process. It is a modified form of a bubble sort algorithm.
  • This procedure is generally used during overnight processing to generate an up to date set of loops that are stored within the loop data store of step 3315 in Figure 3d.
  • the procedure is demonstrated using a series of columns.
  • the columns contain references to connection points.
  • Each column shows the results of various stages of the sorting procedure.
  • connection point from the two loops 1800 and 1805 is assigned a label which has the format of "A, B".
  • the "A” is a reference to the name of the connection point.
  • the "B” is a reference to the loop that the connection point referenced by "A” is a part of.
  • Each loop in the set of connection points is preferably named according to the lowest numbered connection point that it contains. Hence the lowest numbered connection point in the first loop 1800 is connection point 1.
  • connection point 8 which is in the first loop, will be “1" once the batch sort is finished and connection point 8 labelled as "8, 1 ".
  • connection point 1 is referenced as 1 ,1 and connection point 5 is reference as 5,5.
  • A B.
  • each reference to "A" is a reference to the connection point attribute 241 of the connection point data 240, at a particular revision level.
  • the batch sort may be performed for any selected revisions level.
  • the bubble sort algorithm proceeds by investigating each connection point in the first table 2000 in turn from 1 to 17. The investigation considers whether or not the variable "B" should be altered, in achieving the algorithm's aim of labelling each "B" variable with the lowest connection point number of the connection points in the loop to which it is a part.
  • connection point 1 in table 2000.
  • the connections data 250 of connection point 1 indicates that connection point 1 ,1 is connected to connection point 15,15.
  • the bubble sort procedure therefore considers whether or not the "B" variable 15 is lower than the "B" variable "1". As 15 is not lower than 1 then the "B" variable of the connection point named 1 ,1 remains unchanged.
  • connection point 2,2 is then investigated. Connection point 2,2 is connected to connection point 12,12. As the "B" variable 12 is not less than the "B” variable 2 then connection point 2,2 remains unchanged.
  • connection points "5,5", “7,7”, “8,8", “12,12”, “13,13”, “14,14”, “15,15”, “16,16” and “17,17” all change as they are all connected to a connection point that is named with a lower "B” variable than themselves.
  • connection point 5,5 has been renamed as 5,4. This is because connection point 5,5 is connected to connection point 8,8 and connection point 4,4 and connection point 13,13. Of these connection points, connection point 4,4 has the lowest "B” variable number. Accordingly, connection point 5,5 is renamed as "5,4".
  • connection point 12 is renamed as "12,2". This is because connection point 12 is connected to connection point 14, connection point 16 and connection point 2. Of these connection points, connection point 2 has the lowest “B” variable number. Accordingly connection point 12 becomes "12,2".
  • connection point 5,5 has been renamed as "5,4"
  • connection point 7,7 has been renamed as “7,3”
  • connection point 8,8 has been renamed as "8,5"
  • connection point "12,12” has been renamed as "12,2”
  • connection point 13 has been renamed as "13,5"
  • connection point 14,14 has been renamed as "14,7”
  • connection point 15,15 has been renamed as "15,1”
  • connection point 16,16 has been renamed as "16,12”
  • connection point 17,17 has been renamed as "17,15”.
  • Table 2010 illustrates the results of the second bubble pass through the connections data 250.
  • the second bubble pass operates on table 2005. Again the "B" variables of adjacent connection points are considered. Accordingly, on the second pass connection point 6,6 considers whether it is higher or lower than the "B" reference of connection point 7,3. As the "B" reference of connection point 6 is now higher than the "B” reference of connection point 7, the “B” reference of connection point 6 is renamed from “6" to "3".
  • connection point 16,12 considers whether its "B" reference of 12 is now higher or lower than the "B” reference of connection point 12,2.
  • connection point 12 As the "B" reference of connection point 12,2 is now lower than the "B" reference of connection point 16,12, the "B" reference of connection point 16 is amended so as to be "16,2".
  • connection point 6 having its "B” reference amended so as to be “6,3"
  • connection point 8 having its “B” reference amended so as to read "8,4"
  • connection point 9 having its "B” reference amended so as to read “9,7”
  • connection point 10 having its "B” reference amended so as to read "10,1”
  • connection point 11 having its "B” reference amended so as to read "11 ,1”
  • connection point 13 having its "B” reference amended so as to read "13,1”
  • connection point 14 having its "B” reference amended so as to read "14,2”
  • connection point 16 having its "B” reference amended so as to read "16,2”
  • connection point 17 having its "B” reference amended so as to read "17,1".
  • connection point 13 is a “1”.
  • connection point 14 is a “2”.
  • every connection point in the first loop 600 has its “B” reference designated as “1”.
  • every connection point in the second loop 1805 has its "B” reference designated as “2”.
  • FIG 22 graphically represents the bubble sort results 2020 and how these results 2020 are sorted into a first table titled “tblLoopConnPoints" 2205 and a second table called “tblLoop” 2210.
  • the "tblLoopConnPoints" table 2205 has two columns namely a loop column 2215 and a connection point column 2220.
  • the "tblLoopConnPoints" 2205 has been ordered in ascending order according to loop column 2215. It is not essential to order the loop column 2215 in ascending or descending order. However it is preferable to order the loop column 2215 so that all the points corresponding to a loop are grouped together.
  • Connection point column 2220 has not been ordered in ascending or descending order. Although once the loop column 2215 has been ordered it may then be possible to sub-order the connection points in any one loop in an ascending or descending order.
  • tblLoopConnPoints From the "tblLoopConnPoints" table 1005 a further table “tblLoop” table 2210 is created. This table contains a list of the loops that are present in the table "tblLoopConnPoints".
  • FIG 23 is a preferred data structure for table “tblLoopConnPoints” 2205 and table “tblLoop” 2210.
  • This data structure has “a one to many” relationship between “tblLoop” 2210 and “tblLoopConnPoints” 2205 respectively.
  • the primary key of "tblLoop” 2210 is “idLoop” 2300.
  • This "idLoop” attribute 2300 is the "B" reference for the loop that is generated during the bubble sort procedure.
  • the "tblLoopConnPoints" table 1005 has three attributes namely the "idLoop” 2300 attribute that is the primary key of "tblLoop” 2210. It also has two further attributes namely an "idConn Point” attribute 2305 that corresponds with connection point attribute 241 of connection point data 240. It also has "idRevision” attribute 2300 that corresponds with the revision attribute 252 of the connection 251 that the "idConnPoint" attribute 2305 is associated with.
  • connection points detailed in step 1945 of Figure 19 may be used to generate "tblLoopConnPoints" 2205. From this table 2205 an investigation may be performed to determine the "idLoop" attribute of the "tblLoop” table 2210.
  • the "tblLoop" table 2210 may contain a further two attributes, namely a field device attribute 2315 and a system attribute 2320. Each of these attributes is a description that identifies the field devices in the loop and the system connection points in the loop. These additional attributes are useful though not essential to the process of identifying a loop within the connection point data and to then graphically generating a representation of this loop.
  • Figure 24 is a flow chart for a procedure for dynamically generating a graphical representation of a loop.
  • This procedure accesses the tables tblLoopConnPoints 2205 and tblLoop 2210 it also accesses the data structure of Figure 2.
  • the process commences at step 2400 where the CAE system 100 has been requested to dynamically generate a loop.
  • the loop generation procedure accesses tblLoop 2210 and selects the required loop from those listed.
  • the connection points in the selected loop are identified and the first connection point 241 in tblLoopConnPoints 2205, that corresponds with the selected loop, is selected by the loop generation procedure.
  • the component instance 231 that corresponds with the selected connection point in tblLoopConnPoints 2205 is identified.
  • This component instance corresponds with the component as it existed at the revisions level selected when a request was issued to generate a loop drawing.
  • a graphical representation of this component instance 231 is then selected from a set of predefined graphical elements. These graphical elements are graphical representations of each component specification and/or instance.
  • the requisite graphical representation for a component instance and/or component specification is stored in the component shape data store 114 when the relevant component specification and/or instance is generated and stored.
  • the component shape selected will represent the component at the revisions level selected for the loop.
  • the representation will be indicia located on the shape, such as shading, hatching or outlining. Preferably different colours are used to represent the various revisions level.
  • a loop drawing template is a template for loop drawings such as a border and title block that has been predefined and stored within the system 100.
  • step 2440 determines whether or not that parent shape is currently on the template. If the parent shape is currently on the drawing then the procedure moves to step 2450. If the parent shape is not on the drawing then at step 2445 the parent shape is accessed and placed on the template.
  • the current shape is positioned within its parent shape according to containership rules.
  • containership rules are derived from the containership hierarchy that is derived through component container id 239 attribute.
  • a component may be a relay that is contained on a rail and the rail may be contained within a switchboard.
  • the location of the relay on the rail will be dictated by the other components, if any, that are in the loop and that also reside on the rail in question.
  • the location of the rail within the switchboard will depend on how many other rails that are within the same switchboard components that are within the loop.
  • containership data for the rail may specify that one other component instance 231 within the loop is also located on the rail in question.
  • the two components have a containership hierarchy relative to the rail instance and in terms of their position on the rail. This hierarchy is defined at the time that the different components are instantiated within the CAE system 100.
  • the components appear on the rail within the switchboard in the order of this hierarchy. For example, if the relay has position 2 on the rail and the other component has position 4 on the rail and no other components on the rail are in the loop being generated, then the rail is preferably represented as only having the relay and the other component. The relay appears first on the rail. Similarly if there is another rail within the switchboard that holds a further component, then the location of this rail within the switchboard is dictated by the hierarchy of the rails within the switchboard.
  • Preferred embodiments locate rails in a hierarchical order from left to right within a switchboard and that rails locate components in a hierarchical order from top to bottom.
  • the procedure then moves to step 2455 where the parent shape is made the current shape and the procedure loops back to step 2430.
  • step 2430 if the current shape does not have a parent shape then the procedure moves to step 2460 where a further condition is applied to determine whether the last connection point 241 referenced from the tblLoopConnPoints table 2205 was the last entry in the table or whether there are further entries to be accessed. If there are further entries to be accessed then the procedure loops to step 2465. If there are no further connection points to be accessed then the procedure loops to step 2470.
  • connection point in the tblLoopConnPoints table 2205 is accessed. Once this connection point has been accessed the procedure moves to step 2415 where the relevant shape for the component associated with the connection point is identified.
  • step 2460 returns a positive result, indicating that all the connection points 241 in the tblLoopConnPoints table 2205 have been investigated then the procedure moves to step 2470.
  • step 2470 the shapes that have been located on the template are then joined together and distributed so that field devices are on the left-hand end of the loop and so that system devices are on the right-hand end of the loop. This procedure is discussed in greater detail below in relation to Figure 25. After step 2470 has been completed then at step 2475 the loop is stored.
  • Figure 25 is a flow chart illustrating the process for distributing component shapes that have been located on a template by the process of Figure 24.
  • the process commences at step 2500 by accessing the template and drawing shapes that were created by the process of Figure 24.
  • a component shape that has been placed on the template is selected and designated as the current component shape.
  • the process considered whether or not the current component shape has a parent shape. This information may be obtained from Component Container id attribute 231 or it may be obtained from the steps 1240 through 2455 in Figure 24.
  • step 2510 the component is contained within a parent component then the process moves to step 1320 otherwise the process moves to step 2525.
  • the parent shape of the current shape is selected and the parent shape is made current at which point the process returns to step 2510 to identify whether or not the parent shape is itself contained within another shape. If step 2510 returns a negative answer than the process moves to step 2525 where the current component is moved to the centre point of the template.
  • step 2525 the process moves to step 2530 where the current component is added to the top of a current component stack after which the process moves to step 2535.
  • step 2535 the process determines whether or not there is a component connected to the left of the current component. It also determines whether or not the component on the left has already been placed on a final component stack. If step 2535 is positive than the process moves to step 2540, however if step 2535 is negative then the process moves to step 2550. At step 2540 the process determines whether or not the current component is contained in a parent component. If it is not then the process moves to step 2545, if it is then the process moves to step 2540.
  • step 2545 the component that is on the left of the current component is moved to a position on the template that is to the left of the current component. They are then joined.
  • a component may have an attribute to indicate whether or not it is a connecting component.
  • a connecting component may be regarded as a component such as a cable that joins field devices with field devices or field devices with system devices or system devices with system devices.
  • a system device is joined to another system device and they have the same containership properties it is preferable that this is indicated by their component shapes being colocated on a common point of the template. It will preferably appear that one system device is contained within the other system device, as dictated by their containership.
  • a pressure transducer may be contained within a switchboard. In this instance the pressure transducer shape is located internally of the switchboard shape.
  • a connecting device is joined to a system device and a field device then it is preferable that the connecting device is represented as a line that separates the field device from the system device on the template.
  • a connecting device again such as a cable
  • this is represented on the template as a line that is connected to each field device and that separates the two field devices.
  • step 2545 or step 2546 When either step 2545 or step 2546 is completed then the process moves to step 2547 where the current component is added to the top of a component stack and the component identified in step 2535 is designated as the current component so long as it is not already in the final stack.
  • Step 2547 the process returns to step 2535, and if step 2535 returns a negative result then the process moves to step 2550.
  • Step 2550 through step 2570 are similar to steps 2535 through 2547 however they operate to determine whether or not there are any component shapes that are to be located on the template to the right of the current component.
  • Steps 2535 through 2547 and steps 2550 through steps 2570 operate to distribute component shapes on the drawing template. It is preferable that the distribution reflects containership relationships between component instances and that it also reflects the left-hand and right-hand conventions of a component loop. Accordingly it is preferable that once the component shapes have been distributed on the template, that their positions reflect their relative locations within the loop so that field devices are on the left-hand side and so that system devices are on the right-hand side of the loop. In order for a loop to fit on a template it is possible for the loop to turn back upon itself in its distribution on the template. In this sense the loop could be said to snake across the template. Preferably the snaking of the loop allows for branch elements.
  • step 2575 the process investigates the component stack to determine whether or not it is empty. If the component stack is empty then the process moves to step 2590 and the loop is saved. If at step 2575 the component stack is not empty then the process moves to step 2580 where the component on the top of the component stack is removed and added to the final component stack. The new component at the top of the component stack is then made the current component. The process then returns to step 2535.
  • FIG 26 is a loop diagram 2600. It consists of drawing template 2605 on which a first field component 2611 and a second field component 2616 are located. Each field device may be an actuator for a valve on a pipe system.
  • Branch element 2620 is a component where a branch in the loop forms to the first field device 2611 and the second field device 2616.
  • the loop diagram 2600 has a system component 2635 that may be a controller.
  • the controller is represented as being contained in its parent component 2625 that may be a switch board.
  • the controller 2635 is connected to a pair of relays 2640 that are connected to terminals 2645.
  • the switch board 2625 is the parent component of the controller 2635, the relays 2640 and the terminals 2645 and so these components are represented as being located within their parent component.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Cette invention se rapporte à un système de génération de boucles pour une application, qui est conçu pour modéliser des systèmes réticulaires de composants interconnectés au moyen d'au moins un ensemble de données comportant des données de composants destinées à permettre la modélisation de ces composants et des données de connexion destinées à permettre la modélisation des connexions entre ces composants, un ensemble de composants interconnectés comprenant une boucle. Ce système de génération de boucles comporte une bibliothèque de symboles graphiques servant à représenter graphiquement lesdits composants dans lesdites données de composants; un programme de sélection servant à sélectionner des symboles graphiques dans cette bibliothèques correspondant aux composants d'au moins une boucle; ainsi qu'un programme de dessin servant à localiser ces symboles graphiques sélectionnés par le programme de sélection sur un modèle de dessin, afin de former une représentation graphique de ladite boucle.
PCT/AU1999/000616 1998-07-31 1999-07-30 Systeme et procede pour generer des representations graphiques de boucles de composants WO2000008576A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU51407/99A AU5140799A (en) 1998-07-31 1999-07-30 System and method for generating graphical representations of component loops

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
AUPP4995A AUPP499598A0 (en) 1998-07-31 1998-07-31 Computer aided design system and aspects thereof
AUPP4995 1998-07-31
AUPQ1261A AUPQ126199A0 (en) 1999-06-28 1999-06-28 Revision control system
AUPQ1260 1999-06-28
AUPQ1261 1999-06-28
AUPQ1260A AUPQ126099A0 (en) 1999-06-28 1999-06-28 Computer aided engineering system
AUPQ1769 1999-07-22
AUPQ1769A AUPQ176999A0 (en) 1999-07-22 1999-07-22 Dynamic loop generation system

Publications (1)

Publication Number Publication Date
WO2000008576A1 true WO2000008576A1 (fr) 2000-02-17

Family

ID=27424471

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/AU1999/000615 WO2000008575A1 (fr) 1998-07-31 1999-07-30 Systeme et procede de controle des revisions dans une application
PCT/AU1999/000614 WO2000008574A1 (fr) 1998-07-31 1999-07-30 Systeme d'ingenierie assistee par ordinateur et procedes d'exploitation de ce systeme
PCT/AU1999/000616 WO2000008576A1 (fr) 1998-07-31 1999-07-30 Systeme et procede pour generer des representations graphiques de boucles de composants

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/AU1999/000615 WO2000008575A1 (fr) 1998-07-31 1999-07-30 Systeme et procede de controle des revisions dans une application
PCT/AU1999/000614 WO2000008574A1 (fr) 1998-07-31 1999-07-30 Systeme d'ingenierie assistee par ordinateur et procedes d'exploitation de ce systeme

Country Status (1)

Country Link
WO (3) WO2000008575A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595201B2 (en) 2011-10-27 2013-11-26 International Business Machines Corporation Version visualization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995032478A1 (fr) * 1994-05-24 1995-11-30 Imp, Inc. Circuit integre presentant des fonctions analogiques programmables et techniques assistees par ordinateur pour programmer le circuit
US5617327A (en) * 1993-07-30 1997-04-01 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939668A (en) * 1987-08-24 1990-07-03 International Business Machines Corp. System for designing intercommunications networks
JP2749060B2 (ja) * 1988-05-13 1998-05-13 株式会社日立製作所 設計手順の支援装置及び支援方法
JPH08153131A (ja) * 1994-11-28 1996-06-11 Hitachi Ltd 情報ネットワークの設計支援システム
JP2917870B2 (ja) * 1995-08-17 1999-07-12 日本電気株式会社 マシン構成決定支援システム
JP3848685B2 (ja) * 1996-09-17 2006-11-22 株式会社日立製作所 半導体集積回路の配置支援方法
US6120550A (en) * 1996-10-28 2000-09-19 Altera Corporation Design file templates for implementation of logic designs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617327A (en) * 1993-07-30 1997-04-01 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
US5691912A (en) * 1993-07-30 1997-11-25 Xilinx, Inc. Method for entering state flow diagrams using schematic editor programs
WO1995032478A1 (fr) * 1994-05-24 1995-11-30 Imp, Inc. Circuit integre presentant des fonctions analogiques programmables et techniques assistees par ordinateur pour programmer le circuit

Also Published As

Publication number Publication date
WO2000008575A1 (fr) 2000-02-17
WO2000008574A1 (fr) 2000-02-17

Similar Documents

Publication Publication Date Title
JP6388682B2 (ja) グラフィック・プログラミング言語オブジェクトを編集及び報告する方法及び編集・報告システム
US5293479A (en) Design tool and method for preparing parametric assemblies
US7546571B2 (en) Distributed electronic design automation environment
US6643555B1 (en) Method and apparatus for generating an application for an automation control system
US8577652B2 (en) Spreadsheet-based graphical user interface for dynamic system modeling and simulation
US20080115104A1 (en) Software development system and method for intelligent document output based on user-defined rules
US20050262236A1 (en) Methods and systems for monitoring and diagnosing machinery
US8106903B2 (en) System and method for visually representing a project using graphic elements
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
WO1991009365A2 (fr) Ingenierie du logiciel assistee par ordinateur appliquee au traitement cooperatif
WO2006041787A2 (fr) Procede et appareil pour la presentation de modeles architecturaux techniques, et solutions correspondantes
WO1995034866A1 (fr) Procede et systeme de manipulation de representations intelligentes de materiel reel dans un systeme informatique graphique
US20110289396A1 (en) Spreadsheet-Based Graphical User Interface for Dynamic System Modeling and Simulation
US7613593B2 (en) Methods for configuring an electrical system
WO2000008576A1 (fr) Systeme et procede pour generer des representations graphiques de boucles de composants
WO2001008007A1 (fr) Procede et systeme de generation automatisee de code de programme a partir d'un modele oriente d'objet
JP2001195255A (ja) オブジェクトの生成支援方法および装置
JP2001195256A (ja) オブジェクトの生成支援方法および装置
Groher et al. Reusable architecture variants for customer-specific automation solutions
CN117348858A (zh) 基于图形化的Web安全测试任务规划方法及系统
Scott et al. A Knowledge-Based System for the Configuration and Pricing of Network Management Systems
WO2000077684A1 (fr) Dispositif et procedes de mise au point et de gestion de l'interoperabilite logicielle et de l'integration de donnees dans des systemes d'information
CN117608524A (zh) 一种基于图形化方式的项目需求信息架构管理系统
Rui Steps towards computerized administration of factory information resources for CIM
CN115840422A (zh) 工业自动化控制器项目在线/离线状态分离

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase