mit Labview Servomotorsteuerung bedienen - nicht nachvollziehbare Abstürze
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!
mit Labview Servomotorsteuerung bedienen - nicht nachvollziehbare Abstürze
Hallo liebe Labviewer,
Im Rahmen meiner Bachelorarbeit an der Uni bin ich gerade dabei eine Motorsteuerung für einen Servomotor zu programmieren. Der Servomotor bewegt eine Traverse über eine Spinde in Z-Richtung (oben und unten).
Die eigentliche Motorsteuerung übernimmt hierbei die Software des Herstellers des Motors. Die Bedienung soll dann aber über Labview erfolgen. Der Motor soll später eine Geschwindigkeit anfahren, dann wird eine Messung gemacht und anschließend soll die nächste Geschwindigkeit angefahren werden. Desweiteren soll ein manueller Betrieb in beide Richtungen möglich sein.
In der Motorsteuerung funktioniert alles soweit, nur Labview stürzt relativ häufig ab und ich weiß nicht woran es liegt. Die Abstürze sind bislang nicht reproduzierbar und treten scheinbar „spontan“ auf. Die übergegebenen Parameter von Labview zu der Motorsteuerung sind:
aPowerOn – schaltet den Motor ein (true) bzw. wieder aus (false)
aHoming – referenziert den Motor (einmal auf true und dann wieder auf false) (als Taster)
aStop – stoppt den Motor wenn auf true
aMove – startet eine Bewegung mit der Geschwindigkeit (aMoveVal), wenn auf true
aMoveAbs – startet eine Bewegung zur Ausgangstellung (in aHoming referenzierte Position), wenn auf true
aTippNeg – startet eine Bewegung nach unten, wenn auf true (manueller Tipp-Betrieb)
aTippPos - startet eine Bewegung nach oben, wenn auf true (manueller Tipp-Betrieb)
Ich weiß, dass es sicherlich nicht einfach wird, mir bei meinem Problem zu helfen, da ihr es ja nur theoretisch testen könnt. Ich hoffe aber trotzdem, dass ihr mir den ein oder anderen Hinweis geben könnt, wie ich mein Problem in den Griff bekommen kann. Die Verwendete Version von LV ist die 9.0.
Vielen Dank für eure Unterstützung!
Sascha
31.08.2010, 15:09 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2010 15:11 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
mit Labview Servomotorsteuerung bedienen - nicht nachvollziehbare Abstürze
In Deiner Schleife links unten liest Du etwas schnell aus. Da wird die CPU komplett überlastet. Mach' doch da mal eine Zeitverzögerung (z.B. 10 ms) rein.
Ansonsten die Frage: Stürzt LabVIEW mit einer Fehlermeldung ab? Oder "hängt es nur" (was an oben genannter überlasteten CPU liegen dürfte)?
Gruß Markus
EDIT: Links oben ist es dasselbe (Zeitverzögerung rein). Musst Du da überhaupt die ganze Zeit schreiben?
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
mit Labview Servomotorsteuerung bedienen - nicht nachvollziehbare Abstürze
Vielen Dank für die schnelle Antwort. Labview bleibt einfach hängen (ohne Fehlermeldung), die CPU Auslastung im Taskmanager ist relativ konstant auf 50 % bei nem Pentium Celeron und schnippt auch nicht kurz vorm Absturz hoch. Beim Status steht auch noch "Wird ausgeführt".
Den Tipp mit den Verzögerungen habe ich beherzigt, es hat sich aber scheinbar nichts verändert. Ich werde jetzt mal genau nachverfolgen nach welcher Kombination von Eingaben der Absturz zustande kommt.
mit Labview Servomotorsteuerung bedienen - nicht nachvollziehbare Abstürze
' schrieb:Ich weiß, dass es sicherlich nicht einfach wird, mir bei meinem Problem zu helfen, da ihr es ja nur theoretisch testen könnt.
Ein Ratschlag hier zu geben ist relativ einfach.
Dein Verfahren mit dem OPC-Management halte ich für sehr schlecht. Ich hab mir eine Klasse (also ein erweitertes FGV) geschrieben, die das OPC-Management macht: Variablen öffnen, kommunizieren, Schließen etc. Was ich für ganz ungünstig halte, ist, dass die OPC-Lese/Schreib-Elemente unsequenziert parallel gemacht werden.
Man kann auch in B&R Variablen zusammenfassen und als eine Variable (also ein Cluster) übergeben. Das reduziert natürlich die Anzahl der Variablen-Referenzen erheblich - nämlich auf z.B. eine für Schreiben und eine für Lesen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
29.09.2010, 18:49 (Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2010 18:57 von IchSelbst.)