TB_CamSwitch

Funktionalität

Mit dem Baustein kann eine Nocke erzeugt werden, mit der ein Ereignis an einer Nockenposition ausgelöst wird. Die Nocke kann zeitlich vorgesteuert werden um Totzeiten zu kompensieren.

In Kombination mit dem FB TB_MasterEngine kann die Totzeitkompensation auch während der Beschleunigungs- und Bremsphase exakt berechnet werden. Bei Verwendung einer realen Achse kann nur eine Geschwindigkeitskompensation angewandt werden.

Es wird eine Nocke erzeugt, die abhängig von einer (Geber-) Position ausgelöst wird. Ziel ist es, einen Aktor (mit Totzeit) so anzusteuern, dass die Reaktion genau an einer gegebenen Position (di_CamPos) eintritt. Dazu wird anhand der aktuellen Geschwindigkeit des Positionsgebers (di_Vel) die vorgesteuerte Nockenposition ermittelt.

Mit dem Start-Signal wird die Position di_Pos auf di_StartPos gesetzt und x_Running wird TRUE. Damit wird dem Baustein gesagt, wo sich die erste Zielposition (di_CamPos) aktuell befindet.

Bei großen Verzögerungszeiten kann es vorkommen, dass die nächste Nocke gesetzt wird, bevor die aktuelle bearbeitet wurde. Beispiel vertikale Schlauchbeutelmaschine: Wird die Fallzeit des Produkts größer als die Taktzeit, so befinden sich mehrere Abwürfe im Fallrohr. Um festzustellen, ob alle Abwürfe in den Beuteln angekommen sind, kann der Ausgang x_Running auf FALSE geprüft werden.

Generell ist zu bedenken, dass eine gestartete Nocke nicht mehr zurückgenommen oder verändert werden kann. Für das Bespiel der Schlauchbeutelmaschine bedeutet dies, ein abgeworfenes Produkt kann natürlich auch nicht mehr gestoppt oder abgebremst werden. Ebenso kann eine Position, die bereits überfahren wurde, nicht mehr erreicht werden. Dies wäre auch dann der Fall, wenn die Totzeit kurz vor Nockenstart vergrößert, ODER die Geschwindigkeit di_Vel stark erhöht wird. (Fehler i_Error = -2).

Darum sind folgende Punkte generell zu beachten:

  1. Totzeiten nur in kleinen Schritten vergrößern, verkleinern ist unkritisch.
  2. Während des Betriebs keine großen Beschleunigungen verwenden, weder positiv noch negativ
  3. Zum Anhalten warten, bis die letzte Nocke fertig ist, danach schnell stoppen. (siehe x_Running)

Wird die Position einer virtuellen Leitachse verwendet, so wird neben der Geschwindigkeit auch die Beschleunigung vorgesteuert. Dadurch kann auch beim Beschleunigen und Bremsen die Nockenposition exakt ermittelt werden.