ANY//DOCS
DEBack to site

Trace

The Trace tab captures OPC UA signal values at a fixed cycle and plots them in real time, similar to a scope. It is the right tool when a number in the Watch Table is not enough and you need to see how a signal changes over time — rising flanks, overshoot, oscillations or drift.

Opening the Trace Tab

Pick Trace in the main tab bar. Before you can record anything you need an active OPC UA session (connect via the OPC UA tab first).

Adding Signals

Use the signal sidebar on the left:

  • "+ Signal" opens the OPC UA browser so you can pick a tag from the PLC.
  • "+ Computed" adds a computed signal whose value is calculated from a formula over the other signals (see below).

Each signal has a checkbox to enable or disable it without removing it from the list, a color swatch, and a delete button.

Toolbar

Button Action
Start / Stop Start or stop the trace
Mode Continuous keeps the newest samples in a rolling window; Single trigger captures a fixed window around a trigger event
Cycle time How often the PLC is polled (100 ms, 200 ms, 500 ms, 1 s, 2 s, 5 s)
Window Time window shown in continuous mode (30 s up to 1 h)
Trigger Configure rising / falling / both edge with threshold plus pre- and post-samples
Auto-scale Toggle automatic y-axis fitting
Auto-reconnect If ON, the trace restarts automatically with the same signals after an OPC UA disconnect
Export CSV Write the recording to a CSV file

While a recording is running the signal list is read-only. Stop the trace to edit signals, add computed signals or change scaling.

Plot Interaction (after Stop)

Once a recording is stopped you can explore it with the plot toolbar. Three buttons set what a mouse drag on the plot does — only one is active at a time:

  • Cursor — the default. Drag to place and move the measurement cursors (see below).
  • Pan — drag to move the viewport left and right through the recording.
  • Rectangle zoom — drag a box to zoom into that region.

Alongside the mode buttons:

  • Zoom in / Zoom out — step zoom about the center.
  • 100 % — reset both axes to the full recording.
  • Fit — auto-fit the y-axis within the current time window.

The real-world start time of the recording is shown in the top-left corner of the plot (as HH:MM:SS.mmm), so you can relate the relative time axis back to the clock.

Overview Minimap

A compact overview of the whole recording appears as a strip beneath the main plot once you stop. Each signal is drawn there in miniature, and a shaded rectangle marks the slice of time you are currently looking at in the main plot.

Drag the rectangle to pan through the recording, or click anywhere on the strip to jump there — the rectangle keeps its width, so you stay at the same zoom level while you move. Zooming, fitting or resetting the main plot resizes the rectangle to match. The overview appears only on a stopped recording and hides again while a trace is running.

Dual Cursors

With Cursor mode active, click the plot to place cursor t1, click again to place cursor t2. Further clicks toggle which cursor moves. Drag either cursor to reposition it precisely. Hold Ctrl and click anywhere to clear both cursors.

The time difference Δt between the two cursors is displayed in the upper-right corner of the plot. Each cursor carries a small t1 / t2 badge at the top of the line, and the second cursor also shows the live Δt and ΔY right on the line as you drag it.

The toolbar has a Show measurement cursors toggle next to the export button. When you turn it on for the first time after stopping a recording, the cursors auto-place at 25 % and 75 % of the visible time so you see them immediately. Turning the toggle off hides the cursor lines and clears the Y(t1) / Y(t2) / ΔY columns in the signal table — the last cursor positions are remembered and reappear when you turn the toggle back on.

Signal Table (below the plot)

Every signal gets a row with the following editable columns: Name, Formula, Format (Decimal / Hex / Binary / Bool / Scientific), Line (Linear or Step), Min Y, Max Y and Scaling group. Click a signal's color dot to pick its curve color. Edits take effect live — no trace restart needed. The right-hand columns Y(t1), Y(t2) and ΔY show the interpolated signal values at the two cursors plus their difference, in the same display format as the signal.

The Line column controls how the signal is drawn on the stopped recording: Linear draws a straight line between samples, Step draws a rectangular waveform — which matches how a boolean or bit-style signal actually changes in the PLC. Switching a signal's format to Bool picks Step automatically. You can change the line style manually at any time and the choice is remembered across format changes.

Scaling Groups

Multiple signals can share a y-axis by putting them into the same scaling group:

  • Main — the primary left axis (default for new signals)
  • A / B / C / D — four shared right axes; every signal in the same letter group uses one common axis with a neutral scale label
  • Own — a dedicated right axis per signal, colored with the signal's own color

Example: put three temperature probes into group A to overlay them on one scale while pressure sits on its own axis.

Computed Signals (Formulas)

A computed signal has no PLC tag of its own. It is computed from the values of earlier signals in the list using a formula you type into the Formula column.

Syntax:

  • $0, $1, $2 … refer to signals by their position in the list (zero-based). A computed signal at position i can only reference signals before it ($0$(i-1)), which rules out circular references.
  • Basic arithmetic +, -, *, / and parentheses.
  • Built-in functions: abs, sqrt, sin, cos, tan, log, log10, exp, round, floor, ceil (one value each) and min(a, b), max(a, b), pow(a, b).
  • Two time-aware functions: deriv($i) returns the numerical derivative (yₙ − yₙ₋₁) / Δt, integ($i) returns the running integral (trapezoidal rule). Each takes a single signal reference and keeps its own state, so deriv($0) + deriv($1) works as expected. The state is reset every time you start a new trace.

Examples:

$0 + $1                 # sum of two signals
($0 + $1) / 2           # average
$0 - $1                 # difference
abs($0 - $1) * 2        # twice the absolute difference
deriv($0)               # numerical derivative
integ($0)               # numerical integral
$0 * 0.5 + 1.25         # gain + offset

Validation: The formula is checked while you type. An invalid formula paints a red border around the cell and shows the reason as a tooltip; the Start button stays disabled until every formula is valid again. A trace also needs at least one real (PLC) signal to start — a trace made up only of computed signals cannot record.

Finding a Signal

With many signals in the list, run Trace: Focus Signal… from the command palette. Pick a signal from the list and the signal table scrolls to its row and briefly highlights it, so you can find it at a glance.

Export

Click Export CSV to save the recording to disk. Every signal (source and computed) becomes a column, every sample a row. The first column holds the timestamp as a readable date and time, so the export opens cleanly in a spreadsheet or text editor.