Moin,
wie gesagt hatte ich nur "aufgeräumt" aber nicht überprüft, welchen Zweck die verschiedenen Unterprogramme eigentlich haben. Und bei den Modbus-Sachen fehlen auch einige Sub-VIs, so dass ich nur Fragezeichen als Platzhalter sehe.
Hier noch ein paar konkrete weitere Verbesserungsvorschläge:
1) Beim -Modbus-Init-Sub-VI das (bei meiner Version) links von der Hauptschleife liegt, den Errorausgang mit dem Schleifenrand verbinden. Auch wenn innerhalb der While-Schleife nichts daran angeschlossen wird, sorgt dieser kleine Trick dafür, dass die While-Schleife erst dann startet wenn der Init-Teil abgeschlossen wurde.
(Achtung, wenn am Error-Ausgang was angeschlossen ist, poppt im Fehlerfall nichts mehr auf. Ggf. müsste hier also noch was zur Fehlerbehandlung ergänzt werden.)
2) Im Case "Modbus" gibt es das SubVI "MODBUS ExampleV2". Hier würde ich das SubVi öffnen und so bearbeiten, dass alle Eingänge von links kommen und die Ausgänge nach rechts weggehen. (Rechtsklick auf das Piktogramm oben rechts im Frontpanel und die Anschlüsse neu "verdrahten".)
Ausserdem einen Eingangs-Fehler-Cluster aufs Frontpanel einfügen und die beiden Fehlercluster (Ein- und Ausgang) unten links und unten rechts anschliessen. (So wie bei fast allen SubVIs in Labview üblich)
3) Im Case Modbus anstelle 3-fach-For-Schleife 3x das SUBVI "MODBUS ExampleV2" einfügen. Durch die Verdrahtung mit den Error-Clustern kann man dafür sorgen, dass diese 3 Instanzen nacheinander aufgerufen werden. (Das lässt sich zwar auch über die VI-Eigenschaften realisieren, aber durch die Verdrahtung ist die Abfolge sichtbar und eindeutig festgelegt.)
Anstelle der "Mode-Leitung" (Bedienelement und lokale Variable braucht man jetzt ja nicht mehr) könntest Du "Cluster nach Namen bündeln" (ich hoffe das ist die korrekte dt. Bezeichnung) benutzen und den Modbus-Cluster dort am zweiten gelben Feld von links anschliessen. Das ist der Cluster-Eingang (siehe Hilfe). Dann die Höhe auf ein Element zusammenschieben und per Rechtsklick "Node Adress" wählen. Jetzt wird nur noch dieser eine Wert verändert und der Rest beibehalten.
Das ganze natürlich für jeden Sub-VI-Aufruf einmal.
4) Die sehr gute (Kontext-)Hilfe (Strg-H) benutzen und so mehr von den verschiedenen Möglichkeiten der LV-Funktionen lernen.
5) Probes (Sonden?) mit Rechtsklick auf Leitungen einfügen.
=> Dann solltest Du eigentlich relativ klar erkennen können an welcher Stelle die Modbus-Kommunikation hakt.