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 

Zahl an 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!

13.07.2006, 07:48
Beitrag #1

paula Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2006

6.00
-
kA


Deutschland
Zahl an RS232
Hallo zusammen,

eigentlich hab ich gedacht, ganz einfach, aber anscheinend nicht für mich...
Also, ich möchte eine Zahl zwischen 0 und 255 auf die serielle Schnittstelle schreiben. Zuerst initialisiere ich die Schnittstelle. Danach wandel ich die Zahl in einen String um (kann man eigentlich nicht direkt die Zahl schreiben?) und gebe den String auf RS232.
Bei einstelligen Zahlen funktioniert das auch, aber bei den anderen nicht, warum? Muss ich das irgendwo einstellen?
Im Anhang hab ich mal zwei Bilder vom Programm


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.07.2006, 09:55
Beitrag #2

kokisan2000 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jul 2006

LV2012
2000
DE_EN

74206
Deutschland
Zahl an RS232
Hallo paula,

schaue doch mal in die Beispiele von LabVIEW. Dort findest Du alles was Du benötigst.

Nun zu Deinem Problem:

Also, ich möchte eine Zahl zwischen 0 und 255 auf die serielle Schnittstelle schreiben. Zuerst initialisiere ich die Schnittstelle.

[kokisan2000] bestens ...

Danach wandel ich die Zahl in einen String um (kann man eigentlich nicht direkt die Zahl schreiben?) und gebe den String auf RS232.

[kokisan2000] Genau so wird es gemacht. Die Zahl kann nicht direkt geschrieben werden, da ein ASCII Format bei der Übertragung benutzt wird, soll heissen die Zahl 123 wird seriell als '1', '2', '3' übertragen. Für die einzelnen Ziffern werden nicht die Ziffern selber, sondern für jede Ziffer der ASCII Code dieser Ziffer übertrtagen. Also z.B. hex31 für '1', hex32 für '2' usw.
Einige hex-Codes sind reserviert und steuern die angeschlossen Geräte mit sogenannten Escape-Sequenzen an. So ist z.B. hex07 vorbelegt, um ein Klingelton auszulösen, hex0A bedeutet Linefeed (springe in nächste Zeile ... Wenn Du also selber Zahlen übertragen willst, musst Du sehr genau wissen was Du da machst, sonst kommt Dein angesprochenes Gerät schnell in einen Fehlerzustand. RS232 Übertragung bedeutet eigentlich immer Wandel in ASCII-String vom Programm aus und dann senden. Oder andersrum: ASCII String empfangen und dann wandeln in das Format, was man bekommt und benötigt (Integer, Float, ...).

Bei einstelligen Zahlen funktioniert das auch, aber bei den anderen nicht, warum? Muss ich das irgendwo einstellen?

[kokisan2000] dito, schaue Dir die ASCII-Tabelle an. Die hex-Codes 00-1F sind mit den Escape-Sequenzen vorbelegt.

Schaue Dir noch mal die Beispiele an. Dein verwendetes VI zum Senden ist unüblich.


Gruß
kokisan2000
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2006, 14:27 (Dieser Beitrag wurde zuletzt bearbeitet: 14.07.2006 14:27 von paula.)
Beitrag #3

paula Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2006

6.00
-
kA


Deutschland
Zahl an RS232
danke für deine hilfe, jetzt hab ich kapiert wie das funktioniertSmile

aber wieso ist das unüblich, so zu senden? ich hab mir gerade mal die beispiele angeschaut, aber da wird immer VISA benutzt und das brauch ich ja eigentlich nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  String in Zahl/ Zahl in String mit Type Cast Jann 6 6.184 18.01.2016 09:02
Letzter Beitrag: Jann

Gehe zu: