8 ISA-95 Common Object Model

8.1 Personnel Information

8.1.1 Overview

The personnel model in ISA-95 is an abstract model that allows the definition of person and roles that individual persons can be assigned to PersonnelClasses (see Figure 22). The requirements associated with a given role may include specific training or certification. It may be related to Job Titles or skills. A single person may be associated with multiple roles. Persons may be grouped into a type of Person, to allow properties to be associated with all persons that fall into the given type. For example a Person Type of Operator type may allow, multiple operators to have the same defined qualification tests, some of which are defined by the operator role, others may be defined by safety role or a role for a specific type of equipment.

Figure 22 - Personnel Overview

Figure 23 illustrates personnel model which consists of specific person, ISA95Classes of personnel, and qualification of personnel. It includes an example subtype that illustrates creating customized sub type of PersonnelClass. The illustration further illustrates creating actual instance of the individual types and how multiple classes can be combined into a single instance. This figure does not illustrate how a subtype of PersonType can be created and used to classify multiple persons as being of the same type. The concept of a sub type of PersonType is allowed, but since most persons would have unique training and classification in many cases subtypes of PersonType would not exist.

Figure 23 - Personnel Information Model

8.1.2 VariableTypes

8.1.2.1 QualificationTestResultType

The QualificationTestResultType is a concrete VariableType that can be used directly. It is a subtype of ISA95TestResultType VariableType defined in 7.5.4.

This VariableType indicates the results from a qualification test for a specific person.

Table 48 – QualificationTestResultType definition
Attribute Value
BrowseNameQualificationTestResultType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeStructure
HistorizingTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestResultTypeType defined in 7.5.4.

This variable type according to ISA-95 shall have prior and or multiple results available depending on the vendor specific model. To accommodate this requirement, vendors will be required to support historical storage of instances of QualificationTestResultType.

8.1.2.2 PersonnelClassPropertyType

The PersonnelClassPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95ClassPropertyType defined in 7.5.4.

This VariableType indicates ISA95ClassProperties for ISA95PersonnelClass. Variables of this VariableType may be associated to the qualification test specification defined in 8.1.3.1.

Table 49 – PersonnelClassPropertyType definition
Attribute Value
BrowseNamePersonnelClassPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClasspropertyType defined in 7.5.2.
HasISA95ClassPropertyVariable<PropertyName>PersonnelClassPropertyTypeOptionalPlaceholder
TestedByQualificationTestObject<TestSpecification>QualificationTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible additional nested instances of PersonnelClassPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type PersonnelClassPropertyType or a subtype of it.

<TestSpecification> is a placeholder for any test specification that this instance of a PersonnelClassPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByQualificationTest Reference and shall be of type QualificationTestSpecificationType or a subtype of it.

8.1.2.3 PersonPropertyType

The PersonPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95PropertyType defined in7.5.3.

This VariableType indicates ISA95Properties of a person. Person ISA95Property may be related to the qualification test specification defined in 8.1.3.1 and may be tested by the execution of the qualification test specification.

Table 50 – PersonPropertyType definition
Attribute Value
BrowseNamePersonPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95PropertyType defined in 7.5.3.
HasTestResultVariable<TestResult>BaseDataTypeQualificationTestResultTypeOptionalPlaceholder
HasISA95PropertyVariable<PropertyName>PersonPropertyTypeOptionalPlaceholder
TestedByQualificationTestObject<TestSpecification>QualificationTestSpecificationTypeOptionalPlaceholder

<TestResult> is the results associated with qualification tests for this PersonPropertyType. These test results can have any name but shall be referenced using the HasTestResult Reference and shall be of type QualificationTestResultType or a subtype of it. In addition each <TestResult> shall have a ResultsForSpecification Reference to the instance of a QualificationTestSpecificationType that is associated to the given test result record. It is recommended that the names assigned to the object of QualificationTestSpecificationType and the <TestResult> variable follow some naming convention, to allow operators to more easily match test results to the test specification that they are for.

<PropertyName> is a placeholder for possible additional nested instances of PersonPropertyType. These instances of PersonPropertyType can have any name but shall be referenced using the HasISA95Property reference and shall be of type PersonPropertyType or a subtype of it.

<TestSpecification> is a placeholder for any test specification that this PersonPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByQualificationTest Reference and shall be of type QualificationTestSpecificationType or a subtype of it.

8.1.3 ObjectTypes

8.1.3.1 QualificationTestSpecificationType

The QualificationTestSpecificationType is a concrete ObjectType that can be used directly. It is a subtype of ISA95TestSpecificationType defined in7.6.4.

This ObjectType indicates a qualification test specification. A qualification test specification may be associated with an ISA95PersonnelClass, an ISA95PersonnelClassProperty, an ISA95Person, or ISA95Person Property. This is typically used where a qualification test or ISA95Properly demonstrated competency is required to ensure that an ISA95Person has the correct training and/or experience for specific operations. A qualification test specification may test for one or more ISA95Properties.

Table 51 - QualificationTestSpecificationType definition
Attribute Value
BrowseNameISA95TestSpecificationType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestSpecificationType defined in 7.6.4.
8.1.3.2 PersonnelClassType

The PersonnelClassType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ClassType defined in7.6.2.

This ObjectType indicates a grouping of persons with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance. A subtype of PersonnelClassType may be associated to qualification test specification(s).

Table 52 - PersonnelClassType definition
Attribute Value
BrowseNamePersonnelClassType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClassType defined in 7.6.2.
HasISA95Class PropertyVariable<PropertyName>BaseDataTypePersonnelClass PropertyTypeOptionalPlaceholder
TestedByQualificationTestObject<TestSpecification>QualificationTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible additional nested PersonnelClasses. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type PersonnelClassPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that this PersonnelClass conforms to. These test specifications can have any name but shall be referenced using the TestedByQualificationTest Reference and shall be of type QualificationTestSpecificationType or a subtype of it

8.1.3.3 PersonType

The PersonType ObjectType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ObjectType ObjectType defined in7.6.3.

This ObjectType indicates a specifically identified individual. A person may be tested by the execution of a qualification test specification.

Table 53 - PersonType definition
Attribute Value
BrowseNamePersonType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ObjectType defined in 7.6.3.
HasISA95PropertyVariable<PropertyName>BaseDataTypePersonPropertyTypeOptionalPlaceholder
DefinedByPersonnelClassObject<PersonnelClass>PersonnelClassTypeOptionalPlaceholder
TestedByQualificationTestObject<TestSpecification>QualificationTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for variable of PersonPropertyType. These Variables can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type PersonPropertyType or a sub type of it

