MergenHub Envest
Home/Docs/Modules

Channels, devices and tags

The project hierarchy, scan rates and scan modes, scaling, tag groups, addressing helpers, tag generation.

The project is a three-level tree: channel → device → tag. Everything else (alarms, log groups, virtual tags, screens) refers to tags by their full path Channel.Device.Tag.

Connectivity — channel list, device tree and the live tag table
Connectivity — channel list, device tree and the live tag table

Channels

A channel is one driver instance with its transport settings. Create one per physical connection:

Driver familyOne channel per…
Modbus TCP, S7, OMRON, DNP3, IEC 104, IEC 61850, OPC UA clientnetwork segment or group of devices you want isolated
Modbus RTU/ASCIIserial port (COM1, COM2 …) or Ethernet-encapsulation gateway
MQTTbroker connection
Simulatoras many as you like

Channel settings include network adapter binding, connection/request timeouts, retry count, inter-request delay and the driver-specific options (e.g. Modbus block size, S7 PDU size). Channels are isolated: a device that stops answering never slows down devices on another channel.

Devices

A device is one PLC, RTU, IED, meter or broker topic set. Key settings:

  • ID / address — IP:port and unit ID (Modbus), IP + rack/slot (S7), IED address (61850), station addresses (DNP3/104), topic root (MQTT).
  • Scan rate — how often the device is polled (ms). Tags inherit it unless they override.
  • Scan moderespect client rate (OPC UA subscribers can request faster/slower), fixed, or client-driven.
  • Timeouts and retries — after the configured failures the device is marked Bad and retried with back-off; it recovers automatically.
  • Demand-driven scanning — a device is polled only while some consumer needs its tags; idle devices are left alone (saves bandwidth on GSM/radio links).
  • Diagnostics — hex request/response trace, counters, last error.
  • Copy — duplicates a device with all tags (addresses can be shifted).
Settings › Services shows every channel worker and its health at a glance
Settings › Services shows every channel worker and its health at a glance

Tags

A tag maps an address in the device to a typed value:

FieldMeaning
Nameunique inside the device; used in OPC UA node ids and REST paths
Addressdriver-specific (40001, DB10.DBD24, D100, ns=2;s=…, AI:3, IOA 1001, LD0/MMXU1.TotW.mag.f, plant/line1/temp) — the ? shows the formats
Data typeBoolean, Byte, Short, Word, Long, DWord, LLong, QWord, Float, Double, String, Date, BCD/LBCD, arrays where the driver supports them
Read/Writeread-only or read/write (writes go to the device immediately and are audited)
Scalinglinear or square-root scaling with raw/scaled ranges and clamping; writes are un-scaled
Scan rateoptional override of the device rate
Description / unitshown in OPC UA (Description, EngineeringUnits) and the UI

Tag groups organise large devices into folders and appear as OPC UA folders.

Creating many tags at once

  • Generate tags — from an address range (start, count, step, naming pattern).
  • Online browse — reads the tag list from the device: OPC UA servers, IEC 61850 (SCL/ICD import or live GVA walk), DNP3 integrity poll, IEC 104 general interrogation, OMRON NJ/NX symbols, MQTT topic discovery with JSON pointers.
  • Import — Kepware or MergenHub JSON exports; CSV via the tag table's import button.

Quality and timestamps

Every value carries an OPC quality: Good, Bad (device unreachable, error, or trial window expired), Uncertain (stale/cached). Both the source timestamp (device time when available) and the server timestamp are kept and exposed over OPC UA.

Aliases

Extensions › Aliases let you publish a tag under a second, friendlier name (for example Plant.Intake.Flow instead of Modbus_1.RTU_3.AI_40011). Aliases appear in OPC UA and REST like normal tags.

System tags

Each device has _System tags (_Error, _NoError, _LastRead, _SuccessfulReads, _Enabled …) that report communication health and can be logged or alarmed like any tag. _Enabled can be written to pause a device.