O objetivo deste tutorial é explicar como criar uma lista de variáveis persistentes em um projeto do MasterTool X.
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
As variáveis persistentes são utilizadas quando se deseja garantir que determinados valores sejam preservados de forma permanente, mesmo em situações mais críticas como:
- Desligamento total do CLP
- Download de um novo código
- Alterações no projeto
- Reset da aplicação
Elas são ideais para dados que não podem ser perdidos em hipótese alguma, como parâmetros de calibração, receitas, ajustes do operador ou dados de produção críticos.
Diferença entre variáveis RETAIN e PERSISTENT
| Tipo de variável | Bloco de declaração | Mantém valor após desligar o CLP | Mantém valor após download de código | Pode ser alterada em runtime | Onde pode ser criada | Uso típico |
| VAR (normal) | VAR | Não | Não | Sim | Local (UserPrg, POU) ou Global (GVL) | Lógica comum, sinais temporários |
| VAR RETAIN | VAR RETAIN VAR_GLOBAL RETAIN | Sim | Não (pode perder) | Sim | Local ou Global | Estados que precisam sobreviver a queda de energia |
| VAR PERSISTENT | VAR_PERSISTENT | Sim | Sim | Sim | Somente em PersistentVars | Parâmetros críticos, calibração, receitas |
| VAR CONSTANT | VAR CONSTANT VAR_GLOBAL CONSTANT | Não se aplica | Não se aplica | Não | Local ou Global | Valores fixos, limites, fatores de cálculo |
Observações importantes
- Variável normal (VAR)
- Perde o valor sempre que o CLP reinicia ou o código é recarregado.
- É a mais usada no dia a dia.
- Variável RETAIN
- Mantém valor em falta de energia.
- Pode ser resetada em downloads completos ou alterações estruturais.
- Variável PERSISTENT
- Nível máximo de retenção.
- Sempre criada no objeto PersistentVars.
- Ideal para dados que não podem ser perdidos.
- Variável CONSTANT
- Valor fixo definido na declaração.
- Não pode ser escrita nem forçada.
- Não ocupa memória dinâmica de runtime.
Onde variáveis persistentes podem ser criadas
Diferente das variáveis RETAIN, variáveis persistentes só podem ser criadas em um local específico do projeto.
Elas não podem ser declaradas:
- No UserPrg
- Em subrotinas
- Em blocos funcionais
- Em funções
- Em GVL comuns
Como criar variáveis persistentes (passo a passo)
- Na árvore do projeto, localize o item Application
- Clique com o botão direito sobre Application
- Selecione Adicionar objeto
- Escolha PersistentVars
Esse objeto será o único local válido para declaração de variáveis persistentes.
Figura 2. Criação do menu das variáveis persistentes
Declaração de variáveis persistentes
Dentro do objeto PersistentVars, utilize a sintaxe:
VAR_GLOBAL PERSISTENT RETAIN total_producao : DINT; receita_ativa : INT; fator_calibracao : REAL; END_VAR
Todas as variáveis declaradas nesse bloco:
- São persistentes
- São automaticamente retentivas
- Mantêm seus valores mesmo após download de novo código
Figura 3. Criação das variáveis persistentes
Uso das variáveis persistentes no projeto
Após declaradas, as variáveis persistentes:
- Podem ser utilizadas em qualquer parte do código
- Funcionam como variáveis globais
- Não precisam de nenhuma configuração adicional
O acesso é direto pelo nome da variável.
Boas práticas no uso de variáveis persistentes
- Utilize apenas para dados realmente críticos
- Evite armazenar sinais temporários
- Use nomes claros e descritivos
- Documente o motivo da persistência
- Evite excesso de variáveis persistentes (memória não volátil é limitada)
Conclusão
As variáveis persistentes (PERSISTENT) garantem o mais alto nível de preservação de dados no CLP.
Elas devem ser usadas com critério, apenas quando a perda de informação não for aceitável, e sempre criadas no objeto correto (PersistentVars), respeitando as boas práticas de programação industrial.
Figura 4. Uso das variáveis persistentes no UserPrg
Comentários
0 comentário
Por favor, entre para comentar.