Quantcast
Channel: OpenPlant | AutoPLANT
Viewing all articles
Browse latest Browse all 12277

Wiki Page: OPPID - Tag Expression and results

$
0
0
Applies To Product(s): OpenPlant PID Version(s): 08.11.10.XXX (SS5) | 08.11.11.XX (SS6) Environment: Windows 7/8.1/10 (64 bit) Area: Customization Subarea: Tag Original Author: Steven Morrow Background In this article, we will discuss different Tag number parsing and the results. These are defined in the OpenPlant_Supplemental_Tagging schema. Steps To Accomplish Launch class editor and load OpenPlant.01.07 schema. This schema is generally located in C:\ProgramData\Bentley\OpenPlantPID (SS6)\WorkSpace\OPPID\schemas folder. Supplement it with OpenPlant_Supplemental_Tagging schema. This is a project specific schema and generally located in C:\ProgramData\Bentley\OpenPlantPID (SS6)\WorkSpace\Projects\OPPID_Metric\Dataset\schemas folder. Locate the class for which you want to modify the tag format. For example, PIPING_NETWORK_SYSTEM. Switch to properties tab and select NAME property. Tag format is defined in the form of EC expression and Parser Expression as shown below in Calculated ECProperty Specification custom attribute. Similarly, tag format for any class can be added/modified. Below are some samples for EC expression as well as corresponding parser expressions. Class ANNOTATION_COMPONENTS ECExpression this.GetRelatedInstance("PLANT_AREA_HAS_NAMED_ITEM:1:PLANT_AREA, NAME:?").NAME & "-" & this.DEVICE_TYPE_CODE & "-" & this.NUMBER ParserRegularExpression ^[?\w]*-(? [?\w]*)-(? .*)|(? .*) Result A1-SP-0001 Class EQUIPMENT ECExpression this.DEVICE_TYPE_CODE & "-" & this.NUMBER ParserRegularExpression ^(? .*)-(? .*)|(? .*) Result PMP-0001 Class FLUID_REGULATOR ECExpression this.DEVICE_TYPE_CODE & "-" & this.NUMBER ParserRegularExpression ^(? .*)-(? .*)|(? .*) Result HV-0001 Class INSTRUMENT ECExpression this.GetRelatedInstance("PLANT_AREA_HAS_NAMED_ITEM:1:PLANT_AREA, NAME:?").NAME & "-" & this.DEVICE_TYPE_CODE & "-" & this.NUMBER ParserRegularExpression ^[?\w]*-(? [?\w]*)-(? .*)|(? .*) Result A1-FT-0001 Class INSTRUMENT_LOOP/LOOP ECExpression this.GetRelatedInstance("PLANT_AREA_HAS_NAMED_ITEM:1:PLANT_AREA, NAME:?").NAME & "-" & this.DEVICE_TYPE_CODE & "-" & this.NUMBER ParserRegularExpression ^[?\w]*-(? [?\w]*)-(? .*)|(? .*) Result A1-L-0001 Class NOZZLE ECExpression this.GetRelatedInstance("EQUIPMENT_HAS_NOZZLE:1:EQUIPMENT, DEVICE_TYPE_CODE:?").DEVICE_TYPE_CODE & "-" & this.GetRelatedInstance("EQUIPMENT_HAS_NOZZLE:1:EQUIPMENT, NUMBER:?").NUMBER & "-" & this.DEVICE_TYPE_CODE & this.NUMBER ParserRegularExpression ^[?\w]*-[?\w]*-(? .)(? .*)|(? .*) Result PMP-0001-N-1 Class PIPING_NETWORK_SYSTEM ECExpression this.UNIT_NAME & "-" & this.SERVICE_NAME & "-" & this.NUMBER & "-" & this.SPECIFICATION ParserRegularExpression ^[?\w]*-[?\w]*-(? [?\w]*)-(? .*)|(? .*) Result U1-Oil-0001-Ductile Copy and paste table below to add new table. Class Any class Comment This simple example checks to see if it's an email address, there are many ways to do it. This is a simple example looking for any characters, and seperated by an "@" symbol ECExpression this.AccountName&"-"&this.Company ParserRegularExpression ^(? [A-Z0-9._%+-]*)@(? [\w]*). Result Bentley_Software1234@bentley_systems.com Class Any property example Comment this will look for digits and then parse out the " inches character. Example Size=12" would parse to Size=12 (had this request for annotation purposes, and they didn't want inches shown. Note: the value must be followed by a " inches character. ECExpression this.Size ParserRegularExpression ^(? [\d]{1,3})" Result 1 or 12 or 123 Class PIPING_NETWORK_SYSTEM Comment This allows for a Pipeline tag of Area-Service-Design Size-Specification-Number where the Design Size has the "inch" mark on the size value. In the parser expression note the /" (Forward Slash and Inch mark in the section for DESIGN_SIZE ECExpression this.AREA_NAME & "-" & this.SERVICE_NAME & "-" & this.DESIGN_SIZE & "-" & this.SPECIFICATION & "-" & this.NUMBER Parser Regular Expression ^(? [?\w]*)-(? [?\w]*)-(? [?\w /" ]*)-(? .*)-(? [?\w]*) Result 10-STM-4"-CS150-2222 Class PIPING_NETWORK_SYSTEM Comment A tag format where the first value is SERVICE and SERVICE has spaces in the value. The SERVICE property is an Associated Item so it must be stripped out. ECExpression this.SERVICE & "-" & this.NUMBER & "-" & this.SUFFIX Parser Regular Expression ^[?\w\s]*-(? .*)-(? .*) Result CM F-1234-1 Class FLUID_REGULATOR Comment This example is for tag format without delimiter but with a character limit defined in the parser expression. ECExpression this.PLANT_AREA & this.DEVICE_TYPE_CODE & this.NUMBER Parser Regular Expression ^(? [a-zA-Z0-9]{1,2})(? [a-zA-Z]{1,2})(? .*)|(? .*) Result A1HV1234 Class VALVE Comment This allows for tag format without a delimiter and an unknown number of alpha characters in the first property (Device Type Code) of the expression. ECExpression this.DEVICE_TYPE_CODE & this.NUMBER Parser Regular Expression ^(? [\D]*)(? .*) Result V1234 and HV1234 and HVG1234567

Viewing all articles
Browse latest Browse all 12277

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>