Analogwert verzögern in S7 V5.3

Michael Schmitz

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, bin auf der Suche nach einer Lösung auf dieses Forum gestoßen und möchte erst mal alle Benutzer mit einem "Hallo" begrüßen.

Nun zu meiner Frage. Ich möchte in S7 innerhalb eines FC einen Analogwert direkt und den gleichen Wert zeitlich verzögert abfragen. Geht das irgendwie? Die "normalen" Zeitglieder verarbeiten ja nur binäre Signale.

Vielen Dank im Voraus
Michael
 
hallo
Code:
      U     M      0.1
      SPBNB _001
      L     PEW   10                    //Wenn M0.1 = True, Analowert zu MW100 Transverieren
      T     MW   100
      L     S5T#5S                      //Wenn M0.1 = True, T1 einschaltverzögert starten
      SE    T      1
      U     T      1
      SPBNB _001
      L     PEW   10                    //Wenn T1 = True Analogwert zu M102 Transferieren
      T     MW   102
_001: BE

mfg mst
 
Zuviel Werbung?
-> Hier kostenlos registrieren
HfNFqI5W.jpg

mfg
 
Vielen Dank schon mal. Ich habe meine Frage nicht richtig gestellt. Sorry!
Ich versuches noch mal: Der zweite Wert soll ständig um z.B. 1s verzögert werden.
Der Grund ist, dass sich der Analogwert ständig ändern soll und die Änderung möchte ich überwachen indem ich den Wert zeitverzögert auf einen Vergleicher bringe.
Viele Grüße
Michael
 
den sinn der aktion verstehe ich nicht so ganz.

lad dir mal das projekt fifo_blk von meiner hp.

darin findest du einen fifo für word.
dieser baustein schiebt bei jedem aufruf die werte in einem db eines weiter nach unten. und trägt oben den aktuellen ein

rufe diesen baustein im ob35 (100ms) auf. und gebe als datenlänge für den fifo 10 ein. damit hast du nun die letzten 10 werte im db. im letzten dbw steht nun der wert der vor 1 sek. aktuell war.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"den sinn der aktion verstehe ich nicht so ganz."

Der Hintergrund ist folgender: Bei der vollatumatischen Abfüllung eines Produktes in einen Sack, passiert es manchmal, dass ein Sack platzt. Da die Anlage nicht ständig beobachtet wird, merkt es so schnell keiner und das Vorlagesilo läuft theoretisch leer. Ich möchte jetzt eben den aktuell gewogenen Wert immer mit einem 1s später vergleichen. Der muss dann natürlich immer größer sein als der vorherige. Platzt nun der Sack, dann nimmt das Gewicht im Sack nicht mehr zu und ich schalte die Befüllung ab.

Gruß, Michael
 
Hi,
rufe alle sec. eine funktion auf in der Du zuerst den istwert mit einem Gespeichertenwert vergleichst und entsprechend eine Fehlermeldung setzen dann diesen Istwert in den Gespeichertenwert laden. Du mußt nur beachten das beim Start der Verwiegung das ganze Initialisiert werden muß.

HDD
 
Praktische Lösung

Hallo,
ich würde an deiner Stelle die Uhrzeit der Steuerung auslesen, dort gibt es einen Bit der im Abstand von einer Sekunde den Zustand von 0 auf 1 ständig wechselt, da könntest du mit der 0 den einen Wert übernehmen mit der 1 den andern, dies würde dann auch zyklisch wiederholt.

Ciao

Antonio
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann leider meine Programmierung hier nicht darstellen. Ich habe jetzt einen Taktgeber gebildet, den ich auf den EN am Move-Baustein schalte.
Dort gebe ich den zu verzögernden Wert an den Move-Eingang und den Ausgang auf einen Veregleicher. wo auch der aktuelle Wert aufläuft.

Problem gelöst. Vielen Dank an alle!
Michael
 
Hallo Michael,

auf der o.g. hp von Jürgen findest du auch einen Baustein namens "Filter". Mit diesem kannst du auf einfache Weise deinen Messwert dämpfen. Der gedämpfte Wert eilt dem nicht gedämpften Wert nach. Wenn du nun diese beiden Werte vergleichst, kannst du deinen geplatzten Sack erkennen. Beim Abfüllvorgang wird der aktuelle, nicht gedämpfte Wert stets etwas größer sein als der gedämpfte Wert. Platzt der Sack, fällt das Gewicht schlagartig ab (?) und der gedämpfte Wert ist dann größer.


Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Michael,

auf der o.g. hp von Jürgen findest du auch einen Baustein namens "Filter". Mit diesem kannst du auf einfache Weise deinen Messwert dämpfen. Der gedämpfte Wert eilt dem nicht gedämpften Wert nach. Wenn du nun diese beiden Werte vergleichst, kannst du deinen geplatzten Sack erkennen. Beim Abfüllvorgang wird der aktuelle, nicht gedämpfte Wert stets etwas größer sein als der gedämpfte Wert. Platzt der Sack, fällt das Gewicht schlagartig ab (?) und der gedämpfte Wert ist dann größer.


Gruß, Onkel
Hallo Onkel,

da hast du recht. Das wäre noch einfacher, als den FiFo einzusetzen.

CU

Jürgen
 
Zurück
Oben