Dreamine.IO.Fastech.Ethernet 1.0.1

dotnet add package Dreamine.IO.Fastech.Ethernet --version 1.0.1
                    
NuGet\Install-Package Dreamine.IO.Fastech.Ethernet -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dreamine.IO.Fastech.Ethernet" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dreamine.IO.Fastech.Ethernet" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Dreamine.IO.Fastech.Ethernet" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dreamine.IO.Fastech.Ethernet --version 1.0.1
                    
#r "nuget: Dreamine.IO.Fastech.Ethernet, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Dreamine.IO.Fastech.Ethernet@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Dreamine.IO.Fastech.Ethernet&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Dreamine.IO.Fastech.Ethernet&version=1.0.1
                    
Install as a Cake Tool

Dreamine.IO.Fastech.Ethernet

Korean documentation

Fastech Ethernet I/O adapter package for the Dreamine IO stack.

This package references only Dreamine.IO.Abstractions and .NET networking APIs. It does not redistribute Fastech SDK DLLs, vendor runtime DLLs, or vendor source code.

Current Scope

  • Fastech Ethernet connection options
  • UDP transport for Fastech Ezi-IO Plus-E communication
  • TCP transport scaffold for future protocol variants
  • IIoController implementation
  • Digital input/output channel wrappers
  • Analog input/output channel wrappers that currently report not-supported for the 16-point DIO protocol
  • IFastechEthernetIoProtocol injection point
  • Built-in FastechPlusE16PointProtocol for Ezi-IO Plus-E 16 DI / 16 DO

Implemented Hardware Protocol

The current real-hardware implementation targets Fastech Ezi-IO Plus-E 16-point digital I/O over UDP.

  • Transport: UDP
  • Default port: 3001
  • Header: 0xAA
  • Implemented commands:
    • 0x01 GetSlaveInfo probe
    • 0xC0 Read digital inputs
    • 0xC5 Read digital outputs
    • 0xC6 Write digital outputs
  • Channel numbering is zero-based: DI00/DO00 is channel 0.

The implementation was verified against physical hardware through SampleSmart. The device frame layout is handled inside FastechPlusE16PointProtocol; application code should use IoPoint.Channel values 0 through 15.

SampleSmart Verification

SampleSmart includes a Dreamine I/O sample page for a 16 DI / 16 DO Fastech device.

Recommended test flow:

  1. Set the PC wired NIC and the Fastech device to the same subnet.
  2. Enter the device IP and port 3001.
  3. Select Use Real UDP.
  4. Click Connect.
  5. Use Probe to confirm a raw UDP response.
  6. Use Read DI, Write DO, and Read DO to verify channel mapping.

The sample status line prints raw TX/RX frames. Keep this visible when adding a new Fastech model because model-specific byte mapping should be confirmed with real hardware.

Current Limitations

  • The built-in protocol currently covers the verified Ezi-IO Plus-E 16 DI / 16 DO model only.
  • Analog I/O is not implemented in this protocol.
  • A-contact/B-contact inversion, debounce, on-delay, off-delay, pulse output, and interlock logic are not implemented yet.
  • Signal conditioning should be added as a vendor-neutral layer above raw I/O channels, not inside this Fastech protocol class.
  • Additional Fastech models should be added as separate protocol implementations and verified with physical hardware.

Example

var options = new FastechEthernetIoOptions
{
    Host = "192.168.0.2",
    Port = 3001,
    TransportType = FastechEthernetIoTransportType.Udp,
    ReceiveTimeoutMs = 1000
};

await using var controller = new FastechEthernetIoController(options);
await controller.ConnectAsync();

var inputs = Enumerable
    .Range(0, 16)
    .Select(channel => new IoPoint(0, channel, $"DI{channel:00}"))
    .ToArray();

var readResult = await controller.DigitalInputs.ReadAsync(inputs);

Vendor Runtime Policy

This package does not include Fastech runtime DLLs. The current Ezi-IO Plus-E implementation uses direct UDP frames only. If a future adapter needs vendor-provided runtime files, keep that adapter in a separate package and require users to install the vendor software with the proper license.

License

MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Dreamine.IO.Fastech.Ethernet:

Package Downloads
Dreamine.IO.FullKit

All-in-one meta package for Dreamine IO libraries. Includes Abstractions and Fastech Ethernet adapter.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 131 7/8/2026
1.0.0 108 7/8/2026