<PersonnelClass> is a placeholder for Object classifications that are used to define this person. These classifications can have any browse name but they shall be of PersonnelClassType and shall be referenced by DefinedByPersonnelClass ReferenceType

<TestSpecification> is a placeholder for any test specification that this Person conforms to. These test specifications can have any name but shall be referenced using the TestedByQualificationTest Reference and shall be of type QualificationTestSpecificationType or a subtype of it

8.2 Role based Equipment Information

8.2.1 Overview

The ISA-95 Equipment Model is an abstract model that describes classes of logical equipment. The physical equipment is defined by physical assets. In the ISA-95 model, a logical device (equipment) usually does not change, but a physical device may change over time. For example a meter is being used, but it requires service, thus it is replaced by an identical meter. The Physical device gets changed, but in the logic of the system the equipment has not changed. The ISA-95 model further defines classes of equipment that define general functionality or features of a logical piece of equipment. These classes of equipment (EquipmentClassType) would be defined by an EquipmentClassType. Instances of these classes of Equipment are referenced by an EquipmentType, which is a definition of a logical piece of equipment. In a running system there would be multiple instances of the EquipmentType. There would also be multiple EquipmentClassTypes. Figure 24 provides an illustration of this concept. It is also acceptable to define subtypes of EquipmentType, where the associated EquipmentClassType never change and multiple instances of the subtype of EquipmentType exist.

Figure 24 - Abstract Equipment Illustration

Figure 23 illustrates the Equipment Information model which consists of Equipment Types and EquipmentClassTypes. The illustration includes the definition of subtypes of EquipmentClassType, an instance of Equipment, and a subtype of EquipmentType. Any subtype of EquipmentType includes additional restrictions on Instance of the subtype such as the instance can never remove an associated EquipmentClassType.

Figure 25 Equipment Information Model

The role based equipment model contains information about specific equipment, equipment classes, equipment capability tests, and maintenance information associated with equipment. It can also contain information about related Physical Assets. The information about the related Physical Asset is represented as asset assignment information

The asset assignment information would be part of the Equipment model as well as part of the Physical Asset model. The asset assignment information could be time series data and is accessed by standard Attribute Services as defined in OPC 10000-4.

The asset assignment information is represented as DataVariable that is part of the Equipment or Physical Asset. The DataType of the asset assignment VariableType is a structure that represents elements of the asset assignment information. This standard only defines basic information regarding the asset assignment. Third parties may create a subtype of this VariableType to represent third party specific information of an asset assignment. (See Figure 26)

Figure 26 - Asset Assignment Information

8.2.2 DataTypes

8.2.2.1 ISA95AssetAssignmentDataType

This structure contains elements that record the asset assignment.

Table 54 – ISA95AssetAssignmentDataType Structure
NameTypeDescription
ISA95AssignemtDataTypeStructureInformation that describes the asset assignment record.

Id

NodeId Identification that records the asset assignment.

AssignmentDescription

LocalizedTextAdditional information or description about the assignment.

StartTime

DateTime Starting time of the asset assignment.

EndTime

DateTime Ending time of the asset assignment.

Its representation in the AddressSpace is defined in Table 55.

Table 55 – ISA95AssetAssignmentDataType Definition
Attributes Value
BrowseNameISA95AssetAssignmentDataType

8.2.3 VariableTypes

8.2.3.1 ISA95AssetAssignmentType

The ISA95AssetAssignmentType is a concrete VariableType that can be used directly. It is a subtype of BaseDataVariableType defined in OPC 10000-5.

This VariableType is used to track the asset assignment, It is usually includes history. The Variables associated with VariableType provide the asset assignment information. The structure of asset assignment information can be extended. Therefore, third party may design particular structure for the asset assignment information. This standard defines the minimum information elements for the asset assignment.

Table 56 - ISA95AssetAssignmentType definition
Attribute Value
BrowseNameISA95AssetAssignmentType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeStructure
HistorizingTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseDataVariableType defined in OPC 10000-5
HasISA95AttributeVariableIdNodeIdPropertyTypeMandatory
HasISA95AttributeVariableAssignmentDescriptionLocalizedTextPropertyTypeMandatory
HasISA95AttributeVariableStartTimeDateTimePropertyTypeMandatory
HasISA95AttributeVariableStopTimeDateTimePropertyTypeMandatory

This variable type according to ISA-95 shall maintain prior and/or support multiple results depending on the vendor specific information model. To accommodate this requirement, vendors will be required to support historical storage of the value for instances of ISA95AssetAssignmentType.

From history a user can determine all of the physical assets that were used to represent this logical piece of equipment. Also the history of all logical equipment a particular physical asset was assigned to can be reviewed, when this variable is used on a physical asset.

Id is an identifier of the asset assignment information. This id is the NodeId of the instance of PhysicalAssetType that is currently assigned to this piece of equipment (if this variable is part of an Equipment object). This VariableType is also used for PhysicalAssetType objects, in which case this id would be the NodeId of the instance of the EquipmentType that the physical asset is assigned to.

AssignmentDescription is an additional information or description of the assignment.

StartTime is the time at which the asset assignment was made.

StopTime is the time at which the asset assignment was change / ended.

This standard defines ISA95AssetAssignmentDataType as the default DataType. Third parties may define their own structure that contains additional elements, but it must still contain all the elements defined in the ISA95AssetAssignmentDataType. It is also recommended that any new items that are added to the new ISA95AssetAssignmentDataType also be added to the new subtype of the ISA95AssetAssignmentType variable type.

8.2.3.2 EquipmentCapabilityTestResultType

The EquipmentCapabilityTestResultType is a concrete VariableType that can be used directly. It is a subtype of ISA95TestResultType VariableType defined in 7.5.4.

This VariableType indicates the results from an Equipment test.

Table 57 – EquipmentCapabilityTestResultType definition
Attribute Value
BrowseNameEquipmentCapabilityTestResultType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeStructure
HistorizingTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestResultType defined in 7.5.4.

This variable type according to ISA-95 shall have prior and or multiple results available depending on the vendor specific model. To accommodate this requirement, vendors will be required to support historical storage of instances of EquipmentCapabilityTestResultType

8.2.3.3 EquipmentClassPropertyType

The EquipmentClassPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95ClassPropertyType defined in 7.5.4.

This VariableType indicates ISA95ClassProperties for an EquipmentClassType. Variables of this VariableType may be associated to an instance of an EquipmentCapabilityTestSpecificationType defined in 8.1.3.1.

Table 58 – EquipmentClassPropertyType definition
Attribute Value
BrowseNameEquipmentClassPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClasspropertyType defined in 7.5.2.
HasISA95ClassPropertyVariable<PropertyName>EquipmentClassPropertyTypeOptionalPlaceholder
TestedByEquipmentTestObject<TestSpecification>EquipmentCapabilityTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible nested instances of EquipmentClassPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type EquipmentClassPropertyType or a subtype of it

<TestSpecification> is a placeholder for any test specification that this EquipmentClassPropertyType is tested by. These test specifications can have any name but shall be referenced using the TestedByEquipmentTest Reference and shall be of type EquipmentCapabilityTestSpecificationType or a subtype of it.

8.2.3.4 EquipmentPropertyType

The EquipmentPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95PropertyType defined in 7.5.3.

This VariableType indicates ISA95Properties of a role based equipment. An instance of an EquipmentPropertyType may be related to instances of EquipmentCapabilityTestSpecificationType defined in 8.1.3.1 and may be tested by the execution of the equipment test specification with results exchanged in an equipment test result.

Table 59 – EquipmentPropertyType definition
Attribute Value
BrowseNameEquipmentPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95PropertyType defined in 7.5.3.
HasTestResultVariable<TestResult>BaseDataTypeEquipmentCapabilityTestResultTypeOptionalPlaceholder
HasISA95PropertyVariable<PropertyName>EquipmentPropertyTypeOptionalPlaceholder
TestedByEquipmentTestObject<TestSpecification>EquipmentCapabilityTestSpecificationTypeOptionalPlaceholder

<TestResult> is the optional results associated with an EquipmentCapabilityTestSpecificationType. These test results can have any name but shall be referenced using the HasTestResult Reference and shall be of type EquipmentCapabilityTestResultType or a subtype of it. In addition each <TestResult> shall have a ResultsForSpecification Reference to the instance of EquipmentCapabilityTestSpecificationType that it is associated with. It is recommended that the names assigned to the instance of the EquipmentCapabilityTestSpecificationType object and the <TestResult> variable follow some naming convention, to allow operators to more easily match test results to the test specification that they are for.

<PropertyName> is a placeholder for possible additional nested instances of EquipmentPropertyTypes. These properties can have any name but shall be referenced using the HasISA95Property reference and shall be of type EquipmentPropertyType or a subtype of it

<TestSpecification> is a placeholder for any capability test specification that an instance of this EquipmentPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByEquipmentTest Reference and shall be of type EquipmentCapabilityTestSpecificationType or a subtype of it

8.2.4 ObjectTypes

8.2.4.1 EquipmentCapabilityTestSpecificationType

The EquipmentCapabilityTestSpecificationType is a concrete ObjectType that can be used directly. It is a subtype of ISA95TestSpecificationType defined in 7.6.4.

This ObjectType indicates an equipment capability test. An equipment capability test may be associated with an EquipmentClassType and an instance of an EquipmentClassPropertyType, an instance of EquipmentType or an instance of EquipmentPropertyType. This is typically used where a test is required to ensure that the equipment has the necessary capability and capacity. An instance of an EquipmentCapabilityTestSpecificationType may be associated with more than one EquipmentClassType and also to more than one instance of an EquipmentType and also to more than one subtype of an EquipmentType.

Table 60 - EquipmentCapabilityTestSpecificationType
Attribute Value
BrowseNameEquipmentCapabilityTestSpecificationType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestSpecificationType defined in 7.6.4.
8.2.4.2 EquipmentClassType

The EquipmentClassType is an abstract ObjectType; it is expected to be subtyped. It is a subtype of ISA95ClassType defined in 7.6.2.

This ObjectType indicates a grouping of equipment with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance. The EquipmentClassType may be associated to objects of an EquipmentCapabilityTestSpecificationType. It is expected that subtypes of the EquipmentClassType will be created that represent a particular class of equipment. These subtypes will have their own set of instance of EquipmentClassPropertyType and EquipmentCapabilityTestSpecificationType.

Table 61 - EquipmentClassType definition
Attribute Value
BrowseNameEquipmentClassType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClassType defined in 7.6.2.
HasISA95Class PropertyVariable<PropertyName>BaseDataTypeEquipmentClassPropertyTypeOptionalPlaceholder
TestedByEquipmentTest Object<TestSpecification>EquipmentCapabilityTestSpecificationTypeOptionalPlaceholder
HasISA95AttributeVariableEquipmentLevelISA95EquipmentElementLevelEnumPropertyTypeOptional

<PropertyName> is a placeholder for possible additional nested instances of EquipmentClassPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type EquipmentClassPropertyType or a subtype of it

<TestSpecification> is a placeholder for any capability test specification that this EquipmentClassType conforms to. These capability test specifications can have any name but shall be referenced using the TestedByEquipmentTest Reference and shall be of type EquipmentCapabilityTestSpecificationType or a subtype of it

EquipmentLevel is an identification of the level in the role based equipment hierarchy.

8.2.4.3 EquipmentType

The EquipmentType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ObjectType defined in 6.7.2.

This ObjectType defines a piece of equipment. Equipment may be tested by the execution of one or more tests defined by EquipmentCapabilityTestSpecificationType. Individual instance of this EquipmentType would have one or more reference(s) to EquipmentClassType(s) that the instance of the EquipmentType is defined by. A subtype of EquipmentType may also be defined for a fixed set of referenced EquipmentClassTypes. By definition of the ISA-95 model, when an Equipment instance or a sub type of EquipmentType references an EquipmentClassType, the addition of said reference results in the addition of all instances of EquipmentClassPropertyType defined for the referenced EquipmentClassType to the Equipment instance (or EquipmentType subtype) as instances of EquipmentPropertyType. These instances of EquipmentPropertyType will have all the same Attributes and Properties as the corresponding EquipmentClassPropertyType instance. This includes the same value for the BrowseName, DisplayName, Description and any other properties.

This ObjectType may be further subtyped. The subtypes create some additional restrictions. Any EquipmentClassType references that are added to a subtype of an EquipmentType cannot be removed from an instance of the subtype. If the EquipmentType subtype is updated then all instance of the EquipmentType subtype must also be updated. For example if an additional EquipmentClassType is added to the EquipmentType subtype that that EquipmentClassType must be added to all instances of the EquipmentType subtype. This allows for creating a single EquipmentType that is used for multiple EquipmentType instances.

Equipment may be made of other equipment.

