RANDOM
Gera um valor inteiro pseudo-aleatório na faixa definida por MIN e MAX,
com semente opcional; pode não estar disponível conforme a versão de firmware do
equipamento. É uma função.
Biblioteca: HI_STD · Namespace: HILS · Tipo: função
Função
RANDOM
+----------------+
DINT ---|MIN |--- DINT
| |
DINT ---|MAX |
| |
BOOL ---|NEW_SEED |
+----------------+
A função retorna um valor pseudo-aleatório entre MIN e MAX. Quando
NEW_SEED é TRUE, uma nova semente é criada na primeira chamada da função.
Quando NEW_SEED é FALSE, a função usa o valor 1 como semente e a sequência de
valores gerados é sempre a mesma — opção útil para depuração.
Importante
Esta função pode não existir dependendo da versão de firmware corrente no equipamento utilizado pela aplicação. Quando esta condição ocorrer, será reportada uma falha no processo de compilação; nessa situação o usuário deverá atualizar o firmware do equipamento para que este recurso seja disponibilizado.
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
MIN |
IN |
DINT |
— |
— |
Valor mínimo a ser gerado. |
MAX |
IN |
DINT |
— |
— |
Valor máximo a ser gerado. |
NEW_SEED |
IN |
BOOL |
— |
— |
Se TRUE, gera uma semente na primeira chamada da função. Se FALSE, utiliza 1 como semente. |
Retorno / Saídas
Retorna um DINT com o valor aleatório gerado na faixa MIN .. MAX.
Pré-condições
O firmware do equipamento deve dar suporte a esta função.
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
VAL : DINT; (* Valor aleatorio *)
END_VAR
(* Simula aleatoriamente o valor de um canal analogico *)
VAL := HILS.RANDOM(0, 4095, TRUE); (* retorna um valor aleatorio entre 0 .. 4095 *)