SampleSmart 1.0.0.0
SampleSmart 사용 방법을 보여 주는 예제 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.PLC Package Family

Dreamine PLC is a modular PLC communication package family for C#/.NET industrial automation applications.

Packages

Package Purpose Status
Dreamine.PLC.Abstractions Common PLC contracts Ready
Dreamine.PLC.Core InMemory client and shared simulator runtime Ready
Dreamine.PLC.Wpf WPF diagnostic monitor Ready
Dreamine.PLC.Mitsubishi.MC Mitsubishi MC TCP/UDP adapter and simulator Simulator validated
Dreamine.PLC.Omron.Fins Omron FINS TCP/UDP adapter and simulator Simulator validated
Dreamine.PLC.Mitsubishi.MxComponent MX Component late-bound COM adapter Vendor runtime required
Dreamine.PLC.Omron.CxComponent CX-Compolet late-bound COM adapter Vendor runtime required

Current validation status

Validated:

  • 1PC Simulator TCP read/write and handshake
  • 2PC Simulator TCP read/write and handshake
  • 1PC Mitsubishi MC TCP read/write and handshake
  • 2PC Mitsubishi MC TCP read/write and handshake
  • 1PC Mitsubishi MC UDP read/write and handshake
  • 2PC Mitsubishi MC UDP read/write and handshake
  • 1PC Omron FINS TCP read/write and handshake
  • 2PC Omron FINS TCP read/write and handshake
  • 1PC Omron FINS UDP read/write and handshake
  • 2PC Omron FINS UDP read/write and handshake
  • WPF monitor integration

Pending:

  • Physical Mitsubishi PLC test
  • Physical Omron PLC test
  • Field-specific memory map verification
  • Field-specific polling/write policy verification

Mode matching rule

For simulator-based tests, server and client modes must match.

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

Cross-mode communication is expected to fail because each mode uses a different protocol.

MxComponent and CxComponent do not use simulator servers. They call the installed vendor runtime directly. In the SampleSmart PLC Monitor, select the mode, then run Use Client and Connect.

Mitsubishi MX Component Test

SampleSmart uses the standard MX Component path for the default run and for the x86 platform build.

dotnet build .\SampleSmart.csproj -c Debug -p:Platform=x86

Use these values in the PLC Monitor:

  • Mode: MxComponent
  • MX ProgID: ActUtlType.ActUtlType
  • MX LS: the Logical Station Number registered in MX Component Communication Setup Utility

When running as x64, Mitsubishi's DotUtlType64 wrapper can require legacy .NET Framework WCF types. In that case, do not connect directly from the SampleSmart net8.0-windows process. Use the x86 run, or bridge through a separate .NET Framework helper process.

PC-to-PC firewall requirement

For PC-to-PC tests, open the inbound port on the server PC.

Example for 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

PowerShell must be run as Administrator. Without this setting, 1PC tests can pass while 2PC tests fail.

Physical PLC test requirement

Simulator validation is not a replacement for physical PLC validation.

Before production use, test against the target PLC model and verify:

  • PLC communication setting
  • TCP/UDP port
  • Network routing and firewall
  • Device memory area
  • Node/network/unit address for FINS
  • MC frame settings where applicable
  • Polling interval
  • Write safety policy
  • Error recovery behavior

Polling safety

1ms polling is for simulator stress testing only.

Do not use 1ms polling against physical PLCs.

Recommended defaults:

  • Monitoring: 100ms to 500ms
  • UI display refresh: 250ms to 1000ms
  • Write: event-driven only

Vendor runtime policy

Dreamine PLC packages do not redistribute vendor runtime DLLs.

Not included:

  • Mitsubishi MX Component DLLs
  • Omron CX-Compolet DLLs
  • Omron SYSMAC Gateway runtime files
  • Any vendor-licensed installer or runtime file

Users must install and license vendor software separately when using vendor runtime adapters.

License

Dreamine source code: MIT License.

Vendor products and trademarks belong to their respective owners.