La funzione ritorna un numero random compreso tra 0.0 e 1.0. E' possibile definire impostando lo stato del parametro Cmd se si vuole avere un nuovo numero random (Cmd:=TRUE) oppure quello memorizzato con la precedente esecuzione della funzione (Cmd:=FALSE).
Function
CODESYS: eCDSS8CoreMng
LogicLab: eLLabS8CoreMng, eLLabXUnified12Lib
Cmd (BOOL) Indica il valore random che deve essere ritornato. Se TRUE viene salvato e ritornato un nuovo valore random. Se FALSE viene ritornato il valore random salvato dalla precedente chiamata alla funzione con Cmd:=TRUE.
La funzione ritorna una variabile (REAL) con un valore random compreso tra 0.0 e 1.0.
Esempi
Come utilizzare gli esempi.
Nel seguente esempio viene eseguito il lampeggio di una uscita logica con un tempo random compreso tra 1 e 3 secondi.
VAR TimeBf : UDINT; (* Time buffer (uS) *) BTime : REAL; (* Blink time (S) *) BOut : BOOL; (* Blink output *) END_VAR // ***************************************************************************** // PROGRAM "ST_SysGetRandom" // ***************************************************************************** // This program blinks an output with a random time, time in the range from 1 // to 3 sec. // ----------------------------------------------------------------------------- // ------------------------------------------------------------------------- // PROGRAM INIT // ------------------------------------------------------------------------- // Program init. IF (SysFirstLoop) THEN TimeBf:=SysGetSysTime(TRUE); //Time buffer (uS) BTime:=1.0+(SysGetRandom(TRUE)*2.0); //Blink time (S) END_IF; // ------------------------------------------------------------------------- // BLINKING // ------------------------------------------------------------------------- // Blinks the output. IF ((SysGetSysTime(TRUE)-TimeBf) > TO_UDINT(BTime*1000000.0)) THEN TimeBf:=SysGetSysTime(TRUE); //Time buffer (uS) BTime:=1.0+(SysGetRandom(TRUE)*2.0); //Blink time (S) BOut:=NOT(BOut); //Blink output END_IF; // [End of file]
Ultimo aggiornamento: 19 Agosto 2019