Cindioglu.DeltaPlc.Core
1.0.2
dotnet add package Cindioglu.DeltaPlc.Core --version 1.0.2
NuGet\Install-Package Cindioglu.DeltaPlc.Core -Version 1.0.2
<PackageReference Include="Cindioglu.DeltaPlc.Core" Version="1.0.2" />
<PackageVersion Include="Cindioglu.DeltaPlc.Core" Version="1.0.2" />
<PackageReference Include="Cindioglu.DeltaPlc.Core" />
paket add Cindioglu.DeltaPlc.Core --version 1.0.2
#r "nuget: Cindioglu.DeltaPlc.Core, 1.0.2"
#:package Cindioglu.DeltaPlc.Core@1.0.2
#addin nuget:?package=Cindioglu.DeltaPlc.Core&version=1.0.2
#tool nuget:?package=Cindioglu.DeltaPlc.Core&version=1.0.2
Cindioglu.DeltaPlc.Core
Delta DVP serisi PLC'ler için bağımlılıksız Modbus istemcisi. Modbus çerçeveleme ve Delta cihaz adreslerinin çevrimi elle yazılmıştır; harici bir Modbus veya Excel kütüphanesi gerekmez.
Desteklenen CPU'lar: DVP12SE, DVP14SS11R2 ve genel olarak DVP-ES2/EX2/SS2/SA2/SX2/SE ailesi.
Neler var
- Modbus TCP/IP (MBAP), Modbus RTU ve Modbus ASCII (RS-485 / RS-232)
- Delta cihaz adreslerinin çevrimi:
D,M,X,Y,S,T,C—X/Ysekizlik D4095 → D4096,M1535 → M1536veC199 → C200blok sınırlarında otomatik istek bölme- Sıralı erişimli oturum (
PlcSession) ve arka planda çalışan okuma döngüsü (PollingService) - Excel (.xlsx) ve CSV kayıt hedefleri — xlsx paketi de kütüphane içinde üretilir
Kurulum
dotnet add package Cindioglu.DeltaPlc.Core
Hızlı başlangıç
using DeltaPlc.Core.Delta;
using DeltaPlc.Core.Session;
var settings = new ConnectionSettings
{
Transport = TransportKind.Tcp, // veya TransportKind.Rtu / TransportKind.Ascii
Host = "192.168.0.1",
Port = 502,
Station = 1,
ModelName = "DVP12SE"
};
using var session = new PlcSession();
await session.ConnectAsync(settings);
// D0'dan başlayarak 20 yazmaç oku
ushort[] values = await session.ExecuteAsync<ushort[]>(
plc => plc.ReadWords(new DeltaAddress(DeltaDeviceKind.D, 0), 20));
// D100 = 1234 yaz
await session.ExecuteAsync(plc => plc.WriteWord(new DeltaAddress(DeltaDeviceKind.D, 100), 1234));
// M20 bitini kaldır
await session.ExecuteAsync(plc => plc.WriteBit(new DeltaAddress(DeltaDeviceKind.M, 20), true));
RS-485 için:
using System.IO.Ports;
using DeltaPlc.Core.Modbus;
var settings = new ConnectionSettings
{
Transport = TransportKind.Ascii, // Delta fabrika varsayılanı
Station = 1,
ModelName = "DVP14SS11R2",
Serial = new SerialSettings
{
PortName = "COM3",
BaudRate = 9600,
DataBits = 7,
Parity = Parity.Even,
StopBits = StopBits.One,
RtsDirectionControl = false // otomatik yön kontrolü olmayan çeviricilerde true
}
};
Adres yazımı
DeltaAddress.Parse("D100"); // veri yazmacı
DeltaAddress.Parse("M20"); // yardımcı röle
DeltaAddress.Parse("X10"); // fiziksel giriş - sekizlik, indeks 8
DeltaAddress.Parse("Y0"); // fiziksel çıkış
DeltaAddress.Parse("C200"); // 32 bit sayıcı
Canlı izleme
using DeltaPlc.Core.Monitoring;
using var poller = new PollingService(session) { IntervalMs = 250 };
poller.SetBlocks(
[
new MonitorBlock(new DeltaAddress(DeltaDeviceKind.D, 0), 20, MonitorKind.Word),
new MonitorBlock(new DeltaAddress(DeltaDeviceKind.M, 1), 10, MonitorKind.Bit)
]);
poller.Sampled += (_, snapshot) => Console.WriteLine(snapshot.Word(new DeltaAddress(DeltaDeviceKind.D, 0)));
poller.Start();
Excel kaydı
using DeltaPlc.Core.Logging;
using var sink = new ExcelLogSink(@"C:\Kayitlar", ["D0", "D1", "D2"], "DVP12SE");
sink.Append(DateTimeOffset.Now, [LogValue.FromNumber(469), LogValue.FromNumber(5912), LogValue.FromNumber(12456)]);
sink.Flush();
Üretilen sayfa: Date | Time | D0 | D1 | D2. Tarih ve saat gerçek Excel tarih/saat hücreleridir.
Uzun ve kesintisiz kayıtlar için satır satır diske yazan CsvLogSink tercih edilmelidir.
Donanımsız test
Cindioglu.DeltaPlc.Simulator paketi, bu istemcinin karşısına geçebilen bir Modbus TCP sunucusu sağlar.
© Cindioğlu Solutions — www.cindioglu.com
| Product | Versions 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 is compatible. 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 is compatible. 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. |
-
net10.0
- System.IO.Ports (>= 10.0.0)
-
net8.0
- System.IO.Ports (>= 8.0.0)
-
net9.0
- System.IO.Ports (>= 9.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Cindioglu.DeltaPlc.Core:
| Package | Downloads |
|---|---|
|
Cindioglu.DeltaPlc.Simulator
Delta DVP serisi PLC yerine gecen kucuk bir Modbus TCP sunucusu. Donanim olmadan HMI/SCADA istemcilerini, testleri ve surekli tumlestirme akislarini calistirmak icin kullanilir. Modbus fonksiyon kodlari 01, 02, 03, 04, 05, 06, 0F ve 10 desteklenir. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Ilk surum: Modbus TCP/RTU/ASCII katmanlari, Delta adres cevrimi, okuma dongusu, Excel ve CSV kayit hedefleri.