# Predictive Maintenance

## Event Based Maintenance Schedules (EBMS).

You can generate work orders when certain event conditions are met. Like when temperature exceeds 200°C or when a vehicle completes every 10000 kilometers, and so on. &#x20;

EBMS requires integration of your IOT/Sensor/SCADA systems with the SuperCMMS [API](https://docs.supercmms.com/api). You use this API to push data from your systems to SuperCMMS Data-Warehouse. SuperCMMS scans this data in near-real-time and generates work orders when pre-defined event conditions are met.

<figure><img src="https://2104283223-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fg4Uj2T0C1fXAShOKZGyr%2Fuploads%2Fty4ae6W5v3VqVRJ0lHwq%2Fnew%20EBMS.png?alt=media&#x26;token=c2992d78-a441-4888-924c-e9c39041a398" alt=""><figcaption></figcaption></figure>

Here is a brief overview of the components of EBMS. Refer to the number in the image above and read the explanation below.

### **1. Field**

The '**Field**' is an attribute of an Asset or Sub-Asset or Part that needs to be monitored.&#x20;

For example, if you have '**Boiler**' as an asset, you can create a [custom field](https://docs.supercmms.com/assets.-sub-assets.-parts#id-1.-create-your-asset-model) called '**Temperature**'. You can continuously stream temperature data to SuperCMMS data warehouse using the API.&#x20;

<table data-full-width="false"><thead><tr><th>Asset</th><th>Field</th><th>Operator</th><th>Value</th></tr></thead><tbody><tr><td><strong>Boiler</strong></td><td><strong>Temperature</strong></td><td></td><td></td></tr></tbody></table>

### **2. Operator**

This is the mathematical action (condition) that is applied to data associated with the 'Field'. The following operators are available.

* \> Greater than&#x20;
* \>= Greater than or equal to&#x20;
* < Less than&#x20;
* <= Less than or equal to&#x20;
* \= Equal to&#x20;
* != Not equal to&#x20;
* %↑ percent increase&#x20;
* %↓ percent decrease&#x20;
* ↑ increases from previous value by&#x20;
* ↓ decreases from previous value by&#x20;
* ↑ counter value increases by&#x20;
* ↓ counter value decreases by

Lets say you want to monitor if '**Boiler Temperature**' meets or exceeds a certain value.  You select the operator **'>= Greater than or equal to'**.

Continuing our example, it's going to be ---> **Boiler : Temperature : >= Greater than or equal to**

<table data-full-width="false"><thead><tr><th>Asset</th><th>Field</th><th>Operator</th><th>Value</th></tr></thead><tbody><tr><td><strong>Boiler</strong></td><td><strong>Temperature</strong></td><td><strong>>= Greater than or equal to</strong></td><td></td></tr></tbody></table>

### 3. Value

This is the numerical value that needs to be met for a work order to be generated.

Continuing our example, it is now ---> **Boiler : Temperature : >= Greater than or equal to : 200°C**

<table data-full-width="false"><thead><tr><th>Asset</th><th>Field</th><th>Operator</th><th>Value</th></tr></thead><tbody><tr><td><strong>Boiler</strong></td><td><strong>Temperature</strong></td><td><strong>>= Greater than or equal to</strong></td><td><strong>200°C</strong></td></tr></tbody></table>

### 4. Title

The title of the work order.

### 5. Description

A description of the work order. Descriptions are automatically generated EBMS.

### 6. Checklist

Select a checklist that needs to be attached to the work order.

### 7. Assigned to

Select a team member to whom the work order needs to be assigned. These team members will receive email and push notifications whenever this work order is assigned or updated.

### 8. Priority

Select 'Urgent' or 'Normal'.

{% hint style="warning" %}
**IMPORTANT**: Only one work order is generated when a condition is met. Subsequent work order is generated only after the current work order is closed.
{% endhint %}

***

{% hint style="success" %}

### **Special Event Cases: Odometer / Meter / Counter**

Let's consider the following cases ...&#x20;

* a vehicle that need to be serviced every 10000 kilometers&#x20;
* a bearing that needs to be greased after every 100000 rotations&#x20;

In all such cases you must select the Operator "**↑ counter value increases by"**. EBMS remembers the last reading at which a work order was generated and generates the next work order whenever the Odometer / Meter / Counter value increments by your predefined value.
{% endhint %}

***
