Modbus/RTU Slave abfrage

  • VB.NET

    Modbus/RTU Slave abfrage

    Hallo zusammen,

    ich benötige ein paar Denkanstöße, vielleicht kann mir hier jemand helfen.

    Wir haben eine Sonde, die als Modbus/RTU-Slave arbeitet. Diese Sonde ermittelt den Wasserdruck und soll diesen auf Anfrage per Modbus-Telegramm an den fragenden Master (PC/ Laptop) senden. Prinzipiell funktionierte das bei uns mit einer Testsoftware. Die Testsoftware (Modbus Poll) war zeitlich begrenzt und steht uns nun nicht mehr zur Verfügung. Ausserdem war sie recht aufwendig zu bedienen, für unsere Zwecke draußen am Schaltschrank zu aufwendig.

    Nun würde ich gerne eine kleine Software erstellen, die die Abrage der Sonde übernimmt und den zurückerhaltenen Wert darstellt. Eigentlich nichts aufwendiges.
    Ich möchte Telegramme in der Form 01 04 00 00 00 01 bzw mit CRC 01 04 00 00 00 01 31 CA an die Sonde schicken und die Ergebnisse (in der Regel z.B. 01 04 02 FF F9 38 82) dezimal darstellen (hier wäre FF F9 der Wert für den Druck). Die Adresse, Funktion und Anzahl der Register können fest eingestellt sein.

    Mehr soll nicht passieren, die Software soll so einfach wie möglich sein und es sollen auch keine Parameter angepasst werden müssen, die würde ich hart im Code vorgeben - für uns reicht das.

    Wie kann ich also Telegramme (die ich wie oben vorgebe) per Modbus/RTU an der seriellen Schnittstelle ausgeben und zurückerhaltene Telegramme auswerten? In anderen Beispielen habe ich von einer dll gehöret, die entsprechende Funktionen bereitstellt. Eine solche dll habe ich aber nicht gefunden.

    Soviel zu meinem Problem, ich hoffe, dass mir jemand Tipps geben kann. Bin für alles dankbar!

    Beste Grüße

    Digger2010