Naja, wir sind ja ein Forum, das immer gerne bereit ist zu helfen. Daher ein schneller Kurs dazu
Die SPS arbeitet Zyklisch den Programm-Code ab. Das heißt, das am Programmende wieder zum Anfang gesprungen wird und das ganze wieder läuft.
In der PC-Welt kann man sowas als Schleife ansehen, auch wenn Schleifen-Programmierung in der SPS im einem Zyklus auch möglich ist.
Nun kann man diesen Umstand nutzen um sich sogenannte Flankenmerker zu setzen. Diese Merker sind nur einen Zyklus aktiv, wenn der vorherige
Programmcode ein VKE=1 erfüllt hat (VKE = Verknüpfungsergebnis = Zustände aller Abfragen ergeben immer ein TRUE).
Im nächsten Zyklus und solange das VKE=0 ist, sind diese Merker auch =0 (FALSE).
In Step7 in der Programmbibliothek(auch Übersicht gennant) nennen sich diese (POS) und (NEG). Der weiterführende Pfad nach dieser Anweisung ist also nur einen Zyklus aktiv.
Wenn wir nun diesen Vorteil nutzen, können wir in der SPS Daten zwischenspeichern, ohne das jeden Zyklus der Wert verändert wird.
Um einen Wert vom Typ Byte, Word, Int, Real, DWord, etc. zu speichern, benutzt man den "MOVE"-Befehl, der auch in der Übersicht zu finden ist.
Programmiere also nun die Bedingungen so zusammen, wie du sie brauchst, um einen Wert zu speichern (bsp: Tür zu, Ventil auf, Pumpe dreht, Automatik ein...).
Dann setze dir einen Merker mit einer POS-Flanke und nutze diesen Merker, um einen MOVE-Befehl auszuführen.
Hier speicherst du dann deinen Analog-Wert in einen DB oder in ein MW.
Im nächsten Zyklus ist der Wert dann unverändert aus dem DB/MW auszulesen, auch wenn sich der Analog-Wert verändert hat.