Table 62 – EquipmentType definition
Attribute Value
BrowseNameEquipmentType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ObjectType defined in 7.6.3.
HasISA95PropertyVariable<PropertyName>BaseDataTypeEquipmentPropertyTypeOptionalPlaceholder
DefinedByEquipmentClassObject<EquipmentClass>EquipmentClassTypeOptionalPlaceholder
TestedByEquipmentTestObject<TestSpecification>EquipmentCapabilityTestSpecificationTypeOptionalPlaceholder
MadeUpOfEquipmentObject<Equipment>EquipmentTypeOptionalPlaceholder
HasISA95AttributeVariableEquipmentLevelISA95EquipmentElementLevelEnumPropertyTypeOptional
ImplementedByObjectPhysicalAssetPhysicalAssetTypeOptional
HasComponentVariableAssetAssignmentstructureISA95AssetAssignmentTypeOptional

<PropertyName> is a placeholder for possible additional instances of EquipmentPropertyType. These properties can have any name but shall be referenced using the HasISA95Property reference and shall be of type EquipmentPropertyType or a subtype of it

<EquipmentClass> is a placeholder for possible related EquipmentClassTypes These EquipmentClassTypes can have any name but shall be referenced using the DefinedByEquipmentClass reference and shall be an EquipmentClassType or a subtype of it

<TestSpecification> is a placeholder for any capability test specification that instances of this EquipmentType conform to. These test specifications can have any name but shall be referenced using the TestedByEquipmentTest Reference and shall be of type EquipmentCapabilityTestSpecificationType or a subtype of it

<Equipment> is a placeholder for sub instances of EquipmentType. These instances of EquipmentType can have any name but shall be referenced using the MadeUpOfEquipment reference and shall be an instance of EquipmentType or a subtype of it

EquipmentLevel is an identification of the level in the role based equipment hierarchy.

PhysicalAsset is an instance of a PhysicalAssetType that is assigned to this instance of an EquipmentType.

AssetAssignment – Is used to track the history of the physical assets assigned to this logical equipment.

8.3 Physical Asset information

8.3.1 Overview

The ISA-95 Physical Asset Model includes defining the class of physical devices that exist in a system as well as the actual physical devices. These definitions include manufacturing related information for classes of devices and actual vendor related information for instances of physical devices. Figure 27 illustrate this abstract model and the relationships that are modelled in the OPC UA Information model. For a description of the relationship between physical assets and equipment see section 8.2.1.

Figure 27 - Manufacturers and Vendors in Physical Asset Information

Physical Assets can be composed of other Physical Assets. Physical Asset classes describe a general classification of an asset, which may be supplied by multiple vendors, each with unique model numbers. Vendors may have additional information associated with them. Individual instance of a particular Physical Asset would have a serial number that is provided by the vendor that supplied the device.

Figure 28 illustrates Physical Asset Information Model in terms of the OPC UA Information Model. This model illustrates the base Physical Asset model. It further provides an example set of possible subtypes of PhysicalAssetClassTypes and instances of Physical Assets.

Figure 28 - Physical Asset Information Model

8.3.2 VariableTypes

8.3.2.1 CompanyType

The CompanyType is a concrete VariableType that can be used directly. It is a subtype of BaseDataVariableType defined in OPC 10000-5

This VariableType is used to provide details regarding company information for PhysicalAssetClassTypes or for instances of PhysicalAssetType. In most instances this type will be further subtyped to provide additional information regarding the company. The ISA-95 specification does not define a structure or set of fields for company information. Some systems will provide a list of additional information, such as address, contact and other details. Other system may simply provide a link or reference to some other system that provides the detailed company information. In later sections, this specification will provide a TypicalCompanyType (see D.3) that can be used as a default if no other linked system exists. This type could also be further subtyped as needed.

Table 63 – CompanyType Type definition
Attribute Value
BrowseNameCompanyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseDataVariableType defined in OPC 10000-5.
8.3.2.2 GeoSpatialLocationType

The GeoSpatialLocationType is a concrete VariableType that can be used directly. It is a subtype of PropertyType defined in OPC 10000-3

This VariableType is used to provide details regarding Physical Location information for PhysicalAssetClassType

Table 64 – GeoSpatialLocationType Type definition
Attribute Value
BrowseNameGeoSpatialLocationType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeString
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the PropertyType defined in OPC 10000-5.
8.3.2.3 PhysicalAssetCapabilityTestResultType

The PhysicalAssetCapabilityTestResultType is a concrete VariableType that can be used directly. It is a subtype of ISA95TestResultType defined in 7.5.4.

This VariableType indicates the results from a physical asset capability test for a specific physical asset.

Table 65 – PhysicalAssetCapabilityTestResultType definition
Attribute Value
BrowseNamePhysicalAssetCapabilityTestResultType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeStructure
HistorizingTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestResultType defined in 7.5.4.

This variable type according to ISA-95 shall have prior and or multiple results available depending on the vendor specific model. To accommodate this requirement, vendors will be required to support historical storage of instances of PhysicalAssetCapabilityTestResultType.

8.3.2.4 PhysicalAssetClassPropertyType

The PhysicalAssetClassPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95ClassPropertyType defined in 7.5.4.

This VariableType indicates ISA95ClassProperties for a PhysicalAssetClassType. Variables of this VariableType may be associated with tests defined by PhysicalAssetCapabilityTestSpecificationType defined in 8.3.3.1.

Table 66 – PhysicalAssetClassPropertyType definition
Attribute Value
BrowseNamePhysicalAssetClassPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClasspropertyType defined in 7.5.2.
HasISA95ClassPropertyVariable<PropertyName>PhysicalAssetClassPropertyTypeOptionalPlaceholder
TestedByPhysicalAssetTestObject<TestSpecification>PhysicalAssetCapabilityTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible additional nested instances of PhysicalAssetClassPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type PhysicalAssetClassPropertyType or a subtype of it

<TestSpecification> is a placeholder for any test specification that an instance of this PhysicalAssetClassPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByPhysicalAssetTest Reference and shall be of type PhysicalAssetCapabilityTestSpecificationType or a subtype of it.

8.3.2.5 PhysicalAssetPropertyType

The PhysicalAssetPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95PropertyType defined in7.5.3.

This VariableType indicates ISA95Properties of a role based equipment. Variables of this type may be related to tests defined by PhysicalAssetCapabilityTestSpecificationType defined in 8.3.3.1 and have Test results associated with them.

Table 67 – PhysicalAssetPropertyType definition
Attribute Value
BrowseNamePhysicalAssetPropertyType
IsAbstractFalse
ValueRank0
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95PropertyType defined in 7.5.3.
HasTestResultVariable<TestResult>BaseDataTypePhysicalAssetCapabilityTestResultTypeOptionalPlaceholder
HasISA95PropertyVariable<PropertyName>PhysicalAssetPropertyTypeOptionalPlaceholder
TestedByPhysicalAssetTestObject<TestSpecification>PhysicalAssetCapabilityTestSpecificationTypeOptionalPlaceholder

<TestResult> is the optional results associated with an instance of PhysicalAssetCapability-TestSpecificationType These test results can have any name but shall be referenced using the HasTestResult Reference and shall be of type PhysicalAssetCapabilityTestResultType or a subtype of it. In addition each <TestResult> shall have a ResultsForSpecification Reference to the instance of the PhysicalAssetCapabilityTestSpecificationType that is associated to the given test result record. It is recommended that the names assigned to the <TestSpecification> and the <TestResult> variable follow some naming convention, to allow operators to more easily match test results to the test specification that they are for.

<PropertyName> is a placeholder for possible additional instances of PhysicalAssetPropertyTypes. These properties can have any name but shall be referenced using the HasISA95Property reference and shall be of type PhysicalAssetPropertyType or a sub type of it

<TestSpecification> is a placeholder for any capability test specification that an instance of this PhysicalAssetPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByPhysicalAssetTest Reference and shall be of type PhysicalAssetCapabilityTestSpecificationType or a sub type of it

8.3.3 ObjectTypes

8.3.3.1 PhysicalAssetCapabilityTestSpecificationType

The PhysicalAssetCapabilityTestSpecificationType is a concrete ObjectType that can be used directly. It is a subtype of ISA95TestSpecificationType defined in 6.7.3.

This ObjectType indicates a test for a physical asset. An instance of a PhysicalAssetCapabilityTestSpecificationType may be associated with a PhysicalAssetClassType, instances of PhysicalAssetClassPropertyType, instance of PhysicalAssetType or instances of PhysicalAssetPropertyType. This is typically used where a test is required to ensure that the Physical Asset has the necessary capability and capacity. An instance of a PhysicalAssetCapabilityTestSpecificationType may be associated with multiple instances of Physical Assets and/or multiple PhysicalAssetClassTypes.

Attribute Value
BrowseNamePhysicalAssetCapabilityTestSpecificationType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestSpecificationType defined in 7.6.4.
8.3.3.2 PhysicalAssetClassType

The PhysicalAssetClassType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ClassType defined in 6.7.1.

This ObjectType indicates a grouping of Physical Assets with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance. An Object of PhysicalAssetClassType may be associated with an instance of a PhysicalAssetCapabilityTestSpecificationType. It is expected that subtypes of the PhysicalAssetClassType will be created that represent a particular class of physical asset. These subtypes will have their own set of instances of PhysicalAssetClassPropertyTypes and PhysicalAssetCapabilityTestSpecificationTypes

Table 68 - PhysicalAssetClassType definition
Attribute Value
BrowseNamePhysicalAssetClassType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClassType defined in 7.6.2.
HasISA95ClassPropertyVariable<PropertyName>BaseDataTypePhysicalAssetClassPropertyTypeOptionalPlaceholder
HasISA95AttributeVariableManufacturerCompanyTypeOptional
HasISA95AttributeVariable ModelNumberStringBaseDataVariableTypeOptional
TestedByPhysicalAssetTestObject<TestSpecification>PhysicalAssetCapabilityTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible additional instances of PhysicalAssetClass-PropertyType. These properties can have any name but shall be referenced using the HasISA95Property reference and shall be of type PhysicalAssetClassPropertyType or a sub type of it.

Manufacturer is the Manufacturer of this PhysicalAssetClassType. The Manufacture shall be referenced using the HasISA95Attribute reference and shall be of type CompanyType or a sub type of it.

ModelNumber is the Manufacture’s ModelNumber that could be associated with this PhysicalAssetClassType. The ModelNumber is referenced using the HasISA95Attribute reference type and shall be a string of type BaseDataVariableType or a sub type of it.

<TestSpecification> is a placeholder for any capability test specification that this PhysicalAssetClassType conforms to. These test specifications can have any name but shall be referenced using the TestedByPhysicalAssetTest Reference and shall be of type PhysicalAssetCapabilityTestSpecificationType or a sub type of it

8.3.3.3 PhysicalAssetType

The PhysicalAssetType ObjectType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ObjectType defined in 6.7.2. Individual instance of this PhysicalAssetType would have reference to PhysicalAssetClassType that the instance of the PhysicalAssetType supports. By definition of the ISA-95 model, when a Physical Asset instance or PhysicalAssetType references a PhysicalAssetClassType, the addition of said reference results in the addition of all instance of PhysicalAssetClassPropertyType defined for the referenced PhysicalAssetClassType to be added to the Physical Asset instance (or PhysicalAssetType subtype) as instances of PhysicalAssetPropertyType. These ISA95Properties will have all the same Attributes and Properties as the corresponding PhysicalAssetClassPropertyType instance.

This ObjectType may be further subtyped. The subtypes create some additional restrictions. Any PhysicalAssetClassType references that are added to a subtype of a PhysicalAssetType cannot be removed from instance of the subtype. If the PhysicalAssetType subtype is updated than all instance of the PhysicalAssetType must also be updated. For example if an additional PhysicalAssetClassType is added to the PhysicalAssetType subtype than that PhysicalAssetClassType must be added to all instances of the PhysicalAssetType subtype. This allows for creating a single PhysicalAssetType that is used for multiple physical asset instances.

This ObjectType indicates a specific physical asset. A physical asset may be tested by the execution of an instance of a PhysicalAssetCapabilityTestSpecificationType.

A PhysicalAssetType may be made of instances of PhysicalAssetType.

Table 69 – PhysicalAssetType definition
Attribute Value
BrowseNamePhysicalAssetType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ObjectType defined in 7.6.3.
HasISA95PropertyVariable<PropertyName>BaseDataTypePhysicalAssetPropertyTypeOptionalPlaceholder
MadeUpOfPhysicalAssetObject<PhysicalAsset>PhysicalAssetTypeOptionalPlaceholder
DefinedByPhysicalAssetClassObjectPhysicalAssetClassPhysicalAssetClassTypeOptional
LocatedInVariablesPhysicalLocationStringGeoSpatialLocationTypeOptional
HasISA95AttributeVariablesFixedAssetIdCDTIdentifierBaseDataVariableTypeOptional
HasISA95AttributeVariablesVendorIdBaseDataTypeCompanyTypeOptional
TestedByPhysicalAssetTestObject<TestSpecification>PhysicalAssetCapabilityTestSpecificationTypeOptionalPlaceholder
ImplementationOfObjectEquipmentEquipmentTypeOptional
HasComponentVariableAssetAssignmentstructureISA95AssetAssignmentTypeOptional

