Dreamine.PLC.Core 1.0.1

dotnet add package Dreamine.PLC.Core --version 1.0.1
                    
NuGet\Install-Package Dreamine.PLC.Core -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.PLC.Core" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dreamine.PLC.Core" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Dreamine.PLC.Core" />
                    
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.PLC.Core --version 1.0.1
                    
#r "nuget: Dreamine.PLC.Core, 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.PLC.Core@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.PLC.Core&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Dreamine.PLC.Core&version=1.0.1
                    
Install as a Cake Tool

Dreamine.PLC.Core

Korean documentation

Core runtime utilities for Dreamine PLC communication.

This package provides vendor-neutral runtime components such as in-memory PLC simulation, common address parsing support, simulator server/client infrastructure, and shared logic used by protocol adapters and WPF diagnostics.

Features

  • InMemory PLC client
  • Shared PLC memory model
  • Dreamine TCP simulator server/client
  • Basic read/write command flow
  • Cross-PC simulator test support
  • Shared runtime utilities for PLC packages

Architecture

Dreamine.PLC.Wpf / SampleSmart
        ↓
Dreamine.PLC.Abstractions
        ↓
Dreamine.PLC.Core
        ↓
Protocol Adapters / Simulators

Dreamine.PLC.Core remains vendor-neutral. Mitsubishi MC and Omron FINS protocol details belong to their own packages.

Simulator protocol

The built-in Dreamine simulator is a simple text-based protocol used for diagnostics and framework validation.

Example command flow:

WRITE_WORDS D100 100,200,300,400
READ_WORDS D100 4
WRITE_BITS M10 1,0,1,0
READ_BITS M10 4

This simulator is not the Mitsubishi MC protocol and is not the Omron FINS protocol.

Mode matching rule

When testing PC-to-PC, the server mode and client mode must match.

SimulatorTcp ↔ SimulatorTcp
McTcp        ↔ McTcp
McUdp        ↔ McUdp
FinsTcp      ↔ FinsTcp
FinsUdp      ↔ FinsUdp

A SimulatorTcp server cannot communicate with an McTcp, McUdp, FinsTcp, or FinsUdp client.

PC-to-PC firewall requirement

For PC-to-PC tests, the server PC must allow the inbound port used by the selected protocol.

Example for port 55000:

New-NetFirewallRule -DisplayName "Dreamine PLC TCP 55000" -Direction Inbound -Protocol TCP -LocalPort 55000 -Action Allow
New-NetFirewallRule -DisplayName "Dreamine PLC UDP 55000" -Direction Inbound -Protocol UDP -LocalPort 55000 -Action Allow

Run PowerShell as Administrator. Without this firewall rule, local 1PC tests may pass while 2PC tests fail.

Physical PLC warning

The built-in simulator is for development and stress testing only.

  • 1ms polling is allowed only for simulator stress tests.
  • Do not use 1ms polling against physical PLCs.
  • Recommended physical PLC monitoring interval: 100ms to 500ms.
  • Recommended UI display refresh interval: 250ms to 1000ms.
  • PLC writes should be event-driven, not constant polling writes.

Validation status

Validated with:

  • 1PC Simulator TCP read/write and handshake
  • 2PC Simulator TCP read/write and handshake
  • Shared WPF monitor flow

Physical PLC testing is handled by each protocol package.

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 (6)

Showing the top 5 NuGet packages that depend on Dreamine.PLC.Core:

Package Downloads
Dreamine.PLC.FullKit

All-in-one meta package for Dreamine PLC libraries. Includes Abstractions, Core, Mitsubishi (MC/MxComponent), Omron (CxComponent/Fins), and WPF integration.

Dreamine.PLC.Omron.Fins

Omron FINS TCP/UDP PLC adapter for the Dreamine PLC package family.

Dreamine.PLC.Mitsubishi.MxComponent

Mitsubishi MX Component adapter for Dreamine PLC communication.

Dreamine.PLC.Mitsubishi.MC

Mitsubishi MC protocol adapter for Dreamine PLC communication.

Dreamine.PLC.Omron.CxComponent

Omron CX-Component adapter for Dreamine PLC communication.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 180 7/8/2026
1.0.0 172 7/8/2026