Este mètodo no existía en SoMachine. En SoMachine se debía añadir una librería de codesys.
En Machine expert Podemos emplear el método FB_RandomGenerator correspondiente a la biblioteca CommonToolbox.
Se detalla en la ayuda online de Machine expert :
https://product-help.schneider-electric.com/Machine Expert/V2.0/es/comtb/index.htm#rhfulllayout=true&rhsearch=fb_randomgenerator&rhhlterm=fb_randomgenerator&rhsyns= &rhandsearch=0&SUBSTRSRCH=1&t=comtb/D-SE-0105420.html
El manual en pdf de la librería en el siguiente enlace :
https://www.se.com/ww/en/download/document/EIO0000004219/
Ver a partir de página 36 .
Como se indica está basado en :
El método de congruencia lineal genera una secuencia de números de acuerdo con las siguientes regulaciones:
z(i+1) = (a * z(i)) MOD m
Las variables a y m deben ser números enteros adecuados. z(0)corresponde al valor inicial i_diNstart . El generador aleatorio usa los valores a = 16807y m = 2^31 - 1 (número primo de Mersenne). Esto genera una secuencia de números que tienen el punto 2^31, es decir, los valores solo se repiten después de más de 2 mil millones de números generados. Estos se pueden utilizar prácticamente como números aleatorios en muchos cálculos para propósitos específicos.
Se pueden generar aleatorios de tipo doble entero o lreal ( long Real ) : Metodos FB_RandomGenerator - GetDint y FB_RandomGenerator - GetLreal .
Previamente se deben inicializar mediante el método FB_RandomGenerator - Init . Se debe iniciar con el valor i_diNStart > 0
En el metodo Getdint o Getreal el valor del numero aleatorio se genera con un flanco de bajada en la entrada enable del método init .
Si no es así, se devuelve el valor inicial i_diXmin.
Se adjunta un video de prueba realizado en modo simulación.
Publicado para: Schneider Electric España

