ISA-95 |
OPC UA |
||
Model |
Type |
Model |
Type |
Has property of |
ISA95Association |
HasISA95ClassProperty |
Reference |
Has value for |
ISA95Association |
HasISA95Property |
Reference |
May contain nested |
ISA95Association |
HasISA95(Class)Property |
Reference |
N/A |
ISA95Association |
HasISA95Attribute |
Reference |
Records the execution of |
ISA95Association |
N/A |
Reference |
May be made up of |
ISA95Association |
MadeUpOf |
Reference |
Defined by |
ISA95Association |
DefinedBy |
Reference |
Is tested by an |
ISA95Association |
TestedBy |
Reference |
Implemented By |
ISA95Association |
EquipmentOf |
Reference |
N/A |
N/A |
AssociateTo |
Reference |
N/A |
N/A |
ISA95EquipmentLevelEnum |
DataType |
N/A |
N/A |
ISA95TestResultDataType |
DataType |
N/A |
N/A |
ISA95AssetAssignmentDataType |
DataType |
Hierarchy scope |
ISA95Attribute |
ISA95HierarchyScopeType |
DataVariable |
N/A |
N/A |
ISA95TestResultType |
DataVariable |
N/A |
N/A |
ISA95AssetAssignmentType |
DataVariable |
N/A |
N/A |
ISA95ClassType |
Object |
N/A |
N/A |
ISA95ObjectType |
Object |
N/A |
N/A |
ISA95TestSpecificationType |
Object |
Personnel Information
ISA-95 |
OPC UA |
||
Model |
Type |
Model |
Type |
QualificationTestResult |
ISA95Object |
QualificationTestResultType |
DataVariable |
Personnel Class Property |
ISA95Property |
PersonnelClassPropertyType |
DataVariable |
Person Property |
ISA95Property |
PersonPropertyType |
DataVariable |
Personnel |
ISA95Object |
PersonnelClassType |
Object |
Person |
ISA95Object |
PersonType |
Object |
QualificationTestSpecification |
ISA95Object |
QualificationTestSpecificationType |
Object |
Defined by |
ISA95Association |
DefinedByPersonnelClass |
Reference |
Is tested by an |
ISA95Association |
ConformsToQualificationTest |
Reference |
Role Based Equipment Information
ISA-95 |
OPC UA |
||
Model |
Type |
Model |
Type |
EquipmentCapabilityTestResult |
ISA95Object |
EquipmentCapabilityTestResultType |
DataVariable |
EquipmentClass Property |
ISA95Property |
EquipmentClassPropertyType |
DataVariable |
EquipmentProperty |
ISA95Property |
EquipmentPropertyType |
DataVariable |
EquipmentClass |
ISA95Object |
EquipmentClassType |
Object |
Equipment |
ISA95Object |
EquipmentType |
Object |
EquipmentCapabilityTestSpecification |
ISA95Object |
EquipmentCapabilityTestSpecificationType |
Object |
Defines Procedure for Obtaining an |
ISA95Association |
|
|
Maps to |
ISA95Association |
|
|
Physical Asset Information
ISA-95 |
OPC UA |
||
Model |
Type |
Model |
Type |
PhysicalAssetCapabilityTestResult |
ISA95Object |
PhysicalAssetCapabilityTestResultType |
DataVariable |
PhysicalAssetClass Property |
ISA95Property |
PhysicalAssetClassPropertyType |
DataVariable |
PhysicalAssetProperty |
ISA95Property |
PhysicalAssetPropertyType |
DataVariable |
PhysicalAssetClass |
ISA95Object |
PhysicalAssetClassType |
Object |
PhysicalAsset |
ISA95Object |
PhysicalAssetType |
Object |
PhysicalAssetCapabilityTestSpecification |
ISA95Object |
PhysicalAssetCapabilityTestSpecificationType |
Object |
Defines Procedure for Obtaining an |
ISA95Association |
|
|
Maps to |
ISA95Association |
|
|
Material Handling Information
ISA-95 |
OPC UA |
||
Model |
Type |
Model |
Type |
QATestResult |
ISA95Object |
MaterialTestResultType |
DataVariable |
MaterialClass Property |
ISA95Property |
MaterialClassPropertyType |
DataVariable |
MaterialLotProperty |
ISA95Property |
MaterialLotPropertyType |
DataVariable |
MaterialDefinitionProperty |
ISA95Property |
MaterialDefinitionPropertyType |
DataVariable |
MaterialClass |
ISA95Object |
MaterialClassType |
Object |
MaterialDefinition |
ISA95Object |
MaterialDefinitionType |
Object |
MaterialLot |
ISA95Object |
MaterialLotTYpe |
Object |
MaterialSublot |
ISA95Object |
MaterialSubLotType |
Object |
MaterialTestSpecification |
ISA95Object |
MaterialTestSpecificationType |
Object |
Defines Procedure for Obtaining an |
ISA95Association |
|
|
Maps to |
ISA95Association |
|
|
B2MML Mapping (Informative)
Overview
This annex provides a mapping of the OPC UA ISA-95 information model to B2MML; conversely it also provides a mapping from B2MML to the OPC UA ISA-95 information model. This section is informative only in that B2MML is not a standard and as such multiple variation of it may exist. This mapping is for a common version, but may not apply to all implementation of B2MML.
Common
B2MML Core Component Type |
OPC UA |
||
Type Name |
Type |
Model |
Type |
AmountType |
Data type |
CDTAmountDecimal |
DataType |
BinaryObjectType |
Data type |
CDTBinaryObject |
DataType |
CodeType |
Data type |
CDTCode |
DataType |
DateTimeType |
Data type |
CDTDateTime |
DataType |
IdentifierType |
Data type |
CDTIdentifier |
DataType |
IndicatorType |
Data type |
CDTIndicator |
DataType |
MeasureType |
Data type |
CDTMeasureDecimal |
DataType |
|
|
CDTMeasureDouble |
DataType |
|
|
CDTMeasureFloat |
DataType |
|
|
CDTMeasureInt64 |
DataType |
|
|
CDTMeasureInt32 |
DataType |
NameType |
Data type |
CDTName |
DataType |
NumericType |
Data type |
CDTNumberDecimal |
DataType |
|
|
CDTNumberDouble |
DataType |
|
|
CDTNumberFloat |
DataType |
|
|
CDTNumberInt64 |
DataType |
|
|
CDTNumberInt32 |
DataType |
|
|
CDTOrdinal |
DataType |
|
|
CDTPercentDouble |
DataType |
|
|
CDTPercentFloat |
DataType |
|
|
CDTRateDouble |
DataType |
|
|
CDTRateFloat |
DataType |
|
|
CDTRatioDouble |
DataType |
|
|
CDTRatioFloat |
DataType |
|
|
CDTRatioInt64 |
DataType |
|
|
CDTRatioInt32 |
DataType |
|
|
CDTValueDecimal |
DataType |
|
|
CDTValueDouble |
DataType |
|
|
CDTValueFloat |
DataType |
|
|
CDTValueInt64 |
DataType |
|
|
CDTValueInt32 |
DataType |
QuantityType |
Data type |
CDTQuantityDecimal |
DataType |
|
|
CDTQuantityDouble |
DataType |
|
|
CDTQuantityFloat |
DataType |
|
|
CDTQuantityInt64 |
DataType |
|
|
CDTQuantityInt32 |
DataType |
TextType |
Data type |
CDTText |
DataType |
|
|
CDTValueString |
DataType |
|
|
CDTDate |
DataType |
|
|
CDTTime |
DataType |
Note: The conversion of measurement data from decimal to float or double can result in a loss of precision.
Personnel Information
B2MML |
OPC UA |
||
Model |
Type |
Model |
Type |
QualificationTestResult |
ISA95Object |
QualificationTestResultType |
DataVariable |
Personnel Class Property |
ISA95Property |
PersonnelClassPropertyType |
DataVariable |
Person Property |
ISA95Property |
PersonPropertyType |
DataVariable |
Personnel |
ISA95Object |
PersonnelClassType |
Object |
Person |
ISA95Object |
PersonType |
Object |
QualificationTestSpecification |
ISA95Object |
QualificationTestSpecificationType |
Object |
Defined by |
ISA95Association |
DefinedByPersonnelClass |
Reference |
Is tested by an |
ISA95Association |
ConformsToQualificationTest |
Reference |
Role Based Equipment Information
B2MML |
OPC UA |
||
Model |
Type |
Model |
Type |
EquipmentCapabilityTestResult |
ISA95Object |
EquipmentCapabilityTestResultType |
DataVariable |
EquipmentClass Property |
ISA95Property |
EquipmentClassPropertyType |
DataVariable |
EquipmentProperty |
ISA95Property |
EquipmentPropertyType |
DataVariable |
EquipmentClass |
ISA95Object |
EquipmentClassType |
Object |
Equipment |
ISA95Object |
EquipmentType |
Object |
EquipmentCapabilityTestSpecification |
ISA95Object |
EquipmentCapabilityTestSpecificationType |
Object |
Defines Procedure for Obtaining an |
ISA95Association |
|
|
Maps to |
ISA95Association |
|
|
Physical Asset Information
B2MML |
OPC UA |
||
Model |
Type |
Model |
Type |
PhysicalAssetCapabilityTestResult |
ISA95Object |
PhysicalAssetCapabilityTestResultType |
DataVariable |
PhysicalAssetClass Property |
ISA95Property |
PhysicalAssetClassPropertyType |
DataVariable |
PhysicalAssetProperty |
ISA95Property |
PhysicalAssetPropertyType |
DataVariable |
PhysicalAssetClass |
ISA95Object |
PhysicalAssetClassType |
Object |
PhysicalAsset |
ISA95Object |
PhysicalAssetType |
Object |
PhysicalAssetCapabilityTestSpecification |
ISA95Object |
PhysicalAssetCapabilityTestSpecificationType |
Object |
Defines Procedure for Obtaining an |
ISA95Association |
|
|
Maps to |
ISA95Association |
|
|
Material Handling Information
B2MML |
OPC UA |
||
Model |
Type |
Model |
Type |
QATestResult |
ISA95Object |
MaterialTestResultType |
DataVariable |
MaterialClass Property |
ISA95Property |
MaterialClassPropertyType |
DataVariable |
MaterialLotProperty |
ISA95Property |
MaterialLotPropertyType |
DataVariable |
MaterialDefinitionProperty |
ISA95Property |
MaterialDefinitionPropertyType |
DataVariable |
MaterialClass |
ISA95Object |
MaterialClassType |
Object |
MaterialDefinition |
ISA95Object |
MaterialDefinitionType |
Object |
MaterialLot |
ISA95Object |
MaterialLotTYpe |
Object |
MaterialSublot |
ISA95Object |
MaterialSubLotType |
Object |
MaterialTestSpecification |
ISA95Object |
MaterialTestSpecificationType |
Object |
Defines Procedure for Obtaining an |
ISA95Association |
|
|
Maps to |
ISA95Association |
|
|
Extensions
ISA95HierarchyScopeType
The ISA95HierarchyScopeType is a concrete VariableType that can be used directly. It is a subtype of BaseDataVariableType
This VariableType indicates where the exchanged information fits within the role base equipment hierarchy defined in ISA-95. It defines the scope of the exchanged information, such as a site or area for which the information is relevant.
Table 130 – ISA95HierarchyScopeType definition
Attribute |
Value |
|||||
BrowseName |
ISA95HierarchyScopeType |
|||||
IsAbstract |
False |
|||||
ValueRank |
0 (OneOrMoreDimensions) |
|||||
DataType |
ISA95EquipmentElementLevelEnum |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the BaseDataVariableType defined in OPC 10000-5 |
||||||
HasComponent |
Variable |
OtherValue |
String |
TextItemType |
Optional |
|
HasComponent |
Variable |
<SubScope> |
ISA95Equipment ElementLevelEnum |
ISA95HierarchyScopeType |
Optional |
|
ToEquipmentScope |
Object |
<Equipment> |
|
ISA95EquipmentType |
Optional |
|
HasProperty |
Variable |
EnumStrings |
String |
|
Mandatory |
OtherValue defines a customized hierarchy scope. If Value attribute is set to “OTHER_14”, then OtherValue shall be identification of the hierarchy scope.
SubScope indicates a sub hierarchy definition.
<Equipment> defines an ISA95EquipmentType Object that this variable is associated with.
ToEquipmentScope
The ToEquipmentScope is a concrete ReferenceType that can be used directly. It is a subtype of NonHierarchicalReferences.
Table 131 - ToEquipmentScope ReferenceType
Attributes |
Value |
||
BrowseName |
ToEquipmentScope |
||
InverseName |
ToHierarchyScope |
||
Symmetric |
False |
||
IsAbstract |
False |
||
References |
NodeClass |
BrowseName |
Comment |
Subtype of NonHierarchicalReferences ReferenceType defined in OPC 10000-5 |
This ReferenceType is used to describe the Equipment that an ISA95HierarchyScope variable is to be associated with.
The SourceNode of this ReferenceType shall be a Variable or VariableType of ISA95HierarchyScopeType or its subtype
The TargetNode of this ReferenceType shall be an Object of ISA95EquipmentType or its subtype.
The following definition illustrates what a company definition may look like. This definition will be used in examples of the ISA-95 information model, but another implementation may choose to represent the information a different manner. In some systems it maybe simply is a reference to some other system that contains the actual company information.
The company information includes address information of the company. This information is available both as a dataType (see Table 132 and Table 133) and as a VariableType (see Table 134).. This combination allows the information to access as a block or individually.
Table 132 – AddressDataType Structure
Name |
Type |
Description |
AddressDataType |
Structure |
Information that describes an address. |
Street |
LocalizedText |
The street |
City |
LocalizedText |
The city |
State |
LocalizedText |
The state or region |
Country |
LocalizedText |
The country |
PostalCode |
LocalizedText |
The postal code |
Its representation in the AddressSpace is defined in a below table.
Table 133 – AddressDataType Definition
Attributes |
Value |
BrowseName |
AddressDataType |
Table 134 – AddressVariableType definition
Attribute |
Value |
|||||
BrowseName |
AddressVariableType |
|||||
IsAbstract |
False |
|||||
ValueRank |
0 |
|||||
DataType |
AddressDataType |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the CompanyType defined in XXXX |
||||||
HasProperty |
Variable |
Street |
LocalizedText |
BaseDataVariableType |
Mandatory |
|
HasProperty |
Variable |
City |
LocalizedText |
BaseDataVariableType |
Mandatory |
|
HasProperty |
Variable |
State |
LocalizedText |
BaseDataVariableType |
Mandatory |
|
HasProperty |
Variable |
Country |
LocalizedText |
BaseDataVariableType |
Mandatory |
|
HasProperty |
Variable |
PostalCode |
LocalizedText |
BaseDataVariableType |
Mandatory |
|
HasProperty |
Variable |
Street |
LocalizedText |
BaseDataVariableType |
Mandatory |
|
|
|
|
|
|
|
The company include contact information for key personnel at the company. This information is available both as a DataType and as a variable type. This combination allows the information to access as a block of individually.
Table 135 – ContactDataType Structure
Name |
Type |
Description |
ContactDataType |
Structure |
Information that describes an address. |
Title |
LocalizedText |
Mr, Mrs, Ms, Dr, Sir,…. |
GivenName |
LocalizedText |
|
FamilyName |
LocalizedText |
|
PhoneNumber |
String |
|
|
LocalizedText |
|
AltPhoneNumber |
String |
Alternate Phone Number |
AltEmail |
LocalizedText |
Alternate email address |
Its representation in the AddressSpace is defined in a below table.
Table 136 – ContactDataType Definition
Attributes |
Value |
BrowseName |
ContactDataType |
Table 137 – ContactVariableType Type definition
Attribute |
Value |
|||||
BrowseName |
ContactVariabletype |
|||||
IsAbstract |
False |
|||||
ValueRank |
0 (OneOrMoreDimensions) |
|||||
DataType |
ContactDataType |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the BaseDataVariableType defined in XXXX |
||||||
HasProperty |
Variable |
Title |
LocalizedText |
BaseDataVariable |
Mandatory |
|
HasProperty |
Variable |
GivenName |
LocalizedText |
BaseDataVariable |
Mandatory |
|
HasProperty |
Variable |
FamilyName |
LocalizedText |
BaseDataVariable |
Mandatory |
|
HasProperty |
Variable |
PhoneNumber |
String |
BaseDataVariable |
Mandatory |
|
HasProperty |
Variable |
|
LocalizedText |
BaseDataVariable |
Mandatory |
|
HasProperty |
Variable |
AltPhoneNumber |
String |
BaseDataVariable |
Mandatory |
|
HasProperty |
Variable |
AltEmail |
LocalizedText |
BaseDataVariable |
Mandatory |
This is an example of a possible Company sub-type. It is used in examples since it provides more information and is more typical of what an actual user would require.
Table 138 – TypicalCompanyType Type definition
Attribute |
Value |
|||||
BrowseName |
TypicalCompanyType |
|||||
IsAbstract |
False |
|||||
ValueRank |
0 (OneOrMoreDimensions) |
|||||
DataType |
BaseDataType |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
|
Subtype of the CompanyType defined in XXXX |
||||||
HasComponent |
Variable |
PrimaryContact |
ContactDataType |
ContactVariableType |
Mandatory |
|
HasComponent |
Variable |
PrimaryAddress |
AddressDataType |
AddressVariableType |
Mandatory |
|
HasComponent |
Variable |
SalesContact |
ContactDataType |
ContactVariableType |
Mandatory |
|
HasComponent |
Variable |
ServiceContact |
ContactDataType |
ContactVariableType |
Mandatory |
|
HasComponent |
Variable |
PurchasingContact |
ContactDataType |
ContactVariableType |
Mandatory |
|
HasComponent |
Variable |
AlternateAddress |
AddressDataType |
AddressVariableType |
Optional |
|
HasComponent |
Variable |
WEBSite |
String |
Property |
Mandatory |
UML notation used in ISA-95 (Informative)
The ISA-95 object models are illustrated using the Unified Modelling Language (UML) notational methodology, as defined in ISA/IEC 19501.
Table 139 - UML notation used in ISA-95
Symbol Name |
Symbol |
Definition |
UMLPackage |
|
Defines a package, a collection of object models, state models, use cases, and other UML models. Packages are general-purpose grouping mechanisms used to organize semantically related model elements. In this standard a package is used to specify an external model, such as a production rule model, or a reference to another part of the model. |
UMLClass |
|
Represents a UML class of objects, each with the same types of attributes. Each object is uniquely identifiable or enumerable. No operations or methods are listed for the classes.
|
UMLAssociation |
|
An association between elements of a class and elements of another or the same class. Each association is identified. May have the expected number or range of members of the subclass, when ‘n’ indicates an indeterminate number. For example, 0..n means that zero or more members of the subclass may exist. |
UMLGeneralization |
|
Generalization (arrow points to the super class) shows that an element of the class is a specialized type of the super class.
|
UMLDependence |
|
Dependence is a weak association that shows that a modelling element depends on another modelling element. The item at the tail depends on the item at the head of the relationship.
|
UMLAggregation |
|
Aggregation (made up of) shows that an element of the class is made up of elements of other classes.
|
UMLCompositie |
|
Composite shows a strong form of aggregation, which requires that a part instance be included in at most one composite at a time and that the composite object has sole responsibility for disposition of its parts. |
Overview
The definition of the notation used in figures in this standard is described in OPC 10000-3. The following section describes some extension to this notation to allow for the illustration of structured DataTypes
Node Type Notation
DataTypeElement graphical extension is represented by the graphical form defined in Table 140
Table 140 - Notation of Nodes depending on the NodeClass
NodeClass |
Graphical Representation |
Comment |
DataTypeElement |
|
Gray pentagon including text representing the string-part of the DisplayName of the DataTypeElement. |
Reference Notation
Table 141 defines an extension that illustrates the elements that are part of a DataType.
Table 141 - Simple Notation of Nodes depending on the NodeClass
ReferenceType |
Graphical Representation |
Comment |
DataItem |
|
This construct is used to link a DataType to the DataTypeElement that the structured data type is composed of. |