Instrucciones especiales
7.14.2
Generar un número aleatorio (RND)
Funcionamiento
Generar un número aleatorio en el rango de 0 a 32767
Descripción
b Con una instrucción RND se genera un número aleatorio y se guarda en el operando indicado
en (D+).
b Los registros especiales D8311 y D8310 se utilizan como fuente para calcular el número
aleatorio. Después de conectar el PLC se introduce el valor "1" en este registro. Después
de pasar al modo de funcionamiento "RUN" se puede escribir en D8311 y D8310 un valor
cualquiera entre 0 y 2.147.483.647. Este paso debe realizarse solo una vez después de
arrancar el controlador.
En el siguiente ejemplo de programa se genera un número aleatorio cada vez que se conecta
X10 y se guarda en D100.
Después del paso de "STOP" a "RUN" se lee la hora y la fecha del reloj interno del PLC, se
convierte y se forma la base de cálculo del número aleatorio según la fórmula "{((año + mes)
x día) + hora}.
M8002 solo se establece en el primer ciclo después de conectar el PLC.
M8002
X010
Fig. 7-182:En este ejemplo el origen de la cifra aleatoria se forma partir de la hora
Programación FX
/FX
1S
RND
D+
KnX, KnY, KnM, KnS, T, C, D, R,
módulos especiales (U/G )
DHTOS
D0
ADD
D10
MUL
D14
DADD
y la fecha.
/FX
/FX
/FX
/FX
1N
2N
2NC
3G
RND
(D+)
CPU
Instrucción de
impulso (P)
TRD
D0
Leer hora y fecha
La hora horaria en "horas", "minutos",
D3
D14
segundos" se convierte en la unidad
D1
D10
El año y el mes se suman
El resultado se multiplica con la indicación
D2
D12
del día.
Luego se suma la hora horaria y el resultado
D12
D8310
se escribe en D8311 y D8310.
RNDP
D100
Generar un número aleatorio
/FX
3U
3UC
Otras instrucciones
FNC 183
Generar un número aleatorio
FX2N
FX1S
FX1N
FX3G
FX2NC
Procesamiento
Pasos del programa
16 bits 32 bits
RND
©
RNDP
FX3U
FX3UC
©
3
7 – 187