# Receiving values from EtherNet/IP

In this example we'll configure Clarity Gateway to receive a value from an EtherNet/IP tag, and drive an Iron Pi digital output with that value.

## Bulk mapping via the channels table

In the page for your EtherNet/IP connection, scroll down to the **Channels From EtherNet/IP** section. Click the **Show Detected** switch if it is not already on:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-cc9ac8c1a5c9fb6c62111c20a3e86f2695b8e8f7%2Flocalhost_50000_connections_10%20\(1\).png?alt=media)

All detected tags from EtherNet/IP will then appear in the table. In this example we'll be mapping the EtherNet/IP tag **Bool Tag 1** to the system tag **channel1**, which is configured as a digital output.

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-c1ebb942dfcd3346ffda0fc4fea1d153ea6b3f0f%2Flocalhost_50000_connections_10%20\(2\).png?alt=media)

First check the **Enabled** checkbox to enable this mapping:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-4ae9f3dd2d32001923aa60a931933dbd9dd9b820%2Flocalhost_50000_connections_10%20\(5\).png?alt=media)

Then enter the **System Tag** to send values to. In this example we'll use **channel1:**

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-e34057ef00a332ec50483e69a74d59de162d6d88%2Flocalhost_50000_connections_10%20\(6\).png?alt=media)

Finally, click **Save:**

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-8bc5afb359d8e7fbed13797750ca34c1706acdce%2Flocalhost_50000_connections_10%20\(7\).png?alt=media)

Once the mapping is applied, the arrow should change color from gray to blue to indicate that the mapping is active (the row may move to a different position)asdfa:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-cda34ca6a89ee3e94e6a2d7f9bdc3b8141cebe98%2Flocalhost_50000_connections_10%20\(8\).png?alt=media)

## Advanced mapping

For more options when mapping a channel, click the `+` icon in the **Channels To MQTT** section:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-7029b599fae96cfe7a1161e608619bbb47a0080a%2Flocalhost_50000_connections_8%20\(3\).png?alt=media)

This will take you to a separate **Create Channel** page. In that page, first enter the Clarity Gateway **System Tag** you would like to send to MQTT. In this example, we'll be using **channel1**, which is configured as a Local I/O analog input:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-ce870eb97415f70f30319f711956b6f3793c67fe%2Flocalhost_50000_connections_8%20\(4\).png?alt=media)

Optionally, you can enter a **Slope** and **Offset** to transform the values that get sent to MQTT. In this example we will enter **2** and **3**:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-ead1239836ca856935e35c7d5f182045523a4058%2Flocalhost_50000_connections_8%20\(6\).png?alt=media)

Finally, enter the **MQTT Tag** to send to and **Data Type** to use. In this example, we'll send values to **localio/channel1** as **Float**s:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-86420dbe6a98f48dfc010bdaa51dc13b46d36b4c%2Flocalhost_50000_connections_8%20\(7\).png?alt=media)

Finally, click **Save** to create the channel:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-5a9d55f05b336e569cb45e70e517681f5b034edf%2Flocalhost_50000_connections_8%20\(8\).png?alt=media)

Once the channel has been created, you will return to the connection page. The new channel should appear in the **Channels To MQTT** table. Notice how the system value is 9.68, and the value sent to MQTT is 2 \* 9.68 + 3 = 22.2:

![](https://1557066017-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSPy42kVbNL57hubF20gF%2Fuploads%2Fgit-blob-3b1377dd87d66b026f4c57c26870115810b7cd66%2Flocalhost_50000_connections_8%20\(11\).png?alt=media)

### Read / Write Channels

If you have a channel that comes from the device but occasionally needs to be set by a user or software action, you can make that From EtherNet/IP channel settable. Channels marked settable will still be read from the device on every scan cycle, and will be written to the device only when a user or software set action happens.

{% hint style="info" %}
Read / Write EtherNet/IP channels are available in Clarity Gateway version 5.6.0 and higher.
{% endhint %}