<PropertyName> is a placeholder for possible instances of PhysicalAssetPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type PhysicalAssetPropertyType or a subtype of it

<PhysicalAsset> is a placeholder for instance of PhysicalAssetType that this instance of PhysicalAssetType may be made up of. .These Objects can have any name but shall be referenced using the MadeUpOfPhysicalAsset reference and shall be to PhysicalAssetType or a subtype of it

PhysicalAssetClass defines the functionality of an instance of this PhysicalAssetType. .This Object shall be referenced using the DefinedByPhysicalAssetClass reference and shall be to PhysicalAssetClassType or a subtype of it

PhysicalLocation is the actual location associated with the instance of this PhysicalAssetType

FixedAssetId is the vendor provided identification number provided with the instance of the PhysicalAssetType. For Example it maybe the serial number associated with device.

VendorId is the vendor that provides the instance of this PhysicalAssetType. This may be the same as the manufacturer associated with the related class, but it may also be different. For example a system integrator maybe the vendor that provides the PhysicalAssetType, even though it is manufactured by another company.

<TestSpecification> is a placeholder for any capability test specification that an instance of this PhysicalAssetType conforms to. These test specifications can have any name but shall be referenced using the TestedByPhysicalAssetTest Reference and shall be of type PhysicalAssetCapabilityTestSpecificationType or a subtype of it

Equipment is the Equipment assigned to the instance of the PhysicalAssetType.

AssetAssignment – Is used to track the history of the logical Equipment to which this Physical Asset was assigned.

8.4 Material information

8.4.1 Overview

Figure 29 provides an overview of the ISA-95 Material handling information model

Figure 29 - Material Information Abstract Illustration

Material handling includes the definition of a class of material; this class can include material definitions that further define what the material is. These classes of materials are applied to groupings of the actual materials (lots). In many cases these groupings are further broken down into sub-groupings (sub-lots).

Figure 23 illustrates the material model which consists of material lots, material sub-lots, material classes, material definitions, and material test specifications.

Typically a class of materials is created and further subtyped into MaterialDefinitionType. These MaterialDefinitionTypes are usually vendor specific versions of the MaterialClassType. From these MaterialDefinitionTypes instances of MaterialLotType or subtypes of MaterialLotType are dynamically created. These instances of a MaterialLotType are maintained in the system for some period of time and then they are removed. For example, a technician may scan a barcode on a just delivered pallet of chemicals; this would cause an instance of the MaterialLotType to be created. This instance of a MaterialLotType may be composed of instances of MaterialSublotType (individual drums of that make up the pallet). When the last drum of chemical used up and all products that were created using the chemicals have been delivered, the system may delete the instance of the MaterialLotType that had automatically been created. In some cases sub types of MaterialLotType may be created, allowing for easier dynamic creation of an instance of a MaterialLotType that is assembled from specific MaterialSublotType(s)

A MaterialDefinitionType defines a specific type of material from a specific supplier. This corresponds to an entry in a corporate Material Master database. For example, it may be stainless steel wire from supplier Ajax Steel, with certain properties, such as hardness and carbon content. A MaterialClassType is a specific type of material without specifying the source of the material. For example, it may be stainless steel wire, with a range of hardness and range of carbon content. The MaterialClassType is used when you don’t care where the material comes from, such as “use any old stainless steel wire”. The MaterialDefinitionType is used when you do care where the material comes from, such as “Ajax Steel stainless steel wire”. Both types are often used in data exchanges.

In many systems the actual instances of MaterialLotType may exist in a database and be referenced by the OPC UA Server (i.e. they may not exist in memory in the OPC UA Server, but the Server would know how to access them and know what instances are available). If a client needs to modify an instance of a MaterialLotType (i.e. change the quantity or some other setting), the Server would handle the update to the underlining database.

Figure 30 - Material Information Model

8.4.2 VariableTypes

8.4.2.1 MaterialTestResultType

The MaterialTestResultType is a concrete VariableType that can be used directly. It is a subtype of ISA95TestResultType defined in 7.5.4.This VariableType indicates the results from executing an instance of a MaterialTestSpecificationType for a specific MaterialLotType.

Table 70 – MaterialTestResultType definition
Attribute Value
BrowseNameMaterialTestResultType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeStructure
HistorizingTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestResultType defined in 7.5.4.

This variable type according to ISA-95 shall have prior and or multiple results available depending on the vendor specific model. To accommodate this requirement, vendors will be required to support historical storage of instances of MaterialTestResultType.

8.4.2.2 MaterialDefinitionPropertyType

The MaterialDefinitionPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95ClassPropertyType defined in 7.5.4.

This VariableType indicates ISA95ClassProperties for MaterialDefinitionTypes. Variables of this VariableType may be associated to an instance of a MaterialTestSpecificationType defined in 8.4.3.1.

Table 71 – MaterialDefinitionPropertyType definition
Attribute Value
BrowseNameMaterialDefinitionPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClassPropertyType defined in 7.5.2.
HasISA95ClassPropertyVariable<PropertyName>MaterialDefinitionPropertyTypeOptionalPlaceholder
TestedByMaterialTest Object<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible instances of MaterialDefinitionPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type MaterialDefinitionPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that this MaterialDefinitionPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a sub type of it.

8.4.2.3 MaterialClassPropertyType

The MaterialClassPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95ClassPropertyType defined in 7.5.4.

This VariableType indicates ISA95ClassProperties for MaterialClassTypes. Variables of this VariableType may be associated to an instance of a MaterialTestSpecificationType defined in 8.4.3.1

Table 72 – MaterialClassPropertyType definition
Attribute Value
BrowseNameMaterialClassPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClasspropertyType defined in 7.5.2.
HasISA95ClassPropertyVariable<PropertyName>MaterialClassPropertyTypeOptionalPlaceholder
TestedByMaterialTest Object<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder

<PropertyName> is a placeholder for possible instances of MaterialClassPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type MaterialClassPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specifications that this MaterialClassPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a sub type of it.

8.4.2.4 MaterialLotPropertyType

The MaterialLotPropertyType is a concrete VariableType that can be used directly. It is a subtype of ISA95PropertyType defined in7.5.3.

This VariableType indicates ISA95Properties of a MaterialLotType. A MaterialLotPropertyType may be associated to an instance of a MaterialTestSpecificationType defined in 8.4.3.1. An instance of a MaterialLotPropertyType may be tested by the execution of an instance of the MaterialTestSpecificationType.

