Skip to main content
Version: 2.7

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

  1. Select the program TNC:\DEMO\CYCLES\drilling and pres button [SELECT]

    Program Select

  2. Add two comment lines to the Heidenhain program.

    • Line 1: ;PRODUCT: PLATE X
    • Line 2: ;STEP: DRILLING

    Program Select

Step 2: Use OEE Templates

  1. Create a new project and add the Heidenhain OEE template.

    Add OEE Template

    The OEE Template contains several data processors

    • Parsing of NC program header for product and process step
    • Machine state processing

    Add OEE Template

  2. Deploy and Run HumanOS IoT Gateway

  3. Go to UAExpert and check the OEE data nodes.

    OEE Data

  4. Go to the Simulator and start your Nc program

    The MachineState changes from 320 Stopped Missing Personal to 200 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.

NOTE

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 type EventPassing or Stream must match with Streaming
  1. 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
    NOTE

    The insert position is relevant, since the predicate logic is processed top-down

    Where to you have to insert the line?

  2. Select the processor MachineStateNameProcessor and add following line

    InputMachineState == 201 => "Drilling"

    Where to you have to insert the line?

  3. Reapply the changes to your Heidenhain device

  4. Deploy and Run HumanOS IoT Gateway. Check the new state in the UAExpert client.

    OEE Data

Questions

  1. 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


  2. 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

  3. How are the processors MachineStateProcessor and MachineStateNameProcessor 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


  4. How can ProductName and ProductionStep 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

Source Files