23.02.2016, 13:56
Beitrag #1
|
Leticron
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: Feb 2016
2014 SP1
2013
DE
|
Fine Tuning - Einige Fragen
Hallo,
ich habe hier eine ziemlich große VI, welches unter anderem 7 Netzgeräte steuert und abfragt. Dabei laufen Abfrage und Befehle in seperaten Loops.
Nun zum eigentlichen Problem. Ich habe eine feste Vorgabe, in welchem Tackt die Loops laufen sollen (10 Hz). Leider hängt die Iterationszeit davon ab, wie schnell die Hardware antwortet. Wenn diese mehrere Befehle verarbeiten muss, wird sie signifikant langsamer (95ms für 2 Befehlen - ist RS232).
1. Aktuell laufen alle Schleifen als While-Schleifen mit Timern (Warten [ms]), welche Vorteile/Nachteile hätten zeitgesteuerte Schleifen? Damit habe ich selber noch garnicht gearbeitet.
2. Ein absolut unnötiger Fehler ist, dass die Befehlsschleife teilweise Cases hat, welche 6 unterschiedliche Hardware-Sub-VIs in Reihe geschalten hat (hab ich nicht verbrochen). Nun wartet die Software natürlich immer schön auf das Ok jedes einzelnen Sub-VIs bevor es zum nächsten Springt (verbunden über Fehlerkette). Ich könnte es unelegant lösen und jedes einzelne Sub-Vi in einen Case schieben, damit die Loop ihre 100ms schafft. Alternativ könnte man doch statt einer Reihenschaltung auch eine Parallelschaltung der Fehlerkette nehmen. Es ist mir unverständlich warum dies nicht von Anfang an so umgesetzt wurde, immerhin wurde es von einem externen Experten geschrieben. Seh ich das Problem nicht? Oder kann ich ohne zögern zur Tat schreiten?
Grüße,
Stefan
|
|
|
23.02.2016, 14:37
Beitrag #2
|
wladimir s
LVF-Gelegenheitsschreiber
Beiträge: 79
Registriert seit: Mar 2015
2011, 2015
2010
DE
Deutschland
|
RE: Fine Tuning - Einige Fragen
Ohne genau zu wissen, um welche VI es sich handelt, kann man nichts sagen. Aber normaler weise sollten die Hardware VI nicht parallel aufgerufen werden.
|
|
|
23.02.2016, 14:50
Beitrag #3
|
Leticron
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: Feb 2016
2014 SP1
2013
DE
|
RE: Fine Tuning - Einige Fragen
Leider kann ich nicht sehr ins Detail gehen.
(23.02.2016 14:37 )wladimir s schrieb: ...Aber normaler weise sollten die Hardware VI nicht parallel aufgerufen werden...
Warum nicht? Natürlich werden Befehlsreihenfolgen beachtet. Aber wenn sie befehlstechnisch nichts miteinander zu tun haben, warum dann nicht parallel?
|
|
|
23.02.2016, 14:52
Beitrag #4
|
Freddy
Oldtimer
Beiträge: 729
Registriert seit: Aug 2008
2019, 2020, 2021
1996
DE
76275
Deutschland
|
RE: Fine Tuning - Einige Fragen
Hallo Stefan,
VI's in "Reihe" zu schalten ist dann sinnvoll, wenn die Ergebnisse der VI's abhängig von einander sind.
Ansonsten kann man die Fehler auch am Ende zusammen fassen.
Aber wie genau Deine VI's funktionieren kann man nur über Bilder und mehr Infos erkennen.
Wenn man Dir helfen soll, wären ein paar Bilder ok.
Zitat:Warum nicht? Natürlich werden Befehlsreihenfolgen beachtet. Aber wenn sie befehlstechnisch nichts miteinander zu tun haben, warum dann nicht parallel?
Parallel auf eine Serielle Schnittstelle losgehen geht schief.
Gruß
Freddy
|
|
|
23.02.2016, 15:01
Beitrag #5
|
Leticron
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: Feb 2016
2014 SP1
2013
DE
|
RE: Fine Tuning - Einige Fragen
Dabei handelt es sich natürlich wie initial beschrieben um unterschiedliche Hardware. Somit auch um unterschiedliche Schnittstellen.
|
|
|
23.02.2016, 15:02
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Fine Tuning - Einige Fragen
Ob die Ansteuerung sinnvoll parallelisierbar, das hängt davon ab, wie viele RS-232 Schnittstellen du zur Verfügung hast. Wenn alles nur über 1 Schnittstelle läuft, dann nichts parallelisieren. Und innerhalb 1 Geräts darfst du die Kommunikation ebenfalls nicht parallelisieren! Für genauere Aussagen müsste man mehr wissen über dein Projekt.
Timed Loops bringen die wahrscheinlich keinen wesentlichen Vorteil. Eigentlich kommt das aus dem RealTime-Bereich. Ein nettes Feature könnte aber sein, dass du eine Timed Loop so konfigurieren kannst, dass - sollte einmal ein Durchlauf länger dauern -versucht wird, diesen Verlust im nächsten Durchlauf wieder aufzuholen. Oder anders: Auf lange Sicht bleibt der Originaltakt erhalten.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
23.02.2016, 15:23
Beitrag #7
|
Leticron
LVF-Neueinsteiger
Beiträge: 7
Registriert seit: Feb 2016
2014 SP1
2013
DE
|
RE: Fine Tuning - Einige Fragen
Hallo,
danke für die Infos. Die Software läuft auf einem Industrie-Rechner, welcher hinreichend Schnittstellen zur Verfügung hat.
Ich werde die nächsten Tage erstmal das Haupt-VI umstrukturieren und Testen.
Grüße,
Stefan
|
|
|
| |