jo, det är rätt, det jag tycker är underligt är att testskriptet jag har, skickar enbart en förfrågan och i den får allt inte plats, (iochmed slaven svarar nej nej) då undrade jag ifall själva slaven brukar ha någon typ av meddelande för avslut för att den ska fatta att den ska stycka upp svaret till x antal delar, portionera ut svaret
I dina bilder finns det ingenting som säger att slaven svarar nej, du får de registren du begär, inget annat.
Du kan inte begära att slaven skall skicka data som du inte begärt.
Eller är det de röda kryssen som får dig att undra, tja, det är ju den programvaran som du använder som gör så.
Varje rad börjar på jämt 10-tal, så begär du data enbart från register 3(2 beroende på notifikation) så kommer du att få en rad med 2 röda kryss, en ruta med data och därefter 7 röda kryss.
Slaven kan INTE dela upp nånting, den skickar all begärd data som en enda ström i ett enda datagram/meddelande.
Begär du ett register, får du 2 byte, 10 register 20 byte osv.
Det enda slaven kan göra förutom att skicka begärda data är att i stället skicka tillbaka ett felmeddelande, vilket också är strikt definerat.
Modbus är ett strikt master/slav system, där det bara kan finnas en master, men upp till runt 250 slavar.
Slavarna är alltid tysta, såvida mastern inte ber dem om data eller skickar data. En slav kan aldrig någonsin själv starta en sändning, dess funktion är enbart att svara på masterns order.
Modbus TCP är en variant av standard Modbus, eftersom det inte kan finnas mer än en enda master i ett system, så är det svårt, för att inte säga direkt omöjligt för ett övervakande system att läsa av vad som händer i MODBUS-nätet.
Modbus TCP ansluter till en MODBUSTCP-server, vilket alltid är mastern i systemet, via MODBUSD-tcp kan man sub-adressera slavarna i systemet, dvs ModbusTCP-klienten frågar servern (dvs mastern) om data från slav 127, mastern går då ut och hämtar de önskade registern från slav 127 och skickar dessa vidare via sin inbyggda modus-TCP-server till Modbus-TCP-klienten i det överordnade systemet.
Det är det enda sättet som ett övervakande system kan övervaka ett modbussnätverk.