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?
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.
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.
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?
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?
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.
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.
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
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
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.