This provides the specification to connect to the umati showcase
In the following the umati showcase describes the additional information on top of the OPC 40501-1 UA for MachineTools companion specification.
Please refer to the provided XML-NodeSets, UaModeler-project or the Sample Server for exemplary implementation.
Normative NodeSet hosted by the OPC Foundation
UaModeler Project as a quick start ( Remark: You have to be an umati partner and added to the access list. (Contact: info@umati.org)
DISCLAIMER | For all applications the OPC UA server is to be configured without predefined NodeIds for the instances. Clients need to utilize the Services Browse and TranslateBrowsePathsToNodeIds to access nodes of interest. |
The identification for Machine Tools are inherited from the Machinery companion specification. To fill the demo dashboard machine page with the most content the variables marked with a strong mandatory should be provided if you like to look the machine identification nicely.
Attribute | Value | ||||
---|---|---|---|---|---|
BrowseName | MachineIdentificationType | ||||
IsAbstract | False | ||||
Description | Contains information about the identification and nameplate of a machine | ||||
References | NodeClass | BrowseName | DataType | TypeDefinition | Other |
Subtype of the 2:FunctionalGroupType defined in OPC 10000-100, i.e. inheriting the InstanceDeclarations of that Node. | |||||
0:HasProperty | Variable | 0:DefaultInstanceBrowseName | 0:QualifiedName | 0:PropertyType | |
0:HasInterface | ObjectType | IMachineVendorNameplateType | |||
0:HasInterface | ObjectType | IMachineTagNameplateType | |||
Applied from IMachineVendorNameplateType | |||||
0:HasProperty | Variable | 2:ProductInstanceUri | 0:String | 0:PropertyType | M, RO |
0:HasProperty | Variable | 2:Manufacturer | 0:LocalizedText | 0:PropertyType | M, RO |
0:HasProperty | Variable | 2:ManufacturerUri | 0:String | 0:PropertyType | O, RO |
0:HasProperty | Variable | 2:Model | 0:LocalizedText | 0:PropertyType | M, RO |
0:HasProperty | Variable | 2:ProductCode | 0:String | 0:PropertyType | M, RO |
0:HasProperty | Variable | 2:HardwareRevision | 0:String | 0:PropertyType | O, RO |
0:HasProperty | Variable | 2:SoftwareRevision | 0:String | 0:PropertyType | M, RO |
0:HasProperty | Variable | 2:DeviceClass | 0:String | 0:PropertyType | O, RO |
0:HasProperty | Variable | 2:SerialNumber | 0:String | 0:PropertyType | M, RO |
0:HasProperty | Variable | YearOfConstruction | UInt16 | 0:PropertyType | M, RO |
0:HasProperty | Variable | MonthOfConstruction | Byte | 0:PropertyType | O, RO |
0:HasProperty | Variable | InitialOperationDate | DateTime | 0:PropertyType | O, RO |
Applied from IMachineTagNameplateType | |||||
0:HasProperty | Variable | 2:AssetId | 0:String | 0:PropertyType | O, RW |
0:HasProperty | Variable | 2:ComponentName | 0:LocalizedText | 0:PropertyType | O, RW |
0:HasProperty | Variable | Location | 0:String | 0:PropertyType | M, RW |
The instance Location property is evaluated according to the special requirements detailed here to place a map icon for the machine.
Change the URI of the instance namespace (optional, but recommended)
http://www.<MANUFACTURERDOMAIN>/example
The rules for creating a URI can be found online. Please follow this link. In the case of a URL as a URI, it is not necessary that the site actually exists, it only identifies the machine uniquely. In order to simplify debugging it is recommended to choose a URI which allows an identification of the machine also for third persons, e.g. by including the company name.
For the status overview in the dashboard, the StateNumber of the ProductionActiveProgramType.State.CurrentState.Number is stored and plotted over time. The status bar does NOT relate to the stacklight status!
Each status is assigned to a color, the color scheme is here (subject to change):
State | Number | Color |
---|---|---|
Initializing | 0 | ⚪ Grey |
Running | 1 | 🟢 Green |
Ended | 2 | 🔵 Cyan |
Interrupted | 3 | 🟠 Orange |
Aborted | 4 | 🔴 Red |
Any other (unspecified) state | ⚫ Black |
A gap is left for periods of time in which no data was recorded (e.g. machine offline). An exemplary timeline is shown above.