# Data sources

A data source is a device or service that provides process data. In manufacturing, these are typically programmable logic controllers (PLCs), servers and middleware, sensors, or energy meters.

## What is a data source?

Every component of a production line is controlled by a controller. This controller reads sensor data, processes it, and controls the process. In doing so, thousands of data points are generated: temperatures, pressures, speeds, counter values, status messages.

ENLYZE connects to these controllers as data sources and selectively reads the relevant data points.

## Types of data sources

| Type                    | Description                                                              | Examples                                                     |
| ----------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------ |
| **PLC**                 | Controller that manages a machine or component                           | Siemens S7-1200, S7-1500, S7-300/400                         |
| **Server / Middleware** | Software or service that bundles and provides data from multiple sources | OPC-UA servers, manufacturer middleware (e.g. BOBST Connect) |
| **Sensor**              | Standalone measurement device with network connectivity                  | Temperature sensors, light barriers, Modbus TCP sensors      |
| **Energy meter**        | Measurement device for current, voltage, power                           | Janitza energy meters (Modbus)                               |

## How ENLYZE connects to data sources

ENLYZE uses the edge device Edge Device to connect to data sources on the machine network. The Edge Device communicates with controllers via industrial protocols such as S7+, OPC-UA, or Modbus TCP.

Each data source provides a large number of variables. A modern PLC often has 1,000 to 15,000 available data points. Typically, only the variables relevant to the specific use case are recorded.

{% hint style="info" %}
How to create and manage data sources in the platform is described under [Data sources](https://docs.enlyze.com/en/model/data-sources) in the Model section.
{% endhint %}

## Variable Discovery

With many protocols (S7+, OPC-UA, Beckhoff ADS), ENLYZE can automatically query the available variables from the data source. This process is called Variable Discovery. The discovered variables are registered in the platform and are available for selection.

With older protocols (S7 Classic, Modbus), automatic discovery is not possible. In these cases, variables are manually registered using project files or data sheets.

## Related topics

* [Variables & time series](https://docs.enlyze.com/en/concepts/understanding-machine-data/variables-and-time-series): What happens with the data from data sources.
* [Edge Device](https://docs.enlyze.com/en/connect/edge-device): How the edge device is installed and configured.
* [OT-Connectivity](https://docs.enlyze.com/en/connect/ot-connectivity): Which protocols are supported.
