> For the complete documentation index, see [llms.txt](https://easyedge.gitbook.io/easyedge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://easyedge.gitbook.io/easyedge/connect-to-assets.md).

# Connect to Assets

EasyEdge allows you to connect to industrial devices—PLCs, sensors, meters, machines—through a wide range of supported industrial protocols. These devices are represented in EasyEdge as **Assets**, and each Asset is linked to an **Asset Driver** that understands how to communicate with it.

In this example, we’ll connect a **Modbus TCP Energy Meter** to demonstrate how Asset configuration works. This process can be adapted to any supported protocol.

{% hint style="info" %}
🎥 **Video Tutorial:**\
Watch the video below for a complete walkthrough of this example.
{% endhint %}

VIDEO TO BE ADDED

## Step-by-Step Example: Add a Modbus TCP Asset

### **1. Open the System Overview**

In **EasyEdge Studio**, go to your System and click **Add Asset**.

***

### **2. Choose the EdgeNode**

Select the EdgeNode where the Asset will be deployed.

{% hint style="info" %}
🌐 EasyEdge is a Cloud-First Industrial Edge Platform. You can manage all gateways centrally from a Unified Command Center and deploy Assets to any connected EdgeNode.
{% endhint %}

***

### **3. Choose the Asset Driver**

Select **Modbus RTU/TCP Client** from the list of available drivers. Each driver provides a template and communication logic for the industrial protocol.

***

### **4. Choose How to Create the Asset**

After selecting the **Modbus RTU/TCP Client** driver and the target **EdgeNode**, you’ll be prompted to choose how you want to create the Asset. EasyEdge offers multiple methods to simplify Asset creation depending on your workflow and available information.

<figure><img src="/files/U9RoOJqXDDMClkzLj7xj" alt=""><figcaption></figcaption></figure>

**Asset Creation Options**

**🗂️ Create from Library**\
Use an existing Asset Profile from your Library.\
This is the fastest way to create standardized Assets across multiple projects. It ensures consistency and reduces errors by reusing validated profiles.

{% hint style="info" %}
✅ Best for: fast deployment of known device types
{% endhint %}

**📎 Create with JiT Connector**\
Upload or link a device description file (e.g., `.csv`, `.xml`, `.xlsx`, `.pdf`) to automatically create the Asset. The JiT (Just-in-Time) Connector parses the file and automatically builds the Data Fields map.

{% hint style="info" %}
✅ Best for: importing device configurations exported from PLCs, meters, or third-party tools
{% endhint %}

**✍️ Create from Scratch**\
Manually define the Asset and all its tags field by field. This method gives you complete control over the configuration process.

{% hint style="info" %}
✅ Best for: engineering teams familiar with the device and protocol details
{% endhint %}

**📄 Create from Template**\
Upload a preformatted `.xlsx` template to create one or multiple Assets in bulk. This is ideal for setting up large numbers of devices at once.

{% hint style="info" %}
✅ Best for: bulk onboarding using structured data files
{% endhint %}

{% hint style="info" %}
💡 You can always save an Asset as an Asset Profile after creation to reuse it later from the Library.
{% endhint %}

***

### 5. Create the Asset from Scratch (example)

In this example, we’ll use the **Create from Scratch** method to manually define the Asset and its data fields.

This method gives full control over the configuration and is especially useful when:

* You're connecting to a new type of device
* No description files are available
* You want to validate communication step by step

#### **5.1 Name the Asset**

This step is common to all creation methods.

* Choose a clear and descriptive **Asset Name** (e.g., `EnergyMeter_01`)
* The name will appear throughout your project and in deployed configurations

<figure><img src="/files/MplAxJ84KSy82YJGoBpG" alt=""><figcaption></figcaption></figure>

#### **5.2 Configure Communication Settings**

Also common to all creation methods, this step defines how EasyEdge will communicate with the device.

For **Modbus TCP**, this typically includes:

* **IP Address** of the device (e.g., `192.168.1.100`)
* **Port** (default: `502`)
* **Polling Rate** (e.g., `1000 ms` for 1-second intervals)
* **Timeout** and **Retry** settings if needed

{% hint style="info" %}
🧩 Settings will vary depending on the protocol selected\
(e.g., COM Port and Baud Rate for Modbus RTU, Endpoint and Security for OPC UA)
{% endhint %}

<figure><img src="/files/WW5L0dPSe2WPuM1PaxNJ" alt=""><figcaption></figcaption></figure>

#### **5.3 Define Data Fields**

This step is specific to the **Create from Scratch** method.

In this step, you’ll manually define the **Data Fields** for the Asset. These represent the raw data blocks that EasyEdge will collect directly from the device, based on your protocol configuration—in this case, **Modbus TCP**.

Each Data Field includes low-level details required to access a specific value in the device memory.

For each Data Field, configure:

* **Name**: A readable label for the value (e.g., `PHASE VOLTAGE L1-N`)
* **Start Address**: The Modbus register address (e.g., `0x1002`)
* **Length**: Number of registers (e.g., `2` for 32-bit values)
* **Data Type**: Format of the value (e.g., `UINT32`)
* **Function Type**: The Modbus memory area (e.g., `Holding Register`)
* **Operation**: Typically `Read Only` for measurements
* **Status**: Set to `Enabled` if you want the data field to be actively read

You can add as many fields as needed to cover all required readings from your device.

<figure><img src="/files/9u8ir1Yfc3FP5AJQdgwI" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
💡 If using a Library, Template, or JiT Connector method, this step will be auto-filled.
{% endhint %}

***

### 6. Choose the Asset Modeling Method

Once you’ve defined the **Data Fields**, the next step is to define how those fields are used to build your **Asset Tags**.&#x20;

Each Tag can:

* Reference one or multiple Data Fields
* Apply transformations
* Be renamed, grouped, or structured to match a specific data model

<figure><img src="/files/2nv1I0EVzWpGqM3joDPr" alt=""><figcaption></figcaption></figure>

#### **Modeling Options**

**🚫 Do Not Process Data Fields**\
No Tags will be created automatically. You’ll need to manually create each Tag from scratch and use **Expressions** to bind them to one or more Data Fields.

{% hint style="info" %}
✅ Best for: Full control over tag logic, when advanced calculations or custom mappings are needed.
{% endhint %}

**🔁 1-to-1 Mapping**\
Creates one Tag per Data Field, with each Tag directly bound to its source Data Field.

* Tags are named automatically (based on the Data Field)
* You can later edit Tag names, expressions, or apply transformations

{% hint style="info" %}
✅ Best for: Quick modeling when the Data Fields already match your desired tag structure.
{% endhint %}

**🤖 AI Modeling**\
Let the EasyEdge AI Copilot build the Tag structure for you. It analyzes your Data Fields and creates a normalized set of Tags that conform to a selected **Data Model** from your Library.

* Reduces time spent on manual mapping
* Enforces data model consistency across sites
* Ideal for standardizing deployment at scale

{% hint style="info" %}
✅ Best for: Large-scale or standardized deployments using a predefined model.
{% endhint %}

***

### 7. Configure the Asset Tags

Once the Tag structure is created (automatically or manually), you can refine it to match your project’s logic, organization, and data delivery needs.

<figure><img src="/files/HCyzJg1hv72HcKTwYdcC" alt=""><figcaption></figcaption></figure>

#### **Asset Tag Configuration**

From the **Tags** view, you can:

* **Organize Tags in Folders**\
  Create a clean folder hierarchy within the Asset to group Tags by type, phase, signal type, etc.
* **Change Data Types**\
  You can change the data type of any Tag. EasyEdge’s **Data Integrity Engine** will automatically convert values at runtime with no loss or mismatch.
* **Enable External Write**\
  Activate this setting if a Tag should receive values from outside sources:
  * Another Asset (via Workflow)
  * An Application Connector
  * Remote control systems

This is essential for building closed-loop logic or issuing control signals from cloud platforms or edge logic.

<figure><img src="/files/WMEvnPcH4mhASDdny6tC" alt=""><figcaption></figcaption></figure>

#### **Tag Edit and Expression Configuration**

Clicking on a Tag opens the **Edit Tag** overlay where you can:

* Rename or reorganize the Tag
* Assign or edit its **Write Expressions** and **Usage Expressions**
* Apply calculations or transformations (e.g., scaling, conditional logic)

Expressions let you bind the Tag to a single or multiple Data Fields and apply math, logic, or formatting before the value is made available for use across EasyEdge.

{% hint style="info" %}
⚙️ Tags can feed into **Workflows**, be part of **Core Tags**, and be routed via **Data Streams** to any IT or Cloud destination.
{% endhint %}

***

### 8. Validate and Finish

You're almost done. The final step is to review your configuration and confirm the Asset setup.

#### **Summary Includes:**

* **EdgeNode**\
  The gateway where the Asset will be deployed
* **Asset Driver**\
  The protocol driver selected for this Asset (e.g., Modbus RTU/TCP)
* **Asset Details**
  * Asset name (e.g., `EnergyMeter_01`)
  * Number of Tags configured (e.g., `42`)

Once everything looks correct, click **Finish** to save the Asset.

The Asset is now ready to:

* Be monitored live from the EdgeNode
* Feed data into **Workflows**, **Core Tags**, and **Data Streams**
* Participate in any automation or transformation processes you configure next

{% hint style="info" %}
✅ You can now preview data values in real-time or continue engineering your project.
{% endhint %}

***
