A unified radial gauge that replaces CircularGauge, CenterValueGauge, and RangeCircularGauge for new projects.

ReferenceControlsGauge → RadialGauge


The RadialGauge visualizes data from field devices and processes using a circular display. It unifies the behaviors previously split across CircularGauge, CenterValueGauge, and RangeCircularGauge into a single configurable control with presets (Full, SemiCircle, CenterValue, BandedRange). It supports multiple pointer types (Needle, Range, Symbol), a configurable number of colored range bands with individual tag-bindable boundaries, an optional center value annotation, and an optional legend panel.

RadialGauge is 100% Tatsoft source code — no third-party UI library dependency — and runs natively on both Windows (WPF) and the web (HTML5 / WebAssembly).

Replaces three legacy gauges for new projects. RadialGauge supersedes CircularGauge, CenterValueGauge, and RangeCircularGauge. Existing displays continue to work unchanged — there is no automatic migration. Use RadialGauge for new work.


Requirements

This component is Portable. It runs both on Windows and on Web Pages hosted in any platform.


Presets

The Preset property seeds a self-consistent default configuration in a single click. After a preset is applied, every property it touched remains user-overridable.

PresetTypical use
FullClassic 270° circular gauge with a needle pointer. The default preset.
SemiCircleHalf-circle gauge (180° sweep) with a needle pointer. Fits in shallow layouts.
CenterValueCircular gauge with a range-style progress arc and the numeric value displayed in the center.
BandedRangeCircular gauge with three colored range bands (green / orange / red) seeded by default, a visible legend, and a needle pointer. Use for threshold-based visualizations.

Configuration

  1. Go to Displays / Draw.
  2. On the Components Panel, select Gauges, then RadialGauge.
  3. Click or drag-and-drop it on the Drawing area to use it.
  4. Double-click the object to open the configuration window.

Fields marked Static number or tag accept either a literal value or a tag/expression reference that is resolved at runtime. All other fields (notably color, font, and enum fields) are design-time settings and do not accept tag/expression bindings.

General

FieldDescription
PresetOne-click configuration template. Selecting a preset updates StartAngle, SweepAngle, PointerType, ShowCenterValue, and LegendVisible to a self-consistent default. Properties remain user-overridable afterward.

Header

FieldDescription
HeaderDefines the title of the gauge. Accepts a static string or a tag/expression (e.g., {Tag.Zone1/Name}) that is resolved at runtime.
Font SizeSets the font size for the header text.
Font FamilySets the font family for the header text.
AlignmentPosition of the header within the gauge: Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight. Uses a Grid-based layout so the header and gauge never overlap.
ColorForeground color of the header text.
LocalizeWhen the header is static text, marks it as localizable so it participates in translation.

Value

FieldDescription
Linked ValueTag or expression whose value the gauge indicates (e.g., @Tag.Motor1/Speed).
Min ValueScale minimum. Static number or tag.
Max ValueScale maximum. Static number or tag.

Geometry and Rim

FieldDescription
Start AngleStarting angle of the rim arc, in degrees. 0° points up (12 o'clock); angles increase clockwise.
Sweep AngleArc length in degrees. 360° draws a full circle.
Show RimToggle the visibility of the rim arc. When off, only ticks, labels, ranges, and pointer are drawn.
Rim ThicknessThickness of the rim arc stroke. Static number or tag.
Rim ColorColor of the rim arc stroke.

Scale

FieldDescription
Show TicksToggles the visibility of tick marks.
Show LabelsToggles the visibility of numeric labels on major ticks.
Major TicksNumber of major tick marks (clamped 2..15). Static number or tag.
Minor / IntervalNumber of minor ticks between two major ticks (clamped 0..10). Static number or tag.
Tick ColorColor of the tick marks.
Label PositionInside: labels render inside the rim. Outside: labels render outside the rim.
Label Font SizeFont size for the numeric tick labels.
Label Font FamilyFont family for the numeric tick labels.
Label FormatStandard .NET numeric format string (e.g., G, F2, N0, 0.00).

Pointer

FieldDescription
Pointer TypePrimary pointer style:
  • Needle: classic rotating needle from the gauge center to the current value.
  • Range: filled progress arc from the minimum up to the current value.
  • Symbol: small marker sliding along the rim at the current value.
Show Second NeedleWhen Pointer Type is Range or Symbol, also shows a needle overlay at the current value. Ignored when Pointer Type is Needle.
Pointer ThicknessThickness of the pointer stroke. Static number or tag.
Pointer ColorColor of the pointer.
Needle ShapeNeedle visual: Line (thin stroke), Triangle (wide base), Tapered (narrow base).
Knob ColorFill color of the center knob at the needle pivot.
Needle LengthFraction of the arc radius covered by the needle (0.1 to 1.0). Slider in the config dialog commits on release.

Center Value

FieldDescription
Show Center ValueDisplays the current numeric value in the center of the gauge. Automatically enabled by the CenterValue preset.
FormatStandard .NET numeric format string applied to the displayed value.
Font SizeFont size of the center value text.
Font FamilyFont family of the center value text.
ColorForeground color of the center value text.

Ranges

Each range is a colored band on the scale. Ranges are added via the Add Range button; each row's chevron expands to reveal the Offset and Rounded Corner advanced fields. Each range boundary (Start, End) accepts a static number or a tag, so ranges can move at runtime based on live setpoints.

FieldDescription
ShowToggle visibility of this range.
StartLower boundary. Static number or tag.
EndUpper boundary. Static number or tag.
ColorFill color of the range band.
ThicknessWidth of the band stroke.
LegendDisplay name shown in the Legend panel (when the legend is visible). Leave empty to omit from the legend.
OffsetRadial offset from the rim centerline. Positive pushes the band outward; negative pulls it inward. Useful for stacking multiple bands at different radii.
Rounded Corner0 for square end caps; greater than 0 for rounded end caps on the range band.

Legend

FieldDescription
Show LegendShow a legend panel listing the named ranges. Automatically enabled by the BandedRange preset.
ShapeSwatch shape: Circle, Diamond, Rectangle, Triangle.
PositionLegend panel placement relative to the gauge: Top, Bottom, Left, Right, Auto.

Runtime Execution

During runtime the RadialGauge reads its bound value and updates the pointer without redrawing the whole gauge on every tick, keeping the visual smooth on busy displays. Dynamic headers ({Tag.X}) resolve live from their bound tags. Per-range tag bindings allow range boundaries to move at runtime based on live setpoints or alarm limits. The RadialGauge runs in the same rendering model on both Windows and Web, so visuals match end-to-end.


See Also