INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Gutes LV Design bei großen Programmen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.09.2014, 15:14
Beitrag #17

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: Gutes LV Design bei großen Programmen

Akzeptierte Lösung

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.

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Gutes LV Design bei großen Programmen - Nordvestlys - 04.09.2014 15:14

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Lizenz von Runtime Programmen R.Fuertig 1 2.012 21.07.2021 12:04
Letzter Beitrag: GerdW
Question Testen von LabVIEW Programmen Sakis 1 3.003 16.04.2020 14:42
Letzter Beitrag: Freddy
  Änderung von großen Cluster (Type Def.) führt zu out of Memory exeption spacz 8 5.798 28.10.2019 09:01
Letzter Beitrag: spacz
  Ansprechendes Design des Frontpanels | Muster in Hintergrund einfügen dulfried 3 3.837 23.08.2017 17:45
Letzter Beitrag: GerdW
  Error Handling in einem Queue Message Design Architektur galilio 2 4.182 09.08.2016 12:20
Letzter Beitrag: galilio
  Queued Message Handler Design galilio 3 5.535 14.07.2016 15:34
Letzter Beitrag: Freddy

Gehe zu: