LabVIEWForum.de
ASCII-Zeichen nach ASCII-Code und umgekehrt - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: ASCII-Zeichen nach ASCII-Code und umgekehrt (/Thread-ASCII-Zeichen-nach-ASCII-Code-und-umgekehrt)



ASCII-Zeichen nach ASCII-Code und umgekehrt - PT-Marco - 04.05.2006 14:26

Liebe LV-Gemeinde,

ich versuche bisher vergeblich folgendes Problem zu lösen:

Für einen bestimmten Datensatzaufbau (Kommunikation über die serielle Schnittstelle nach VDV300) ist es nötig, den gesendeten Text mit einer CRC-Checksumme abzuschließen. Da ich kein fertiges VI dafür gefunden habe, versuche ich nun die Sache selbst in die Hand zu nehmen. Die Programmschritte hierfür sind:

1. Zeichenkette in Einzelzeichen zerlegen.
2. Einzelzeichen in dessen numerischen Wert umwandeln (ASCII-Code).
3. Werte verknüpfen (XOR) -> Checksumme.
4. Numerische Checksumme in ASCII-Zeichen umwandeln.
5. Checksummenzeichen an Ausgangsstring anhängen und Datensatz abschicken.

Bei Schritt 2. und 4. liegt jedoch das Problem. Ich habe diese Aufgabe mit einer Case-Struktur verwirklicht. Leider funktioniert das nur bei darstellbaren Zeichen. Sobald ich im Selektor der Case-Struktur ein nicht darstellbares Zeichen (mit Alt+ASCII-Code) eintragen will, erscheint dort ein Fragezeichen und das VI ist nicht mehr ausführbar (Fehlermeldung: Case Struktur: Die ausgewählten Einträge sind nicht eindeutig). Auch bei der Umwandlung vom ASCII-Code in das entsprechende Zeichen gibt es ein ähnliches Problem. Es sieht so aus, als wäre der String-Datentyp nur für darstellbare Zeichen zu gebrauchen.
Kennt jemand eine Lösung für dieses Problem?

Vorab schon mal herzlichen Dank für Eure Hilfe!
Gruß Marco


ASCII-Zeichen nach ASCII-Code und umgekehrt - eg - 04.05.2006 15:22

Ich habe hier einen oder mehrere Vorschläge. Vielleich findest du etwas passendes.

Gruss, Eugen


ASCII-Zeichen nach ASCII-Code und umgekehrt - PT-Marco - 05.05.2006 09:20

Vielen Dank Eugen, es funktioniert.

Das Wochenende ist gerettet!

Gruß
Marco


ASCII-Zeichen nach ASCII-Code und umgekehrt - Luke Fragezeichen - 13.06.2006 15:56

Hallo.
Ich stehe vor ähnlichem Problem.
muss Daten nach CCIT-CRC 16 kodieren.
- sagt mein Technical-Service-Manual, Ph34r ich hab das noch net gekannt-

das Polynom lautet hierfür: x16+x12+x5+1

Ist das in den obigen Vis realisiert?
also einfach zu kodierenden String eingeben und der CRC-String kommt raus?

bin etwas durcheinander Wacko

Danke! Luke.


ASCII-Zeichen nach ASCII-Code und umgekehrt - eg - 13.06.2006 16:32

Probiere es doch mal aus. Wenn es nicht passt, hast du die Grundlage, die du erweitern oder anpassen kannst.

Gruss, Eugen


ASCII-Zeichen nach ASCII-Code und umgekehrt - Luke Fragezeichen - 14.06.2006 09:18

Hallo.
Ich habs versucht mit den VIS. s will nicht klappen.
Leider kommt nicht das raus, was ich erwarte.
Ich habe eine Pascal procedur vorgegeben, die das ergebnis liefern soll.
Hab nur weinig Ahnung, wie ich die in LabVIEW umsetze, besonders fehlet mir die Möglichkeit von Variablen in LabVIEW.

Ich hänge mal Quellcode für die Pascal procedure an.

Vielleicht kann jemand damit was anfangen.
Ich verzeifel langsam.
Luke.


ASCII-Zeichen nach ASCII-Code und umgekehrt - eg - 14.06.2006 09:29

Ich kann leider kein Pascal, aber ich sehe, dass alle in der Prozedur benutzten Funktionen in LV verfügbar sind. Als Grundlage nimm dir das CRC16.vi, da wird es ähnlich gemacht, ich glaube du musst sogar nur die Konstanten ersetzen.

Gruss


ASCII-Zeichen nach ASCII-Code und umgekehrt - tobey - 14.06.2006 10:56

Könntet ihr das VI auch für Leute mit LabVIEW 7.1 zugänglich machen? (Ich glaub ich bin nicht der einzige der noch mit 7.1 arbeitet)
Das wäre super!


ASCII-Zeichen nach ASCII-Code und umgekehrt - Luke Fragezeichen - 14.06.2006 11:17

Ich bins noch mal.
Ich habs jetzt nsatzweise hinbekommen.
Das Vi ist angehängt.

einziges Problem ist noch:
Ich weiss nicht, was Befehle wie $8000 oder $80 in Pascal bedeuten und wie ich das in LabVIEW umsetze.

Vielleicht kann sichs mal jemand Blush anschaun.

Danke.
Luke


ASCII-Zeichen nach ASCII-Code und umgekehrt - eg - 14.06.2006 12:09

Ich glaube "$" entspricht "0x" in C und bedeutet, dass die Zahl hexadezimal interpretiert wird.

Gruss