# 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](/api.md). 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="/files/9whe50tDj5lv4qixJ1ou" 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/pages/MzQYfIK8rHiepfQp4mlm#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 %}

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.supercmms.com/predictive-maintenance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
