Ignition OPC UA Modbus Reads: Diagnose Requests That Cross Register Gaps

Two Modbus points can each be readable while a request containing
both is invalid. An OPC UA gateway may optimize its device traffic by
grouping addresses, so the request reaching the controller can cover
more registers than the application explicitly uses.

For Ignition 8.1, inspect that device-side span before changing OPC
UA publishing intervals. This article uses the official 8.1 manual and
Modbus V1.1b3. The examples are proposed diagnostics, not captured
traffic or a tested driver configuration.

Follow the mapping
into the actual request

Ignition’s addressing
guide
describes Modbus-specific OPC Item Paths. A tag’s configured
path identifies the desired data, but it does not prove that every
device read will request only that one item.

The device-connection
documentation
defines Span Gaps as an optimization that includes
address gaps, exchanging fewer requests for more data per request. It
also supplies separate limits for holding and input registers per
request. Disabling multiple-register reads is a broader change than
disabling gap spanning.

Record the complete request observed through an approved diagnostic
facility: device or gateway route, function, starting PDU address,
quantity and response. Keep the configured OPC paths beside that record.
A screenshot showing two healthy tag definitions cannot establish what
the optimizer transmitted.

Two readable address islands and an unsupported middle region become one rejected request when combined.

Test an
address island, not an assumed continuous map

Consider a hypothetical device whose holding-register PDU offsets
100–103 and 120–123 are readable, while 104–119 are unsupported. A read
starting at 100 with quantity four stays inside the first region. A
separate read starting at 120 with quantity four stays inside the
second.

A combined request starting at 100 with quantity 24 includes both
regions and the sixteen intervening locations. The arithmetic is
inclusive: 100 through 123 contains 24 registers. This example describes
wire offsets, not numbers to paste into an Ignition path under an
unspecified addressing configuration.

Modbus
V1.1b3, sections 6.3 and 7
, defines Function 03 as a
contiguous-register read and identifies an invalid address-and-length
combination as a reason for Illegal Data Address. Thus a successful
narrow read does not establish that an enclosing range is valid.

Whether reserved addresses actually reject access is device-specific.
Some implementations return defined values there. Use the exact device
map and observed exception rather than assuming that every unused
application address is a forbidden protocol location.

Separate a hole from a
quantity limit

The protocol permits Function 03 quantities from one through 125.
That upper bound does not guarantee a particular device handles every
legal quantity. Ignition explicitly provides a maximum-register setting
for devices with smaller limits.

Use two discriminating comparisons. First, keep the request inside
one documented continuous region and vary its supported length. Second,
keep a modest quantity but move the span across the suspected hole.
These distinguish a length restriction from a map-boundary failure
without changing several driver settings simultaneously.

Do not conclude that a lower maximum repairs the map merely because
it changes grouping enough to hide the failure. A later tag addition
could create another combined request that crosses the same unsupported
region.

Make the grouping
decision observable

In an isolated configuration, compare the actual requests with gap
spanning enabled and disabled while keeping the required points
unchanged. Confirm which requests changed and whether the device
response explains the tag result. The documentation does not promise the
precise partition chosen by every driver build, so the diagram is a
diagnostic model rather than a packet schedule.

Measure the resulting request count and update behavior before
accepting a production setting. More requests may be the necessary cost
of respecting a discontinuous map; no throughput improvement is claimed
here.

The handover should identify the legal address regions, device
quantity limit and observed grouping. That explains why the OPC UA
values failed together and gives future tag changes a concrete
constraint to preserve.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *