INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

LV und RS232



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!

18.09.2017, 12:48
Beitrag #1

Xit Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Sep 2017

2015
2017
DE



LV und RS232
Hey LV-Freunde bin ein LV-Neuling und brauche eure Hilfe..
ich möchte über labview ein Frequenzumrichter (Jäger) steuern..hauptsächlich mit einer drehzahlrampe..
die ich dann über Rs232 an den FU weitergebe...
nun habe ich durch rumprobieren und lesen...
eine Rampe programmiert und ein Schnittstellenkonfiguration...leider funktioninert es nicht so wie ich es denke..
kann mir jmd weiter helfen danke Smile)


Angehängte Datei(en)
15.0 .vi  Rampe_2.vi (Größe: 21,22 KB / Downloads: 271)

15.0 .vi  Visa_Schnittstellenkonfi 2.vi (Größe: 12,5 KB / Downloads: 251)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.09.2017, 13:01
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: LV und RS232
(18.09.2017 12:48 )Xit schrieb:  kann mir jmd weiter helfen danke Smile)

Hallo,

erstmal solltest du in deinem SS-Konfi-VI einen möglichen Fehler am Ausgang des Visa-Config-VIs auswerten. So weißt du ja garnicht, ob der Port geöffnet werden konnte.
Dann sendest du ohne Wait deinen Schreibpuffer. Das solltest du eventgesteuert tun.
Deine Empfangsroutine überschreibt das Stringelement sofort wieder, selbst wenn du was empfingest. So kannst du da garnichts sehen.

Also baue das mal entsprechend um (ggf. auch mit getrennter Sende-/Empfangsschleife) und sinnvollen Waits drin.

In deinem Rampe-VI sollte auch schonmal eine Eventstruktur ihren Platz finden - dann ist auch das Wait hinfällig.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2017, 13:54
Beitrag #3

Xit Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Sep 2017

2015
2017
DE



RE: LV und RS232
Vielen Dank für die schnelle Antwort...dann werde ich das jetzt mal fix verbessern Smile)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2017, 15:32
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: LV und RS232
Immer wieder dasselbe Problem mit RS232 und LabVIEW. Stimmt die Einstellung der Schnittstelle wirklich? Du hast die auf aktiviertem TerminationChar = \n gelassen. Wenn das korrekt ist und dein FU wirklich jede Nachricht mit einem <newline> abschließt, dann kannst du dir das "Bytes at Port" sparen. Stattdessen eine genügend große Zahl an den byte count von VISA-Read anschließen, VISA Read gibt dann sofort einen String zurück, wenn es den TerminationCharacter <newline> erkennt.

Weitere Fragen können wir nur nach genauerer Kenntnis des Kommunikationsprotokolls beantworten. Rtmfx

Gruß, Jens

Offtopic2
@Trinitatis: VISA Configure Serial Port öffnet noch nicht den Port, sondern konfiguriert ihn nur.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.09.2017, 15:42
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: LV und RS232
Hallo Xit,

Zitat:eine Rampe programmiert ...leider funktioninert es nicht so wie ich es denke..
Erstmal was grundsätzliches: wenn etwas "nicht wie gewünscht funktioniert", dann ist das schlecht. Noch schlechter ist dann allerdings, dass das auch eine ganz dürftige Fehlerbeschreibung ist, mit der man nichts anfangen kann!

Dann zum Rampen-VI:
- Es ist schonmal komisch, wenn du für einen Array-Index einen Float-Wert verwendest. Es wird noch komischer, wenn du diesen Indexwert um 0.01 hochzählen willst! Welches Array-Element willst du denn da einfügen, wenn der Index auf "0.34" steht?
- Wieso muss man Drehzahlen mit 1e-4 multiplizieren? Warum für die Anzeige dann wieder mit 1e4 multiplizieren? Warum eine (Rundinstrument-)Anzeige auf einen Bereich von 0-1e5 einstellen, wenn die dargestellten Werte im Bereich <=10 liegen?
- Warum verwendest du nicht einfach die Rampenfunktion, die es in der Signalerzeugungs-Palette gibt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2017, 08:15 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2017 08:19 von Xit.)
Beitrag #6

Xit Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Sep 2017

2015
2017
DE



RE: LV und RS232
Hi Gerd,
wie gesagt ich bin Neuling und weiß oft nicht was ich da mache...
zum Rampen VI..

