Bu uygulama, Modbus master programinizi test etmek icin sanal cihazlar olusturur.
- Varsayilan olarak
10Modbus TCP cihaz baslatir. --rtu-port COMxverirseniz ayni anda10Modbus RTU slave de baslatir.- Her cihaz
50register sunar. - Tum registerler
500 msaralikla random guncellenir. - Sonradan
20 TCP + 20 RTUicin sadece parametre degistirmeniz yeterlidir.
03 Read Holding Registers04 Read Input Registers
cd .\ModbusDeviceSimulator
dotnet run -- --rtu-port COM1020 TCP ve 20 RTU icin:
dotnet run -- --rtu-port COM10 --tcp-count 20 --rtu-count 20Sadece TCP test etmek isterseniz:
dotnet runVarsayilan ayarlarda TCP cihazlari su portlarda acilir:
127.0.0.1:1502127.0.0.1:1503127.0.0.1:1504127.0.0.1:1505127.0.0.1:1506127.0.0.1:1507127.0.0.1:1508127.0.0.1:1509127.0.0.1:1510127.0.0.1:1511
Her port tek bir TCP cihazdir. Unit ID bilgisi konsolda ayrica yazdirilir.
RTU icin tipik olarak bir sanal seri port cifti gerekir.
- Ornek: master uygulamaniz
COM11uzerinden baglanir. - Simulator
COM10uzerinden dinler. COM10 <-> COM11birbirine bagli sanal cift olmalidir.
Varsayilan RTU slave id listesi 1..10 araligindadir. --rtu-count 20 verirseniz 1..20 olur.
Tum cihazlarda register adresleri 0..49 araligindadir.
- Tum holding ve input register degerleri surekli random degisir.
- Guncelleme periyodu varsayilan olarak
500 ms'dir. - Bir register tek okumada tek bir deger dondurur; sonraki okumada farkli olabilir.
Cihazlara gore random veri bantlari farklidir:
- TCP holding registerleri
1000tabanindan baslar. - TCP input registerleri
15000tabanindan baslar. - RTU holding registerleri
30000tabanindan baslar. - RTU input registerleri
45000tabanindan baslar.
Her register kendi kucuk deger bandinda rastgele degistigi icin hem hareketli veri gorursunuz hem de cihazlari ayirt etmek kolay kalir.