Beckhoff EL6021 Modbus RTU Verbindugsproblem

Beckhoff_SPS

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte gerne meine Beckhoff SPS mithilfe der EL6021 mittels RS485 mit einem Frequenzumrichter verbinden.
Dafür habe ich bereits den Modbus Baustein ModbusRtuV2_KL6x22B angelegt, die Klemme verbunden und die Kommunikationsparamter angepasst.

Im folgenden Bild das PRogramm mit den anliegenden Parametern.

GetFileAttachment


Und hier die Einstellungen der Kommunikationsparameter:

GetFileAttachment




Wenn ich nun einen Wert aus dem Frequenzumrichter auslesen möchte erhalte ich immer den Fehler "ModbusError_no Response". Woran kann das liegen? Was muss ich ändern, damit die Verbindung funktioniert?

Vielen Dank für eure Hilfe!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der FU ist der EFC 3600, den ich über die EL6021 angeschlossen. Der Frequenzumrichter ist halbduplex angeschlossen und + und - sind über einen 120 Ohm Widerstand wegen der Rückkopplung verbunden. Die Baudrate habe ich eingestellt, den Rest finde ich in den Coe Daten nicht. Wo finde ich die Einstellungen?
Die Bilder habe ich angehängt.Bild2.pngBild1.png
 
Zuletzt bearbeitet:
Der FU ist der EFC 3600, den ich über die EL6021 angeschlossen. Der Frequenzumrichter ist halbduplex angeschlossen und + und - sind über einen 120 Ohm Widerstand wegen der Rückkopplung verbunden.
1 + 2 und 5 + 6 sind dann gebrückt?
Die Baudrate habe ich eingestellt, den Rest finde ich in den Coe Daten nicht. Wo finde ich die Einstellungen?
Baudrate 8000:11 und 8000:1B
Startbit, Stopbit, Parität 8000:15 und 8000:1C
 
1 + 2 und 5 + 6 sind dann gebrückt?

Ja genau, 1+2 sind verbunden und 5+6 sind ebenfalls verbunden und zwischen 1 und 5 ist der 120 Ohm Wiederstand.

Baudrate 8000:11 und 8000:1B
Startbit, Stopbit, Parität 8000:15 und 8000:1C
Danke, jetzt habe ich das gefunden und ebenfalls eingestellt.

Nun bekomme ich keine Fehlermeldung mehr, allerdings ist der nun die ganze Zeit Busy und der eingelesene Wert bleibt immer null.
 
Ich dachte, die werden benötigt, um die Register zu lesen und zu schreiben.
Werden die nicht benötigt?
Wenn ich die Netzwerke rausnehmen, dann ist busy false und ein Fehler wird mir auch nicht ausgegeben, allerdings erhalte ich dann immernoch keinen eingelesenen Wert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die ModBus FBs werden über die Aktionsaufrufe gesteuert. Allerdings sollte man immer nur eine Aktion ausführen und warten bis die abgearbeitet wurde...

Mal nur so nebenbei, die Datenregister und das Status- und Controlword des FBs hast du auch in der Hardwarekonfiguration mit deiner Modbus-Klemme verknüpft?
 
Die ModBus FBs werden über die Aktionsaufrufe gesteuert. Allerdings sollte man immer nur eine Aktion ausführen und warten bis die abgearbeitet wurde...

Mal nur so nebenbei, die Datenregister und das Status- und Controlword des FBs hast du auch in der Hardwarekonfiguration mit deiner Modbus-Klemme verknüpft?

Vielen Dank für die bisherige Hilfe!
Die Verknüpfung scheint durch das Probieren irgendwann gelöscht zu sein. Nun habe ich das aber neu verknüpft und erhalte einen Fehler bei der Kommunikation: MODBUSERROR_ILLEGAL_DATA_ADDRESS. Ich versuche die MBAdr 16#0D10 auszulesen, was bei dem Frequenzumrichter die Modultemperatur sein sollte. Als Datenlänge habe die Länge eines Word, also 2 Byte. Quantity ist auf 1.
Ist nun die Adresse oder die Datenlänge falsch? Ich habe das auch mit Int, Byte und Real probiert und den selben Fehler erhalten.
 
Zuletzt bearbeitet:
Mit welcher Aktion versuchst du das Register zu lesen? ReadRegs (Funktionscode 3) oder ReadInputRegs (Funktionscode 4)? Du musst ReadRegs verwenden. Bei deinem FU kannst du nur auf die Halteregister und die Diagnosedaten zugreifen (Seite 173 im Handbuch des FUs).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit welcher Aktion versuchst du das Register zu lesen? ReadRegs (Funktionscode 3) oder ReadInputRegs (Funktionscode 4)?
Bisher habe ich immer ReadInputRegs verwendet. Wenn ich es nun mit ReadRegs probiere, wird mir kein Fehler (Error=False) angezeigt und Busy ist die gesamte Zeit über false, sodass ich keine Antwort vom Frequenzumrichter erhalte.


Bei deinem FU kannst du nur auf die Halteregister und die Diagnosedaten zugreifen (Seite 173 im Handbuch des FUs).
Was meinst du damit? Ich versuche die Daten aus dem Register 0x0D10 zu lesen.
 
Zurück
Oben