SPS pogramm verändern.

...komplette Frage anzeigen

1 Antwort

Ein Lösungsansatz: Du programmierst zwei Timer Typ Impuls, der erste Timer zählt 3 s, der zweite Timer zählt 10 s.

Der erste Timer ist zu starten, wenn das Eingangssignal (der Ausgang deines RS-Gliedes) oder der negierte Ausgang des zweiten Timers eine steigende Flanke aufweisen.

Dies machst du wie folgt: Das Eingangssignal führst du auf eine positive Flankenauswertung, dieses Ergebnis führst du an ein ODER-Glied. Den Ausgang des zweiten Timers negierst du, führst dies an eine positive Flankenauswertung und dieses Ergebnis ebenfalls an das gleiche ODER-Glied. Den Ausgang des ODER-Gliedes führst du an den Setzeingang eines rücksetzdominanten RS-Gliedes (um die kurzen Flankenimpulse einige Zeit zu speichern). Mit einem zweiten ODER-Glied verknüpfst du das negierte Eingangssignal und das Ausgangssignal des zweiten Timers. Das Ergebnis dieser ODER-Verknüpfung führst du an den Reseteingang des oben genannten RS-Gliedes (um die Speicherung der Flankenimpulse zu unterbrechen). Den Ausgang des RS-Gliedes führst du an den Eingang des ersten Timers, der 3 s zählt.

Der Ausgang des ersten Timers ist das Signal, welches du für deine Hühnerschubserei brauchst.

Du bist aber noch nicht fertig. Als Eingang am zweiten Timer, der 10 s zählt, gibst du den negierten Ausgang des ersten Timers an.

Die Funktionsweise: Zuerst sei dein RS-Signal null (0). Mit der Inbetriebnahme ergibt die Flankenauswertung des negierten Timers 2 erstmal eine positive Flanke. Diese wird aber durch dein negiertes RS-Signal (1) am Reseteingang des hier verwendeten RS-Gliedes unterdrückt. Timer 1 läuft nicht los. Erst wenn dein RS-Glied auf (1) wechselt, wird diese Flanke erkannt und gespeichert. Timer 1 läuft jetzt für 3 s, dies ist auch dein Nutzsignal. Ist Timer 1 auf Null, startet sein negierter Ausgang Timer 2 für 10 s. Timer 2 setzt sofort das RS-Glied zurück. Wird Timer 2 null, so setzt sein negierter Ausgang über die Flankenerkennung das RS-Glied erneut, damit beginnt wieder Timer 1 für 3 s zu laufen usw. bis das Eingangssignal (das von deinem RS-Glied kommt) null wird. In Step7 kann man das negierte Eingangssignal an den Reseteingang beider Timer führen. Auch nach nur kurzem Ausschalten und Wiedereinschalten startet dann Timer 1 sofort für 3 s neu. In Codesys gibt es keinen Reseteingang bei den Timern. Bei erneutem Einschalten zählt also Timer 2 eventuell maximal noch 10 s, bis er Timer 1 startet, dann läufts normal.

Was möchtest Du wissen?