Der FB (Funktionsbaustein) ChannelTime realisiert eine Nocke mit Einschaltpunkt ud_ON über die erfasste Position in Inkrementen und Ausschaltzeitpunkt über eine am Eingang ud_OFF_TIME eingestellte Einschaltzeit. Ein Nachtriggern ist nicht implementiert. Der Funktionsbaustein gibt das Schaltsignal x_ACTIVE zur Ansteuerung einer Nocke aus. Der FB ChannelTime kann für Rechtsdrehung, Linksdrehung und Reversierbetrieb eingesetzt werden. Mehrere Nocken können durch den Einsatz mehrerer Funktionsbausteine ChannelTime realisiert werden.
| Empfohlene Task: | Event |
| Verwendete Bibliotheken: | CAMSWITCH_20bdxx oder höher |
| Verwendete zusätzliche Datentypen: | ..... |
| Verwendet Static-Variablen: | .... |
| nicht vorhanden |
| Bezeichnung: | Datentyp: | Anfangswert: | Wertebereich: | Beschreibung: |
|---|---|---|---|---|
| ud_POS | UDINT | ... | ... | Der Parameter ud_POS beinhaltet die jeweils aktuelle Position. Sobald der Parameterwert den in ud_ON eingestellten Wert (Einschaltposition) erreicht hat, wird x_ACTIVE = TRUE gesetzt. Die erlaubte Maximalgeschwindigkeit (Positionsänderung pro Zyklus) beträgt 1/2 ud_POS_RES. Wenn der Eingangswert sich um mehr als die halbe Auflösung (1/2 ud_POS_RES) verändert, wird davon ausgegangen, dass ein Überlauf über den Zahlenbereich von 0 bis ud_POS_RES zu behandeln ist. Ist die Eingangsgeschwindigkeit größer als die halbe Auflösung pro Abtastung, führt das zu einer Fehlfunktion (keine Fehlermeldung!) des Funktionsbausteines. |
| ud_POS_RES | UDINT | ... | ... | Mit Hilfe dieses Einganges kann die Auflösung (Überschlag) der eingehenden Position pro Umdrehung bzw. pro Arbeitszyklus eingestellt werden. Wird der Eingang mit dem Wert 0 belegt, wird automatisch mit einer Auflösung von 2^32 gerechnet. Wird am Eingang ud_POS_RES ein Wert eingetragen, darf der Positionswert am Eingang ud_POS maximal ud_POS = ud_POS_RES - 1 betragen. Wird dieser Wert überschritten, kommt es zu einer Fehlermeldung des Bausteines! Die Fehlermeldung wird gelöscht, wenn ein neuer Wert auf diesen Parameter geschrieben wird. |
| u_INTERRUPT_TIME | UINT | ... | ... | An diesem Eingang wird die verwendete Interruptzeit der Task, in welcher der FB abgearbeitet wird, eingetragen. Die Zeitangabe erfolgt in Mikrosekunden. Minimalwert: 125 Mikrosekunden Maximalwert: 65535 Mikrosekunden Wird ein Wert kleiner als 125 Mikrosekunden eingestellt, so kommt es zu einer Fehlermeldung. Durch die Eingabe eines Wertes >= 125 wird die Fehlermeldung gelöscht. Bei einer großen Interruptzeit entsteht ein ensprechend schlechtes Schaltverhalten, da der FB natürlich genau so oft wie der Interrupt abgearbeitet wird! Siehe dazu auch Applikationsbeispiel. |
| ud_ON | UDINT | ... | ... | Über diesen Parameter wird die Ein-/Ausschaltposition für den Ausgang x_ACTIVE eingestellt. Änderungen während der Laufzeit sind möglich. Minimalwert: 0 Inkremente Maximalwert: 232-1 Inkremente |
| ud_OFF_TIME | UDINT | ... | ... | Dieser Eingang gibt die Einschaltzeit in Mikrosekunden an. Eine Veränderung online ist möglich. Die eingegebene Zeit sollte ein ganzzahliges Vielfaches der Interruptzeit sein. Wird ein Wert eingestellt, der nicht dieser Forderung entspricht, wird die nächst größere Zahl, die einem ganzahligem Vielfachen der Interruptzeit entspricht, verwendet. Das nachfolgende Beispiel verdeutlicht dies: Folgende Eingabe erfolgt: u_INTERRUPT_TIME = 1.000 Mikrosekunden ud_OFF_TIME = 10.500 Mikrosekunden Das System verwendet ud_OFF_TIME = 11.000 Mikrosekunden als Einschaltzeit! Minimalwert: 0 Mikrosekunden Maximalwert: 232-1 Mikrosekunden |
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Active | BOOL | Wird an ud_POS die Einschaltposition ud_ON von der Software erkannt, so wird der Ausgang x_ACTIVE = TRUE gesetzt. Ist die Verzögerungszeit abgelaufen, wird der Ausgang x_ACTIVE = FALSE gesetzt. Erst bei x_ACTIVE = FALSE ist ein erneutes Schalten des Ausganges möglich. Ein Nachtriggern des Ausganges (= verlängern der Einschaltdauer während x_ACTIVE = TRUE) ist nicht möglich! |
| x_ERR | BOOL | Zeigt an, dass ein Fehler bezogen auf den Funktionsbaustein aufgetreten ist. |
| u_ERR_NO | UINT | Zeigt die Nummer des aufgetretenen Fehlers an. |
| u_ERR_NO | Beschreibung |
|---|---|
| 0 | Kein Fehler |
| 1 | ud_POS > ud_POS_RES. |
| 2 | eingestellte Interruptzeit < 125 Mikrosekunden. |
| 3 bis 65535 | Reserve |