' schrieb:Hallo!
ich versuche verzweifelt zwischen einem PC mit LabVIEW 7.1 und einem Frequenzumrichter eine Kommunikation auszubauen. Die Befehlstruktur für Senden und Empfangen kenne ich, da die Kommunikation über ein Hyperterminal bereits funktioniert, aber mit LV habe ich meine Probleme. Ich habe mir bereits die LV Beispiele angeschaut und mal ein eigenes zusammengebaut. Das vi zeigt zwar keine Fehler an aber wenn ich den String #0!<ENQ>(wird in LV als Rechteck dargestellt) verschicke liegen danach keine Bytes am Port an. Wenn ich das ganze jedoch über das Hyperterminal mache erfolgt nachdem Senden des Strings sofort eine Anwort (1 Zeichen) vom Umrichter <NAK>(=nicht Bereit) oder <AOK>(=Bereit). Hat jemand eine Ahnung warum ich keine Bytes zurückbekomme? Mir is gerade nochwas aufgefallen dass vi funktioniert ja auch obwohl der Umrichter aus is müsste dann nicht eigentlich eine Fehlermeldung kommen? Ich glaube ich habe hier noch grundsätzlich Probleme mit dem Kommunikationsaufbau. Es würde mich freuen, wenn mir jemand ein paar Tipps geben könnte, ob ich prinzipiell richtig liege bzw. wo evt. mein Fehler liegen könnten?
Vielen dank und viele Grüße
Alfe
Nur ne Vermutung: das ganze läuft zu schnell durch:
Dein VI läuft so ab:
1) VISA Init (außerhalb der Schleife)
2) VISA Write innerhalb der Schleife
3) VISA Bytes at Serial Port, liefert OHNE FEHLER 0 als Antwort, da es zeitlich direkt nach 2) erfolgt und Deine hardware vielleicht noch gar nicht geantwortet hat
4) VISA Read soll dann 0 Bytes lesen, tut es auch problemlos ohne Fehler
5) Deine Schleife endet, da erneuter Durchlauf nur (so wie Du es programmiert hast), wenn STOP gedrückt oder Fehler Status=True
6) VISA Close außerhalb der Schleife