# LGF_RandomRange_Dint (FC / V3.0.1)

Autor: Siemens Digital Industries

## Kurzbeschreibung

Diese Funktion generiert bei jedem Aufruf einen zufälligen Wert zwischen einem definierten Max- und Minwert.
Die Zufallszahl hat den Datentyp DInt im spezifiziertem Wertebereich.

### Baustein Schnittstelle

| LGF_RandomRange_Dint (FC) |
--- | --- | ---
DInt |  |  | minValue |  | Ret_Val |  |  | DInt
DInt |  |  | maxValue |  | error |  |  | Bool
|  |  |  |  | status |  |  | Word
|  |  |  |  | subfunctionStatus |  |  | Word

### Input Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
minValue | DInt | Minimalwert der für den Wertebereich der Zufallszahl - Untergrenze
maxValue | DInt | Maximalwert der für den Wertebereich der Zufallszahl - Obergrenze

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | DInt | Zufallszahl vom Datentyp Real im definierten Wertebereich
error | Bool | FALSE: Kein Fehler TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
status | Word | 16#0000-16#7FFF: Status des FB 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)
subfunctionStatus | Word | Status oder Rückgabewert von aufgerufenen FB's / FC's und Systemfunktionen

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#0000 | STATUS_FINISHED_NO_ERROR Abarbeitung ohne Fehler beendet
16#8200 | ERR_MAX_LESS_MIN Fehler: Der spezifizierte Wetebereich is fehlerhaft: `minValue` ist größer als `maxValue`
16#8600 | ERR_RD_SYS_T Fehler in Anweisung `RD_SYS_T` - weitere infos in `subFunctionStatus`

## Funktionsbeschreibung

Hinweis
  In `subFunctionStatus` wird der Status von aufgerufenen Anweisungen ausgegeben. Der Ausgangswert in `status` gibt in diesem Fall an, welche Anweisung den Fehler verursacht hat. Holen Sie sich in diesem Fall die Informationen aus der TIA Portal Online Hilfe zu den jeweiligen Anweisungen.

Der Baustein generiert zufällige Werte, die zwischen dem angegebenen `minValue`-Wert und `maxValue`-Wert liegen. Dieser zufällige Wert wird über den `Ret_Val` ausgegeben.

Der Zufallswert wird aus den Nanosekunden der aktuellen Systemzeit der CPU gebildet. Dabei wird die Bytereihenfolge dieses Wertes invertiert und anschließend in eine DInt ungewandelt.

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 01.00.00 | Siemens Industry Online Support
| 19.08.2015 | First released version
| 01.00.01 | Siemens Industry Online Support
| 02.01.2017 | Upgrade: TIA Portal V14 Update 1
| 01.00.02 | Siemens Industry Online Support
| 17.08.2018 | Upgrade: TIA V15 Update 2
| 01.00.03 | Siemens Industry Online Support
| 23.11.2018 | Upgrade: TIA V15.1
| 01.01.00 | Simatic Systems Support
| 09.10.2019 | Renamed from "LGF_RandomInt" to "LGF_RandomRange_DInt" change random datatype from Int to DInt Regions, comments and constants are added
| 03.00.00 | Simatic Systems Support
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library
| 03.00.01 | Simatic Systems Support
| 04.02.2021 | Insert documentation