Wie Watchdog richtig lösen

Bender25

Level-2
Beiträge
584
Reaktionspunkte
20
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.
Bin gerade am überlegen, wie ich ein Watchdog zur Überwachung einer Funkstrecke und einer Logo richtig realisiere.

Folgender Aufbau

S7 CPU 317 mit einer EES Profibusanbindung.. Diese EES ist mit einer anderen Gegenstation (auch EES) via Funk verbunden. Diese EES versorgt dann die Logo mit Signalen.


Jetzt hab ich mir gedacht, das ich ein Bit losschicke (Taktmerker 1sek.). Dieses dann an der Gegenstation über die Logo schalte und das Bit wieder zurück sende.
In der S7 wieder agekommen überprüfe ich mit 2 Zeitgliedern ob sich der Zustand ändert (Bit abfrage einmal normal und 1x negiert an den Zeitgliedern).

Jetzt habe ich aber erfahren, das das es bis zu 10 sec. erst einmal dauert bis dieses Bit gesendet wurde bzw zurück kommt. In dieser Zeit habe ich schon wieder 10 mal ein Bit gesendet.
Muß ich also warten bis diese erste gesendet Bit angekommen ist und dann erst wieder eins lossenden? :roll: Blicks heute nicht mehr

Wie macht ihr das ganze?
 
Die Sende/Empfangszeit musst du natürlich berücksichtigen.

Ich habe immer in jeder CPU einen Taktmerker den ich auf den Bus lege.
Überwachen kann man den z.b. mit einem Timer,

UN Taktmerker_EXT_SPS
L 5s
S EV T1

U T1
= Alarm

Du kannst natürlich auch ein Bit senden und auf die Rücksendung warten, dauert aber evt. dann doppelt so lang, gerade bei der Strecke scheinbar.

pt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Sende/Empfangszeit musst du natürlich berücksichtigen.

Ich habe immer in jeder CPU einen Taktmerker den ich auf den Bus lege.
Überwachen kann man den z.b. mit einem Timer,

UN Taktmerker_EXT_SPS
L 5s
S EV T1

U T1
= Alarm

Du kannst natürlich auch ein Bit senden und auf die Rücksendung warten, dauert aber evt. dann doppelt so lang, gerade bei der Strecke scheinbar.

pt

Nur auf den "funk" legen bringt warscheinlich nichts. da diese S7 wissen muß, ob die Kopplung und die Logo funktionieren...Sprich wenn nichts mehr zurück kommt, dann Fehlermeldung...
Aber muß ich dann warten bis das Bit wieder ankommt damit ich das nächste Sende oder kann ich im sekunden Takt senden... Spricht meint ihr das ding sollte sich merken wie oft dieses Bit ansteht?
 
Würde ein Bit über Funk Steuerung A nach B schicken/setzen.
In der Steuerung B dann sobald das Bit 1 ist rücksetzen.
Wenn es nicht innerhalb 10sec wieder 1 wird Fehler ausgeben.

Das selbe in die andere Richtung von B nach A.

Oder du schickst ein Byte hin und her und zählst es hoch.
Wenn der Wert zu lange gleich bleibt ->Fehler ausgeben.

Gruss Andy
 
Wenn der Sendezeitpunkt im Programm bekannt ist, dann würde ich ein Bit im Sendetakt abwechselnd high und low mitschicken. Im Empfänger einen Timer o.ä. laufen lassen und diesen mit der positiven und negativen Flanke des empfangen Taktsignals zurücksetzen. Läuft der Timer ab, wird eine Störung erkannt. Die Flankenauswertung ist wichtig, um den Signalwechsel zu erkennen. Im Beispiel von plc_tippser ist das z.Bsp. nicht sichergestellt. Eine positive und negative Impulsbildung verkürzt die Überwachungszeit. Ich habe es so auch schon bei einer Funkstrecke realisiert.


Gruß, Onkel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank euch mal...

Das mit dem Byte wollte ich anfangs auch machen. Geht aber leider nicht. Kann nur Bit oder Analoges Signal verschicken bzw am anderen Ende 0-20mA ausgeben.

Problem ist, das die Station B keine Möglichkeit hat sich zu "Melden". Sprich ich muß die ganze Sache wieder zurück schicken.

Leider weiß ich nicht genau wie das ganze Funk-Zeug von EES funktioniert. Werd ich aber heute im laufe des Tages raus finden.

Werds jetzt denke ich so machen das, ich ein Bit Setze es zur Station B schreibe. Von dort zurück sende und es dann wieder mit einer Flanke zurück setze. Mit dem nächsten Takt meines Taktmerkers (1 Sec.) wird das Bit wieder gesetzt. Und wieder gesendet.

Dieses Überprüfe ich dann auf 0 und 1 mit 2 Zeiten und setzte wenn eine der Zeit abgelaufen ist ein Alarm.

Denke mal das es die beste Lösung ist..

Vielen Dank euch allen für die Tips
 
Hi Bender25,

ist zwar etwas spät, aber vielleicht hilft es ja.

Wenn ich eínen Watchdog aufbauen muss mache ich es wie Folgt :

Auf beiden Seiten einen Trigger aufbauen (Periodendauer 2 bis 5 Sekunden / mindestens 4 SPS- bzw. Buszyklen) und die Signale auf den Bus schicken.