- also ich habe es über die Rampenfkt in der Signalerzeugungspalette Versuch..jedoch kann der nur konstant eine Rampe fahren bzw. es hat bei mir nicht so funktioniert..
weil ich möchte eine gewisse Zeit angeben können..zb 10sec ist er auf 2000rpm nach 20sec auf 3000rpm und dann 50sec bei 3000rpm const. bleiben usw.
- laut FU entspricht 0V 0 Rpm und 10 V 100000Rpm...deshalb habe ich einmal es in V anzeigen wollen und einmal die Drehzahl..korregiere mich wenn meine gedanken falsch sind.
- ich hatte eig. vor eine tabelle zu programmieren. wo man einfach zeit und drehzahl einträgt und es als diagramm anzeigen lässt und dann rüber zumFU überträgt um mein Motor anzusteuern...
natürlich kann man das alles einfacher leichter und besser machen...deswegen frage ich euch ja Smile)


ich versuche eure vorschläge mal umzusetzen...gern bin ich für weitere vorshcläge offen Smile))
danke schon mal für eure Hilfe...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.09.2017, 08:30 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2017 08:32 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: LV und RS232
Hallo Xit,

Zitat: laut FU entspricht 0V 0 Rpm und 10 V 100000Rpm...deshalb habe ich einmal es in V anzeigen wollen und einmal die Drehzahl..
Das Control heißt bei dir "Drehzahl [rpm]" und enthält Werte zwischen 0 und 10 (rpm!). D.h. dein Analogwert müsste zwischen 0mV und 1mV liegen: ist deine DAQ-Hardware so genau - und kann dein FU überhaupt so genau Spannungswerte entgegennehmen?
Ich bevorzuge es, im Programm nur mit physikalischen Größen (bei dir: Drehzahl) zu arbeiten und nur bei der Eingabe/Ausgabe über die DAQ-Hardware entsprechend zu skalieren. Ich würde dann erst beim Ausgeben des Drehzahlsollwertes an den AO-Kanal den Drehzahlwert in Volt umrechnen…

Zitat:also ich habe es über die Rampenfkt in der Signalerzeugungspalette Versuch..jedoch kann der nur konstant eine Rampe fahren bzw. es hat bei mir nicht so funktioniert.. weil ich möchte eine gewisse Zeit angeben können..zb 10sec ist er auf 2000rpm nach 20sec auf 3000rpm und dann 50sec bei 3000rpm const. bleiben usw.
Niemand sagt, dass das mit nur genau einer einzigen Rampenfunktion erledigt werden muss.
Du brauchst eine Rampe für "0rpm -> 2000 rpm in 10s", dann eine für "2000 -> 3000 in 20s", dann "3000 -> 3000 in 50s". Die Zeit ergibt sich aus Samplerate und Anzahl der Samples…

Wenn man das so schreibt, wird auch schnell klar, dass sich hier eine Schleife anbietet, die diese einzelnen Schritte abarbeitet!

Zitat: ich hatte eig. vor eine tabelle zu programmieren. wo man einfach zeit und drehzahl einträgt und es als diagramm anzeigen lässt und dann rüber zumFU überträgt um mein Motor anzusteuern...
Prima Idee!
(Ersetze das Wort "Tabelle" durch "2D-Array" oder "Array of Cluster of [Start, Ende, Zeit]"…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2017, 11:16 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2017 11:17 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: LV und RS232
Zur Schnittstellenkonfiguration:
Visa Write scheibt den String in den Schreibpuffer des PC. Das geht blitzschnell. Wenn die Funktion mit dieser Aufgabe fertig ist, können niemals schon irgendwelche Bytes im Empfangspuffer sein, ja, es wurde ja noch nicht einmal etwas gesendet.
Man kann natürlich zwischen Senden und Empfangen ein genügend langes Wait zwischenschalten, aber das ist nicht die beste Lösung. Am besten ist die Steuerung mit Zeilenende-Erkennung, was ja schon so konfiguriert ist. Man braucht dann nichts weiter zu machen, als an den bytezahl-Anschluss ein Zahl, die größer ist als das was zu erwarten ist, anzuschließen:
   
Zu Deinem Rampen-VI:
Bei mir funktioniert es eigentlich. Wenn Dir das so nicht gefällt, müßtes Du verraten was das ist. Ich habe das VI mal etwas "entrümpelt" bzw. nach eigener Willkür verändert.

15.0 .vi  Rampe_2-WA.vi (Größe: 26,71 KB / Downloads: 271)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2017, 14:47
Beitrag #9

Xit Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Sep 2017

2015
2017
DE



RE: LV und RS232
Vielen Dank euch allen...Ihr habt mir echt weiter geholfen..

Ps: dieses Forum ist super..weiter so Big GrinBig Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: