umati showcase specification

Logo

This provides the specification to connect to the umati showcase

View the Project on GitHub umati/Showcase

umati showcase information model for Plastics and Rubber machines OPC 40084-9

1. General

The namespace for the instances is manufacturer specific, e.g. http://samplemanufacturer.com/umati_sample_cutter_instance/

Table 2 shows the complete structure of the instance needed for the umati demonstrator. The demonstrator requires, that all mandatory elements of the Cutter_InterfaceType are existent, even if there are not displayed in the dashboard. If the value of a variable a not displayed, is can be filled with a static dummy value (e.g. empty string). All displayed values are highlighted in bold.

Important: Version 2.0 of OPC 40084-9 must be used which defines, that the instance of the Cutter_InterfaceType is located under the Machines folder defined by OPC UA for machinery and that the MachineIdentificationType (also defined in OPC UA for Machinery) is used for the identification.

Download: Compleate documentation umati showcase information model Plastics and Rubber

Table 1 – Namespaces used in this document

NamespaceURI Namespace Index Example
http://opcfoundation.org/UA/ 0 0:NodeVersion
http://opcfoundation.org/UA/DI/ 2 2:DeviceClass
http://opcfoundation.org/UA/PlasticsRubber/GeneralTypes/ 3 3:MachineInformationType
http://opcfoundation.org/UA/PlasticsRubber/Extrusion_v2/GeneralTypes/ 4 4:ExtrusionDeviceType
http://opcfoundation.org/UA/Machinery 5 5:MachineIdentificationType

The default namespace OPC 40084-9 is not listed since all BrowseNames without prefix use this default namespace.

Table 2 – Sample instance of OPC 40084-9

|BrowseName|Type|Example Value|Remarks| | - | :- | :- | :- | |Objects|||| | Machines|||| |  Cutter_<Manufacturer>_<SerialNumber>|Cutter_InterfaceType||| |   – 4:IsPresent|0:Boolean|true|1)| |   – 4:LineId|0:String|“Profile line 1”|1)| |   – 3:SupportedLogbookEvents|3:LogbookEventsEnumeration[]|empty array / NULL|1)| ||||| |    2:Identification|5:MachineIdentificationType||| |    – 2:ProductInstanceUri||“https://samplemanufacturer.com/Cutter1234”|1)| |    – 2:Manufacturer|0:LocalizedText|“Sample Manufacturer”|| |    – 2:Model|0:LocalizedText|“Cutter 3000”|2)| |    – 2:SerialNumber|0:String|“1234”|| |    – 2:DeviceClass|0:String|“Cutter”|| |    – 5:Location|0:String|“K 14 F42/N 51.260407 E 6.744588”|2), 3)| |    – ControllerName|0:String|“My Controller”|1)| ||||| |    6:MachineryBuildingBlocks|0:FolderType||| |     2:Identification|5:MachineIdentificationType|Reference to the instance Identification above|| |     2:MachineryItemState|4:ExtrusionMachineryItemState_
StateMachineType||| |     – CurrentState|0:LocalizedText|“Executing”|| |     – Id|0:NodeId|ns=4;i=5092|1)| |      4:ExtrusionExecutingSubState|4:ExtrusionExecutingSubState_
StateMachineType||1)| |      – CurrentState|0:LocalizedText|“ControlledRun”|1)| |      – Id|0:NodeId|ns=4;i=5070|1)| ||||| |     2:MachineryOperationMode|5:MachineryOperationMode
StateMachineType||| |     – CurrentState|0:LocalizedText|“Processing”|1)| |     – Id|0:NodeId|ns=5;i=5026|1)| ||||| |    CuttingProducts|||| |    – ActualCuttingProductId|0:String|“Profile42 400mm”|1)| |     CuttingProduct_1|CuttingProductType||| |     – Id|0:String|“Profile42 400mm”|| |     – Length|0:AnalogItemType à 0:Double|400|| |      – EngineeringUnits|0:EUInformation|<p>namespaceUri: “http://www.opcfoundation.org/UA/units/un/cefact”</p><p>unitId: 5066068</p><p>displayName: “mm”</p><p>description: “millimetre”</p>|| |     – SetOutput|0:UInt64|1000|1)| |     – ActualOutput|0:UInt64|100|1)| |     – TotalOutput|0:UInt64|100||

1) This variable is mandatory in the model but will not be displayed in the demonstrator 2) Not mandatory in OPC UA for Machinery but for this model and will be displayed in the demonstrator 3) See https://showcase.umati.org/Dashboard.html#location-of-fair-machine-and-software-icons-on-the-dashboard for rules for filling the location. 4) Container object is mandatory in the model, but no instances inside (besides Variable NodeVersion) needed.