Table 73 – MaterialLotPropertyType definition
Attribute Value
BrowseNameMaterialLotPropertyType
IsAbstractFalse
ValueRank0 (OneOrMoreDimensions)
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95PropertyType defined in 7.5.3.
HasTestResultVariable<TestResult>BaseDataTypeMaterialTestResultTypeOptionalPlaceholder
HasISA95PropertyVariable<PropertyName>MaterialLotPropertyTypeOptionalPlaceholder

TestedBy Material

Test

Object<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder

<TestResult> is a placeholder for possible material test results. These test results can have any name but shall be referenced using the HasTestResult Reference and shall be of type MaterialTestResultType or a subtype of it. In addition each <TestResult> shall have a ResultsForSpecification Reference to the instance of the MaterialTestSpecificationType that is associated to the given test result record. It is recommended that the names assigned to the instance of a MaterialTestSpecificationType and the <TestResult> variable follow some naming convention, to allow operators to more easily match test results to the test specification that they are for.

<PropertyName> is a placeholder for possible instance of MaterialLotPropertyType. These properties can have any name but shall be referenced using the HasISA95Property Reference and shall be of type MaterialLotPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that an instance of this MaterialLotPropertyType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a sub type of it.

8.4.3 Objects

8.4.3.1 MaterialTestSpecificationType

The MaterialTestSpecificationType is a concrete ObjectType that can be used directly. It is a subtype of ISA95TestSpecificationType defined in 7.6.4.

This ObjectType indicates a material test specification. A material test specification may be associated with a MaterialDefinitionType, an instance of a MaterialDefinitionPropertyType, a MaterialClassType, an instance of a MaterialClassPropertyType, an instance of a MaterialLotType, an instance of a MaterialLotPropertyType or an instance of a MaterialSublotType. This is typically used to specify a material test specification to determine a value for a property. An instance of a MaterialTestSpecificationType may test one or more of these items.

Table 74 - MaterialTestSpecificationType definition
Attribute Value
BrowseNameMaterialTestSpecificationType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95TestSpecificationType defined in 7.6.4.
8.4.3.2 MaterialClassType

The MaterialClassType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ClassType defined in 7.6.2.

This ObjectType indicates a grouping of material classes with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance. An Object of MaterialClassType may be associated to material test specification(s).

Table 75 - MaterialClassType definition
Attribute Value
BrowseNameMaterialClassType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClassType defined in 7.6.2.
HasISA95ClassPropertyVariable<PropertyName>BaseDataTypeMaterialClassPropertyTypeOptionalPlaceholder
TestedByMaterialTestObject<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder
AssembledFrom ClassObject<AssemblyClass>MaterialClassTypeOptionalPlaceholder
HasISA95AttributeVariableAssemblyTypeBaseDataTypeBaseDataVariableTypeOptional
HasISA95AttributeVariableAssemblyRelationshipBaseDataTypeBaseDataVariableTypeOptional

<PropertyName> is a placeholder for instances of MaterialClassPropertyType that further define this MaterialClassType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type MaterialClassPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that this MaterialClassType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a subtype of it

<AssemblyClass> is a placeholder for any MaterialClassTypes that are used to compose this material. These MaterialClassTypes (assemblies) can have any name, but they shall be referenced using the AssembledFromClass reference and shall be of type MaterialClassType.

AssemblyType is flag that indicates if this assembly is a physical or logical assembly. This property is optional on a MaterialClassType, in that it is only on MaterialClassTypes that are being used as an assembly, but it is required on an assembly.

AssemblyRelationship is flag that indicates if this assembly is permanent or transient. This property is optional on a MaterialClassTypes, in that it is only on MaterialClassTypes that are being used as an assembly, but it is required on an assembly.

8.4.3.3 MaterialDefinitionType

The MaterialDefinitionType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ClassType defined in 7.6.2

This ObjectType indicates a grouping of Material with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance. A MaterialDefinitionType may be associated to material test specification(s). MaterialDefinitionType is used to further classify a MaterialClassType, for example a MaterialClassType may be Hydrochloric Acid, a MaterialDefinitionType may be ABC Chemicals version of Hydrochloric Acid, with addition properties provided by the company.

Table 76 - MaterialDefinitionType definition
Attribute Value
BrowseNameMaterialDefinitionType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ClassType defined in 7.6.2.
HasISA95ClassPropertyVariable<PropertyName>BaseDataTypeMaterialDefinitionPropertyTypeOptionalPlaceholder
TestedByMaterialTestObject<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder
DefinedByMaterialClassObject<MaterialClass>MaterialClassTypeOptionalPlaceholder
AssembledFrom DefinitionObject<AssemblyDefinition>MaterialDefinitionTypeOptionalPlaceholder
HasISA95AttributeVariableAssemblyTypeBaseDataTypeBaseDataVariableTypeOptional
HasISA95AttributeVariableAssemblyRelationshipBaseDataTypeBaseDataVariableTypeOptional

<PropertyName> is a placeholder for possible instances of MaterialDefinitionPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type MaterialDefinitionPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that this MaterialDefinitionType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a subtype of it.

<MaterialClass> is a placeholder for any material class that defines this MaterialDefinitionType These material classes can have any name but shall be referenced using the DefinedByMaterialClass Reference and shall be MaterialClassType or a subtype of it.

<AssemblyDefinition> is a placeholder for any MaterialDefinitionTypes that are used to compose this material. These MaterialDefinitionType (assemblies) can have any name, but they shall be referenced using the AssembledFromDefinition reference and shall be subtypes of MaterialDefinitionType.

AssemblyType is flag that indicates if this assembly is a physical or logical assembly. This property is optional on a MaterialDefinitionType, in that it is only on MaterialDefinitionTypes that are being used as an assembly but it required on a MaterialDefinitionType that is an assembly.

AssemblyRelationship is flag that indicates if this assembly is permanent or transient. This property is optional on a MaterialDefinitionType, in that it is only on MaterialDefinitionTypes that are being used as an assembly but it required on a MaterialDefinitionType that is an assembly.

8.4.3.4 MaterialLotType

The MaterialLotType ObjectType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ObjectType defined in7.6.3.

This ObjectType indicates a specifically identified material lot. An instance of a MaterialLotType may be tested by the execution of a material test specification.

Individual instances of this MaterialLotType would have a reference to MaterialClassType(s) that the instance of the MaterialLotType supports. By definition of the ISA-95 model, when MaterialLotType references a MaterialClassType, the addition of said reference results in the addition of all instances of MaterialClassPropertyType defined for the referenced MaterialClassType to be added to the MaterialLotType (or MaterialLotType subtype) as instances of MaterialLotPropertyType. These ISA95Properties will have all the same Attributes and Properties as the corresponding MaterialClassPropertyType instance.

