The modelling approach for generating an UA model from an existing ISA-95 follows the following general concepts / suggestions.
- Review the ISA-95 model documentation.
- Map all ISA95 properties to OPC UA Variables and OPC UA VariableTypes, creating OPC UA VariableTypes as needed. Create a subtype of a VariableType whenever the item will be reused multiple times; otherwise just create an instance of the appropriate OPC UA VariableType (Equipment Property Type or PhysicalAssetPropertyType ….).
- Map all ISA Classes and ISA Objects to OPC UA ObjectTypes, creating OPC UA ObjectTypes as needed. Again ObjectType need only be created for Objects where multiple instance of the Object will exist, otherwise simply creating an instance of the appropriate ObjectType (EquipmentType, PhysicalAssetType).
- Create all types as part of a hierarchical set of types, to allow for easier implementation and maintenance.
- Convert IDs that are used to indicate a relationship between ISA-95 Model items to OPC UA References. Use the References defined in this specification as needed. Generate Custom References only if an existing reference does not exist, and the Reference provides some unique semantic information.
- Reuse existing OPC UA concepts wherever possible, such as Descriptions, Names, EngineeringUnits etc. These items should not be duplicated as additional ISA properties.
- Compare any resulting model to the B2MML model for the same concept. This comparison is to ensure that no concepts were misunderstood or modelled very differently. The goal does include being able to transform a UA model into B2MML and also to transform B2MML Models into UA Models. The two models do not need to be identical, but they need to be transformable.