Zeus.Protocols.HostLink

Zeus Omron Host Link ASCII 客户端、设备封装与内存虚拟 PLC。


Keywords
allen-bradley, cip, dlt645, electric-meter, ethernet-ip, fins, host, host-link, iec-60870-5-104, iec104, industrial, mc, message-queue, mewtocol, mitsubishi, modbus, mqtt, mqtt311, omron, opc-ua, opcua, panasonic, s7, scada, serial, siemens, snmp, snmpv2c, tcp, udp, winforms, wpf, zeus
License
MIT
Install
Install-Package Zeus.Protocols.HostLink -Version 0.20.1

Documentation

Zeus

Zeus

NuGet Downloads .NET 8.0 License: MIT

From Olympus, orchestrating every device.

A .NET framework for industrial host applications.
Communications, protocols, acquisition, and lifecycle management are handled by the framework, while WinForms, WPF, or console apps can provide the UI.

Leave the complexity to Zeus, and keep the user experience simple.

English | 简体中文


✨ Features

  • 🔌 Channels — Serial, TCP, UDP client/server, and virtual channels through one consistent API
  • 📡 Protocols — Custom frames, Modbus RTU/TCP/ASCII, Mitsubishi MC 1E/3E/4E Binary/ASCII, Siemens S7 TCP, Omron FINS UDP/TCP, Omron Host Link ASCII, Panasonic MEWTOCOL-COM, Allen-Bradley EtherNet/IP CIP, DL/T 645-2007, IEC 60870-5-104, MQTT 3.1.1, OPC UA, and SNMP v2c, with virtual slave/PLC/meter/Broker/Server/Agent support
  • 📊 Acquisition — Define a point table once, poll on intervals, keep current snapshots, calculate alarm limits, and write writable points back by name
  • 🧭 Tracing — Channel-level TX/RX packet events, rolling in-memory records, builder.Logging, and AddCommunicationLogging structured logs
  • 🖥️ Desktop UI — WinForms binds controls directly; WPF uses MVVM binding sources with Dispatcher marshaling
  • 🧾 JSON configuration — Change ports and unit ids in the field without recompiling; protocol settings live under options
  • 🧪 Hardware optional at first — Virtual channels use the same programming model as real devices

🚀 Quick Start

await using var app = ZeusHost.Create(builder =>
{
    builder.AddVirtualChannel("meter");
    // With hardware: builder.AddSerialPort("meter", "COM3", 115200);
});

await app.StartAsync();
var meter = app.Channels.Get("meter");
meter.DataReceived += (_, e) => { /* hand data to the UI */ };
await meter.WriteAsync("PING"u8.ToArray());

Desktop apps keep the same channel declaration, but the UI layer follows each framework's native pattern:

// WinForms: bind controls directly.
var winFormsAttachment = this.AttachZeus(builder => builder.AddVirtualChannel("meter"));
var meter = winFormsAttachment.Host.Channels.Get("meter");
meter.BindText(echoLabel);
winFormsAttachment.Host.Points.BindText("temperature", temperatureLabel);

// WPF: bind XAML to a ViewModel.
var wpfAttachment = this.AttachZeus(builder => builder.AddVirtualChannel("meter"));
DataContext = new MainViewModel(wpfAttachment.Host, WpfUiDispatcher.Current());

📦 Assemblies

Package Purpose
Zeus.Abstractions Contracts for channels, devices, points, and hosting
Zeus.Runtime Runtime core
Zeus.Hosting Host and acquisition loop
Zeus.Communications Serial / TCP / UDP / virtual channels
Zeus.Protocols.Framing Custom frames
Zeus.Protocols.Modbus Modbus RTU / TCP / ASCII
Zeus.Protocols.Mc Mitsubishi MC
Zeus.Protocols.S7 Siemens S7
Zeus.Protocols.Fins Omron FINS
Zeus.Protocols.HostLink Omron Host Link
Zeus.Protocols.Mewtocol Panasonic MEWTOCOL
Zeus.Protocols.EtherNetIp Allen-Bradley EtherNet/IP
Zeus.Protocols.Dlt645 DL/T 645-2007
Zeus.Protocols.Iec104 IEC 60870-5-104
Zeus.Protocols.Mqtt MQTT 3.1.1
Zeus.Protocols.OpcUa OPC UA
Zeus.Protocols.Snmp SNMP v2c
Zeus.Configuration JSON project configuration
Zeus.Presentation.Abstractions UI-independent binding
Zeus.Presentation.WinForms WinForms control binding
Zeus.Presentation.Wpf WPF MVVM binding sources and Dispatcher marshaling

Join QQ group 771421105 to talk with other users. The QR code is available on the documentation Community page.

Support Zeus

If Zeus helps your project, you can sponsor it through the documentation Support Zeus page or Afdian. Enterprise support is also available by direct discussion. Regular sponsorship supports open-source maintenance; protocol adapters, on-site commissioning, and project integration should be discussed separately.

📄 License

MIT