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 Freunde,
ich habe Probleme mit der Schaltung eines Relais. Ich habe (auch schon mit kräftiger Hilfe hier aus dem Forum) eine State Machine zur Steuerung eines Relais gebaut, die einen Heizpilz reglen soll. Da ich mir nicht anders zu helfen wusste, habe ich in den einzelnen Cases mit lokalen Variablen für die Konfiguration des Boards, an dem das Relais hängt, gearbeitet.
Mein Problem ist nun, dass zwar die Heizpilz-LED im VI korrekt leuchtet, das Relais allerdings nicht schaltet. Angezeigt wird der Fehlercode 42 (allgemeiner Fehler).
Kennt jemand eine Möglichkeit das VI korrekt zum Laufen zu bringen? Über Anregungen würde ich mich sehr freuen!
Zur Info: Mein Relais ist ein AQA611VL von Panasonic, das an Redlab 1208LS angeschlossen ist. Im Anhang ist mein VI in der Version 8.2.
Ich glaube nicht, dass das Problem mit dem von Dir geposteten VI zusammenhängt, sondern an dem "DBitOut.vi", welches Du leider nicht mitgeliefert hast.
Also würde ich an deiner Stelle erstmal sicherstellen, dass dieses VI korrekt mit der Hardware kommuniziert. "Allgemeiner Fehler" klingt erstmal so, also würde er die Kommunikation garnicht erst herstellen können.
Zum Programm selbst: Klar leuchtet die Heizpilz-LED, die setzt du ja gleich in der ersten Abfrage auf "True", egal, was das DBitOut für Fehler schmeißt.
If you're havin' serial communication problems I feel bad for you, son, I got 99 problems but a baud ain't one! (except if using USB2serial converters, then I experience serialous problems)
Hi Kasi,
Danke dir erstmal! Und Sorry, hab natürlich vergessen, das Sub-VI mitzuliefern. Ist in der angehängten .dll enthalten.
Und nochmal zu dem Problem: In einer älteren Version hatte ich alle lokalen Variablen durch entsprechende numerische Bedienelemente ersetzt und da hat die Kommunikation funktioniert! Ich möchte aber natürlich Boardnummer, BoardTyp und BitNummer nur einmal definieren und nicht für jeden einzelnen Case separat. Weiß jemand Rat?
Und über die Heizpilz-LED wollte ich eigentlich nur zeigen, dass die State Machine sonst funktioniert.
1) Alle lokalen Variablen durch Drähte ersetzen, die mit dem zugehörigen Terminal verbunden sind. "BoardNum" etc. gehört vor die Schleife, die ändern sich zur Laufzeit eh nicht mehr!
2) Mach aus deinem VI eine echte Statemachine! Bisher hast du nur ein paar ineinandergeschachtelte Case-Strukturen mit jeder Menge dupliziertem Code (die ganzen DBitOut-Aufrufe)! Stattdessen solltest du eine echte Statemachine erstellen (nur eine Case-Struktur!), die jeweils den aktuellen Bitstatus ausgibt, der dann nach dem Case gesetzt wird...
Hi,
das DBitOut.vi kommuniziert nicht mit meiner RadLab Box und dem Relais und ich weiß nicht woran es liegen könnte. Habe die Box schon als Single ended oder als Differential konfiguriert, habe die Firewall ausgestellt, habe den CIM im DBitOut.vi als Ausgang oder als Eingang/Ausgang konfiguriert, alles ohne positives Ergebnis.
Kommunikation findet nur mit der von RedLab mitgelieferten Instacal Software statt, die aber nur zum testen ist - mit LabVIEW nicht
Für alle weiteren problemlösenden Anregungen wär ich sehr dankbar!!
was soll man zum Umgang mit nicht-NI-Hardware sagen?
- Manual lesen
- Software (korrekt und nach Anleitung) installieren
- Testprogramme des Herstellers nutzen
- LabVIEW-Beispielroutinen des Herstellers nutzen
- Hersteller fragen, wenn es Probleme gibt...
hast du das ME-RedLab USB-1208LS vor Start von LabVIEW angeschlossen oder danach?
Ich benutze ebenfalls das Gerät und hatte mal das Problem, dass ich das USB-1208LS erst nach Start von LabVIEW angeschlossen habe. Damals war die Komunikation mit Instacal hergestellt, allerdings nicht mit LabVIEW.
Hi,
Danke euch allen für die Anregungen!
Das Problem war, dass die Kommunikation zwischen Labview und dem Relais nicht hergestellt werden konnte. Das lag ganz einfach daran, dass der Port nicht als Ausgang definiert war (Dazu ist neben DBitOut.vi das DCfgPort.vi nötig). Jetzt funktioniert es!
Zeit zum Feierabend machen!!
Gruß, Heimbo
PS:
@ GerdW: Danke für die Hinweise zur simplen Vermeidung der lokalen Variablen! Deine Hinweise zur StateMachine konnte ich bisher nicht umsetzen, da ich mich auf mein wesentliches Problem (s. Beitrag 1) konzentriert habe, aber das steht noch auf meiner To-Do-Liste
@ Felix: Es funktioniert auch, wenn ich Labview geöffnet habe und anschließend erst das 1208 LS anschliesse.