Hallo,
ich habe bei meinem Projekt teilweise noch Probleme beim Auslesen der Modbus-Register und hoffe, dass Ihr mir vllt. bei der Suche nach der Fehlerursache helfen könnt.
Ich habe mir schon sämtliche andere Beiträge im Forum dazu durchgelesen und mein Programm dementsprechend umprogrammiert um bspw. vor Glitches zu schützen. Jedoch treten immer noch teilweise Fehler auf.
Zur Fehlermeldung an sich:
- Fehlerbeschreibung LabVIEW: Fehler 6101 bei Timeout Error
- der Fehler tritt völlig unregelmäßig auf (bei einem Programmdurchlauf gar nicht, beim nächsten beim Auslesen des Parameters A, beim darauffolgenden beim Auslesen des Parameters B, dann wieder garnicht,...)
Habe jetzt schon für einige Ursachen einen Schutz eingebaut:
- falls beim Auslesen ein Fehler auftritt wird nochmal maximal 3 mal versucht das Register zu lesen (falls ein Glitch aufgetreten ist)
- falls auch bei den weiteren Versuchen Fehler auftreten wird die VISA-Schnittstelle geschlossen, 500ms gewartet, erneut geöffnet und gelesen (
https://forums.ni.com/t5/LabVIEW/modbus-...anguage=en )
- als Timeout für das Auslesen der Register habe ich 1000ms eingestellt (hat somit eigentlich genug Zeit die Daten auszulesen und zu verarbeiten)
Aber trotzdem tritt hier und da noch ein Timeout-Fehler auf.
Ich habe wirklich keine Idee mehr, an was es sonst noch liegen könnte, da auch meine Schnittstelle (Expert EX9530) fehlerfrei ist.
Ich habe mal ein SubVI der Auslesung eines Registers mit in den Anhang getan ... die SubVIs zum Auslesen der anderen Parameter unterscheiden sich ausschließlich durch die Registeradresse.
Falls jemand die verwendeten fertigen SubVIs von LabVIEW nicht hat hab ich auch nochmal einen Screenshot vom Programm mit angehängt.
Ich hoffe ich konnte mein Problem verständlich beschreiben und dass mir jemand helfen kann, denn
Vielen Dank im Voraus!
MfG
Sarah