# Signal configuration and connection

In the **OmniMES** system, the configuration of production signals was designed for maximum flexibility and compatibility with the diverse infrastructure of industrial plants. The system enables integration with single PLC controllers, HMI panels, as well as complex setups of many devices connected through communication gateways - provided that the data is transmitted over the **MQTT Sparkplug B** protocol.


---

## Prerequisites

To begin the signal configuration process, you need a list of described signals coming from the automation devices.

This data may come from the integrator, the automation engineer, the maintenance team, or may be known directly by the system user. The key elements are: the machine identifiers in the form of MQTT topics and tags.

For correct communication, the devices must first be configured to connect to the OmniMES data broker - you need to set the broker address, port, username and password.

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2RmMTUxNTFiLThmMzItNDVkNi1iZjE4LTZmZmZhNjg4ZGIwNy8yZjYxMjE3OC00MDA1LTQ4YTUtOGFkOS00ODExYTdmNzc2NzAvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQ0OTU2MDAsImV4cCI6MTc5NDU4MjAwMH0.-UUDIwzst8XduWtbmEymuRz1DuAUxGFFd9T6gwnboic " =1126x746")

*Example settings of the address, username and password for the Omnimes broker, based on the Weintek CMT G01 gateway and the EasyBuilder Pro software*

## Example based on the Weintek CMT G01 communication gateway

A sample gateway configuration is done using the **EasyBuilder Pro** tool, where in the network settings tab we define the access data to the OmniMES system broker. After the gateway connects to the broker correctly, you can verify it, e.g. using the **MQTT.fx (v1.7.1)** tool available in the FAQ tab.

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2RmMTUxNTFiLThmMzItNDVkNi1iZjE4LTZmZmZhNjg4ZGIwNy81ZTA2YjcxZC01NWNlLTRkOWUtYTU1OC03YTVkMDc3NDdkYjEvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQ0OTU2MDAsImV4cCI6MTc5NDU4MjAwMH0.--XF8Niy6cBEOMtitxgAZFDLs23vDlKpr-xyVflXG8Y " =797x631")

*Example settings of registers connected to the gateway from the PLC controller, based on the Weintek CMT G01 gateway and its EasyBuilder Pro software*

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2RmMTUxNTFiLThmMzItNDVkNi1iZjE4LTZmZmZhNjg4ZGIwNy9iNGM3OGViOS1mMGMwLTQzNGUtOGJkNC1mODllNDlkMGJjY2YvaW1hZ2UucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQ0OTU2MDAsImV4cCI6MTc5NDU4MjAwMH0.DUeFHQdtuz30Lpu6OU7c7FlTrR9t0DXXNwBlyCmBEHo " =1909x602")

*Example of a correctly configured CMT G01 gateway that has started broadcasting signals from the PLC controller(s) to the Omnimes system*

## System structure and creating a machine park

We start the configuration process by defining the machine park structure:

`Machine park  `

`├── Line 1    `

`├──── Machine A   `

`└──── Machine B  `

`└── Line 2      `

`├──── Machine A      `

`└──── Machine B `

*This is how a sample structure looks as a tree of the machine park infrastructure*


:::tip
Menu → System settings → Structure

:::

You configure the park structure in the **classic tree view** in the "Structure" tab:

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi8wNTNmNDNjNC0xNGVkLTRmMmQtYTQ0Yi1hNWU5MjEyYzU5MmMvMDFfcGFya2kucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQ0OTU2MDAsImV4cCI6MTc5NDU4MjAwMH0.lx1tQKeuAuprks7YGwx47ZreGKTetu3R-yyWnK9cHoc " =1680x950")

Once lines and machines are created, their configuration can be duplicated, which significantly speeds up the deployment of many workstations.

## Status configurator


:::tip
Menu → System settings → Status configurator

:::

**Status configurator** is the place where you assign signals (statuses) from devices to machines in the plant structure. The whole module fits on a single screen with tabs in two groups:

* **Statuses** - *Statuses* (list and adding), *Status profiles*, *Automatic detection*, *Import statuses via CSV*,
* **Other** - *Parameters*, *Aliases*, *Units*.

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi83ODVlMzgzOC0yZGE3LTQyMzMtYTEzYS1mMTViOWM3MTQzNmMvMDFfZ2xvd25hX3N0YXR1c3kucG5nIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQ0OTU2MDAsImV4cCI6MTc5NDU4MjAwMH0.dmyA3NUPhm5JDizHKh-pwMlutjWy04OS_oMv9QBOUas " =1680x1000")


:::info
Every change to statuses is **saved automatically** - there is no need to confirm the list manually.

:::

### Helper dictionaries (the "Other" group)

Before assigning signals, it is worth defining the dictionary elements:

* **Units** - e.g. pieces (pcs), kilowatt-hours (kWh), cubic metres (m³) - as needed,

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi9iMWIzYWQ3OC02OTQxLTRhMmUtYTYxMy00ZmVlYjE2MGIwODEvMDhfamVkbm9zdGtpLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0NDk1NjAwLCJleHAiOjE3OTQ1ODIwMDB9.RUAd0HV61RYkuRCA0ss3aQOFAdUvKshkLTA9S9sDY_8 " =1680x1000")

* **Aliases** - friendly tag names, used in further configuration,

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi9jNGJhNjIyOC0wNTc0LTQ5MGItOWM1Yy02MDQ1MTg3MzQ2MDUvMDdfYWxpYXN5LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0NDk1NjAwLCJleHAiOjE3OTQ1ODIwMDB9.1SohsOnahZdma6hvp8PEedFJAJ3DLn4zS8s6V2hc5jE " =1680x1000")

