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!
Hallo,
ich beginne jetzt ein Projekt zur Steuerung unserer Elektronik. Dabei benutze ich zum ersten Mal die AO Kanäle, vorher reichte immer die Datenerfassung selbst.
Meine Frage ist nun:
Da LabView eine einmal gesetzte Spannung an einem AO behält bis zum Neustart/der nächsten Änderung, würde ich diese gerne "abgreifen" und anzeigen können, um zu sehen was der aktuelle Wert ist. Irgendwie finde ich dazu nichts passendes. Würde das gerne in Software lösen, sonst bleibt nur ein Kabel zu einem AI zu legen und diesen auszulesen.
da musst du dir einen (selbst-programmierten) Speicherplatz anlegen, Stichworte wären hier (u.a.) lokale/globale Variable, FGV, Melder/Notifier.
Kein Grund jedenfalls, ein Kabel in Hardware zu verdrahten...
Gut alle diese Sachen (Variable) sind ja nur "richtig" belegt, solange das Programm läuft.
Wird es beendet während z.B. eine Spannung auf einem AO beibehalten wird, ist die "Historie" der Variable weg und sie hat keinen Bezug mehr zum aktuellen Wert. Ich dachte da eher daran ob man den AO Wert an einem AI klonen kann mittels internem routing oder ähnlichem? oder eine Funktion "gib mir aktuellen Wert von AO 1".
//edit
ich fühle mich sicherer wenn ich den tatsächlichen Wert auslesen kann anstatt ihn zwischen zu speichern, weil ich dann nicht darauf achten muss bzw gar nicht möglich ist am Programmende alle Werte wieder auf 0 zu setzen.
Das geht alles ohne Drahtverbindung nicht, das einzige ist, die ausgegebene Spannung laufend mit Zeitstempel in einer Datei zu protokollieren. Letzter Eintrag = stehen gebliebene Spannung.
Es fehlt auch eine überzeugende Begründung für die Notwendigkeit von dem was Du willst.
Wenn das Programm abstürzt oder ohne Abschlußroutine abrupt beendet wird (- was nie oder außerordentlich selten passieren sollte -), dann bleibt der ao-Ausgabewert erhalten. Soweit klar. Aber wieso ist es Dir wichtig, beim nächsten Start nicht einfach neu zu beginnen, sondern erst mal Schadensermittlung zu betreiben und die Spannung wissen zu wollen, die nach dem Absturz anlag? Bei welchem nicht an den Haaren herbeigezogenen Szenarium könnte das wichtig sein? Mir fällt dazu nichts ein.
hm ich stelle mir das so vor:
Ich habe Steuer-VI's die auf dem Real-Time Target laufen (getrennt). Also einmal hochgeladen und gut ist. Dann habe ich die lokalen VI's wie z.B. einen Drehschalter für den Strom. Wenn ich diese nun starte (mit dem laufenden RT mehr oder weniger verbinde, Netzwerkvars) dann möchte ich gerne dass der Drehschalter auf den aktuellen Wert gestellt wird, ohne diesen auf 0 zurücksetzen zu wollen.
Tracking ist möglich, aber ich scheue den Overhead dadurch. Ebenso die Kabel. Aber wenn es nicht anders möglich ist muss ich das wohl so umsetzen.
Ich hatte die naive Vorstellung dass die NI-Karte den Wert ja sowieso irgendwo gespeichert haben muss und man den einfach auslesen könnte...
Nur um sicher zu gehen, dass ich es richtig verstehe:
Du stellst über ein "Remote-"VI die Ausgangsgrößen deines RT-Targets ein.
Dein RT-Target läuft immer.
Wenn du dich nun mit dem "Remote-"VI erneut verbindest, möchtest du den aktuellen Ausgabewert haben um deine Controls entsprechend einzustellen.
Frage:
Weshalb versiehst du dein RT-Target nicht mit einer Funktion, die dir die aktuellen Ausgabewerte meldet sobald du den Kontakt herstellst?
Um das gehts ja
Nur scheint das RT-Target eben nur durch Value-Tracking oder direktes Verkabeln AO-AI zu wissen welcher Wert gerade ein AO hat.
Meine Frage ist nun ob es nicht doch einen internen "shortcut" gibt, denn die Karte hat ja irgendwo den AO-Wert stehen....
Aber wenn du dein RT-Target doch selbstständig laufen hast und dieses dabei Daten erfassen und ausgeben kann, dann muss es doch ein solch fortgeschrittenes System sein, dass von dir programmiert wird, wie z.B. ein CRIO - oder?
Du hast auch noch gar nicht erzählt was es für ein RealTime System ist, dass bei dir zum Einsatz kommt. Solange das nicht bekannt ist kann man immer nur raten.
Um der Glaskugel etwas entgegen zu setzen: Das RT ist ein PXI-8195 Embedded Controller mit den Karten PXI-6259 und PXI-6723.
Es geht auch nicht darum ein fertiges Gerät zu überwachen/steuern, sondern es ist ein Experiment aufgebaut/im Aufbau.
Als "real-life" Beispiel: Ein Lock-Amplifier regelt einen Niedervolt-Piezo, und ich kann über eine externe Ansteuerung eine Offset-Spannung dazugeben (Addieren). Dazu verwende ich einen Drehknopf. Wenn ich nun mein lokales Überwachungs/Steuerungsprogramm beende und neu starte (kommt im Entwicklungsprozeß ja oft genug vor), dann würde ich mich freuen der Drehknopf automatisch auf die aktuelle Spannung gestellt wird.
21.10.2010, 15:43 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2010 15:44 von GerdW.)