Timer im ob 35 auswerten

Ralf_Step

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich habe ein Problem mit einer Abschaltung. Folgendes wird gemacht: Es wird ein Band mit einer Geschwindigkeit von ca. 8mtr./sec. geschossen. Das Band belegt einen Lichttaster und dann wird ein Timer gestartet siehe AWL

S #BA[15]
S "mEinschussAkt"
U #BA[15]
U "eBandInRahmen"
UN M 40.0
L S5T#40MS
SV T 210
S M 40.0

Der Merker wir im nächsten Schrit wieder zurück gesetzt. Die Zykluszeit beträgt zwischen 2 und 8 ms.

Die Streuung ist zu groß undes wird zuviel Band gefördert. Als CPU setze ich eine Vipa 603-1CC21 ein.

Ich würde nun die Abfrage gerne über einen Weckalarm im OB 35 parametrieren. Nur weiß ich nicht wie, kann mir jemand helfen?

Der Aufruf des OB 35 erfolgt dann alle 2ms.

Wäre toll wenn mir jemand weiterhelfen könnte.

Danke...

Gruß Ralf
 
wie wäre es mit:

Code:
L    #iTimerMs
L    2
+I
T    #iTimerMs

dann die zeit auf den sollwert vergleichen und bei erreichten sollwert zurücksetzen ... evtl. davor noch eine freigabe/umsprung routine rein
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat die Vipa auch den SFB 4 und 5 drinnen? Aber über Timer ist schon Zeitfreundlciher.
Was hast du den Zykluszeiten (Kannst du im OB1 auslesen)

Ansch kannst du nur extreme Zykluszeiten erreichen in dem du ständig alles was du nicht erwendest überpingst und möglichst wenige Querverweise in andere FB`s verwendst.
Verwendest du analgfunktionen wird es schon ganz schlecht.


Über OB45 könest du anstelle eines Timers einen Zähler oder eine Zählervariable verwenden.
Einfach bei jeden Takt 1 hochzählen lassen
 
Hallo vierlagig, Danke für den Tip, werde ich gleich mal direkt testen. Und den OB alle 3ms prüfen, bei 2 ms geht die CPU in Stop soweit bin ich gestern noch gekommen.

Werde berichten wenn es funktioniert. Oh man dieses Programm macht mich Wahnsinnig es läuft einfach alles zu schnell ;-)

Wie würdest Du denn die Freigabe- oder Umsprungroutine aufbauen?

Gruß Ralf
 
Hallo Maxi, ja sie hat die SFB's aber ich denke man kann nur über einen Timer arbeiten, zumal dieser über das CC03 direkt einzustellen sein muss, bei unterschiedlichen Rahmengrößen.

Bin für jeden weiteren Tip aüsserst dankbar, bevor ich aus dem Fenster Springe weil mich die Kiste kirre macht ;-)

Gruß

Ralf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie würdest Du denn die Freigabe- oder Umsprungroutine aufbauen?

du hast doch sicher ein bit, dass dir mitteilt, dass du die zeit jetzt brauchst, nennen wir es mal xEnable

Code:
*
      U     #xEnable                    //umspringen
      SPBN  end                         //wenn freigabe=false
      U     #xEnable                    //wenn freigabe=true
      FP    #xHelpFlag                  //und neu
      SPBN  cloc
      L     0                           //timer mit
      T     #iTimerMs                   //0 besetzen
cloc: L     #iTimerMs
      L     3
      +I    
      T     #iTimerMs
      L     #iTimerMs
      L     #iTime
      >=I   
      =     #xClock
end:  NOP   0

xClock ist dann das bit welches dir mitteilt, dass die zeit iTime erreicht bzw. überschritten ist ... über das reset-verhalten kannste dir da noch selber paar gedanken machen ... aber ich denke ein prinzip ist klar, die anderen sollteste entwickeln können
 
DANKE für die schnelle Hilfe.

Werde mich dann jetzt mal an die Maschine und das PG begeben und mal sehen ob ich es hinbekomme.

Hoffe es funktioniert.

Gruß

Ralf
 
Vielleicht noch so als Nachsatz :

Ich kann da jetzt nicht für Vipa sprechen, aber bei Siemens müßte man dann, damit das auch fruchtet auch die Perepherie aktualisieren und nicht nur das Prozess-Abbild - soll heissen : Wenn du "nur" den Ausgang setzt und den nicht auf die Perepherie aktualisierst, dann hast du m.E. noch nichts gewonnen ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht noch so als Nachsatz :

Ich kann da jetzt nicht für Vipa sprechen, aber bei Siemens müßte man dann, damit das auch fruchtet auch die Perepherie aktualisieren und nicht nur das Prozess-Abbild - soll heissen : Wenn du "nur" den Ausgang setzt und den nicht auf die Perepherie aktualisierst, dann hast du m.E. noch nichts gewonnen ...

Gruß
LL
*thumbs up*

Code:
*
      L     0                           //fakultativ
      T     MW    10                    //um sicher zu gehen
      U     #xClock
      =     M     11.6
      L     AW    20
      L     MW    10
      OW   
      T     PAW   20                    // der ausgang 21.6 wird gleich geschubst

[edit] XOW war natürlich blödsinn ... 1 ist 1, fertig ... zurücksetzen mußte sowieso ... [/edit]
 
Zuletzt bearbeitet:
Zurück
Oben