====OEE Example: Simple OEE Calculation==== In this example, we will calculate a rough **Overall Equipment Effectiveness** for one of our machines - **Bridle #1**. This will help point out where machines are either being under-utilised or failures are impacting on production and/or quality. ===Complexity=== Because OEE is more complex than some other metrics, this tutorial isn't quite as step-by-step as the previous examples. It's assumed that you know how to add a node and are familiar with some of the basic node types. If you're new to the visual analytic system, we suggest looking at the [[tutorials|tutorials]] for simpler modules, such as [[module_control|Control]] or [[module_pivot|Pivots]]. ===Available Information=== ^Asset^Property^Desc^ |Paint Line|Status - Painting|Has a value of **1** when painting, and **0** when stopped.| |Paint Line|Speed - Actual|The speed the machine is running| |Paint Line|Current - Field|The amount of power being used by Roller #2 on the machine| ===Initial Layout=== {{oee_trinity.png}} The key nodes are the three on the far-left. We need to provide logic for how the system can tell that the asset is... * Available (should be able to run if requested), * Running (actually running), and * Required (needed to run) ===Step 1: Available=== The first step is to choose the rule we will use to tell if the machine is //available//. This isn't always trivial, but you can often find a combination of points that provide the detail we need. In this case, we'll use **voltage** to tell if the machine is available. Since it should be ready to run whenever it's powered, this should be a good guide that the machine is available. You could also consider using //automation status// (ie. auto, manual, bypass etc.) if available. {{oee_basic_ava.png}} In this case, we've added a [[ardi_point|ARDI Point]] for the asset voltage, a [[basic_const|Constant Number]] for the minimum value, and a [[math_condition|Condition]] node to determine that the **voltage is greater than 10V**. ===Step 2: Running=== We can do something quite similar for //running// - the machine has speed sensor we can use to see if it's actually doing its job. So we'll use the same logic - if it's moving at more than 10m/min, we should count consider the machine **running**. {{oee_basic_run.png}} ===Step 3: Required=== Of all of the parts this analytic needs, **required** is the most complex, as it normally involves logic from other assets. In this case, Bridle #1 pulls the product out of two different machines - **Entry Uncoiler #1** and **Entry Uncoiler #2**. If //either// of these machines are running, we're required. Luckily, these assets have simple I/O points for if they're running or not. So this gives us.... {{oee_basic_req.png}} ===Analytic Complete=== And we're done - by pressing **Save and Visualise**, we can access a simple display of the OEE over the last {{oee_basic_final.png}} ===Further Refinement=== Right now, we don't do **any** compensation for outages that are beyond the control of the machine or the people who run it. If we had a scheduled outage to replace a motor, the OEE would drop severely - which we don't really want if we're //need// to have that outage for the good of the equipment. You can add additional logic to **Available** and **Required** to cater for other factors. For example... {{oee_basic_refined.png}} This logic checks to see if there are any 'Outage' events on the maintenance calendar at the moment - if so, the machine is considered both **unavailable** and **not required**. You could also tackle this further down-stream, by [[adding a new machine condition|adding a new machine condition]].