Nexto - Bloco Funcional e Funções Random

Este tutorial tem o objetivo de apresentar as funções Random para utilização em projetos da série Nexto por meio do software MasterTool IEC XE.


Componentes

 

Software:

MasterTool IEC XE v3.23

 

 

CLP:

XP340



Seções do Tutorial

1. ARQUITETURA

2. DESENVOLVIMENTO

   2.1. Instalando e adicionando a biblioteca Random no MasterTool IEC XE

   2.2. Funções Random

         2.2.1. Função Random RDM_REAL

         2.2.2. Função Random RDM_INT

         2.2.3. Função Random RDM_DWORD

   2.3. Bloco Funcional Random FB_RDM

3. RESULTADO


____________________________________________________________________________________________________________________________________


1. ARQUITETURA

Na arquitetura deste tutorial, conectou-se a porta Ethernet da XP340 na porta Ethernet do computador através do cabo NX9202.


2. DESENVOLVIMENTO

Neste tutorial será explicado como utilizar as funções e bloco funcional da biblioteca Random (biblioteca externa desenvolvida para o MasterTool IEC XE). As funções Random são utilizadas para gerar números aleatórios, podendo ser utilizados em testes e simulações em que não deseja-se determinar o valor da variável.

A biblioteca Random está disponível para download ao final deste tutorial, bem como o projeto criado na construção deste tutorial.


2.1. Instalando e adicionando a biblioteca Random no MasterTool IEC XE

Para instalar e adicionar uma biblioteca ao MasterTool IEC XE, siga o procedimento explicado no tutorial: “Como adicionar uma biblioteca externa no MasterTool IEC XE”, cujo link está abaixo:

https://www.altus.com.br//base-conhecimento/categoria/19/detalhe/281/como-adicionar-uma-biblioteca-externa-no-mastertool-iec-xe

 

Após realizar o procedimento explicado no tutorial do link acima com a biblioteca Random, a mesma estará presente nas bibliotecas do MasterTool, conforme a imagem abaixo:



2.2. Funções Random

Existem três funções Random presentes nesta biblioteca externa que foi instalada e elas serão apresentadas detalhadamente nas próximas subseções.

Para inserir cada uma dessas funções na POU UserPrg, em Caixa de Ferramentas, expanda o campo Geral e arraste o objeto Caixa até a opção Iniciar aqui.


Clique no campo ‘???’ dentro da caixa que foi inserida (1) e então clique no quadrado branco que será exibido ao lado (2).


A janela Assistente de Entrada abrirá. Na aba Pesquisa de Texto, escreva “rdm” para que todas as funções e blocos funcionais Random sejam exibidos. Selecione a função que desejar e clique em OK.


A janela Assistente de Entrada fechará automaticamente, dê Enter para finalizar a inserção da função desejada.


2.2.1. Função Random RDM_REAL

A função RDM_REAL calcula um número randômico do tipo REAL na seguinte faixa: 0 <= número calculado < 1. Esse número é calculado através de um temporizador interno do CLP lido e convertido em um número pseudoaleatório. Sendo uma função, ela não pode armazenar dados entre duas chamadas.

É recomendado chamar essa função apenas uma vez por ciclo da MainTask. Caso essa função seja chamada mais de uma vez por ciclo, ela fornece o mesmo número, pois o temporizador do CLP ainda está com o mesmo valor. Se existir a necessidade de chamar essa função repetidamente dentro de um único ciclo, é necessário que a entrada (ULTIMO) receba um valor diferente para cada chamada da função.



2.2.2. Função Random RDM_INT

A função RDM_INT calcula um número randômico do tipo INTEIRO na faixa determinada pelas entradas LOW e HIGH. Esse número é calculado através de um temporizador interno do CLP lido e convertido em um número pseudoaleatório.

Se a função for utilizada apenas uma vez por ciclo da MainTask, o valor da entrada ULTIMO pode permanecer constante. Caso a função seja chamada mais de uma vez por ciclo e o valor da entrada ULTIMO seja constante em todas as chamadas, é possível que a função forneça o mesmo número, pois o temporizador do CLP ainda está com o mesmo valor. Esse efeito pode ser evitado utilizando um contador de loop como valor inicial na entrada ULTIMO, ou adicionando um contador de loop com a saída da função como valor para a entrada ULTIMO.



2.2.3. Função Random RDM_DWORD

A função RDM_DWORD calcula um número randômico do tipo DWORD (32 bits) na faixa de valores de uma variável de 32 bits. Esse número é calculado através de um temporizador interno do CLP lido e convertido em um número pseudoaleatório. Sendo uma função, ela não pode armazenar dados entre duas chamadas.

Assim como a função RDM_REAL, é recomendado chamar essa função apenas uma vez por ciclo da MainTask. Caso essa função seja chamada mais de uma vez por ciclo, ela fornece o mesmo número, pois o temporizador do CLP ainda está com o mesmo valor. Se existir a necessidade de chamar essa função repetidamente dentro de um único ciclo, é necessário que a entrada ULTIMO receba um valor diferente para cada chamada da função.



2.3. Bloco Funcional Random FB_RDM

O bloco funcional FB_RDM é um gerador de sinal aleatório. Ele gera na variável SAIDA um novo valor a cada intervalo de tempo determinado na entrada PT. A saída booleana Q é verdadeiro (TRUE) durante um ciclo se o valor em SAIDA for alterado. As entradas AMP e OFFSET definem a amplitude e o offset da variável SAIDA, respectivamente. Caso as entradas AMP e OFFSET não estejam conectadas, o valor padrão para cada uma delas é zero


Para adicionar o bloco funcional FB_RDM à POU UserPrg, pode-se adotar o mesmo procedimento explicado na introdução da seção 2.2. deste tutorial.

É possível monitorar o funcionamento deste bloco funcional adicionando uma ferramenta Trace ao projeto e inserindo um diagrama para cada saída do bloco (Q e SAIDA).

Obs.: Como não é o objetivo deste tutorial, não será detalhado a configuração do objeto Trace. Caso existam dúvidas quanto a configuração dele, pode-se abrir o projeto que está disponível para download ao final do tutorial e analisar como o mesmo foi configurado e também, ler o tutorial que explica como utilizar a ferramenta Trace, cujo link está abaixo:

https://www.altus.com.br//base-conhecimento/categoria/19/detalhe/267/como-utilizar-a-ferramenta-trace-do-mastertool-iec-xe



3. RESULTADO

Realize Login no CLP e execute o projeto. Na aba UserPrg é possível visualizar o funcionamento das funções e do bloco funcional.




ARQUIVO BAIXAR
Biblioteca Random Português
Projeto Exemplo Funções Random Português

Ficou com dúvidas? Então clique no botão abaixo e fale com a gente!

ENVIE SUA DÚVIDA

Esta publicação foi relevante para você? Avalie o material para que possamos continuar melhorando.

Clique para gravar a avaliação
Gostou? Então compartilhe



Assine nossa newsletter e saiba tudo sobre automação!

Receba novidades sobre o mercado da automação, nossas soluções e as ações mais recentes envolvendo a Altus diretamente no seu e-mail.