In beiden Stationen nehme ich das Signal von der jeweiligen Gegenstation und Überwache es mit einer verzögerten Einschaltung verodert mit einer verzögerten Ausschaltung (Ausgang invertieren !). Die Zeitglieder sollten mit der Periodendauer des Triggersignals eingestellt werden.
Sobald das Ausgangssignal des ODER-Gatters zu 1 wird ist das Signal aus der Gegenstation eingefrohren und es können entsprechende Maßnahmen eingeleitet werden.

Mit dieser Methode habe ich schon sicherheitsgerichtete SPS'en überwacht. Sie ist einfach aufzubauen und leicht zu testen ohne sich mit irgendwelchen Rücklaufgeschichten das Hirn zu verbiegen.

Grüße
Klaus
 
Hi Bender25,

ist zwar etwas spät, aber vielleicht hilft es ja.

Wenn ich eínen Watchdog aufbauen muss mache ich es wie Folgt :

Auf beiden Seiten einen Trigger aufbauen (Periodendauer 2 bis 5 Sekunden / mindestens 4 SPS- bzw. Buszyklen) und die Signale auf den Bus schicken.

In beiden Stationen nehme ich das Signal von der jeweiligen Gegenstation und Überwache es mit einer verzögerten Einschaltung verodert mit einer verzögerten Ausschaltung (Ausgang invertieren !). Die Zeitglieder sollten mit der Periodendauer des Triggersignals eingestellt werden.
Sobald das Ausgangssignal des ODER-Gatters zu 1 wird ist das Signal aus der Gegenstation eingefrohren und es können entsprechende Maßnahmen eingeleitet werden.

Mit dieser Methode habe ich schon sicherheitsgerichtete SPS'en überwacht. Sie ist einfach aufzubauen und leicht zu testen ohne sich mit irgendwelchen Rücklaufgeschichten das Hirn zu verbiegen.

Grüße
Klaus

Hallo Klaus.

VIelen dank auch für deinen Beitrag.
Habe das ganze jetzt so gelöst wie ich oben geschrieben hab. Geht recht flott alles.. Senden /Rücksenden dauert 2 Sek.

Aber wie gesagt vielen dank.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Bender25,

ist zwar etwas spät, aber vielleicht hilft es ja.

Wenn ich eínen Watchdog aufbauen muss mache ich es wie Folgt :

Auf beiden Seiten einen Trigger aufbauen (Periodendauer 2 bis 5 Sekunden / mindestens 4 SPS- bzw. Buszyklen) und die Signale auf den Bus schicken.

In beiden Stationen nehme ich das Signal von der jeweiligen Gegenstation und Überwache es mit einer verzögerten Einschaltung verodert mit einer verzögerten Ausschaltung (Ausgang invertieren !). Die Zeitglieder sollten mit der Periodendauer des Triggersignals eingestellt werden.
Sobald das Ausgangssignal des ODER-Gatters zu 1 wird ist das Signal aus der Gegenstation eingefrohren und es können entsprechende Maßnahmen eingeleitet werden.

Mit dieser Methode habe ich schon sicherheitsgerichtete SPS'en überwacht. Sie ist einfach aufzubauen und leicht zu testen ohne sich mit irgendwelchen Rücklaufgeschichten das Hirn zu verbiegen.

Grüße
Klaus

Kannst du mir es einmal in FUP oder in AWL für diesen oben aufgeführten Beschrieb das erklären .

Gruss Pinguino
 
Auswertung an einer Stelle

Also wir realisiern ein einfaches Lebensbit durch toggeln:

Station 1 bei dir SPS gibt 1 Signal -> Station 2 Logo -> reicht Signal nur 1:1 durch -> kommt das 1 Signal an der SPS wieder an-> SPS sendet 0-> Logo reicht durch-> 0 kommt an SPS an-> SPS sendet 1 usw...

Dann brauchst du nur auf der SPS eine Überwachung einfügen. Und in der Logo hast du quasi 0 Aufwand. Dann kannst du einfach über 2 Timer das Bit überwachen.

Zusätzlich könntest du natürlich in der Logo auch noch was machen, ist aber dann nicht zwingend erforderlich.
 
Die Sende/Empfangszeit musst du natürlich berücksichtigen.

Ich habe immer in jeder CPU einen Taktmerker den ich auf den Bus lege.
Überwachen kann man den z.b. mit einem Timer,

UN Taktmerker_EXT_SPS
L 5s
S EV T1

U T1
= Alarm

Du kannst natürlich auch ein Bit senden und auf die Rücksendung warten, dauert aber evt. dann doppelt so lang, gerade bei der Strecke scheinbar.

pt


du solltest das lebensbit aber auf beide zustände überwchen, wenn dein bussystem bei einer unterbrechung die signale einfriert, dann bekommst du keinen alarm wenn die periode des bit gerade TRUE war.


@bender
ein toggelndes lebensbit ist am sinnvollsten. entweder so wie onkel dagobert beschrieben hat bei dem sendezyklus invertieren. wenn dieses ereigniss nicht bekannt ist, dann muss die periodendauer deines lebensbits eben länger sein als ein übertragungszyklus. so kannst du das von dir beschriebene problem umgehen.

das was in der 317er ankommt eben mit zwei einschaltverzögerungen überwachen ob es zu lange 1 oder zu lange 0 ist...
 
Zurück
Oben