RANDOM

Esta função gera um valor inteiro pseudo-aleatório na faixa especificada pelos parâmetros MIN e MAX. Através do parâmetro NEW_SEED é possível criar uma nova semente para geração dos valores quando a função for chamada a primeira vez. Quando o parâmetro NEW_SEED for FALSE a função utiliza o valor 1 como semente e neste caso a sequencia de valores gerados será sempre a mesma. Esta opção é util para depuração.

Importante

Esta função pode não existir dependendo da versão de firmware corrente no equipamento a ser utilizado pela aplicação. Quando esta condição ocorrer será reportada uma falha no processo de compilação. Nesta situação, o usuário deverá atualizar o firmware do equipamento para que este recurso seja disponibilizado.

Bloco

              RANDOM
        +----------------+
DINT ---|MIN             |--- DINT
        |                |
DINT ---|MAX             |
        |                |
BOOL ---|NEW_SEED        |
        +----------------+

Parâmetro

Nome

Classe

Tipo

Descrição

MIN

Entrada

DINT

Valor mínimo a ser gerado

MAX

Entrada

DINT

Valor máximo a ser gerado

NEW_SEED

Entrada

BOOL

Se true, gera uma semente na primeira chamada da função. Se false utiliza 1 como semente

Retorno

Tipo Dado

Descrição

DINT

Valor aleatório retornado pela função

Exemplo

Declaração de variáveis

Nome

Tipo

Descrição

VAL

DINT

Valor aleatorio

Clique aqui para baixar a tabela de variáveis

Código ST

// Exemplo de ativação da função dentro da POU
(* ... *)

(* Simula um valor de um canal analógico aleatóriamente *)
VAL := HILS.RANDOM(0, 4095, TRUE);  // retorna um valor aleatório entre 0 .. 4095

(* ... *)