how to add custom properties to specific pieces of …€¦ · web viewin this case we want to add...

13
How to add custom properties to specific pieces of equipment or any class Derek Kyryliuk Overview This document will outline how to add custom properties at a specific class level. In this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment will inherit these properties, only Belt Conveyor will use them, and will synchronize with the plant project database in both directions (drawing to database, and database to drawing). Notepad ++ Notepad++ was used to quickly copy an existing class and make a few changes in order to create a new custom class for Belt Conveyor. Out of the box a Belt Conveyor has Equipment class as its parent, therefore Belt Conveyor gets all of its properties from Equipment. We want to add more properties but not to all equipment only Belt Conveyor. * Note "?" has been used to ask you what version of the file or which project is being used. This will change with the SELECTSeries version of PowerPID, but file will be in same locations. The schema's that need to be edited are: OpenPlant_ProjectProperties.0?.0?.ecschema.xml OpenPlant.0?.0?.ecschema.xml PlantProjectSchema.01.02_Autoplant_PIW.0?.0?.mapping 1

Upload: others

Post on 10-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

Overview

This document will outline how to add custom properties at a specific class level. In this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment will inherit these properties, only Belt Conveyor will use them, and will synchronize with the plant project database in both directions (drawing to database, and database to drawing).

Notepad ++

Notepad++ was used to quickly copy an existing class and make a few changes in order to create a new custom class for Belt Conveyor. Out of the box a Belt Conveyor has Equipment class as its parent, therefore Belt Conveyor gets all of its properties from Equipment. We want to add more properties but not to all equipment only Belt Conveyor.

* Note "?" has been used to ask you what version of the file or which project is being used. This will change with the SELECTSeries version of PowerPID, but file will be in same locations.

The schema's that need to be edited are:

OpenPlant_ProjectProperties.0?.0?.ecschema.xml OpenPlant.0?.0?.ecschema.xml PlantProjectSchema.01.02_Autoplant_PIW.0?.0?.mapping

These schema's are found in your respective project here:

C:\ProgramData\Bentley\PowerPID (SELECTseries ?)\WorkSpace\Projects\?\Dataset\schemas

C:\ProgramData\Bentley\PowerPID (SELECTseries 4)\WorkSpace\OPPowerPID\schemas

*Note the project location in this document is for out of the box installation.

1

Page 2: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

Modifying Schemas

1. Please locate and open OpenPlant_ProjectProperties.0?.0?.ecschema.xml 2. Please add all the text in blue, green, and orange below:

<ECClass typeName="BELT_CONVEYOR" displayLabel="Belt Conveyor" isDomainClass="True"> <ECProperty propertyName="ECODE" typeName="string" displayLabel="Code"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="ELOCATION" typeName="string" displayLabel="Location"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="THROUGHPUT_MAX" typeName="string" displayLabel="Throughput Max"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="AVAILABILITY" typeName="string" displayLabel="Availability"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="FEED_BULK_DEN_UNC" typeName="string" displayLabel="Feed Bulk Density Uncompacted"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="FEED_BULK_DEN_C" typeName="string" displayLabel="Feed Bulk Density Compacted"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="FEED_SOLIDS_DENSITY" typeName="string" displayLabel="Feed Solids Density"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="DRIVE_ASSEMBLY" typeName="string" displayLabel="Drive Assembly"> <ECCustomAttributes>

2

Page 3: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

<Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT" typeName="string" displayLabel="Belt"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="NUMBER_OF_SECTIONS" typeName="string" displayLabel="Number of Sections"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="INSTALLATION_LIFT_MASS_MAX" typeName="string" displayLabel="Installation Lift Mass Max"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="TOTAL_DRY_MASS" typeName="string" displayLabel="Total Dry Mass"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="SHIPPING_MASS" typeName="string" displayLabel="Shipping Mass"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_MANUFACTR" typeName="string" displayLabel="Belt Manufacturer"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_MODEL" typeName="string" displayLabel="Belt Model"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_MATERIAL" typeName="string" displayLabel="Belt Material"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard>

3

Page 4: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

<Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_OVERALL_WIDTH" typeName="string" displayLabel="Belt Overall Width"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_LENGTH" typeName="string" displayLabel="Belt Length"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_DESIGN_CAPACITY" typeName="string" displayLabel="Belt Design Capacity"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="BELT_SPEED" typeName="string" displayLabel="Belt Speed"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> <ECProperty propertyName="SERIAL_NO" typeName="string" displayLabel="Serial Number"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> <ECProperty propertyName="BELT_LOADING" typeName="string" displayLabel="Belt_Loading"> <ECCustomAttributes> <Category xmlns="EditorCustomAttributes.01.00"> <Standard>0</Standard> <Name>MINING</Name> <DisplayLabel>Mining</DisplayLabel> <Description>Mining Fields</Description> <Priority>1</Priority> </Category> </ECCustomAttributes> </ECProperty> </ECClass>

Notice that the text in blue is creating the Belt_Conveyor class to hold all the new properties to be added only to that piece of equipment. The text in green is where the properties BELT_LOADING, SERIAL_NO, BELT_SPEED, BELT_DESIGN_CAPACITY, BELT_LENGTH, BELT_OVERALL_WIDTH, BELT_MATERIAL, BELT_MODEL, BELT_MANUFACTR, SHIPPING_MASS, TOTAL_DRY_MASS, INSTALLATION_LIFT_MASS_MAX, NUMBER_OF_SECTIONS, BELT, FEED_SOLIDS_DENSITY, FEED_BULK_DEN_C, FEED_BULK_DEN_UNC,

4

Page 5: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

AVAILABILITY, THROUGHPUT_MAX, ELOCATION, ECODE are held. The text in orange means once you open up OpenPlant PowerPID it will show all these new properties under a category of Mining only for a Belt_Conveyor.

3. Please locate OpenPlant.0?.0?.ecschema.xml4. Open up this schema and search for BELT_CONVEYOR5. Please enter a base class opproj:BELT_CONVEYOR shown below in green.

<ECClass typeName="BELT_CONVEYOR" description="A conveyor which consist of a suitable tensioned endless belt made from hard wearing materials and arranged to run over rollers." displayLabel="Belt Conveyor" isDomainClass="True">

<BaseClass>CONVEYOR</BaseClass><BaseClass>opproj:BELT_CONVEYOR</BaseClass>

</ECClass>

6. Save and close OpenPlant.0?.0?.ecschema.xml. This change now causes the BELT_CONVEYOR class to inherit all those properties added earlier in steps 1 and 2.

7. Next step we need to tell OpenPlant PowerPID how to synchronize these new properties to the EQUIP table in the Project Database.

8. Locate PlantProjectSchema.01.02_Autoplant_PIW.01.02.mapping.xml9. Search for "Class name="EQUIPMENT"10.Copy the entire equipment class and all of its properties and paste it right below

where the equipment class ends.11.Make the following changes to the new pasted class shown in blue below and

add the text shown in green.

<Class name="BELT_CONVEYOR" state="Active" schema="OpenPlant_PID.01.02"><Database name="PLANTPROJECT_DATABASEMAPPING" /><Tables>

<Table name="EQUIP" /><Table name="TAG_REG" />

</Tables><ConstantColumns>

<Column name="TAG_REG.TAG_TYPE" operation="EQUAL" value="AT_EQBC" /></ConstantColumns><Instance>

<ID><Column name="TAG_REG.KEYTAG" />

</ID></Instance><Select mode="Auto">

<Auto><InnerJoin first="EQUIP.KEYTAG" second="TAG_REG.KEYTAG" />

</Auto></Select><Insert mode="Auto">

<Auto><ColumnsObligatoryToBeSet>

<Column name="TAG_REG.TAG_TYPE" value="AT_EQBC" /></ColumnsObligatoryToBeSet>

</Auto></Insert><Properties>

<Property name="AVAILABILITY" state="Active"><Column name="EQUIP.AVAILABILITY" />

</Property><Property name="BELT" state="Active">

<Column name="EQUIP.BELT" /></Property><Property name="BELT_DESIGN_CAPACITY" state="Active">

<Column name="EQUIP.BELT_DESIGN_CAPACITY" /></Property><Property name="BELT_LENGTH" state="Active">

