Modbus RTU - Modbus Error Charrec Timeout

Klingone22

Level-2
Beiträge
102
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Morgen!

Ich hab mal wieder ein Problem. Die EL 6021 liefert mit TC2 auf einen CX5020 mit CE nach ca. 40-70 Polls einen Error ID 32 - Modbus Error Charrec Timeout. In InfoSYS finde ich nichts hilfreiches dazu.

Ich verwende fbModbusRtuMaster_KL6x22B aus der aktuellen Modbus.lib, die Errorauswertung von den FB zeigt das:


Bildschirmfoto 2016-03-07 um 23.12.54.JPG

Wenn ich die Polls nach diesen Fehler weiterlaufen lasse kommt "No Response". Nur ein RESET des PLC Programs löst das Problem, daher glaube ich das das Problem im FB liegt (die Tatsache das der FB bei einer Timeout Zeit von 60sec ein dauerhafters Busy Bit erzeugt zeigt mir das er nicht komplett durchgetestest ist).

Der Fehler tritt auf egal ob man:
* 2, 20 oder 30 Wörter abfragt.
* Kurze (500msec) oder lange (60sec) Zeiten zwischen den Polls hat.
* Mit oder ohne Abschlusswiederstände.
* GND angeschlossen oder nicht.

Wenn man sofort nach den ersten Fehler wieder an EXCECUTE eine Flanke sendet, kommt sofort der Error, wenn man ca. 10 Minuten wartet, funktionieren ca. 5 Polls wieder, dann das gleiche Stück von vorne.

Der Modbus Slave ist ein SDM220 Einphase Multifunktionsmeßgerät, nur ein Slave, sonst nichts.

Hoffe meine Erklärung macht Sinn und ich hab nicht zuviele Details vergessen (Ich hab schon einige Modbus RTU Slaves mit diversen Beckhoff Steuerungen am Laufen, deshalb würde ich mich nicht als komplett Anhnungslos bezeichnem).

Irgendjemand eine Idee warum? (nach zwei längeren Abenden am herumprobieren gehen mir langsam die Ideen aus)
Gibts es einen alternative Modbus RTU FB?
Danke für alle Antworten!

Gruß,

K.

PS.: Wr Rechtschreibfehler findet darf sie behalten!
 
Abend!

Problem gefunden: Es war die COE parameter „enable XON/XOFF supported tx data“, "enable XON/XOFF supported rx data“ und „enable transfer rate optimization“ auf TRUE. Nun gehts.

Gruß,

K.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Morgen!

Versuche seit einigen Tagen eine THIES Wetterstation über Modbus RTU und eine EL6021 auszulesen - leider ohne Erfolg! Habe zu Testzwecken die Wetterstation an eine SAIA PCD angeschlossen - da funktioniert alles laut Handbuch? Habe folgende CoE- Parameter:

[TABLE="width: 519"]
[TR]
[TD]8000:02:00[/TD]
[TD]Enable XON/XOFF supported tx data[/TD]
[TD]RW[/TD]
[TD]TRUE[/TD]
[/TR]
[TR]
[TD]8000:03:00[/TD]
[TD]Enable XON/XOFF supported rx data[/TD]
[TD]RW[/TD]
[TD]TRUE[/TD]
[/TR]
[TR]
[TD]8000:04:00[/TD]
[TD]Enable send FIFO data continuous[/TD]
[TD]RW[/TD]
[TD]FALSE[/TD]
[/TR]
[TR]
[TD]8000:05:00[/TD]
[TD]Enable transfer rate optimization[/TD]
[TD]RW[/TD]
[TD]TRUE[/TD]
[/TR]
[TR]
[TD]8000:06:00[/TD]
[TD]Enable half duplex[/TD]
[TD]RW[/TD]
[TD]TRUE[/TD]
[/TR]
[TR]
[TD]8000:07:00[/TD]
[TD]Enable point to point connection (RS422)[/TD]
[TD]RW[/TD]
[TD]FALSE[/TD]
[/TR]
[TR]
[TD]8000:11:00[/TD]
[TD]Baudrate[/TD]
[TD]RW[/TD]
[TD]9600 Bau[/TD]
[/TR]
[TR]
[TD]8000:15:00[/TD]
[TD]Data frame[/TD]
[TD]RW[/TD]
[TD]8N1 (3)[/TD]
[/TR]
[TR]
[TD]8000:1A[/TD]
[TD]Rx buffer full notification[/TD]
[TD]RW[/TD]
[TD]0x0360 ([/TD]
[/TR]
[TR]
[TD]8000:1B[/TD]
[TD]Explicit baudrate[/TD]
[TD]RW[/TD]
[TD]0x000025[/TD]
[/TR]
[TR]
[TD]8000:1C[/TD]
[TD]Extended data frame[/TD]
[TD]RW[/TD]
[TD]8N1 (3)[/TD]
[/TR]
[/TABLE]


Der ModbusRtuMaster_KL6x22B- Baustein aus der ModbusRTU.lib liefert einfach keine Werte:

MB.ReadInputRegs(


UnitID := 1,
Quantity := SIZEOF(MBData)/2,
MBAddr := 35000,
cbLength := SIZEOF(MBData),
pMemoryAddr := ADR(MBData),
Execute := TRUE,
Timeout := t#1000ms,
BUSY => bBusy );


IF NOT bBusy THEN
MB.ReadInputRegs(Execute:= FALSE);
END_IF

Ist mein erster Modbus- Kommunikationsversuch mit Beckhoff und wäre froh um jeden guten Tipp!

Grüße

M.A.
 
Hallo Aggi!

Welchen Error Code / Error Meldung zeigt der FB an?
KAnnst du einen Link zur Anleitung der Wetterstation posten?

Gruß,

K.
 
Hi Klingone,

die Wetterstation wurde werkseitig auf Modbus RTU (9600, 8N1) und Device ID 1 eingestellt (...Abschlußwiederstände sind keine vorhanden) und kommuniziert auch einwandfrei mit anderen SPS`n (z.B. SAIA) nur eben leider noch nicht mit Beckhoff!?! Wie verdrahtest du die EL6021 genau?

Grüße
Aggi
 
Hallo Aggi!

In meinen Fall verwende ich 2-Wire (Enable Half Duplex ist bei dir auch TRUE) und hab Rx+ und Tx+ bzw. Rx- und Tx- miteinander verbunden (die Klemmen sind übereinander, d.h. Verbindung von links oben nach links 2. Reihe von oben und Verbindung von rechts oben nach rechts 2. Reihe von oben).

"Enable XON/XOFF supported tx data" und "Enable XON/XOFF supported rx data" würde ich mal auf FALSE stellen, die haben bei mir Probleme bereitet (ich bekam aber ca. 70 erfolgreiche Antworten).

Auch "Enable transfer rate optimization" auf FALSE setzen wäre einen Versuch wert.

Einen anderen Adressbereich abfragen? (0 oder 1 z.B.)

Gruß,

K.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Klingone,

Beckhoff hat mir gestern einen neuen Baustein geschickt, welcher bei allen Register- Adressen ein Offset von 30001 abzieht - jetzt läuft die Kommunikation!


Grüße
Aggi
 
Zurück
Oben