Skip to content

oriolrius/opc-ua-demo-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPC-UA Demo Server

A YAML-configured OPC-UA server with a layered industrial signal simulator. Models actual process physics — not random noise:

plant state → process dynamics → sensor model → fault injection → OPC UA tags

Quick Start

Run directly without installing — requires only uv:

uvx --from git+https://github.com/oriolrius/opc-ua-demo-server opcua-server

Connect at opc.tcp://localhost:4840/opcua/server/

Usage

opcua-server                                  # bundled default plant
opcua-server --config my-plant.yaml           # custom config
opcua-server --dump-config > my-plant.yaml    # extract default config to customize
opcua-server --help                           # all options

Default Plant

The bundled config simulates a pump-fed tank system with 11 OPC UA nodes:

Objects/Plant/
  Machine/  State
  Pump/     Speed, Current, LinePressure
  Tank/     Level, InletFlow, OutletFlow
  Bearing/  Temperature, VibrationRMS
  Status/   QualityFlag, AlarmCode

See docs/default-plant.md for the full address space tree, node IDs, steady-state values, alarm thresholds, and fault scenarios.

Configuration

Everything is defined in a single YAML file — address space structure, process physics, sensor noise, fault injection, and alarms. No code changes needed to reshape the OPC UA tree or add variables.

See docs/configuration.md for the complete reference with examples.

Development

uv sync                         # install dependencies
uv run opcua-server             # run
uv run pytest tests/ -v         # test

About

YAML-configured OPC-UA demo server with simulated industrial sensor data (temperature, pressure, humidity, flow, vibration, counters). Supports sine, sawtooth, triangle, square, random walk, gaussian, counter signal generators with noise and clamp modifiers.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages