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 

return = \r in LabVIEW?



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!

28.03.2007, 20:53
Beitrag #1

macoio Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Mar 2007

8.20
2007
kA

1156
Deutschland
return = \r in LabVIEW?
Hallo ich hatte/habe folgendes Problem:
Ich möchte Programmcode zur Ansteuerung eines Schrittmotors an die serielle Schnittstelle senden. Die Steuerung des Schrittmotors verlangt dafür an jedem Zeilenende ein Return, = einen Zeilenrücklauf ohne Wechsel zur nächsten Zeile (quasi cursor wieder ganz nach links aber nicht nach unten). Daraus ergibt sich beispielsweise folgender Programmcode:
@0i r 71 r9 r @0s (Die Leerzeichen gibts in Wirklichkeit nicht die sind hier nur zur Lesbarkeit, das r steht für return)
Nun gibt es folgenden Widerspruch:
Zuerst setze ich den oben beschriebenen Programmcode aus verschiedenen strings und arrays zusammen (mittels selbstgeschriebenem sub-vi).
dann:
Variante a: Ich kopiere das Ergebnis welches ich von dem sub-vi erhalte per hand (strg+c und strg+v) in eine Stringeingabebox und schicke das ganze an den Com-Port --> funktioniert prima

Variante b: Ich verbinde das sub-vi direkt mit der box welche den string über den Com-port sendet: -> ich erhalte von der Steuerung als Handshake die Fehlermeldung das mein letztes Zeichen falsch sei, damit meint er sicher das erste r

Variante c: Ich ersetze beim Zusammensetzen des Programmcodes im Subvi das r durch das String-zeichen welches aussieht wie die Enter-taste der Tastatur. Eigentlich dürfte das nur für einen Zeilenrücklauf sorgen, hat aber in der Ausgabe erstmal den gleichen Effekt wie carriage return, also zeilenrücklauf + wechsel zur nächsten zeile, wovon ich dachte das sei rn. Den dabei entstandenen String sende ich direkt an den Com-port -> funktioniert prima. Wenn ich mir den an den com-port gesendeten string jedoch anzeigen lasse, schreibt die Anzeigebox ein r an die Stelle der betreffenden Zeichen.

Fazit: Ich habe zwar mit Variante c eine Lösung meines Problems gefunden, weiß jedoch nach wie vor nicht was nun der Unterschied zwischen b und c ist und wie LabVIEW ein Return bzw. Carriage Return handhabt
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.03.2007, 21:03
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
return = \r in LabVIEW?
Eigentlich genauso wie sonst:

r = <cr> = return (carriage return)
n = <lf> = new line (line feed)


Galube ich mal.

Eugen

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.03.2007, 21:44
Beitrag #3

macoio Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Mar 2007

8.20
2007
kA

1156
Deutschland
return = \r in LabVIEW?
so dachte ich das ja auch aber meinem oben geschilderten problem nach ist r nicht gleich r.
= Das Stringzeichen welches man in Matlab für return benutzen kann erzeugt zwar graphisch angezeigt ein r, hat jedoch nicht den gleichen Effekt wie ein als String eingegebenes r
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.03.2007, 06:50
Beitrag #4

marker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 226
Registriert seit: Feb 2005

8.2.1
2002
kA


Deutschland
return = \r in LabVIEW?
Hallo macoio,

schau Dir das mal aus der LV-Hilfe an.

Gruß,
Marko


Angehängte Datei(en) Thumbnail(s)
   

"Make it simple, make it strong!"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.03.2007, 06:55
Beitrag #5

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
return = \r in LabVIEW?
Hi,

evtl. hat es damit zu tun, dass du deine "manuellen" Eingaben im String-Feld nicht im "codes display" gemacht hast!? Mach mal nen Rechtsklick auf ein String-Control und schalte von "normal" auf "codes" um...CRLF u.ä. sind ja Steuerzeichen, wenn man die direkt in ein Stringfeld im "Normalmodus" eingibt bedeutet dass was anderes als wenn man die im Codes-Modus eingibt!

Guck mal hier:


Sonstige .vi  cr.vi (Größe: 7,9 KB / Downloads: 333)


Manchen Programmen reicht auch ein CR, die interpretieren dass dann wie CRLF. Das stammt ja noch aus Schreibmaschinenzeiten, da mussten zwei mechanische Vorgänge stattfinden um an den Zeilenanfang zu kommen (CR+LF). Heute ist das ja nur noch ein Befehl, da reicht oft wenn man nur eines der Zeichen angibt.

Gruss
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.03.2007, 22:04
Beitrag #6

macoio Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Mar 2007

8.20
2007
kA

1156
Deutschland
return = \r in LabVIEW?
' schrieb:Hi,

evtl. hat es damit zu tun, dass du deine "manuellen" Eingaben im String-Feld nicht im "codes display" gemacht hast!? Mach mal nen Rechtsklick auf ein String-Control und schalte von "normal" auf "codes" um...CRLF u.ä. sind ja Steuerzeichen, wenn man die direkt in ein Stringfeld im "Normalmodus" eingibt bedeutet dass was anderes als wenn man die im Codes-Modus eingibt!

Guck mal hier:

[attachment=32459:cr.vi]

Manchen Programmen reicht auch ein CR, die interpretieren dass dann wie CRLF. Das stammt ja noch aus Schreibmaschinenzeiten, da mussten zwei mechanische Vorgänge stattfinden um an den Zeilenanfang zu kommen (CR+LF). Heute ist das ja nur noch ein Befehl, da reicht oft wenn man nur eines der Zeichen angibt.

Gruss
Achim


ok, andersrumSmile. Ich habe meine manuellen Eingaben im "codes display"-modus gemacht, deshalb hat er das per hand getippte r erkannt und alles hat funktioniert. Als ich jedoch meinen zusammengesetzten String an den PortSendeBlock angeknüpft habe war ich nicht im "codes display"-modus (wie transformiert man einen fertigen String dahin?) und deshalb ging das nicht. Deine Datei kann ich mir erst später anschaun hab hier grad kein LabVIEW.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ausgabe von Carriage Return joedoe1979 4 4.233 08.07.2013 11:01
Letzter Beitrag: Lucki
  carriage return maze 4 6.253 07.12.2007 15:25
Letzter Beitrag: maze
  Stringeingabe mit "Return" übernehmen. Y-P 10 10.434 07.09.2007 10:38
Letzter Beitrag: rolfk
  Array als Return-Value bei DLL? jg 3 5.438 24.08.2006 15:54
Letzter Beitrag: cb
  Return-Abfrage ersetzen Ulli-Macky 2 4.628 22.02.2005 22:41
Letzter Beitrag: Ulli-Macky

Gehe zu: