Virtual PLC

Run PLC logic on standard industrial hardware alongside your SCADA, historian, and AI.

PLC control on the hardware you choose.

Run IEC programs on supported industrial computers and manage them from the same Control Seat workspace as the rest of your operation.

  • Flexible hardware: use a supported Linux IPC or a preconfigured Control Seat FR202.
  • Managed deployment: publish reviewed versions and return to a known-good release from one workspace.
  • Connected by design: use the same tags across control, SCADA, history, and AI.
ONE INDUSTRIAL COMPUTERLine 1 PLCPackaging PLCUtilities PLCControl Seat

Connect control logic to the field through tags.

Programs read and write ordinary Control Seat tags. Map each tag to local I/O or a supported protocol without putting device addresses inside your logic.

  • Reusable logic: program against tag names instead of protocol addresses.
  • Flexible I/O: change a tag's connection without rewriting the program.
  • Shared data: use the same tags in PLC logic, SCADA, trends, and alarms.
LOGICTAGSFIELDControl programtag 1tag 2tag 3GPIOModbusMQTT

Connect field devices and existing plant systems.

Bring device data into Control Seat through supported protocols, then share selected tags with your existing SCADA and HMI systems.

  • Field connections: connect local I/O, Modbus TCP/RTU, OPC UA, and MQTT.
  • Plant access: share selected tags through Modbus TCP or Siemens S7.
  • Remote access: Control Seat uses an encrypted outbound connection, so cloud access requires no inbound internet port or port forwarding.
GPIOModbus TCPModbus RTUOPC UAMQTTRuntimeModbus TCP serverSiemens S7 serverto existing SCADA / HMI

Bring your own hardware, or start with ours.

Production runtimes install directly on 64-bit x86 or ARM Linux with systemd 249 or newer. Debian, Ubuntu, and Raspberry Pi OS use our DEB package. RHEL, Rocky Linux, and Fedora use our x86-64 RPM package. Local hardware I/O also requires a supported hardware profile. Or choose our preconfigured FR202, ready for secure enrollment into your workspace. Review the Linux runtime requirements before using your own hardware.

Preconfigured industrial controller

Control Seat FR202

One DIN-rail system for PLC control, local I/O, and edge data collection, configured around the exact hardware and operating system we qualify in-house.

Configured by Control SeatUbuntu Server 22.04 LTS for FR200

Control Seat runtime, FR202 hardware profile, signed updates, and recovery setup. Customer credentials are created during secure enrollment, never preloaded on the device.

System specification

Compute
Raspberry Pi CM4 · 8 GB RAM · 32 GB eMMC · Wi-Fi
Industrial storage
128 GB SATA III M.2 2280 B+M SSD · power-loss protection · −40 to 85°C
Managed local I/O
16 digital inputs · 16 digital outputs
Plant connectivity
Dual 1 GbE · RS-232/422/485 · dual-band Wi-Fi · PoE power input

Included with every system

  • FR202 display kit
  • Wide-temperature TPM 2.0 module
  • Dual-band terminal Wi-Fi antenna
  • 60 W, 12 V / 5 A power adapter and North American cord
  • Two OnLogic DIN-rail mounting clips
  • Power, serial, and I/O terminal blocks
  • Standard OnLogic assembly and two-year hardware warranty

Final hardware availability, lead time, and regulatory configuration are confirmed with each quote.

Bring your own supported Linux IPC or use the FR202; programming, deployment, and monitoring work the same way. Before a pilot, review supported I/O, timing and fault behavior, and how to keep safety independent.

Fast enough to leave room for everything else.

We ran Control Seat and the official CODESYS Linux ARM64 runtime on the same OnLogic FR202. Our native compiled engine came out ahead on nine of ten IEC workloads, including both PI-style control-loop tests. Speed isn't the point on its own; the headroom it buys is.

  • Ahead on nine of ten: Boolean logic, integer and floating-point math, timers, counters, and realistic control loops.
  • Predictable math: the same program uses reproducible arithmetic across supported targets.
  • See for yourself: the full method and results are in Building a Faster Virtual PLC.
Same-device benchmark

Control Seat led 9 of 10 workloads

9/10

Both compiled engines ran on the same OnLogic FR202. Lower execution time is faster.

9 / 10Workloads won
5.3×Control loops · 100
Same FR202Test hardware
Winner's advantageLog scale · exact ratio shown
Full resultsMedian nanoseconds · lower is faster
WorkloadControl SeatCODESYSWinner
Boolean logic · 100122.2463.0Control Seat 3.8×
Boolean logic · 1,0001,215.04,364.5Control Seat 3.6×
Integer math · 100402.23,149.0Control Seat 7.8×
Integer math · 1,00017,992.116,838.0CODESYS 1.1×
Floating point · 100599.61,931.5Control Seat 3.2×
Floating point · 1,0005,362.313,273.5Control Seat 2.5×
Timers · 50132.67,963.5Control Seat 60.0×
Counters · 50132.81,631.0Control Seat 12.3×
Control loops · 1087.5510.0Control Seat 5.8×
Control loops · 100877.44,640.0Control Seat 5.3×

Official CODESYS Control for Linux ARM64 SL 4.21.0.0 and the Control Seat native compiled engine, measured on the same FR202. This compares IEC program execution, not I/O latency, scheduler jitter, motion, or safety certification.

The timer row repeatedly starts and resets timer blocks; it does not measure a real elapsed delay. Treat its 60× result as a specialized workload, not an expected production speedup. Across the other eight workloads, Control Seat's geometric-mean lead was 3.5×.

Download the reproduction kit or read the methodology.

A faster engine gives the rest of the system room to breathe.

A PLC runs the same program on a fixed cycle, over and over. Every microsecond it doesn't spend on control logic is a microsecond left for everything else, and that headroom is worth real things.

Predictable timing

Control Seat checks that a program fits its configured task before deployment and reports scan tails and missed cycles while it runs.

Room to run

Logging, live values, traces, communications, and diagnostics all have room to run without crowding your logic.

More per box

A leaner engine leaves more capacity for larger programs, additional controllers, and platform services.

Same program, same result, every time.

A controller is only trustworthy if its rules stay consistent. Every scan follows the same defined sequence, and arithmetic remains reproducible across supported targets.

  • Cycle after cycle: every scan follows the same defined sequence. A late cycle is counted and resynced, never replayed in a burst against stale inputs.
  • Machine to machine: reproducible arithmetic across supported processors, without target-specific shortcuts.
  • Measured, not asserted: the runtime reports p99.9 and worst-case scan time along with every missed cycle, so you judge timing on the tail instead of an average.
12345deadlinecontrol logicheadroom for everything else

Control, visualize, and understand in one place.

The Virtual PLC isn't a bolt-on. The tags it controls are the very same tags you trend, alarm, automate, and ask questions about, so nothing sits between your logic and everything you do with it.

SCADA & HMI

Build the dashboards and screens your operators run on, straight over the tags the controller drives.

Historian & trends

Every controlled value is logged and ready to trend, forecast, and analyze, with no extra plumbing.

AI & automation

Ask about the process in plain language, and run flows for alarms and scheduled logic around the clock.

Built to run
serious operations

Dedicated supportOn-premiseSSO & SCIM
Role-based accessAudit logsSigned deploymentsSLA guaranteeCustom integrationsPriority support
Ready for scale?Book a demo

See it on your own hardware.

Tell us what you run today and what you want to control. We'll show you how the Control Seat Virtual PLC fits alongside the systems you already have.

Request access
Request a demo