This project is an implementation of the Platform Industrie 4.0 Asset Administration Shell (AAS) metamodel in OPC UA. It defines an open Information Model defining the main parts of the AAS metamodel. This Information is based on the version 2.1 of the AAS metamodel.
The project is still work in progress and all the main components already defined will be tracked in the table at the end of this document.
CoreAAS is implemented in node-opcua-coreaas, an extension of the OPC UA SDK for Node.js node-opcua.
For Industrie 4.0, an asset is any "object which has a value for an organization". Thus,assets in Industrie 4.0 can take almost any form, for example be a production system, a product, a software installation, intellectual properties or even human resources.
Assets shall have a logical representation in the "information world", for example shall be managed by IT-systems. Thus, an asset has to be precisely identified as an entity, shall have a "specific state within its life (at least a type or instance)", shall have communication capabilities, shall be represented by means of information and shall be able to provide technical functionality. This logical representation of an asset is called Administration Shell. The combination of asset and Administration Shell forms the so-called I4.0 Component.
You can look into metamodel using software like UAModeler from Unified Automation GmbH. The xml file in models folder can be easily imported in every OPC UA SDK allowing information model xml file to be imported.
More information are available on the wiki.
An implementation of CoreAAS is available here. It is an extension for node-opcua, an OPC UA Stack for Node.js.
The foundation of coreAAS is the AAS metamodel defined in this document.
The following table shows which AAS metamodel entities are already mapped in coreAAS metamodel.
Status legend: Implementation complete ✅
Not implemented ❌
Under construction 🚧
Unstable (incomplete or bugged)
AAS Metamodel Entity | Status |
---|---|
AssetAdministrationShell | ✅ |
Asset | ✅ |
Submodel | ✅ |
SubmodelElement | ✅ |
DataElement | ✅ |
Property | ✅ |
MultiLanguageProperty | ❌ |
Range | ✅ |
File | ✅ |
Blob | ❌ |
ReferenceElement | ✅ |
Capability | ✅ |
SubmodelElementCollection | ✅ |
RelationshipElement | ✅ |
Operation | ❌ |
OperationVariable | ❌ |
Event | ❌ |
Entity | ✅ |
View | ✅ |
ConceptDictionary | ✅ |
ConceptDescription | ✅ |
Reference | ✅ |
Key | ✅ |
DataSpecification | ✅ |
DataSpecificationContent | ✅ |
DataSpecificationIEC61360 | ✅ |