Problem mit Timern in S7

dicker_polizist

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich habe 2 Timer mit denen ich folgendes anstellen will: Timer 1 soll durch betätigen eines Eingangs mit einer Zufallszeit aktiviert werden. Nach ablauf dieser Zufallszeit soll Timer 2 mit einer festen Zeit gestartet werden. Diesen möchte ich durch betätigen des Eingangs anhalten können, so dass ich die Restzeit des Timers auswerten kann. Dafür muss dieser Zustand gehalten werden. Erst erneutes betätigen des Tasters soll die ganze Prozedur von vorne starten. Bis zu folgendem Stand bin ich selber gekommen: Timer 1 wird auf betätigung des Eingangs mit einer Zufallszeit gestartet. Nach ablauf dieser wird Timer 2 gestartet. Betätigen des Eingangs hält diesen auch an. Allerdings wird dabei auch Timer 1 mit einer neuen Zufallszahl gestartet, und nach ablauf dieser auch wieder Timer 2. Jetzt weiss ich leider nicht wie ich das verhindern kann. Alle meine verusche über RS Glieder und verschiedene Start/Stop Bedingung(UN T2 oder sowas in der art) sind bisher fehlgeschlagen. Ich bin am Verzweifeln!

Hier ein Auszug aus meinem Programm in AWL.
Programmiert habe ich das ganze allerdings in FUP:

Code:
Netzwerk 1: lädt so lange Zufallszahlen in MW20 wie Timer 1 nicht gestartet ist (Zufallszahlen in MW22 werden woanders generiert)
      UN    T      1
      SPBNB _001
      L     MW    22
      T     MW    20
_001: NOP   0
 
Netzwerk 2: Timer 1 ist ein verlängerter Impuls und wird mit zufallszahl aus MW20 gestartet
 
      U     E      0.0
      UN    T      2
      L     MW    20
      SV    T      1
      NOP   0
      NOP   0
      NOP   0
      NOP   0
 
Netzwerk 3: Timer 2 ist ein einfacher Impuls
      UN    T      1
      UN    E      0.0
      L     S5T#500MS
      SI    T      2
      NOP   0
      NOP   0
      LC    T      2
      T     MW    14
      NOP   0
Meiner Meinung nach müssten meine Start/Stop Bedingungen korrekt sein nur leider sind sie es ja offensichtlich nicht weils nicht richtig funktioniert ;)
Vielleicht hat ja jemand eine Idee. Vielen dank.
 
ich schlage vor: nimm nen binäruntersetzer á la
Code:
 U   #input
 FP  #memory
 X   #output
 =   #output
und benutze den #output als freigabe über den gesamten zeitraum
 
Zuletzt bearbeitet:
und ich hab probleme mit dem scheiß nachrichtenfenster hier ... woah ... der code da sollte untereinander stehen und dann macht er eigentlich auch wieder sinn ... es geht darum: erste mal drücken, freigabe ein und deine timer laufen, zweites mal drücken, freigabe weg, beide timer stehen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also, ich habe mal folgendes ausprobiert. Ich aktiviere und deaktiviere den ganzen FC über den Merker den ich ein und ausschalte. Wenn ich jetzt eine Zeit messe wird diese auch angehalten und bleibt auch stehen. Allerdings wird Timer 2 beim wiedereinschalten sofort auf 0 gesetzt(was ich nicht will weil meine Zeitanzeige dann auf maximum steht während die neue Zuffalszeit läuft - der letzte Wert wäre mir hier lieber). Ausserdem muss ich jetzt 2 mal drücken wenn ich zu langsam war und Timer 2 abgelaufen ist. Was ja auch logisch ist weil ich erst den FC ausschalten muss um ihn wieder einschalten zu können.
 
Es hat geklappt ! Eine Und-Verknüpfung von deinem Wechselmerker und der Starbeding(ablauf Timer 1) auf den 2ten Timer hats gebracht. Zusätzlich setze ich deinen Merker zurück Wenn T2 von 1 auf 0 wechselt (abläuft) und ich habe deinen Merker noch negiert auf den Rücksetzeingang von Timer 1 geschaltet weil dieser trotzdem noch beim stoppen der Zeit wieder neu anlief.
Aber jetzt ist alles super. Danke nochmal.
 
Zurück
Oben