---
title: "15.1.3 Server Tag Configuration"
canonical: "https://manual.cimon.com/space/CCANVAS/4312432641/15.1.3%20Server%20Tag%20Configuration"
format: markdown
---
> Macro (toc)

Once a Data Server device has been created, you can add tags to the Device Tag tab. Any tags in this list will be hosted by the server.

Within the Device Tag tab, the address and other properties for each tag can be configured. These properties vary depending on the selected device.

> 📝 “Virtual (Runtime Only)” tags cannot be hosted using the data server feature, but “Virtual” tags can.

# <span style="color: #0747a6">**Modbus (TCP/RTU)**</span>

![image](media://ca4cca1b-0c62-4224-9913-879ca89a96bf)

![image](media://7425770e-96ad-4aa7-9d70-4d9f4bded5eb)

Modbus hosts data in four separate memory areas: 0, 1, 3, and 4. See [https://cimon.atlassian.net/wiki/spaces/CCANVAS/pages/4399300637/14.1.1.1.2.6+Modbus+TCP#Address-and-Function-Codes](https://cimon.atlassian.net/wiki/spaces/CCANVAS/pages/4399300637/14.1.1.1.2.6+Modbus+TCP#Address-and-Function-Codes) for more information on addressing.

Each hosted tag must be added to a specific memory area and assigned a register address. For example, a tag in memory area 4 with register address 1 would be accessed using the full address 400001.

Depending on the tag’s data type, a different range of addresses will be allocated.

Memory areas 0 and 1 contain one bit of data per address.

- BOOL tags take up 1 address each.

Memory areas 3 and 4 contain 16 bits of data per address.

- INT8, UINT8, INT16, and UINT16 tags take up 1 address each.
- INT32, UINT32, and REAL tags take up 2 addresses each.
- INT64, UINT64, and LREAL tags take up 4 addresses each.
- STRING tags take up one address for every 16 bits, rounded up.
  - For example, a typical UTF-8 STRING tag with max 25 characters would require 13 Modbus addresses:  
(8 bits per character) * (25 characters) / (16 bits per address) = 12.5 addresses

> 📝 Tags may not have overlapping address ranges within a given memory area. For example, if there is an INT32 tag at address 400001, you may not assign another tag at address 400002, but you may assign a tag at 400003.

# <span style="color: #0747a6">**MQTT JSON Publisher**</span>

![image](media://a8fcd88d-54a7-4934-9fc1-9ab3044d4f19)

![image](media://86f552e4-5884-44a8-84f5-ae5cd18eeb13)

The MQTT JSON Publisher device can be used both to publish (write) tag data to the broker and also to subscribe to (read) tag data from the broker.

Each tag in the MQTT server allows you to specify the following options:

|  |  |
| --- | --- |
| **Item** | **Description** |
| Access Type | Sets whether or not to subscribe to incoming publish messages from other clients.<br>- Publish/Subscribe: Clients can subscribe to (read) the tag and also publish (write) to the tag.
- Publish Only: Clients can only subscribe to (read) the tag. The Subscribe ID and Subscribe Topic properties will be ignored for the tag. |
| Publish ID | The identifier used when publishing tag data. If the tag identifier is not included in the publish payload format, then this property will be ignored.<br>Defaults to the tag path (tag group name/tag name). |
| Publish Topic | The MQTT topic to publish the tag message to.<br>Defaults to the tag path (tag group name/tag name). |
| Subscribe ID | The identifier used to identify the tag when subscribing to incoming messages. If the tag identifier is not included in the subscribe payload format, then this property will be ignored.<br>Defaults to the tag path (tag group name/tag name). |
| Subscribe Topic | The MQTT topic to listen to messages on.<br>This topic may include the wildcard characters `#` (multi-level) and `+` (single level). For example, the topic `#` will listen for matching messages on all topics. See [https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/](https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/) for more information.<br>Defaults to the tag path (tag group name/tag name). |

> 📝 In order for tags values to not overwrite each other, each tag’s ID or topic must be unique. This is affected by the payload format as well as the “Subscribe Tag Identifier Type” property.

# <span style="color: #0747a6">**OPC UA Server**</span>

![image](media://a6c997dc-c3b0-4fc8-8170-f9186c84c733)

![image](media://92465923-a3f3-479f-9097-aafea27ceb6b)

Each tag in the OPC UA Server device must have a unique browse name.

The address used by the client will be `ns=2;s=<server prefix>.<browse name>`. The server prefix will be `Tags` if the "Server Layout" property is set to "Basic", or `Tags.<device name>` if “Server Layout” is set to “Device”.

Example: for a tag with browse name “browseName“ and I/O device “deviceName“:

- If “Server Layout” is set to “Basic”, the address will be `ns=2;s=Tags.browseName`
- If “Server Layout is set to “Device”, the address will be `ns=2;s=Tags.deviceName.browseName`

|  |  |
| --- | --- |
| **Item** | **Description** |
| Browse Name | The browse name for the tag. This will be used as part of the OPC topic used by client devices, as explained above.<br>Defaults to the tag path (tag group name/tag name). |
| Allow Browse | Allows clients to discover the tag using the OPC UA browse feature. |
| Allow Read | Allows clients to read the current value of the tag. |
| Allow Write | Allows clients to write to the tag value. |