ABB PPA’s System Object

Every ABB PPA’s nodes consist of a workstation or computer. Each of these nodes has a unique identifier in the form of GUID. This ID resides in the registry structure with “WPDefaultContext” as its node name.

The precise path leading to the above node name, depending on the version of the system is typically at HKEY_LOCAL_MACHINE\SOFTWARE\ABB\Sigma\Systems. This GUID itself is a form of object which has certain aspects that can be used to get more information about that object.

Using the GUID provided in the above node, you can perform query of basic aspects that can be used to perform certain operations to that object.

Below is the list of typical aspects of newly installed PPA system without any other additional aspect into it. Note that each GUID may differ from your PPA node, but aspect name should be more or less the same:

Name with GUID {56BD3D78-046F-463F-8094-F70AB432D6F6}
Domain Definition with GUID {FBA1D693-667E-4B66-91EE-13B8DD4A7402}
Security Definition with GUID {C33EDF74-9216-43C1-9E23-34C5AE2FE451}
Domain Type Reference with GUID {BAD7C9EF-1EA1-4AA2-AF95-724885269699}
Admin Structure with GUID {1C7CCEB3-2ED9-4FB2-8528-C5E3D15CEDED}
System Extensions with GUID {836C6850-4EE1-42BD-9110-D54151F58B1A}
Audit List with GUID {F3C21063-B9D5-4DCF-A6C4-25C07EA06456}

One aspect of interest is the first one, the “Name” aspect. It contains properties that can be queried to get the value. Depending on the object type, the properties can be different. For the system object, it has 3 (three) properties as follows:

Property Name: Name
Property Name: Description
Property Name: Prefix

For other nodes which has OPC Server installed, the properties for the OPC Objects, usually in the form of Tag IDs, contains aspect’s tag values. The aspect for this kind of object is typically “Control Connection” aspect. Below is the sample of properties of tag id:

Property Name: NAME
Property Name: DESCRIPTION
Property Name: UNIT
Property Name: RANGE_MIN
Property Name: RANGE_MAX
Property Name: CONV_CATEGORY

As already mentioned above, each aspect has certain unique set of interfaces used for object information and manipulation. For system object above, the “Name” aspect has 14 interfaces as follows:

IAfwAspectGetPage
IAfwBPName
IAfwAspectURLDelegate
IAfwTextTranslation
IAfwBPNameEdit
IAfwAspectHook
IAdvDsLiveDataMode
IAfwASOBasicView
IAfwPersistBlob
IAfwPca
IAfwSubscribeInfo
IAfwPropertyAccess
IAdvDsSubscribe
IAdvDsPropertyAccess

The property names, for example, can be retrieved via IAfwSubscribeInfo and its value via IAdvDsPropertyAccess.

After the system object, there follows the root object, and its GUID location is inside AspectDir.dat file as follow:

abb01

The blue box denotes the GUID of system object, and the red one is root object. This object has typical aspect as follows:

Functional Structure GUID {AFC93282-ECF5-4C29-B065-3EE3F0444505}
Control Structure GUID {E85F318D-3C9E-47FA-B9B4-70DD0590358D}
Location Structure GUID {044FABAD-5666-4F83-9BA5-08AEFECF0D3B}
System Structure GUID {3CAF1A45-3DD9-4FB3-8D53-822655327305}
Name GUID {D0DB681C-1064-49EE-8703-4FE2E705DF3E}
Domain Definition GUID {236210D2-944B-4F96-8DCA-D540F729A5D5}
Domain Type Reference GUID {3F554A67-F877-494A-BEC1-42F6FD1ACB2C}
Admin Structure GUID {422FDE5C-3CDF-41BF-8CFD-781BA21EA4AF}
Audit List GUID {F3C21063-B9D5-4DCF-A6C4-25C07EA06456}

Using this kind of framework, it is possible to add certain function to system object simply by creating new aspects to existing object structure. I hope that this article with shed some light of the powerful concept of ABB Aspect Framework 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: