jotteff
Anmeldungsdatum: 07.03.2007
Beiträge: 5
Verfasst am: 23.03.2007 10:00 Titel: RS-232 Full-Duplex / GPS
--------------------------------------------------------------------------------
Hallo Abacom,
eine Verständnisfrage, die direkt an den Thread von Bert Harms (RS-232) anschließt (wollte den englischsprachigen Thread aber nun nicht unvermittelt in Deutsch fortsezten):
Funktioniert das Senden und Empfangen auf demselben Com-Port unabhängig voneinander (full-duplex)?
Aus dem GPS-Beispiel sehe ich, wie man den Port quasi permanent empfangsbereit hält. Läuft der Empfang auch weiter, während man auf demselben Port gerade sendet, bzw. ist das gleichzeitige Senden überhaupt zuverlässig möglich?
Ich versuche gerade, PL mit einem Tektronix 222 Oszilloskop sprechen zu lassen (benutzt ASCII-Strings zur Abfrage bzw. zum Setzen der Betriebsparameter über RS-232). Da bekomme ich momentan noch oft die Rückmeldung, daß Kommandos nicht erkannt wurden, bei direkter Verbindung über Putty oder Hyperterminal läuft aber alles fehlerlos. Das kann aber auch an dem Tek-Scope liegen, das will die ankommenden Zeichen anscheinend sofort auswerten, ohne auf das Zeilenende zu warten.
Noch 'ne zweite Frage, wo ich schonmal bei dem GPS-Beispiel bin:
weiß jemand 'ne elegante Lösung um Prüfsummen von ganzen Zeichenketten zu checken bzw. zu generieren (bitweises XOR über alle Zeichen im String)?
Hier im Forum fand ich den Hinweis auf eine DLL, die bitweise Operationen auf ASCII-Zeichen implementiert, das wäre schon verwendbar.
Man müßte den jeweiligen String dann aber immer noch Zeichen für Zeichen verarbeiten, wär' natürlich schöner, wenn man das in einem Rutsch für den ganzen String machen könnte.
Nach oben
abacom
Site Admin
Anmeldungsdatum: 30.06.2006
Beiträge: 898
Verfasst am: 26.03.2007 13:20 Titel:
--------------------------------------------------------------------------------
Natürlich können Sie per RS-232 "gleichzeitig" senden und empfangen.
Für die Checksummenbildung ist in der Tat eine zeichenweise Verarbeitung notwendig. Als Anregung interessant.
Nach oben
jotteff
Anmeldungsdatum: 07.03.2007
Beiträge: 5
Verfasst am: 26.03.2007 14:36 Titel:
--------------------------------------------------------------------------------
Hallo,
danke für die schnelle Antwort.
Den Grund für die Kommunikationsprobleme mit dem Tek 222 habe ich inzwischen wohl gefunden.
Das Gerät überschreibt quasi die eigenen Fehlermeldungen, indem es seine Antworten mit Carriage Return ohne Linefeed sendet. In einem normalen Terminalprogramm sieht man dann nur die erwartete Antwort aufscheinen, in PL sieht man auch die Fehlermeldungen (die wohl durch CR und LF ausgelöst werden).
Eines fiel mir beim rumprobieren in PL allerdings auf:
Anscheinend werden die Einstellungen zum Einrahmen der Übertragung beim Bauteil "COM String senden" nur nach Schließen und erneutem Öffnen von PL korrekt übernommen.
Zumindest wurden CR und LF als Postfix immer noch gesendet, als ich das in den Bauteil-Eigenschaften längst wieder gelöscht hatte. Nach Schließen und erneutem Öffnen von PL lief dann alles wie gewünscht.
Wenn die Anregung wg. Prüfsummen über Strings aufgegriffen würde, würde mich das sehr freuen.
Ich arbeite ja im Bereich Navigationsgeräte für Schiffe, da ist z.B. das NMEA-Protokoll gang und gäbe, bei dem jede Message mit einer Prüfsumme versehen ist.
Das besondere Problem hierbei: die einzelnen Messages enthalten "lesbaren" ASCII-Text, ihre Länge ist nicht verbindlich festgelegt. Numerische Werte z.B. können mal mehr, mal weniger Nachkommastellen enthalten, bei negativen Werten wird dem Wert ein "-" vorangestellt, der String also um ein Zeichen länger usw.
In jedem Falle aber nochmals vielen Dank für die schnelle Antwort.
Nach oben
abacom
Site Admin
Anmeldungsdatum: 30.06.2006
Beiträge: 898
Verfasst am: 27.03.2007 08:29 Titel:
--------------------------------------------------------------------------------
Schauen Sie einmal das Beispiel
Datei->Beispiele ...\hardware\rs-232\gps-demo.prj an.
Könnte hilfreich sein.
RS-232 Full-Duplex / GPS
Gehe zu
- SOFTWARE-UPDATES
- ProfiLab
- ↳ PROFILAB Kundenprojekte und Aufgabenstellungen
- ↳ Einsteigerfragen / FAQ
- ↳ Darstellung / Visualisierung
- ↳ Zählfunktionen, Zeitsteuerung und Programmablauf
- ↳ Messwertverarbeitung
- ↳ STRING-Verarbeitung
- ↳ Datenschnittstellen
- ↳ Hardware-Anbindung, I/O-Schnittstellen
- ↳ (Fern-)Bedienung / Externe Eingabegeräte
- ↳ Plattformen / PC-Systeme
- ↳ Aus- und Weiterbildung
- ↳ Makros & Schaltungen
- ↳ Projekte
- ↳ Heizungssteuerung
- ↳ Ofensteuerung
- ↳ Elektrische Antriebe
- ↳ Wetter und Klima
- ↳ Kraftfahrzeugtechnik
- ↳ Lichttechnik
- ↳ Multimedia
- ↳ Messtechnik
- ↳ Haussteuerungen
- ↳ Modellbau
- ↳ Elektronik und µ-Controller
- ↳ DLL-Programmierung
- ↳ Kundenspezifische Jobangebote rund um ProfiLab
- ↳ PROFILAB SOFTWARE Support
- ↳ Thema: Frontplatte und Frontplattenelemente
- ↳ Thema: Schaltung und Bauteile
- ↳ Thema: Makros
- ↳ Thema: Compiler
- ↳ Thema: Installation, Updates, Plattformen
- ↳ Thema: Geschwindigkeit und Systemauslastung
- ↳ Thema: ProfiLab-WebServer
- ↳ Thema: Anregungen zu ProfiLab
- ↳ PROFILAB HARDWARE Support
- ↳ Thema Hardware-Beispiele / Examples
- ↳ Thema Schaltungsaufbau, EMV, Störungen
- ↳ Thema RS232
- ↳ Thema Modbus
- ↳ Thema Temperatur
- ↳ Thema Relais
- ↳ Thema Multimeter
- ↳ Thema GPIB
- ↳ Thema Portzugriffe und LPT
- ↳ Geräte: ABACOM
- ↳ Geräte: BMCM
- ↳ Geräte: Conrad / Voltcraft
- ↳ Geräte: Deditec
- ↳ Geräte: DLP-Design
- ↳ Geräte: ELV
- ↳ Geräte: Greisinger
- ↳ Geräte: H-Tronic
- ↳ Geräte: Hygrosens
- ↳ Geräte: IO-Warrior
- ↳ Geräte: Kolter Electronic
- ↳ Geräte: LabJack
- ↳ Geräte: Meilhaus
- ↳ Geräte: Quancom
- ↳ Geräte: Velleman
- ↳ Weitere Geräte
- RealView
- ↳ REALVIEW SOFTWARE Support
- ↳ Einsteigerfragen / FAQ
- ↳ Kundenprojekte
- ↳ Anregungen
- ↳ REALVIEW HARDWARE Support
- sPlan
- ↳ SPLAN SOFTWARE Support
- ↳ Thema: Bibliotheken, Bauteile und Symbole
- ↳ Thema: Schaltpläne zeichnen und bearbeiten
- ↳ Thema: Seitenverwaltung, Blätter, Formblätter, Zoom
- ↳ Thema: Import, Export und Drucken
- ↳ Thema: Installation, Versionen, Updates, Plattformen
- ↳ Thema: Anregungen zu sPlan
- ↳ SPLAN SYMBOLE - Tauschbörse
- ↳ sPlan-Symbole: Elektronikbauteile, µ-Controller, Röhren und Halbleiter
- ↳ sPlan-Symbole: Installation und Anlagenbau, SPS
- ↳ sPlan-Symbole: Andere Fachgebiete, Pneumatik, Hydraulik, Kfz, etc.
- ↳ sPlan 8.0 - Demoversion
- Sprint-Layout
- ↳ SPRINT-LAYOUT SOFTWARE Support
- ↳ Einsteigerfragen / FAQ
- ↳ Thema: Platinenherstellung / Fertigungstechnik
- ↳ Thema: Isolationsfräsen und Bohren
- ↳ Thema: Gerberdateien
- ↳ Thema: Makros und Bauteile
- ↳ Thema: Lötaugen, Pads, Leiterbahnen, Masse
- ↳ Thema: Layer, Lötstop, Umriss
- ↳ Thema: Koordinaten und Raster
- ↳ Thema: Import, Export und Drucken
- ↳ Thema: Installation, Versionen, Updates, Plattformen
- ↳ Thema: Anregungen zu Sprint-Layout
- ↳ Kundenprojekte
- LochMaster
- ↳ LOCHMASTER SOFTWARE Support
- ↳ LochMaster - Tauschbörse
- ↳ Einsteigerfragen / FAQ
- ↳ Kundenprojekte
- ↳ Installation, Updates, Plattformen
- ↳ Anregungen
- FrontDesigner
- ↳ FRONTDESIGNER SOFTWARE Support
- ↳ FrontDesigner: Anregungen
- ↳ HPGL-Export, Fräsen und Gravieren
- AudioWave
- ↳ AUDIOWAVE SOFTWARE Support
- ↳ AudioWave: Anregungen
- ... und mehr von www.electronic-software-shop.com
- ↳ Link zum ABACOM - Webshop
- ↳ USB-µPIO / netPIO
- ↳ Fimware /TEMP12
- ↳ Fimware /GPIO18
- ↳ Fimware /INCR3
- ↳ Fimware /FREQ
- ↳ Fimware /PWMIO18
- ↳ USB-ADC Messmodul, 12 Bit
- ↳ USB-LRB Relaiskarte, 8-fach
- ↳ USB-LCD Textdisplay, 4x20
- ↳ Andere Artikel
- Sonstiges
- ↳ Sonstiges