Wonderware Application Server Security Troubleshooting Essentials Part 3
Wonderware Application Server Security Troubleshooting Essentials Part 3
Doc Id TN581
1000
SUMMARY
This Tech Note discusses the IDE Attribute Category and its usage. In addition, we utilize an ArchestrA Object Toolkit (AOT) sample to demonstrate the assignment of additional Attribute
Categories at the ArchestrA Object (AA Object) level. Included is a table listing all Attribute Category types available in ArchestrA.
SITUATION
Application Versions
Wonderware Application Server 2012 and later
All attributes existing in the ArchestrA provided by primitives or objects, such as WinPlatform, AppEngine, etc. have corresponding Category Types predefined. For example,
The ArchestrA attribute can use many available Category Types. See the end of this Tech Note for details.
Define the following four types of the Category when creating an UDA (in the IDE):
Calculated: Permits only scripts within the same object to write to the attribute. Calculated attributes are not saved across restarts.
Calculated Retentive: Permits only scripts within the same object to write to the attribute. Calculated Retentive attributes are saved across restarts.
Object Writable: Permits other objects to write to this attribute in addition to being set by scripts within this object. Object Writeable attributes are saved across restarts, and they are
Writeable_S. This category is not user-writeable.
User Writeable: Permits other users to write to this attribute in addition to being set by scripts and objects throughout the system.
User writeable attributes are saved across restarts, they are Writeable_USC_Lockable, and they can be locked at configuration time. This category is user writeable.
For other Category Types, you can use Wonderware AOT to create customized primitives or objects with the desired Category Type for each attribute. We will show this procedure in a later section
of this Tech Note.
Among the IDE Category Types, the Calculated and Calculated Retentive cannot have a predefined initial value after it is deployed. At this moment, the attribute’s Quality is showing
20:Initializing.
Writeable Restriction
Due to the definition of IDE Category Types, the logged-on user can only change the value of User writeable Category Type. Otherwise, we will see an error.
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.
Script has the Writeable permission on all of the four IDE Category Types' attributes.
For the Calculated or Calculated Retentive type of attribute, Script only has the Write permission within the AA Object's boundary.
1. Set up an object called UDOCategoryTest (AA Object) with the following initial values:
2. Set up another object called UDOCategoryOtherObj (AA Object) with the following script:
3. To test, from the UDOCategoryOtherObj AA Object, set the command me.CrossObject to True.
The values for the Calculated and Calculated Retentive type attributes do not change.
Figure 6: Calculated and Calculated Retentive Attribute Types Cannot Change Value Across the AA Object's Boundary
Among the four IDE Category Types, only the Calculated UDA is not Checkpointed. This means the value of the UDA is not passed to the newly-started partner AppEngine after a Failover is
finished.
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.
Figure 9: After Failover, Calculated Type UDA Does Not Have the Value Passed to the Newly-Started Partner AppEngine
Field Attributes
Each Field Attribute could have one Access mode selecting from Input, Output or InputOutput Extensions.
Unlike the UDA, within the Field Attribute, each Access Extension mode has different Category Types defined.
Input Access mode: A Field Attribute (FA) with this mode means this FA cannot have its own value or quality. It only references the value or quality from other Attribute. There is no
Writeable Requirement. Therefore, Input Extension does not need any IDE Category.
The following screenshots show the principle of the Input Extension Access mode.
Figure 10: Define an Input Access Mode Field Attribute Without Any Input Source (Reference to Other Attribute)
In the Object Viewer, the Input Access mode Field Attribute does not have any initial value and the Quality is bad. If setting a value to this attribute, we see the error.
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.
Figure 12: Add a Reference to the CPULoad System Attribute in the Input Source Text Box
The result is that the Field Attribute called ExecuteCntFieldAttribute is pointing to the CPULoad Attribute:
Because of the Writeable requirement, the Output Extension Access mode needs all four IDE’s Category Types. The following screenshots demo the principle of the Output Extension Access
mode.
Setup
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.
Figure 15: Modify the Value of the Field Attribute OutputExtensionMode with a Simple Script
By design, InputOutput Access mode makes only the Object writeable and User writeable attributes available.
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.
If your business logic needs attributes with Category Types that cannot be found in the IDE, in this case, Wonderware's ArchestrA Object Toolkit (AOT) is the bridge between your customized
attributes and other Category Types.
In this section, we will give a brief overview on the construction of this bridge.
Note: AOT has additional functionalities that allow you to build a full AA Object. That process is outside the scope of this Tech Note.
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.
Figure 21: AOT Used to Create New Attribute SystemWriteableAttr, with the SystemWriteable Category Type
References
Wonderware Application Server 2012 R2 – IDE.PDF
ArchestraObject_Toolkit_Development_Guide
Wonderware FactorySuite A2 Deployment Guide
The Schneider Electric industrial software business and AVEVA have merged to trade as AVEVA Group plc, a UK listed company. The Schneider Electric and Life
Is On trademarks are owned by Schneider Electric and are being licensed to AVEVA by Schneider Electric.