Hello community,
Is there a random function, in a library in AS, for ST language ?
I didn’t find anything in the help …
Thanks in advance
Hello community,
Is there a random function, in a library in AS, for ST language ?
I didn’t find anything in the help …
Thanks in advance
You could take a look at this RandomLib from GitHub.
For some use cases it might be okay to write your own simple random number generator. In my case a “Park–Miller random number generator”
Here is a simple implementation:
VAR
randomNumber : REAL;
rngState : UDINT;
END_VAR
PROGRAM _INIT
rngState := 1; // seed in rng generator (can't be 0)
END_PROGRAM
PROGRAM _CYCLIC
// own RNG generator
rngState := (rngState*48271) MOD 16#7fffffff;
// random number from 0 to 1 (4 decimals)
randomNumber := (rngState MOD 10000) / 10000.0;
END_PROGRAM