Jump to content
Melde dich an, um diesem Inhalt zu folgen  
C.P.

RS232 lesen/schreiben

Empfohlene Beiträge

Hallo,

ich möchte die Fernsteuerung eines Ladegerätes Realisieren. Das Ladegerät nimmt Befehle über die RS232 entgegen und Beantwortet diese entsprechend.
Bsp:  Um die Zellenzahl abzufragen muss "##NRC_?$0D$0A\r\n"  gesendet werden. Dann kommt #NRC_?00<CR><LF> zurück.
Das ganze funktioniert auch anständig über den RS232 monitor wenn ich die Befehle von Hand sende. Auch die Wichtigen Daten kann ich mir aus dem Antwort String holen. 
Da gibt es keine Probleme.

Um das alles per "Knopfdruck" Zu steuern habe ich für ein Paar Befehle als Globale Strings angelegt die ich über eine Aktion an ein RS232 Ausgangsmodul übergebe.
Das funktioniert auch ohne Probleme für sich allein. Das Gerät tut was es soll.

Bei der Zusammenführung beider Module gibt es allerdings Probleme. Wenn RS232Aus00 und RS Master auf die Selbe Schnittstelle lauschen/arbeiten, sollte ja ein von RS232Aus00 gesendeter Befehl eine Antwort Provozieren die ich mit dem RS Master empfangen und auswerten kann. Leider ist immer nur das Senden eines Befehls möglich danach reagiert nichts mehr, ebenso kommt die Antwort nicht beim RS Master an. (Bzw. habe ich noch keine Möglichkeit gefunden dies zu prüfen. Denn im RS232 Monitor Funktioniert es zwar aber die Werte werden nicht an eine Angeschlossene Digitalanzeige weitergegeben.)

Hat jemand eine Idee was ich falsch mache ? 

Grüße
Christian

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo!

Zitat

Um das alles per "Knopfdruck" Zu steuern habe ich für ein Paar Befehle als Globale Strings angelegt die ich über eine Aktion an ein RS232 Ausgangsmodul übergebe.
Das funktioniert auch ohne Probleme für sich allein. Das Gerät tut was es soll.

Wenn Sie die Befehle senden, bestätigt das Gerät diese durch zurückgesendeten Zeichen/Nachrichten?
Diese Zeichen würden dann vom RS232-Eingang empfangen und die Interpretation der "Datennachrichten" durcheinanderbringen.

Im Formatstring des RS232-Ausgangs können Sie das Steuerzeichen /# m verwenden, wobei m die Anzahl der Zeichen ist, die der RS232-Ausgang aus dem Empfangspuffer entfernt, damit diese nicht vom RS232-Eingang gelesen werden können.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo,

die zurückkommenden Nachrichten sollen nicht verworfen werden. Diese sollen vom RS232-Eingang Gelesen und dann angezeigt werden. 
Leider funktioniert das anscheinend nicht. Ich hoffe das eine bald erfolgenden Grundlagenschulung da mehr licht ins dunkel bringen kann. 

Vielen dank für die Hilfe.

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Eventuell fehlt eine Einstellung im RS Master unter Optionen (siehe Anhang). Ohne Diese werden Daten für jeden Kanal erwartet und erst dann ausgegeben.

rs232_commander.png

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich meinte nicht, dass alle Antworten verworfen werden sollen. Vielmehr gibt es Geräte, die einen erhaltenen Befehl bestätigen ("ACK" o.ä.) und dann erst die eigentlich Antwort senden, falls das Zusammenstellen der Antwort mehr Zeit in Anspruch nimmt.
Diese Bestätigungen können natürlich auch beim RS232-Eingang an und stören bei der Interpretation der eigentlich gewünschten Antwort.

Sie können testweise probieren, dem RS232-Eingang so viele Kanäle zu geben, wie die erwartete Antwort Zeichen hat. Der Formatstring jedes Kanals ist nur ein einzelnen b (für Byte).
Ein Digitalinstrument anschließen und auf Hex bzw. ASCII-Darstellung stellen.

Jetzt sollten Sie nach dem Senden die einzelnen Zeichen der Antwort sehen können.

Wenn Sie immer denselben Befehl senden, sollte im Digitalinstrument immer das gleiche Format erkennbar sind mit stellenweise unterschiedlichen Zeichen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesem Inhalt zu folgen  

×