O objetivo deste tutorial é explicar como converter variáveis do tipo inteiro para tipo time em um projeto do MasterTool X de maneira direta.
Componentes
Equipamentos: 1 computador/notebook.
Software: MasterTool X
Seções do Tutorial
- ARQUITETURA
- DESENVOLVIMENTO
1. ARQUITETURA
Será necessário a utilização de um computador/notebook para utilizar o Mastertool X.
Figura 1. Computador executando o Mastertool X
2. DESENVOLVIMENTO
Em algumas situações, não é necessário utilizar um bloco específico de conversão. O MasterTool IEC XE permite realizar a conversão de tipos diretamente na lógica, utilizando a sintaxe padrão de conversão, como por exemplo:
TO_INT
TO_TIME
TO_REAL
entre outras.
Essa abordagem torna o código mais simples, limpo e direto, evitando o uso de blocos adicionais apenas para conversão.
Aplicação da conversão direta na lógica
A conversão pode ser feita diretamente no ponto onde o valor será utilizado, como em parâmetros de blocos de função.
Neste exemplo, será utilizado um temporizador TON, aplicando a conversão diretamente no parâmetro de tempo (PT).
Exemplo de uso com TON
Considere a seguinte situação:
- O usuário possui uma variável do tipo REAL
- E deseja utilizá-la como tempo no temporizador (PT), que exige o tipo TIME
Para isso, pode-se utilizar a conversão direta:
PT := TO_TIME(TO_INT(tempo_real))
Figura 2. Parametrizando o TON com conversão direta
Explicação da sintaxe
A conversão é feita em duas etapas:
- TO_INT(tempo_real)
- Converte o valor de REAL para INT
- TO_TIME(...)
- Converte o valor inteiro para TIME
Isso é necessário porque o tipo TIME é baseado em valores inteiros (milissegundos), então a conversão intermediária garante compatibilidade.
Funcionamento
Supondo:
tempo_real : REAL := 5000.0;
Aplicando no TON:
PT := TO_TIME(TO_INT(tempo_real))
Resultado:
- 5000.0 (REAL) → 5000 (INT) → T#5s (TIME)
Ou seja, o temporizador irá considerar 5 segundos.
Figura 3. Parametrizando o TON com conversão direta
Vantagens da conversão direta
- Código mais limpo e compacto
- Evita uso de blocos adicionais
- Facilita leitura e manutenção
- Permite conversões dinâmicas em tempo de execução
Cuidados importantes
- Garantir compatibilidade entre os tipos de dados
- Evitar perda de precisão ao converter REAL para INT
- Lembrar que o valor final em TIME será interpretado em milissegundos
Aplicação prática
Esse tipo de conversão é muito utilizado em:
- Temporizadores com ajuste via variável
- Integração com IHMs (valores ajustáveis)
- Controle dinâmico de processos
- Situações onde o tempo não é fixo (não usar T# diretamente)
Figura 4. Funcionamento da conversão direta
Comentários
0 comentário
Por favor, entre para comentar.