Modbus Probleme nach Power off von/zu DCS

matthias_1982

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

Ich hätte eine Frage zum Modbus. Wir haben hier eine redundante Modbus Verbindung zwischen unserer SPS (slave) zu einem Yokogawa DCS (master).

Nach einem Power off konnte das DCS nicht mehr digitale Signale zu uns senden. Erst nach einem kompletten Download (Hardware, Netz, CFC) und einem Reset der DCS Modbus Karte funktionierte alles wieder. AI, AO, DO funktionierten immer. Könnte dass daran liegen dass es einen Unterschied zwischen Merker Inhalt und DCS Inhalt gibt?

Ein weiteres Problem ist auch die Redundanz. Bei AI; AO; DO funktioniert dass, nur wieder bei den DI`s nicht. Wenn eine 1 geschrieben ist und wir schalten auf die redundante Karte um, kann diese 1 nicht mehr vom DCS überschrieben werden.

Hattet ihr schon einmal solch ein Problem?

Für eure Hilfe währe ich sehr Dankbar


Gruss
 
Hallo Matthias,
handelt es sich bei deiner Anwendung um eine ModbusRTU (seriell) oder ModbusTCP (Ethernet) Kommunikation?
Wenn der Slave aus irgend einem Grund einen Request nicht verarbeiten kann, sollte er auch eine Fehlermeldung bringen. Schau' doch mal da nach.
Es kann schon sein, dass der Master ein Bit schreibt und danach kontrollliest. Er sollte aber auch im Fehlerfall in der Lage sein, den gleichen Request nochmal zu schicken.

Gruß
Kaulquappe
 
Hallo Matthias,
wo liegt Bit 0 in der S7? Im Bereich der remanenten Merker? Oder setzt du in deinem S7-Programm das Bit irgendwo, so dass der Wert vom Master wieder überschrieben wird?

Gruß,
Kaulquappe
 
Hallo Kaulquappe

Die Modbus Karte schreibt die 6 Bits in die Merker M150.0 M150.1 usw....
Von dort werden sie dann in den DB41 übertragen. Im Programm selber wird nur auf den DB41 zurück gegriffen.

Gruss

Matthias
 
Hallo Kaulquappe

Was ich vorhin nochmals versucht habe ist folgendes.

- Das DCS schreibt in M150.0 eine 1 und M150.1 eine 0.
- Jetzt force ich beide Merker auf 0
- Nach dem forcen löschen bleiben diese aber auf 0.

Ich werde dass mit dem Yokogawa Kollegen nochmals anschauen.
Danke für deine Hilfe. Sonst muss ich halt suchen, suchen....


Gruss

Matthias
 
Hallo Matthias,
vielleicht bist du da doch einem Denkfehler aufgesessen.
Der Master schreibt üblicherweise ereignisgesteuert. Wenn also z.B. ein Motor anlaufen soll, setzt der Master das entsprechende Bit. Evt. macht er dann eine Kontrolllesung und wenn das Bit gesetzt ist, ist alles gut. Wenn du jetzt in der S7 hergehst und das Bit löschst, ist die Information verloren. Das Bit würde vom Master erst wieder gesetzt, wenn dort ein Zustand entsteht, dass der Motor anlaufen soll.
In der Regel ist es sinnvoll, die Bereiche die von Master bzw. Slave beschrieben werden zu trennen. Wenn Daten im identischen Bereich von Master und Slave beschrieben werden sollen, muss der Master diesen Bereich zyklisch lesen, mit seinem Abbild vergleichen und entsprechend reagieren.

Gruß,
Kaulquappe
 
Zurück
Oben