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!
für eine Projektarbeit an der FH muss ich einen (Batterie-)Teststand bauen, mit dem ich eine Batterie be- und entladen kann. Dies geschieht über die die Umkehr der Stromrichtung. Als Stromquelle habe ich Meilhaus 3106, diese liefert neben den Laststrom auch den Steuerstrom für die Optokoppler, welche ich auf einer Lochkarte entsprechend verschaltet habe. Dies funktioniert auch tadellos=)
Im nächsten Schritt möchte ich mit der 1208FS die Spannung an der Batterie (bzw. testweise erst einmal an einem Widerstand) messen/ aufnehmen, um den Spannungsvrlauf in einem Graphen darstellen zu können und die Daten in eine Datei (Excel/ CSV) zu schreiben.
Wie schon die VIs für den Stromausgang an der 3106, benutze ich die von Meilhaus mitgelieferten Beispiel-VIs welche ich per copy&paste in mein Programm eingefügt habe. Den Strom erzeugen klappt wie bereits erwähnt einwandfrei, wenn ich jedoch das "Spannung-mess-und-Graph-erzeugen"VI in mein Programm einfüge passiert: nichts. und sobald ich das PRogramm via "Stop-Button" in der While-Schlife beende, kommt folgende Fehlermeldung:
"Fehler 52
Mögliche Ursachen: invalid specified operation for this Ulx Start" oder so ähnlich (befinde mich nciht mehr im Labor und dort habe ich keinen Internet-Zugang)
der 1208FS befindet sich im differentiellen Modus, Hi und LO liegen an der Batterie und GND auf dem AGND des 3106.
Danke schon einmal im Voraus,
Gruß
P.S.: Screenshots meines Programmes sind hier im Anhang; das VI ist recht groß daher zwei Screenshots
Ich habe diese VIs einfach von MEilhaus übernommen, gibt es bei denen zum Download. Aber daran liegt es nicht, auch wenn ich andere Einstellungen für das REad-VI wähle kommt die FEhlermeldung. Die Fehlermeldung bezieht sich auch eindeutig auf das "Start-Task-VI".
Die Boolsche Abfrage habe ich einfach nur implementiert, um eine rote und eine grüne LED am Frontpanel leuchten zu lassen, je nach Stromrichtung respektive ob ge- oder entladen wird.
Zitat:Die Fehlermeldung bezieht sich auch eindeutig auf das "Start-Task-VI".
Nein, das bezieht sich nicht auf die StartTask-Funktion, sondern auf die Funktionen davor, mit denen du die Parameter festlegst.
Leider verdeckt die Fehlermeldung einige der Parameter im Bild!
Prüfe doch einfach mal, welche Optionen deine Hardware erlaubt…
Kleiner Seitenhieb: bei NI-Geräten und DAQmx würde dir die Fehlermeldung auch sagen, welche Option falsch gesetzt ist…
Tatsache, ich habe den Clock-Parameter auf "onboard clock" gestellt und Schwups funktioniert es. Gut, soll mir Recht sein. Macht für mich keinen Unterschied (wozu sind die Clock-Parameter überhaupt gut?).
Danke für den Tipp!
Jetzt muss ich nur noch die Spannungswerte über die Zeit in eine Datei schreiben lassen dann ist das meiste geschafft
Lieben Gruß und danke für die Unterstüzung, ging ja sehr flott
Zitat:wozu sind die Clock-Parameter überhaupt gut?
Um das Sampling zu kontrollieren?
(Zum speziellen Parameter: Es soll ja Geräte geben, die auch externe Takte oder alternative Clock-Signale unterstützen.)
Wenn Das Programm bei einer Fehlermeldung auch beendet werden soll.
Dann sollte der Ausgang des ODER Gatters an die While-Schleife Abbruchbedingung angeschlossen werden.
Gruß
Freddy
Moin Freddy, da hast du Recht und eigentlich hatte ich das auch so, da ist wohl was beim "aufräumen" schief gegangen.
"off"-Topic:
Wie schaffe ich es denn nun, nicht nur die Spannungswerte, sondern auch die dazugehörige Zeit in eine csv zu schreiben? Also die Spannungswerte in die CSV ist per "in Tabelle schreiben" ja easy going. aber die mache ich in der Spalte daneben die dazugehörigen Zeitwerte (Optimalerweise im einstellbaren Invertall?)? Ich schätze mal "irgendwie über die Timer-Funktion" nur wie? Ein anderer Ansatz wäre, das Zeitintervall per Metronom, welches eh in der Schlefe zwecks Taktung vorhanden ist, einzustellen, und den Schleifenzähler als "Zeit" zu nehmen. Aber das ist eher unelegent und selbst mit diesem Ansatz wüsste ich nicht, wie ich diesen Wert als zweite Spalte in die csv schreiben kann..
Irgendwie in ein Array chreiben/ wandeln und dann per 2d-Anschluss an "in Tabelle schreiben" oder...?!?!
Und wie genau mache ich das? also ich bin erst nächste Woche wieder im Labor, konnte hier zu hause aber ein kleines testprogramm erstellen. Bei diesem funktioniert es zwar grundsätzlich, dass zwei Spalten geschrieben werden, die Wert werden aber nach jedem Schleifendurchlauf überschrieben statt neuer Schleifendurchlauf = neue Zeile :/