This ObjectType may be further subtyped. The subtypes create some additional restrictions. Any MaterialClassType references that are added to a subtype of a MaterialLotType cannot be removed from instance of the subtype. If the MaterialLotType subtype is updated than all instance of the MaterialLotType must also be updated. For example if an additional Instance of a MaterialLotPropertyType is added to the MaterialLotType subtype than that instance of MaterialLotPropertyType must be added to all instances of the MaterialLotType subtype. This allows for creating a single MaterialLotType that is used for multiple material lot instances.

Table 77 - MaterialLotType definition
Attribute Value
BrowseNameMaterialLotType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ObjectType defined in 7.6.3.
HasISA95PropertyVariable<PropertyName>BaseDataTypeMaterialLotPropertyTypeOptionalPlaceholder
TestedByMaterialTestObject<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder
AssembledFromLotObject<AssemblyLot>MaterialLotTypeOptionalPlaceholder
AssembledFromSublotObject<AssemblySubLot>MaterialSublotTypeOptionalPlaceholder
HasISA95AttributeVariableAssemblyTypeBaseDataTypeBaseDataVariableTypeOptional
HasISA95AttributeVariableAssemblyRelationshipBaseDataTypeBaseDataVariableTypeOptional
MadeUpOfMaterialSublotObject<Sublot>MaterialSublotTypeOptionalPlaceholder
DefinedByMaterialDefinitionObjectMaterialDefinitionMaterialDefinitionTypeOptional
HasISA95AttributeVariableStatusCDTIdentifierBaseDataVariableTypeOptional
HasISA95AttributeVariableStorageLocationCDTIdentifierBaseDataVariableTypeOptional
HasISA95AttributeVariableQuantityBaseDataTypeBaseDataVariableTypeOptional

<PropertyName> is a placeholder for instances of MaterialLotPropertyType. These properties can have any name but shall be referenced using the HasISA95ClassProperty reference and shall be of type MaterialLotPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that this MaterialLotType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a subtype of it

<AssemblyLot> is a placeholder for any Material Lots that are used to compose this material. These MaterialLotType assemblies can have any name, but they shall be referenced using the AssembledFromLot reference and shall be of type MaterialLotType.

<AssemblySubLot> is a placeholder for any Material Sub Lots that are used to compose this material. These MaterialSublotType assemblies can have any name, but they shall be referenced using the AssembledFromSublot reference and shall be of type MaterialSublotType.

AssemblyType is flag that indicates if this assembly is a physical or logical assembly. This property is optional on a MaterialLotType, in that it is only on instances of MaterialLotTypes that are being used as an assembly.

AssemblyRelationship is flag that indicates if this assembly is permanent or transient. This property is optional on a MaterialLotType, in that it is only on Instances of MaterialLotTypes that are being used as an assembly.

<Sublot> is a placeholder for any Instance of MaterialSublotTypes that are used to compose this material. These instances of MaterialSublotTypes can have any name, but they shall be referenced using the MadeUpOf reference and shall be of type MaterialSublotType or one of its subtypes.

MaterialDefinition is a material definition that is associated to this instance of MaterialLotType.

Status provides optional status information.

StorageLocation is the optional identification of the physical location of the material lot.

Quantity is the amount of material in this lot.

8.4.3.5 MaterialSublotType

The MaterialSublotType is a concrete ObjectType that can be used directly. It is a subtype of ISA95ObjectType defined in7.6.3.

This ObjectType indicates a specifically identified material Sublot. An instance of a MaterialSublotType may be tested by the execution of an instance of a MaterialTestSpecificationType. Instance of MaterialSublotType behave in the same manner as instances of MaterialLotType with regard to MaterialClassType definitions.

Table 78 - MaterialSublotType definition
Attribute Value
BrowseNameMaterialSublotType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ISA95ObjectType defined in 7.6.3.
HasISA95PropertyVariable<PropertyName>BaseDataTypeMaterialLotPropertyTypeOptionalPlaceholder
TestedByMaterialTestObject<TestSpecification>MaterialTestSpecificationTypeOptionalPlaceholder
AssembledFromLotObject<AssemblyLot>MaterialLotTypeOptionalPlaceholder
AssembledFromSublotObject<AssemblySubLot>MaterialSublotTypeOptionalPlaceholder
HasISA95AttributeVariableAssemblyTypeBaseDataTypeBaseDataTypeOptional
HasISA95AttributeVariableAssemblyRelationshipBaseDataTypeBaseDataTypeOptional
MadeUpOfMaterialSublotObject<Sublot>MaterialSublotTypeOptionalPlaceholder
DefinedByMaterialDefinitionObjectMaterialDefinitionMaterialDefinitionTypeOptional
HasISA95AttributeVariableStatusCDTIdentifierBaseDataVariableTypeOptional
HasISA95AttributeVariableStorageLocationCDTIdentifierBaseDataVariableTypeOptional
HasISA95AttributeVariableQuantityBaseDataTypeBaseDataVariableTypeOptional

<PropertyName> is a placeholder for instance of MaterialLotPropertyType. These properties can have any name but shall be referenced using the HasISA95Property reference and shall be of type MaterialLotPropertyType or a sub type of it

<TestSpecification> is a placeholder for any test specification that this instance of MaterialSublotType conforms to. These test specifications can have any name but shall be referenced using the TestedByMaterialTest Reference and shall be of type MaterialTestSpecificationType or a subtype of it

<AssemblyLot> is a placeholder for any instance of MaterialLotType that are used to compose this material. These MaterialLotType assemblies can have any name, but they shall be referenced using the AssembledFromLot reference and shall be of type MaterialLotType.

<AssemblySubLot> is a placeholder for any instances of MaterialSublotType that are used to compose this material. These MaterialSublotType assemblies can have any name, but they shall be referenced using the AssembledFromSublot reference and shall be of type MaterialSublotType.

AssemblyType is flag that indicates if this assembly is a physical or logical assembly. This property is optional on a MaterialSublotType, in that it is only on instances of MaterialSublotType that are being used as an assembly.

AssemblyRelationship is flag that indicates if this assembly is permanent or transient. This property is optional on an instance MaterialLotType, in that it is only on instances of MaterialSublotType that are being used as an assembly.

<Sublot> is a placeholder for any instance of MaterialSublotType that are used to compose this material. These instance of MaterialSublotType can have any name, but they shall be referenced using the MadeUpOfMaterialSublot reference and shall be of type MaterialSublotType or one of its subtypes.

MaterialDefinition is a material definition that is associated to this instance of MaterialLotType.

Status provides optional status information.

StorageLocation is the optional identification of the physical location of the material lot.

Quantity is the amount of material in this lot.