# StopWatch

## `StopWatch` (FB)

FUNCTION\_BLOCK StopWatch

### Short description

> Measurement of time intervals with reset capability.\
> Display of the total time (*tElapsed*) and the total time before the last measurement (*tMeasured*).

### Representation

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

### Interfaces

#### Inputs

| Name     | Data type | Value range | Initial value | Function               |
| -------- | --------- | ----------- | ------------- | ---------------------- |
| *xEn*    | BOOL      |             |               | Enable measurement     |
| *xReset* | BOOL      |             |               | Reset of the stopwatch |

#### Outputs

| Name        | Data type | Value range | Initial value | Function                                  |
| ----------- | --------- | ----------- | ------------- | ----------------------------------------- |
| *tMeasured* | TIME      | 0 … 10 days | 0 days        | Measured time before the last measurement |
| *tElapsed*  | TIME      | 0 … 10 days | 0 days        | Measured duration since the last reset    |

### Function description

#### General

This function block is used to measure individual time intervals (*xEn* = TRUE).\
The sum of the measured time intervals is shown at the output *tElapsed* .\
The sum of the measured time intervals before the last measurement is shown at the output *tMeasured* displayed.\
The sum of the measured time intervals may be a maximum of 14400 minutes (= 10 days).\
The active reset input (*xReset* = TRUE) resets the outputs independently of the other states *tEleapsed* and *tMeasured* to 0.\
When measurement is not enabled (*xEn* = FALSE) the outputs *tEleapsed* and *tMeasured* are not changed.

### CODESYS

InOut:

| Scope  | Name        | Type   |
| ------ | ----------- | ------ |
| Input  | `xEn`       | `BOOL` |
| Input  | `xReset`    | `BOOL` |
| Output | `tMeasured` | `TIME` |
| Output | `tElapsed`  | `TIME` |