<Column name="EQUIP.BELT_LENGTH" /></Property><Property name="BELT_LOADING" state="Active">

<Column name="EQUIP.BELT_LOADING" />

5

Page 6: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

</Property><Property name="BELT_MANUFACTR" state="Active">

<Column name="EQUIP.BELT_MANUFACTR" /></Property><Property name="BELT_MATERIAL" state="Active">

<Column name="EQUIP.BELT_MATERIAL" /></Property><Property name="BELT_MODEL" state="Active">

<Column name="EQUIP.BELT_MODEL" /></Property><Property name="BELT_OVERALL_WIDTH" state="Active">

<Column name="EQUIP.BELT_OVERALL_WIDTH" /></Property><Property name="BELT_SPEED" state="Active">

<Column name="EQUIP.BELT_SPEED" /></Property><Property name="COMMENT" state="Active">

<Column name="EQUIP.COMMENT1" /></Property><Property name="CREATE_TIMESTAMP" state="Active">

<Column name="TAG_REG.CREATE_TM" /></Property><Property name="DESCRIPTION" state="Active">

<Column name="EQUIP.EDESC" /></Property><Property name="DEVICE_TYPE_CODE" state="Active">

<Column name="EQUIP.ETYP" /></Property><Property name="DRIVE_ASSEMBLY" state="Active">

<Column name="EQUIP.DRIVE_ASSEMBLY" /></Property><Property name="E_LENGTH" state="Active">

<Column name="EQUIP.ELNG" /></Property><Property name="ECODE" state="Active">

<Column name="EQUIP.ECODE" /></Property><Property name="ELOCATION" state="Active">

<Column name="EQUIP.ELOCATION" /></Property><Property name="FEED_BULK_DEN_C" state="Active">

<Column name="EQUIP.FEED_BULK_DEN_C" /></Property><Property name="FEED_BULK_DEN_UNC" state="Active">

<Column name="EQUIP.FEED_BULK_DEN_UNC" /></Property><Property name="FEED_SOLIDS_DENSITY" state="Active">

<Column name="EQUIP.FEED_SOLIDS_DENSITY" /></Property><Property name="GUID" state="Active">

<Column name="TAG_REG.KEYTAG_GUID_PK" /></Property><Property name="INSTALLATION_LIFT_MASS_MAX" state="Active">

<Column name="EQUIP.INSTALLATION_LIFT_MASS_MAX" /></Property><Property name="INSULATION" state="Active">

<Column name="EQUIP.EINS" /></Property><Property name="LOWER_LIMIT_DESIGN_PRESSURE" state="Active">

<Column name="EQUIP.PRESS_MIN" /></Property><Property name="MANUFACTURER" state="Active">

<Column name="EQUIP.MANUFACTR" /></Property><Property name="MATERIAL" state="Active">

<Column name="EQUIP.EMATL" /></Property><Property name="MODEL" state="Active">

<Column name="EQUIP.MODEL" /></Property><Property name="NAME" state="Active">

<Column name="TAG_REG.TAG_NO" /></Property><Property name="NUMBER" state="Active">

<Column name="EQUIP.ENUM" /></Property><Property name="NUMBER_OF_SECTIONS" state="Active">

<Column name="EQUIP.NUMBER_OF_SECTIONS" /></Property><Property name="OPERATING_PRESSURE" state="Active">

<Column name="EQUIP.EOPP" /></Property><Property name="OPERATING_TEMPERATURE" state="Active">

<Column name="EQUIP.EOPT" /></Property><Property name="ORDER_NUMBER" state="Active">

<Column name="EQUIP.ORD" /></Property><Property name="PAINT_CODE" state="Active">

<Column name="EQUIP.PCOLOR" />

6

Page 7: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

</Property><Property name="PLANT_AREA" state="Active">

<Column name="EQUIP.EAREA" /></Property><Property name="SERIAL_NO" state="Active">

<Column name="EQUIP.SERIAL_NO" /></Property><Property name="SERVICE" state="Active">

<Column name="EQUIP.ESERV" /></Property><Property name="SHIPPING_MASS" state="Active">

<Column name="EQUIP.SHIPPING_MASS" /></Property><Property name="THROUGHPUT_MAX" state="Active">

