FB_RandomGenerator - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.3.0

Übernommen aus

-

Implementiert

-

Versionen:

Aktuelle Version

Aufgabe

Erzeugen einer Zufallszahl

Beschreibung

Generiert bei jedem Aufruf der Methoden GetLreal oder GetDint eine Zufallszahl, die in einem Intervall mit definierten Grenzen liegt. Da die Erzeugung der Zufallszahlen nach der linearen Kongruenzmethode erfolgt, ist ein Startwert i_diNstart erforderlich, der mit der Methode Init gesetzt wird. Dieser kann eine beliebige ganze Zahl > 0 sein, die im Wertebereich des Datentyps DINT liegt. Die Methode Init muss daher einmalig aufgerufen werden, bevor die Methoden GetLreal oder GetDint aufgerufen werden.

Die lineare Kongruenzmethode erzeugt eine Folge von Zahlen nach der folgenden Vorschrift:

z(i+1) = (a * z(i)) MOD m

Hierbei müssen a und m geeignete ganze Zahlen sein. z(0) entspricht dem Startwert i_diNstart. Unser Zufallsgenerator verwendet a = 16807 und m = 2^31 - 1 (Mersenne-Primzahl). Hiermit wird eine Folge von Zahlen erzeugt, die die Periode 2^31 hat, d. h. die Werte wiederholen sich erst nach mehr als 2 Milliarden erzeugten Zahlen. Diese werden als Zufallszahlen verwendet.

Schnittstelle

HINWEIS: Die POU ist nicht adressierbar!

Die POU darf nicht aufgerufen werden.

Der Funktionsbaustein kann verwendet werden, indem man ihn über Methoden und Eigenschaften aufruft.

Methoden

Bezeichnung

Beschreibung

GetDint

Erzeugt eine Zufallszahl vom Typ DINT.

GetLreal

Erzeugt eine Zufallszahl vom Typ LREAL.

Init

Definition der Standardbedingungen. Muss einmalig vor dem Aufruf von GetDint oder GetLreal aufgerufen werden.