# XPulseR

## `XPulseR` (FB)

FUNCTION\_BLOCK XPulseR

### Kurzbeschreibung

> Erzeugung eines exklusiven Impulses mit einstellbarer Zeitdauer und Rücksetzmöglichkeit.

### Darstellung

<figure><img src="https://879424349-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2Fgit-blob-e8ef2ffcab00ea66812a96690212563b9d5b846f%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### Schnittstellen

#### Eingänge

| Name     | Datentyp | Wertebereich | Initialwert | Funktion                               |
| -------- | -------- | ------------ | ----------- | -------------------------------------- |
| *xIN*    | BOOL     |              |             | Binärer Eingang (FALSE > TRUE)         |
| *tPT*    | TIME     |              | T#1s        | Zeitdauer des Ausgangsimpulses in s    |
| *xReset* | BOOL     |              |             | Binärer Rücksetzeingang (FALSE > TRUE) |

#### Ausgänge

| Name  | Datentyp | Wertebereich | Initialwert | Funktion                                     |
| ----- | -------- | ------------ | ----------- | -------------------------------------------- |
| *xQ*  | BOOL     |              |             | Impulsausgang (FALSE = Aus, TRUE = Ein)      |
| *tET* | TIME     | 0 … *tPT*    |             | Aktuelle Zeitdauer des Impulses an *xQ* in s |

#### Sollwerte / Parameter

| Name      | Datentyp | Wertebereich | Initialwert | Funktion                           |
| --------- | -------- | ------------ | ----------- | ---------------------------------- |
| **xTest** | BOOL     |              | FALSE       | Binärer Testeingang (FALSE > TRUE) |

### Funktionsbeschreibung

#### Allgemeines

Am Impulsausgang *xQ* wird nach jeder ansteigenden Flanke (FALSE > TRUE) am binären Eingang *xIN* und / oder am Sollwert / Parameter **xTest** ein Impuls mit einer Zeitdauer *tPT* erzeugt (Voraussetzung: *xReset* = FALSE).\
\
Jede ansteigende Flanke (FALSE > TRUE) am Rücksetzeingang *xReset* setzt den Impulsausgang *xQ* unmittelbar zurück (= FALSE).\
\
Die Flankenerkennung (FALSE > TRUE) an den Eingängen *xIN* bzw. **xTest** hat gegenüber der Flankenerkennung am Eingang *xReset* (FALSE > TRUE) eine höhere Priorität.\
Dies hat zur Folge, das trotz gleichzeitiger Flankenerkennung ein Impuls mit einer Zeitdauer *tPT* am Ausgang *xQ* erzeugt wird.\
Der Sollwert / Parameter **xTest** wird zyklisch deaktiviert (= FALSE).

<figure><img src="https://879424349-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQR4vCFzt6ixgsqlR3pdR%2Fuploads%2Fgit-blob-e71f5db86f1aeb8cd66badd6cb30b2acadad3c83%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### CODESYS

InOut:

| Scope       | Name     | Type   | Initial    |
| ----------- | -------- | ------ | ---------- |
| Input       | `xIN`    | `BOOL` |            |
| Input       | `tPT`    | `TIME` | TIME#1s0ms |
| Input       | `xReset` | `BOOL` |            |
| Input Const | `xTest`  | `BOOL` | FALSE      |
| Output      | `xQ`     | `BOOL` |            |
| Output      | `tET`    | `TIME` |            |
