OEE for Heidenhain Controllers
This example gives a deeper insight of the techniques to create a generic information model (GIM).
The example is based on the HumanOS OEE templates, a generic information model for OEE calculations on tooling machines.
Step 1: Prepare Simulator
-
Select the program
TNC:\DEMO\CYCLES\drilling
and pres button [SELECT] -
Add two comment lines to the Heidenhain program.
- Line 1:
;PRODUCT: PLATE X
- Line 2:
;STEP: DRILLING
- Line 1:
Step 2: Use OEE Templates
-
Create a new project and add the Heidenhain OEE template.
The OEE Template contains several data processors
- Parsing of NC program header for product and process step
- Machine state processing
-
Deploy and Run HumanOS IoT Gateway
-
Go to UAExpert and check the OEE data nodes.
-
Go to the Simulator and start your Nc program
The MachineState changes from
320 Stopped Missing Personal
to200 Production
.
Step 3:
There are several correlation and data transformation processors defined at the end of the device information model.
Each of them is connected to a data node, either as an input or as an output value.
Rules must be applied to match the data nodes and processor its ports
- The property
PortMatchId
must be equal- The DataType must be equal
- The data node class
Event
must match with port typeEventPassing
orStream
must match withStreaming
-
Look at the processor
MachineStateProcessor
. There is a correlation logic in the simple predicate notation.Add a new production state
201
OperationMode == 4 and RunningState == 1 and CurrentProgram.Contains("drilling", StringComparison.OrdinalIgnoreCase) => 201
NOTEThe insert position is relevant, since the predicate logic is processed top-down
Where to you have to insert the line?
-
Select the processor
MachineStateNameProcessor
and add following lineInputMachineState == 201 => "Drilling"
Where to you have to insert the line?
-
Reapply the changes to your Heidenhain device
-
Deploy and Run HumanOS IoT Gateway. Check the new state in the UAExpert client.
Questions
-
Why is data processing recommended executed on a Gateway?
Answer
Correlations are used to create a generic information model and to reduce the data traffic to platforms
-
What are the input data nodes for OEE correlation in our device template.
Answer
Following inputs are defined of Heidenhain OEE:
- Available
- CurrentProgram
- OperationMode
- RunningState
- SpindleOverride
-
How are the processors
MachineStateProcessor
andMachineStateNameProcessor
linked?Answer
The output from MachineStateProcessor is linked through a "Link" node with the input from MachineStateNameProcessor.
The Node1 reference matches the name of the output port of MachineStateProcessor.
The Node2 reference matches the name of the input port of MachineStateNameProcessor
-
How can
ProductName
andProductionStep
be added to your NC Program? Are there other possibilities to get the product name and production step?Answer
The product name and production step are added as comments at the beginning of the NC program
Other possibilities are:
- Name of the Nc program matches the product name
- Keeping the data in an NC variable
- Asking the ERP (unsafe)
- Guessing
Further Information
- Specification HumanOS OEE Model
- Manual for Heidenhain Connector
- Manual for OPC-UA Server
Source Files
- Source files from Tutorial 2 OEE