Step 7 RS 485 Kommunikation über ET200 1SI Karte

rolandh

Level-2
Beiträge
53
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe Probleme, dass meine serielle Kommunikation über ASCII zu einem Gerät nicht funktioniert.
Ich bekomme vom Partner jede Sekunde ein Telegramm (wird zumindest über die Recieve LED angezeigt)
Aber der FB2 S_RCV gibt immer den Fehler W#16#0811 aus.
Laut Beschreibung passen die Verbindungsparameter nicht.

Der Sender hat laut Beschreibung:
19200 Baud
Datenbit:8
Stoppbit:1
Parität: Keine

Diese habe ich auch in der Hardware - Konfig der 6ES7 138-4DF01-0AB0 eingestellt.
Und auch schon mehrmals überprüft, beziehungsweise andere Einstellungen getestet.

Wisst ihr, wenn das Grüne Empfangs-LED blinkt, ob ich die Daten richtig bekomme und
nur der Baustein falsch beschalten ist?
Weil bei der Länge der Empfangsdaten bin ich mir nicht ganz sicher, ob diese Richtig eingestellt sind.
Müssen diese Auch Richtig eingestellt sein, oder ist das bei Einstellung "Endkennung nach Zeichenverzugszeit" egal?

Danke für eure Hilfe
Roli
 
Handbuch sagt:
"Überprüfen Sie die Verbindungsleitung der
Kommunikationspartner bzw. überprüfen Sie, ob bei
beiden Geräten Baudrate, Parität und Stoppbitanzahl
gleich eingestellt sind."

Kannst du die Parameter am Kommunikationspartner einstellen, oder beziehst du dich nur auf eine Beschreibung dass es so ist?
Wenn du dort etwas einstellen kannst, würde ich es mal mit einer anderen Baudrate (langsamer) probieren.

Ansonsten müsstest du wohl mal ein Oszilloskop anklemmen, um zu prüfen ob die Verbindungsparameter korrekt sind, oder ob es elektrische Probleme gibt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich beziehe mich mit den Einstellungen auf die Beschreibung des Partners.
Hier kann ich leider nichts einstellen.
Aber wenn ich in der HW-Konfig die Einstellung der Stoppbits oder Parität anpasse, signalisiert das Empfangsled auf der SI_Karte trotzdem einen korrekten Empfang.
Was das LED bei einer anderen Baudrate anzeigt, muss ich noch testen.

Was soll ich mit dem Oszi kontrollieren? Wie hoch der Signalpegel ist?
 
Was soll ich mit dem Oszi kontrollieren? Wie hoch der Signalpegel ist?

Ich dachte eher an die Baudrate. Die Signalqualität siehst du dann aber auch. Sind die Abschlusswiderstände korrekt eingeschaltet?

Die Anzahl der Daten- und Stopbits und die Parität zu prüfen ist nicht ganz so einfach, wenn man den Sender nicht zum Senden der immer gleichen Daten bewegen kann. Da könnte man höchstens bei Start der Übertragung prüfen, ob nach 8 Datenbits immer ein Stopbit kommt, oder ein Paritätsbit (den Zustand kann man aus den 8 Datenbits für odd/even Parity bestimmen).
 
Ich benutze für solche Zwecke immer einen
http://www.cti-shop.com/RS485-Konverter/USB-Nano-485

Dann kannst du dich mit Putty oder Hyperterminal an die Linie klemmen und dann mal mitschnüffeln ob überhaupt irgendwas sinnvolles über die Leitung geht. Mit dem PC ist auch viel schneller die Busparameter verstellt, falls man mal nicht weis welche Busparameter verwendet werden probiert man sich mal durch die gängigen Einstellungen durch bis da klare Zeichen sichtbar werden.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bei Erkennung der Zeichenverzugszeit sollte die Anzahl der Zeichen egal sein.

Leider kann man die RS 485 nicht ganz so einfach an einen PC anschließen.

Pegel der seriellen RS 232 am PC ist +/- 12 V, während RS 422/485 differentielle 5V Signale hat. Dazu ist ein Umsetzer nötig.

Häufige Fehlerquellen sind: Sende und Empfangsleitung vertauscht, die jeweils beiden Adern haben auch eine Polarität, keine Widerstände (sind nötig da es sich bei 485 um ein System mit mehreren Sendern / Empfängern handelt, die dann bei Bedarf den Pegel der Leitungen ändern, falsche Parameter. Mit Hyperterminal läßt sich leicht horchen, man braucht aber den Umsetzer. Der ist häufig schon vorhanden, z.B. als Kabel für FU's die den Umsetzer drin haben, sonst extra kaufen.

Gruss

Oliver
 
Zurück
Oben