* **Parameters** - definitions of the **Event** type (e.g. failures, downtime, production - assigned to specific values) or the **Measurement** type (e.g. temperature, speed, power consumption - variable values).

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi9kNzUxYjAxZC1mZmRlLTQ5YjktOTM0MC1jZjMwZjQxZTBmODAvMDZfcGFyYW1ldHJ5LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0NDk1NjAwLCJleHAiOjE3OTQ1ODIwMDB9.QqOi3ZY5R5qXU5W-opq7wnh7z6eicQ-7ddv6pCN6CVg " =1680x1000")

### Status profiles

For parameters you create **profiles** that determine how a status is presented and behaves in the system:

* profile type: event / measurement,
* visual form: text, gauge, colours, icons, font size,
* hierarchy: a main status and sub-statuses (e.g. "Production" > "Number of pieces").

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi9mMWEyMTc0Ni1mZGIxLTRmZDYtOGMyYy1jODg4OTgzNmQ2ZDIvMDNfcHJvZmlsZS5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDQ5NTYwMCwiZXhwIjoxNzk0NTgyMDAwfQ.K5mMFiLoZ9u7rommrnaIHUmWc6ClxXsrmwmfiM0EtUY " =1680x1000")

### Adding statuses (signals)

In the **Statuses** tab three methods of entering signals are available:

**1. Manual adding** - the **Add** button opens a form with the fields:

* **Topic** - the full MQTT path identifying the signal source,
* **Tag** and **Tag value** - the marker's label and value,
* **Display name on monitoring** (optional),
* **Data type** - measurement or event,
* **Profile** - a previously defined status profile,
* **Machine park / Line / Machine** - the assignment to a place in the structure.

Statuses can also be **duplicated** and edited in bulk (the **Preview / Edit Multiple** toggle).

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi8wNGIyYmJhYy1iNWE1LTQ1NTktOGNlNy0yMTUwZGRjM2FkNzAvMDJfZG9kYWpfc3RhdHVzLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0NDk1NjAwLCJleHAiOjE3OTQ1ODIwMDB9.ZGzLckF7j_be1_yyuRIE8TRMdk7sYGBqf8IgsYYDljQ " =1680x1000")

**2. Automatic detection** - scans the signals broadcast by devices and lets you assign them to the structure in bulk.

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi83ZjU1Njg5MS1mMjI5LTQyYTAtYjNmNi1lNDllNWUwNjQ1ZDQvMDRfYXV0by5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDQ5NTYwMCwiZXhwIjoxNzk0NTgyMDAwfQ.1NPeN46K6R3AhoO874El-d7SBCbBesin6KvRW5zJiF8 " =1680x1000")

**3. Bulk import from a CSV file** - ideal for large deployments. After the import you assign a profile to each status.

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi82YThlNDRiMy0zYjY0LTQwYTItYjZlZC1hNDFiYjMyMmRkMjQvMDVfY3N2LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0NDk1NjAwLCJleHAiOjE3OTQ1ODIwMDB9.twTwmhmx962o27-7xtLzJTxUiDF9mvRwJBHx2dz-N1E " =1680x1000")

Example structure of a .csv file:

`spBv1.0/companyID/DDATA/machineID/Local HMI;MES/Machine6/HMI1/M_STATE;1;;Welding robot spBv1.0/companyID/DDATA/machineID/Local HMI;MES/Machine6/HMI1/CurrentPower[W];;;Welding robot`

### Preview, editing and the result on monitoring

The status list can be filtered (machine park, profile, tag name, date), exported (**Export**) and edited, duplicated and deleted. Every correctly configured status (e.g. a failure assigned to a machine with the "Failure" profile) is immediately presented in real time on the **Monitoring**:

 ![](https://docs.omnimes.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzLzRlMDdmZmNhLThmZjAtNDYxYy1iYjEyLTA2OTEyZGRiOGQzNi9hMTRmZDdhOC05ZWQzLTRhMzEtYWIzOC0xOTIwNDYwZGFlNmUvMDFfbW9uaXRvcmluZy5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDQ5NTYwMCwiZXhwIjoxNzk0NTgyMDAwfQ.AykKyDWiRSNrmEQmG1jSrzbkWf0gNKQkA4dlku9o2Wo " =1680x950")

## Summary

All configured statuses can be reviewed and filtered by machine park, line and machine; they can be edited and duplicated. Once the configuration is complete, the data is:

* saved in the OmniMES system database,
* presented in real time on monitoring,
* used to build dashboards, planograms and analytical reports.

---

**Documents**

- [OmniPlatform](https://docs.omnimes.com/s/cb8b19e0-ec6d-4e1a-8690-b0ddd67ad1cd/doc/omniplatform-7z9SIECi68)
- [Omnienergy](https://docs.omnimes.com/s/cb8b19e0-ec6d-4e1a-8690-b0ddd67ad1cd/doc/omnienergy-56aRDgnYFZ)
- [Omnimes](https://docs.omnimes.com/s/cb8b19e0-ec6d-4e1a-8690-b0ddd67ad1cd/doc/omnimes-eGDa0U5cyr)
- [FAQ](https://docs.omnimes.com/s/cb8b19e0-ec6d-4e1a-8690-b0ddd67ad1cd/doc/faq-IFQjCNYt1Q)
- [Cybersecurity & Compliance (CRA)](https://docs.omnimes.com/s/cb8b19e0-ec6d-4e1a-8690-b0ddd67ad1cd/doc/cybersecurity-compliance-cra-pPJBcC6sBf)