<Column name="EQUIP.THROUGHPUT_MAX" /></Property><Property name="TOTAL_DRY_MASS" state="Active">

<Column name="EQUIP.TOTAL_DRY_MASS" /></Property><Property name="UPPER_LIMIT_PRESSURE" state="Active">

<Column name="EQUIP.PRESS_MAX" /></Property>

</Properties><XData fetchMode="EVERYTHING" />

</Class>

Note: What we have just done is told OpenPlant PowerPID to map the BELT_CONVEYOR class properties to database fields found in EQUIP table in the Project Database. Also we have given BELT_CONVEYOR a custom TAG_TYPE.

IMPORTANT: Please make sure you give your custom piece of a equipment a custom tag_type, it will cause issues with the synchronization of data back and forth from the database to the drawing.

12.Lastly, in the same schema search for <Table name="EQUIP"> and please add the text shown in Green below.

<Table name="EQUIP"><Columns>

<Column name="SERIAL_NO"><Type dbType="StringFixedLength" maxLength="50" />

</Column><Column name="ECODE">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="ELOCATION">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="THROUGHPUT_MAX">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="AVAILABILITY">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="FEED_BULK_DEN_UNC">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="FEED_BULK_DEN_C">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="FEED_SOLIDS_DENSITY">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="DRIVE_ASSEMBLY">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="NUMBER_OF_SECTIONS">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="INSTALLATION_LIFT_MASS_MAX">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="TOTAL_DRY_MASS">

<Type dbType="StringFixedLength" maxLength="50" /></Column>

7

Page 8: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

<Column name="SHIPPING_MASS"><Type dbType="StringFixedLength" maxLength="50" />

</Column><Column name="BELT_MANUFACTR">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_MODEL">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_MATERIAL">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_OVERALL_WIDTH">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_LENGTH">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_DESIGN_CAPACITY">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_LOADING">

<Type dbType="StringFixedLength" maxLength="50" /></Column><Column name="BELT_SPEED">

<Type dbType="StringFixedLength" maxLength="50" /></Column>

</Columns><PrimaryKey name="EQUIP_PK">

<ColumnReferences><ColumnReference name="KEYTAG" />

</ColumnReferences></PrimaryKey><Indexes>

<Index unique="True" name="EQUIP_KEYTAGGUIDPK_UK"><ColumnReferences>

<ColumnReference name="KEYTAG_GUID_PK" /></ColumnReferences>

</Index></Indexes>

</Table>

Project Database Customization

13. Now we have completed all the schema changes needed. Please save your schema and close Notepad++.

14.Now we need to add the custom properties to the EQUIP table in the Project Database. Please open up SQL Server or Projdata.mdb depending on what data repository you are using. In my example I'm using Access. Please open up EQUIP table and add the properties shown below all a varchar and character lenth of 50 :

8

Page 9: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

15. Lastly we need to add the custom TAG_TYPE for the BELT_CONVEYOR. Please open up Projec Administrator.

16.Find your Plant Project, and select your database node and then Tag Types as shown below.

17.Select AT_EQUIP and then select Copy on the right.18.Rename the TAG_TYPE to be AT_EQBC as shown below.

9

Page 10: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

19. Select OK. Close Project Administrator and Launch OpenPlant PowerPID.20. You can now see the Belt Conveyor is selected and the new properties are

shown under the Mining Category.

Now you can synchronize Drawing to database and notice the values all being pushed to the Project Database EQUIP table. If you make modifications to those fields in Data Manager, you can do a Database to Drawing synchronization and see the values being updated on the OpenPlant PowerPID drawing.

Please see below how the hierarchy looks for the Belt_Conveyor to get a higher level look at how it is now working for these new properties. Very important to understand this little article to show the real power in OpenPlant PowerPID, and how flexible it can be.

10

Page 11: How to add custom properties to specific pieces of …€¦ · Web viewIn this case we want to add custom properties only to a Belt Conveyor class. This means no other piece of equipment

How to add custom properties to specific pieces of equipment or any class

Derek Kyryliuk

11

All the new properties are now attached only at this level Belt Conveyor. This can be done with any sub class in OpenPlant.