All selected work

PLCWorkbench · Local 1.0 release

Make every scan explainable.

An offline logic simulator with explicit controller state, repeatable scans, and visible faults.

FocusWindows
ToolsC# · .NET · WPF
Status reviewedOctober 2026
Actual PLCWorkbench motor-starter sample paused after one 50 millisecond scan, with tags and rung states visible
PLCWorkbench 1.0.0 with the built-in motor-starter sample. Single Scan advanced simulated time by 50 ms while the controller remained paused. Captured October 20, 2026; offline simulation only.

The problem

When logic behaves unexpectedly, a changing input or an unclear execution order can make the problem difficult to reproduce. PLCWorkbench makes that order explicit, so a learner or developer can step through the behavior.

Decisions that matter

A deterministic scan

Inputs are sampled, logic executes in order, and simulated outputs are committed. Single-scan execution makes the same transition easier to inspect.

Separate controller states

Program, Run, Paused, and Faulted modes make the operating context visible. Restart behavior and retained values are deliberate parts of the model.

Inspect the reason, not just the result

Typed tags, timers, counters, forces, scenarios, watches, and traces help explain why a simulated output changed.

Follow the workflow

  1. Load the built-in motor-starter sample.
  2. Inspect the input and output tags.
  3. Run or pause and execute one scan.
  4. Use watches and traces to explain the change.

What is implemented

The project records an accepted local 1.0 release with bounded same-OS qualification. Its built-in motor-starter sample illustrates seal-in logic and a delayed ready output.

Scope and current limits

Offline vendor-neutral simulation only. No PLC device connection, vendor compatibility, or safety certification is claimed.

Discuss a role or project

Contact me about Windows development, industrial integration, or modernizing an existing application.