Skip to main content
Zeus[zjuːs] industrial host framework

Communication, protocols, polling, points, and UI binding handled by the framework.

Composable building blocks for industrial host applications.

  • Serial, TCP/UDP clients and servers, and virtual channels share the same IChannel API for simulation and field replacement
  • The host owns startup, shutdown, disposal, reconnects, and runtime channel/device changes
  • Custom framing, Modbus, Mitsubishi MC, Siemens S7, Omron FINS, Omron Host Link, Panasonic MEWTOCOL, EtherNet/IP, DL/T 645, IEC104, MQTT, OPC UA, and SNMP share one channel model
  • The point table supports periodic polling, alarm state, successful-sample history, and write-back by point name
  • WinForms and WPF adapters marshal updates to the UI thread and bind states, alarms, and write buttons
Supported surfacesConsoleWinFormsWPF.NET 8+
QuickStart.cs
await using var app = ZeusHost.Create(builder =>
{
    builder.AddVirtualChannel("meter");
});

var meter = app.Channels.Get("meter");
meter.DataReceived += (_, e) =>
{
    Console.WriteLine("Received: " +
        Encoding.UTF8.GetString(e.Data.Span));
};

await app.StartAsync();
await meter.WriteAsync("PING"u8.ToArray());
6channel types
13protocol families
0hardware required to simulate

Clear Modules · Ready to Use

Industrial host infrastructure split into focused modules

Each module owns one responsibility: channels move bytes, protocols interpret bytes, acquisition updates points, and UI adapters handle thread switching and binding.

Host Lifecycle

Centralized start, stop, disposal, restart, fault reconnects, and runtime channel/device changes.

Serial, TCP/UDP, and Virtual Channels

Serial ports, TCP/UDP clients and servers, and virtual channels share the same IChannel API.

Custom Framing

Handle headers, length fields, checksums, split packets, sticky packets, and response matching.

Modbus RTU / TCP / ASCII

Coils, registers, mask writes, multiple-register transactions, and diagnostics without hand-built CRC, MBAP, or LRC frames.

Mitsubishi MC

1E/3E/4E frames with Binary or ASCII encoding for X/Y/M bits and D/W/R/ZR word devices.

Siemens S7

S7 TCP handshakes and Read/Write Var access for DB/I/Q/M areas and common scalar types.

Omron FINS

FINS/UDP and FINS/TCP access to CIO/WR/HR/AR/DM/EM/TIM-CNT areas.

Omron Host Link

ASCII Host Link frames for CIO/LR/HR/AR/DM areas, with virtual PLC simulation.

Panasonic MEWTOCOL

ASCII MEWTOCOL-COM frames for DT/LD/FL and X/Y/R/L areas, with virtual PLC simulation.

EtherNet/IP CIP

Register Session, Read/Write Tag, and CIP attribute access for Allen-Bradley PLCs.

DL/T 645 Meters

DL/T 645-2007 electric meter BCD data items, raw data items, write data, and virtual meters.

IEC 60870-5-104

STARTDT, general interrogation, single commands, and common measured/setpoint values for telecontrol stations.

MQTT 3.1.1

QoS 0/1/2, subscriptions, retained messages, wills, keep-alive, reconnects, and a virtual broker.

OPC UA

opc.tcp, SecurityPolicy None, sessions, NodeId point maps, Value read/write, and a virtual server.

SNMP v2c

GET/SET, common variable types, OID point maps, write-back by point name, and a virtual agent.

Point Acquisition, Alarms, and Write-Back

Name device addresses as business points, poll them on an interval, and write writable points by name.

Point History and Desktop Binding

Bind current values, errors, alarms, successful-sample history, enabled states, and write-back buttons to the UI.

JSON Project Configuration

Declare channels, devices, protocol options, point maps, polling intervals, and writable points in zeus.json.

WinForms / WPF Adapters

Marshal received data, channel state, point snapshots, and control updates safely back to the UI thread.

Communication Tracing

Capture TX/RX raw packets to memory, files, or structured logs for field diagnostics.

Focused by Design

The framework owns the infrastructure layer

Traditional host applications often open serial ports, parse bytes, update controls, and release ports inside one window class. As the project grows, transport, protocol, points, UI threading, write-back, reconnects, and field configuration get tangled.

Zeus separates those responsibilities: the host owns lifecycle, channels move bytes, protocols interpret bytes, acquisition updates points, and adapters return to the UI thread. Your code focuses on the device workflow and presentation.

Zeus is not a low-code SCADA builder and does not ship charting, authorization, recipes, or reporting. It targets the infrastructure pieces that are most often reimplemented incorrectly.

Community · QQ Group

Join the Zeus user group

QQ group Zeus, number 771421105. You can discuss installation, serial ports, Modbus, Mitsubishi MC, Siemens S7, Omron FINS, Omron Host Link, Panasonic MEWTOCOL, EtherNet/IP, DL/T 645, IEC104, MQTT, OPC UA, SNMP, point write-back, and UI binding. Include the Zeus version, channel type, and full exception when asking questions.

Read Community Notes
Zeus QQ group QR code, group number 771421105
Scan with mobile QQ, or search 771421105