C# Modbus RTU

Gast #4549790
Lesenswert?
• ▲
▼
Hallo Leute,

ich will ein Unterprogramm basteln, was mir "schnellst möglich" meine 
ModbusRTU Daten zu seinem Mikrocontroller sendet, und die Antwort 
auswertet und die Daten bereit stellt.
1
uint16[] ModbusFunktion_3(byte Slaveadresse, uint16 Registeradresse, uint16 Registeranzahl)
2
{
3
    uint16[] receivedata= new uint16[Registeranzahl];
4
    Comport.Write(modbusprotokoll);
5
    // Warten bis das Protokoll komplett und Richtig angekommen ist, ansonsten Timeout
6
    Comport.Read(buffer, 0 , buff.Length);
7
    // Auswertung des Protokolls...
8
    return receivedata;
9
}

Meine frage ist, wie ich am Ressourcen sparensten das warten auf das 
komplette Modbusprotokoll gestalte, ohne den 
"SerialDataReceivedEventHandler" zu benutzen?

Schon mal vielen dank
Gast #4550154
Lesenswert?
• ▲
▼
Peter schrieb:

> Meine frage ist, wie ich am Ressourcen sparensten das warten auf das
> komplette Modbusprotokoll gestalte, ohne den
> "SerialDataReceivedEventHandler" zu benutzen?

Garnicht. Alles andere als die Benutzung des Events läuft letztlich auf 
ein busy wait hinaus. Und das ist naturgemäß das INIFFEZIENTESTE, was 
überhaupt denkbar ist. Klar, man kann die Situation durch eingestreute 
Thread.Sleep etwas entspannen, aber das ist immer noch inneffizient und 
erzeugt wieder andere Probleme.

Lerne einfach ereignisorientiertes Programmieren und fertig. Das wirst 
du sowieso immer wieder brauchen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.