Probleme Wago 8202 Modbus

Hallo, ich bin bald am verzweifeln mit der Modbusverbindung zwischen Raspberry mit Symcon aktuelle version 5.0 und Wago Controller 8202 mit e!cockpit aktuelle Version 3.5

Ich habe in Symcon 32 Modbus instanzen angelegt und kann aber nur 4stk. Schalten.
Weiters habe ich in e! cockpit einen Modbusserver hinzugefügt und 32 Adressen und diese als eingehend deklariert.

Diese 4 Funktionieren:
Wobei die Adressen eigentlich nich zusammenpassen bis auf eine nähmlich die 2.Passt.

Einstellung Wago PFC 8202 und Symcon
Register: 32000 Bit: 0 und Symcon 32775
Register: 32000 Bit: 8 und Symcon 32776
Register: 32001 Bit: 0 und Symcon 32798
Register: 32001 Bit: 8 und Symcon 32799

Bei den restlichen 28 tut sich nichts…
Kennt sich da jemand aus oder hat sowas am laufen oder vileicht eine Liste mit Adressen die zusammenpassen?

Bin über jeden Rat dankbar.

Wie liest du diese denn aus? Sind die als „Coil“ definiert oder liest du ganze Register aus?

paresy

Danke für die schnelle Rückmeldung

Single Coil über Modbus TCP

Hi,
eine Liste gibt es für Controller die nur CodeSys 2.3 können.
Wenn du e!Cockpit hast, kannst du die Adressen frei vergeben. Stell doch mal paar Bilder von e!Cockpit rein.

Gruß

Hallo, hier noch ein par Details:

Unbenannt

Hoffe es kann mir jemand weiterhelfen…

Gruß

Habe den Fehler schon gefunden war ein Problem in e!Cockpit.
Ich habe die Modbusadressen zusätzlich als Merker deklariert mit einer Merkeradresse.
Habe das herausgelöscht jetzt geht es.

Danke!

Hallo ich bin es nochmal mit einem Problem. Habe jetzt konventionelle Taster angeschlossen und jetzt funktioniert das oben genannte Beispiel nicht richtig. Wenn ich am Taster drücke wird der Status in IPS nicht Aktualisiert.

Ich vermute das ist ein Problem mit E Cockpit und Wago 8202.

Bei E Cockpit 3.5 muss ich ja die Modbusadressen selbst anlegen. Es gibt keinen fertig zugewiesenen Merkerbereich.

Das Problem ist jetzt das wenn ich die Modbus Adresse zusätzlich als Merker zuweise ich über IPS nicht schalten kann und wenn ich die zuweisung als Merker herausgebe der Status in IPS nicht mehr aktualisiert wird wenn ich über den Hardwaretaster schalte.

Hat das jemand am Laufen oder eine Idee an was das liegen könnte?

Gruß

Hi,

was genau willst du Schalten?
Ein Ausgang über Taster oder IPS? Mit einem XOR geht das am einfachsten.

EDIT: Habe oben im Screenshot übersehen das du schon XOR benutzt :grimacing:

Wieso benutzt du Merker anstatt gleich auf ModBus Adresse verweisen?

Gruß

PS: Könnte heute Abend nachschauen. Habe im Moment eCockpit nicht zu Hand.

Danke für die Hilfe, ja ich möchte Lichter Schalten. Wenn ich die Modbusadresse nicht zusätzlich als Merker deklariere kann ich von IPS nicht schalten.
Ich vermute das das daran ligt das ein Merker wie ein Ausgang in der Sps gehandhabt wird und der für einen Zyklus dann schaltet.
Eine Modbusadresse tut das nicht…
Oder irre ich mich da?

Hallo Johann,

Habe jetzt konventionelle Taster angeschlossen und jetzt funktioniert das oben genannte Beispiel nicht richtig. Wenn ich am Taster drücke wird der Status in IPS nicht Aktualisiert.

Wie meinst du das genau? Wenn du ein Taster betätigst wird der Ausgang geschaltet? Ist zb. Q1 TRUE?
Die Datenpunkte für die Adressen sind in der Spalte „Richtung“ als Eingang deklariert.

Tipp: Zwischen Taster und XOR eine Flanke „R_TRIG“ hinzufügen.

Ich würde eventuell deine ModBus Struktur nochmal überdenken.
In der Software hast du ein ModBus Master und in den Einstellungen von der CPU verwaltest du die Adressen.

Füge doch anstatt ModBus Master ein ModBus Client Gerät. Da kannst du bequem die Register Adressen vergeben und im Programm ohne irgenwelche Mappings verwenden.

Gruß

Danke für die Rückmeldung.

Gute Idee werde heute nochmal Testen.

Kann das überhaupt funktionieren?? Denke eher nicht.
Der Master(IPSymcon) gibt dem Slave(Wago Sps) befehle z.b. Licht einschalten, Rolladen hoch usw.
Wenn ich Das Licht über Symcon einschalte möchte ich das es sofort angeht. Symcon befehl zu Sps licht schalten.

Wenn ich es umgekehrt mache (Sps Master und Symcon Slave) dann müsste ich ja mit Symcon eine Modbusvariable Schalten und das Licht geht aber dann nicht sofort an sondern erst wenn die Sps (Master) im Abfragezyklus 2 Sekunden oda so, denn viel schneller geht ja nicht die Modbusadresse liest. Da habe ich ja eine merkbare Verzögerung mal weniger mal mehr.

Es ist mit Modbus ja nicht möglich das der Slave dem Master einen Befehl gibt. Es kann lediglich der Master den Slave zyklisch abfragen.

Hast du denn so eine Konstelation am laufen?

Lg

Hi,

laut deinem Screenshot ist die SPS der Master.
IPS ist immer der Master und die SPS wird zum Client.
mb1


Gruß

Laut meinem Screenschot ist die SPS der Slave oder auch Client genannt.

Oda irre ich mich da??

Bin ich voll deiner Meinung!

Aber laut deinem Screenshot ist IPSymcon der Client. Im ersten Bild stellt Generic_Modbus_Client den Symcon Server dar.
Und PFC200_2ETH_RS die Wago Sps als Master

LG

Symcon kann nur Modbus Client (also Master).
Symcon hat keine Unterstützung für Modbus Server (Slave).
Der Server (Slave) stellt Daten zur Verfügung, also die SPS, welche von einem Client (Symcon als Master) abgefragt werden.
Michael

Hi johann,

habe mal bisschen durchgetestet.
Du musst keine zusäzliche Merker deklarieren!
Mach anstatt „M1 AT %MX0.0: BOOL“ - „M1:BOOL;“ und die Variable Mappen.
Und die Adressen müssen als Ein/Aus deklariert werden.

Gruß

Hallo, ich habe das heute ausprobiert und bin leider nicht zurecht gekommen.

ich denke der Fehler liegt daran das ich die Variablen nicht so wie bei dir als Ein-/Ausgang deklarieren kann.

Es geht nur Eingang oder Ausgang.

Vielleicht könnten wir mal Telefonieren oder via TeamViewer schauen.
Soll auch nicht umsonst sein.

Das Problem konnte dank großartiger Unterstützung gelöst werden.

Es lag an einer alten Firmware auf dem Wago Controller. Der PFC 200 von mir ist schon ein älteres Modell.

Das Beispiel Licht schalten mit dem XOR Baustein funktioniert wunderbar.