Eine Frage zum Prozessabbild

anne

Level-1
Beiträge
347
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Ihr,

ich habe eine Frage zum Prozessabbild der Eingänge. Vor jedem Zyklusdurchlauf werden ja alle Signalzustände der Eingänge gelesen und auf dem Eingangsabbild zwischengespeichert. Wird nun ein Schalter an einem SPS-Eingang betätigt, so ändert sich der Zustand des Prozessabbilds der Eingänge.

Wie bekommt nun die SPS eine Betätigung eines Tasters mit - wird hier intern eine Flanke gesetzt? Wenn der Taster nicht exakt zu dem Zeitpunkt betätigt wird, an dem das Prozessabbild der Eingänge gelesen wird, so bekäme ja die CPU diese Eingangsänderung gar nicht mit...

Oder doch, weil man den Taster nicht so schnell drücken kann; d.h. aufgrund der sehr kurzen Zykluszeit diese Änderung doch erfasst wird?

Lieben Dank für eine Erklärung...
 
Genau, die SPS "bekommt" keine Signaländerungen mit, die kleiner sind als die Zyklusszeit + X. X sind dann noch Reaktionszeiten des Sensors, Reaktionszeit der Eingangskarte, eventuell Profibus Laufzeit usw.

Bedenke das man bei der Zkylusszeit in Größenordnungen von 1-10ms redet!

Es gibt auch ein paar Tricks wie man einen Eingang schneller abfragen kann (Alarme, Interrupt, FM-Karten), aber das ist eher etwas für Praktische Probleme..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Anne.

Du hast Dir die Frage ja schon selber beantwortet.

Vor jedem Zyklusdurchlauf werden ja alle Signalzustände der Eingänge gelesen und auf dem Eingangsabbild zwischengespeichert.

Also nicht eventabhängig sondern zyklisch.

D.h. aber auch das sich der Eingang im Prozessabbild für einen Zyklus nicht ändert.
Du kannst das Prozessabbild aber auch selber auffrischen(Innerhalb eines Zyklus). Mit

L PEB
T EB

Bis dann

Schablone
 
Vielleicht noch diese Erklärung als Ergänzung:

Wenn man ohne die o.g. "Tricks" arbeitet funktioniert das prinzipiell etwa so:

Der OB1 durchläuft seinen Zyklus von oben nach unten. Die "Zykluszeit" ist die Dauer der Abarbeitung der Bausteinaufrufe.
VOR dem ersten Bausteinaufruf wird EINMALIG das Prozessabbild gelesen. Während des Zyklus bleibt das eingelesene Prozessabbild unverändert. Auch dann, wenn ein Eingang sich in dieser Zeit ändert.
 
Danke für eure Antworten...

Also mir ist der Ablauf im Grunde klar - nur nicht, wenn ich eben einen Taster drücke. Beim Schalter habe ich ja eine feste Zustandsänderung. Beim Taster jedoch nur eine kurze!

Also angenommen, es wird grad das Programm abgearbeitet, während der Bediener einen Taster drückt, um z.B. einen Motor zu starten. Der Taster wird also noch während der Programmabarbeitung kurz gedrückt!
Irgendwann ist der SPS-Zyklus fertig und es wird das Prozessabbild der Eingänge eingelesen - aber zu dieser Zeit hat der Bediener ja den Taster schon wieder losgelassen... oder schafft man das nicht in dieser kurzen Zeit?

Danke!
 
Zuletzt bearbeitet:
So einen Taster verarbeitet man dann im Programm als
normalen Eingang und greift nicht auf die Peripherie zu.
So kann selbst bei einer sehr langen Zykluszeit nichts
passieren.

Aber es wird doch auch so ein Taster am Eingang einer SPS angeschlossen - und somit zu Beginn eines Zyklus das Prozessabbild des Tastereingangs gelesen...

Mir geht es nur darum, wie die SPS die Zustandsänderung eines Tasterimpulses beim Einlesen des Prozessabbildes mitbekommt.
 
Hallo,

wie schon geschrieben --> ist ein Eingang kürzer da als die Zykluszeit lang ist kriegt die SPS das nicht mit.
Faustformel: ein Ereigniss muß mind. 2xZykluszeit anliegen.

ABER:
für Bedienelemente (wie z. B. Taster) spielt das keine Rolle (außer der Benutzer will wirklich die Grenze der SPS testen oder sowas).
Relevant wird das Ganze bei Sensoren, die durch die Mechanik ggf. wirklich nur kurz betätigt werden (z. B. ein Bero für eine Drehzahlabfrage, eine Betätigungsfahne ist zu kurz, die Geschwindigkeit einer Bewegung passt nicht zur Länge der Fahne etc.)


MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube, Du stehst gerade etwas auf dem Schlauch:
Es ist, wie Du schon sagtest. Die Steuerung liest das PAE vor dem Programmzyklus ein und arbeitet dann das Programm ab. Änderungen an den Eingängen bekommt das Programm in dieser Zeit nicht mit. Bei handbetägtigten Tastern ist das in der Regel kein Problem, da man meistens länger als einen Zyklus drückt (meist bis zur angeforderten Reaktion), bei sensorgenerierten Signalen kann dies allerdings zu Problemen führen, z.B. bei Initiatoren, die mit hoher Geschwindigkeit überfahren werden. Hier muss man sich mit Alarmbaugruppen und den entsprechenden Programmbausteinen helfen.
 
... gut, dann ist das jetzt klaro!

Bei wirklich nur ganz kurz anliegenden Signalen unterbrechen dann z.B. Alarmbaugruppen das Programm, und die SPS reagiert sofort auf diese Eingangsänderung?
 
Hallo,

das ist richtig.
Auf das Ereigniss wird SOFORT reagiert, das übrige Programm muss warten --> macht die Zykluszeit etwas länger

MfG
 
Du musst schon ganz schön lange üben, um einen Taster <10ms zu betätigen.. also 0,01 sekunden! Denke für so einen normalen Drucktaster kann man mit einer Impulslänge von etwa 200-500ms rechnen.
 
Zurück
Oben