ALTUS NEXTO - Manual de Utilização
ALTUS NEXTO - Manual de Utilização
ALTUS NEXTO - Manual de Utilização
14 de setembro de 2020
Condições Gerais de Fornecimento
Nenhuma parte deste documento pode ser copiada ou reproduzida sem o consentimento prévio e por escrito da Altus
Sistemas de Automação S.A., que se reserva o direito de efetuar alterações sem prévio comunicado.
Conforme o Código de Defesa do Consumidor vigente no Brasil, informamos, a seguir, aos clientes que utilizam nossos
produtos, aspectos relacionados com a segurança de pessoas e instalações.
Os equipamentos de automação industrial fabricados pela Altus são robustos e confiáveis devido ao rígido controle de
qualidade a que são submetidos. No entanto, equipamentos eletrônicos de controle industrial (controladores programáveis,
comandos numéricos, etc.) podem causar danos às máquinas ou processos por eles controlados em caso de defeito em seus
componentes e/ou de erros de programação ou instalação, podendo inclusive colocar em risco vidas humanas.
O usuário deve analisar as possíveis consequências destes defeitos e providenciar instalações adicionais externas de se-
gurança que, em caso de necessidade, sirvam para preservar a segurança do sistema, principalmente nos casos da instalação
inicial e de testes.
Os equipamentos fabricados pela Altus não trazem riscos ambientais diretos, não emitindo nenhum tipo de poluente du-
rante sua utilização. No entanto, no que se refere ao descarte dos equipamentos, é importante salientar que quaisquer compo-
nentes eletrônicos incorporados em produtos contêm materiais nocivos à natureza quando descartados de forma inadequada.
Recomenda-se, portanto, que quando da inutilização deste tipo de produto, o mesmo seja encaminhado para usinas de recicla-
gem que deem o devido tratamento para os resíduos.
É imprescindível a leitura completa dos manuais e/ou características técnicas do produto antes da instalação ou utilização
do mesmo.
Os exemplos e figuras deste documento são apresentados apenas para fins ilustrativos. Devido às possíveis atualizações
e melhorias que os produtos possam incorrer, a Altus não assume a responsabilidade pelo uso destes exemplos e figuras em
aplicações reais. Os mesmos devem ser utilizados apenas para auxiliar na familiarização e treinamento do usuário com os
produtos e suas características.
A Altus garante os seus equipamentos conforme descrito nas Condições Gerais de Fornecimento, anexada às propostas
comerciais.
A Altus garante que seus equipamentos funcionam de acordo com as descrições contidas explicitamente em seus manuais
e/ou características técnicas, não garantindo a satisfação de algum tipo particular de aplicação dos equipamentos.
A Altus desconsiderará qualquer outra garantia, direta ou implícita, principalmente quando se tratar de fornecimento de
terceiros.
Os pedidos de informações adicionais sobre o fornecimento e/ou características dos equipamentos e serviços Altus devem
ser feitos por escrito. A Altus não se responsabiliza por informações fornecidas sobre seus equipamentos sem registro formal.
Alguns produtos utilizam tecnologia EtherCAT (www.ethercat.org).
DIREITOS AUTORAIS
Nexto, MasterTool, Grano e WebPLC são marcas registradas da Altus Sistemas de Automação S.A.
Windows, Windows NT e Windows Vista são marcas registradas da Microsoft Corporation.
NOTIFICAÇÃO DE USO DE SOFTWARE ABERTO
Para obter o código fonte de componentes de software contidos neste produto que estejam sob licença GPL, LGPL, MPL,
entre outras, favor entrar em contato através do e-mail [email protected]. Adicionalmente ao código fonte, todos os
termos da licença, condições de garantia e informações sobre direitos autorais podem ser disponibilizadas sob requisição.
I
SUMÁRIO
Sumário
1. Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Série Nexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Características Inovadoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Documentos Relacionados a este Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Inspeção Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Suporte Técnico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6. Mensagens de Advertência Utilizadas neste Manual . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Descrição Técnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Painéis e Conexões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Características Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1. Características Comuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2. Características Específicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2.1. NX3003/NX3004/NX3005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2.2. NX3010/NX3020/NX3030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3. Interfaces Seriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3.1. COM 1 (NX3003) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3.2. COM 1 (NX3004/NX3005) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3.3. COM 1 (NX3010/NX3020/NX3030) . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3.4. COM 2 (NX3010/NX3020/NX3030) . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.4. Interfaces Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.4.1. NET 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.4.2. NET 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.5. Fonte de Alimentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.6. Entradas Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.7. Entradas Rápidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.8. Saídas Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.9. Saídas Rápidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.10. Interface do Cartão de Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3. Compatibilidade com Outros Produtos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4. Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.1. Tempos de Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.2. Tempos para Execução de Instruções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.3. Tempos de Inicialização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.4. Tempo de Intervalo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5. Dimensões Físicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.1. NX3003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.2. NX3004 e NX3005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.3. NX3010, NX3020 e NX3030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6. Dados para Compra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
II
SUMÁRIO
III
SUMÁRIO
4.7. Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.8. Modo Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.9. Modo Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.10. Escrita e Forçamento de Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.11. Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.12. Upload do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.13. Estados de Operação da UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.1. Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.2. Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.3. Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.4. Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.5. Reset a Quente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.6. Reset a Frio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.7. Reset Origem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.13.8. Reset Process Command (IEC 60870-5-104) . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.14. Programas (POUs) e Listas de Variáveis Globais (GVLs) . . . . . . . . . . . . . . . . . . . . . . . 70
4.14.1. Programa MainPrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.14.2. Programa StartPrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.14.3. Programa UserPrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.14.4. GVL System_Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.14.5. GVL Disables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.14.6. GVL IOQualities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.14.7. GVL Module_Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.14.8. GVL Qualities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.14.9. GVL ReqDiagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5. Configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1. Configuração da UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1.1. Parâmetros Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.1.1.1. Troca a Quente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1.1.1.1. Troca a Quente Desabilitada, Apenas para Módulos Declarados . . . . . . . 80
5.1.1.1.2. Troca a Quente Desabilitada . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.1.1.1.3. Troca a Quente Desabilitada, sem Consistência na Partida . . . . . . . . . . 80
5.1.1.1.4. Troca a Quente Habilitada, com Consistência na Partida Apenas para Mó-
dulos Declarados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1.1.1.5. Troca a Quente Habilitada, com Consistência na Partida . . . . . . . . . . . 81
5.1.1.1.6. Troca a Quente Habilitada, sem Consistência na Partida . . . . . . . . . . . 81
5.1.1.1.7. Como realizar a Troca a Quente . . . . . . . . . . . . . . . . . . . . . . . 81
5.1.1.2. Áreas de Memória Retentiva e Persistente . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1.3. Configurações TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.1.1.4. Parâmetros do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.2. Configuração de Evento Externo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.1.3. Configuração do SOE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.1.4. Sincronização de Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.1.4.1. IEC 60870-5-104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.1.4.2. SNTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.1.4.3. Horário de Verão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.1.5. Pontos Internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.1.5.1. Conversões de Qualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.1.5.1.1. Qualidade Interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
IV
SUMÁRIO
V
SUMÁRIO
VI
SUMÁRIO
VII
SUMÁRIO
VIII
SUMÁRIO
IX
SUMÁRIO
X
SUMÁRIO
XI
SUMÁRIO
XII
SUMÁRIO
XIII
1. INTRODUÇÃO
1. Introdução
As UCPs da Série Nexto foram desenvolvidas para atender as necessidades de diversos clientes nas mais variadas aplicações
presentes na automação industrial e no controle de processos. Devido ao formato compacto e robusto, excelente desempenho
de processamento e atualização rápida das E/S, proveniente de um único barramento de comunicação de alta velocidade, as
UCPs da Série Nexto são as melhores escolhas para as mais exigentes necessidades de aplicação de controle. Em complexas
aplicações, onde a confiabilidade, disponibilidade e operação remota de E/S são necessárias, as UCPs da Série Nexto são
igualmente uma grande opção, devido às diferentes topologias de redundância e possibilidades de expansão de bastidores.
As UCPs da Série Nexto são providas de um inovador e único serviço de diagnósticos, oferecendo ao usuário uma expe-
riência totalmente nova. Utilizando apenas uma tecla localizada na parte superior do módulo, embutida ao compacto visor
gráfico, o usuário tem acesso direto a muitas informações sobre os módulos de E/S, interfaces de redes de campo e muitos
outros módulos da aplicação. Além disso, possui serviços de sistema de registro de usuários e facilidade de depuração e
gerenciamento de tarefas, reduzindo o custo da aplicação e tempo de instalação.
Finalmente, as UCPs da Série Nexto apresentam diversas interfaces de comunicação, como portas seriais e portas Ethernet,
interface com cartão de memória e linguagens de programação conforme norma IEC 61131-3.
1
1. INTRODUÇÃO
2
1. INTRODUÇÃO
OFD – On Board Full Documentation: As UCPs da Série Nexto têm a capacidade de armazenar a documentação
completa do projeto na sua memória. Este é um recurso interessante para fins de backup e manutenção, já que a informação
completa fica armazenada em um único e seguro local.
ETD – Electronic Tag on Display: Outra característica exclusiva apresentada pela Série Nexto é o ETD. Esta nova funci-
onalidade possibilita a verificação da tag de qualquer ponto ou módulo de E/S usado no sistema, diretamente no visor gráfico
das UCPs. Juntamente com esta informação, o usuário pode também verificar a descrição. Este é um recurso extremamente
útil durante a manutenção e resolução de problemas.
DHW – Double Hardware Width: Os módulos da Série Nexto foram projetados para economizar espaço em painéis e
nas máquinas. Por esta razão, a Série Nexto oferece duas diferentes larguras de módulos: largura dupla (com ocupação de 2
posições do bastidor) e largura simples (com ocupação de 1 posição do bastidor). Este conceito permite o uso de módulos de
E/S compactos, com alta densidade de pontos de E/S, juntamente com módulos complexos, como UCPs, mestres de rede de
campo e módulos de fonte de alimentação.
UCP de Alta Velocidade: Todas as UCPs desta Série Nexto foram concebidas para fornecer ao usuário um excelente de-
sempenho e atender a uma ampla gama de exigências nas aplicações. Por exemplo: as UCPs Nexto podem executar instruções
de adição, multiplicação e subtração em menos de 15 ns para valores de tipo inteiro e em menos de 23 ns para valores de tipo
real. Elas são igualmente capazes de executar 1000 laços PIDs em menos de 5 ms.
3
1. INTRODUÇÃO
4
1. INTRODUÇÃO
CUIDADO:
Antes de retirar os módulos da embalagem, é importante descarregar eventuais potenciais
estáticos acumulados no corpo. Para isso, toque (com as mãos nuas) em uma superfície
metálica aterrada qualquer antes de manipular os módulos. Tal procedimento garante que
os níveis de eletricidade estática suportados pelo módulo não serão ultrapassados.
É importante registrar o número de série de cada equipamento recebido, bem como as revisões de software, caso existentes.
Essas informações serão necessárias caso se necessite contatar o Suporte Técnico da Altus.
5
1. INTRODUÇÃO
PERIGO:
Relatam causas potenciais que, se não observadas, levam a danos à integridade física e saúde,
patrimônio, meio ambiente e perda da produção.
CUIDADO:
Relatam detalhes de configuração, aplicação ou instalação que devem ser seguidos para evi-
tar condições que possam levar a falha do sistema e suas consequências relacionadas.
ATENÇÃO:
Indicam detalhes importantes de configuração, aplicação e instalação para obtenção do má-
ximo desempenho operacional do sistema.
6
2. DESCRIÇÃO TÉCNICA
2. Descrição Técnica
Este capítulo apresenta todas as características técnicas das UCPs da Série Nexto NX3003, NX3004, NX3005, NX3010,
NX3020 e NX3030.
Como se pode observar na figura, na parte superior do painel frontal se encontra o visor gráfico utilizado para mostrar o
estado e diagnósticos de todo o sistema, incluindo os diagnósticos específicos de cada módulo. O visor gráfico também oferece
um menu fácil de usar que traz ao usuário um modo rápido para ler ou definir alguns parâmetros como: temperatura interna
(somente leitura), contraste do visor gráfico, endereço IP para cada interface de rede (somente leitura) e hora local (somente
leitura).
Logo abaixo do visor gráfico, encontram-se os 2 LEDs que indicam a ocorrência de diagnóstico e do circuito cão-de-
guarda. A Tabela abaixo mostra a descrição dos LEDs. Para maiores informações sobre os estados e significados dos LEDs,
consultar a seção Diagnósticos via LED.
LED Descrição
DG LED de Diagnóstico
WD LED de Cão-de-Guarda
As UCPs da Série Nexto contam com duas teclas disponíveis ao usuário. A Tabela abaixo mostra a descrição das te-
clas. Para maiores informações sobre a tecla de diagnóstico, consulte as seções One Touch Diag e Menu Informativo e de
Configuração da UCP. Para obter mais informações sobre a tecla MS, consulte a seção Cartão de Memória.
7
2. DESCRIÇÃO TÉCNICA
Teclas Descrição
Tecla situada na parte superior do módulo. Utilizada para visualização dos
Tecla de Diag-
diagnósticos no visor gráfico ou para navegação no menu informativo e de
nóstico
configurações da UCP.
Tecla localizada no painel frontal. Utilizada para remover o cartão de me-
MS
mória com segurança.
No painel frontal estão disponíveis as interfaces de conexão das UCPs da Série Nexto. Essas interfaces são de comunicação
Ethernet, comunicação serial e a interface do cartão de memória. A Tabela abaixo apresenta uma breve descrição dessas
interfaces.
8
2. DESCRIÇÃO TÉCNICA
Notas:
Tipos de tarefas: Tarefa é um objeto usado para chamar POUs. Uma tarefa pode ser disparada por período, eventos ou
pode ainda ser executada no modo contínuo. Cada tarefa pode chamar uma ou mais POUs.
Relógio de tempo real (RTC): O tempo de retenção, tempo em que o relógio de tempo real continuará a atualizar a data e
hora após a desenergização da UCP, é 15 dias para operação a 25 ◦ C. Na temperatura máxima do produto o tempo de retenção
9
2. DESCRIÇÃO TÉCNICA
10
2. DESCRIÇÃO TÉCNICA
Sim
RoHS – 2011/65/EU
2.2.2.2. NX3010/NX3020/NX3030
11
2. DESCRIÇÃO TÉCNICA
12
2. DESCRIÇÃO TÉCNICA
Sim
RoHS – 2011/65/EU
Sim
UL Listed – UL61010-1 (file
E473496)
Sim
EAC – CU TR 004/2011 (LVD)
and CU TR 020/2011 (EMC)
Notas:
Memória de variáveis de entrada de representação direta (%I): Área onde são alocadas as variáveis de representação
direta para o tipo entrada. Variável de representação direta significa que a variável pode ser acessada diretamente na memória
utilizando o endereço desejado. Por exemplo: %IB0, %IW100. Variável de entrada de representação direta pode ser utilizada
para mapear pontos de entrada analógicos ou digitais. Como referência, 8 pontos de entrada digital podem ser representados
por um byte e um ponto de entrada analógica pode ser representado por dois bytes.
Memória de variáveis de saída de representação direta (%Q) total: Área onde são alocadas todas as variáveis de
representação direta para o tipo saída. Variável de representação direta significa que a variável pode ser acessada diretamente
na memória utilizando o endereço desejado. Por exemplo: %QB0, %QW100. Variável de saída de representação direta
pode ser utilizada para mapear pontos de saída analógicos ou digitais. Como referência, 8 pontos de saída digital podem ser
representados por um byte e um ponto de saída analógica pode ser representado por dois bytes. As variáveis de representação
direta de saída ainda podem ser configuradas como retentivas, persistentes e/ou redundantes, mas o tamanho total não é alterado
em função da configuração. A UCP NX3030 da Série Nexto permite a definição de uma área de variáveis redundantes inseridas
dentro da área de memória de variáveis de saída de representação direta %Q. O subconjunto de tipos de memória de variáveis
de representação direta de saída fazem parte do total da memória disponibilizada.
Memória de variáveis de representação direta (%M): Área onde são alocadas as variáveis de representação direta para
o tipo marcador. Variável de representação direta significa que a variável pode ser acessada diretamente na memória utilizando
o endereço desejado. Por exemplo: %MB0, %MW100.
Memória de variáveis simbólicas: Área onde são alocadas as variáveis simbólicas. As variáveis simbólicas são variáveis
IEC criadas em POUs e GVLs durante o desenvolvimento da aplicação, as quais não são endereçadas diretamente na memória.
Variáveis simbólicas podem ser definidas como retentivas ou persistentes, neste caso serão utilizadas as áreas de memória
de variáveis simbólicas retentiva ou memória de variáveis simbólicas persistente respectivamente. O sistema do CP aloca
variáveis nesta área, desta forma o espaço disponível para a alocação de variáveis criadas pelo usuário é inferior ao informado
na tabela. A ocupação pelas variáveis de sistema depende das características do projeto (quantidade de módulos, de drivers,
etc...), desta forma recomenda-se observar o espaço disponível nas mensagens de compilação da ferramenta MasterTool IEC
XE.
Memória de variáveis retentivas e persistentes: Área onde são alocadas as variáveis retentivas e/ou persistentes. Os
dados retentivos mantêm seus respectivos valores mesmo após um ciclo de desenergização e energização da UCP. Já os dados
persistentes mantêm seus respectivos valores mesmo após o download de uma nova aplicação na UCP.
ATENÇÃO:
A declaração e utilização de variáveis simbólicas persistentes devem ser realizadas única e
exclusivamente através do objeto Persistent Vars, o qual pode ser incluído no projeto através
da árvore de dispositivos em Application -> Add Object -> Persistent Variables. Não deve ser
utilizada a expressão VAR PERSISTENT no campo de declaração de variáveis das POUs.
A lista completa de quando as variáveis retentivas e persistentes mantêm seus valores e quando o valor é perdido pode ser
encontrada na tabela abaixo. Além do tamanho de área persistente declarado nas tabelas acima, estão reservados 44 bytes a
mais para armazenar informações sobre as variáveis persistentes (não disponível para uso).
13
2. DESCRIÇÃO TÉCNICA
A tabela abaixo mostra o comportamento das variáveis retentivas e persistentes para diferentes situações, em que “-”
significa que o valor é perdido e “X” significa que o valor é mantido.
ATENÇÃO:
A retentividade da NX3003 funciona de maneira diferente das outras UCPs, portanto, se um
dos procedimentos acima for executado logo após um novo valor ser escrito em sua memória
retentiva ou persistente, ele poderá ser perdido. Para mais informações, consulte a Tabela
254 para diagnóstico de erro de retentividade.
Nas versões inferiores ou iguais a 1.5.0.21 para NX3004 e 1.5.1.0 para NX3010, NX3020 e NX3030 as memórias retentivas
e persistentes simbólicas e de saída de representação direta (%Q) possuíam tamanho máximo fixo. Na tabela abaixo é possível
consultar os tamanhos máximos permitidos nas versões antigas das UCPs.
Em versões superiores, as UCPs contam com a funcionalidade de tamanho de memórias retentivas e persistentes flexíveis.
Para mais informações do funcionamento consulte a seção Áreas de Memória Retentiva e Persistente.
No caso do comando de Limpar Tudo, caso a aplicação tenha sido modificada de tal forma que variáveis persistentes
tenham sido removidas, inseridas no início da lista ou então tenham tido o seu tipo modificado, o valor destas variáveis será
perdido (alertado pela ferramenta MasterTool ao realizar o download). Desta forma recomenda-se que alterações na GVL de
variáveis persistentes envolvam somente a inclusão de novas variáveis no final da lista.
Memória de dados redundantes total: Memória de dados redundantes é a quantidade máxima de memória que pode ser
utilizada como memória redundante entre duas UCPs que formam o par redundante. Esse valor não se trata de uma memória
diferente. Note que a soma de todas as variáveis redundantes (Variáveis de entrada de representação direta, Variáveis de saída
de representação direta, Variáveis de representação direta, Variáveis simbólicas, Variáveis simbólicas retentivas, Variáveis
simbólicas persistentes) deve ser igual ou menor que a memória de dados redundantes.
Memória de programa: Área da memória que corresponde ao tamanho máximo permitido para a aplicação de usuário.
Essa área é compartilhada com a memória de código fonte e com os dados de compilação, sendo a área total a soma de
(Memória de programa + Memória de código fonte + Memória de compilação).
Memória de código fonte (backup): Área da memória utilizada como backup do projeto, ou seja, caso o usuário deseje
importar o seu projeto, o software MasterTool IEC XE irá buscar as informações necessárias nessa área. É importante salientar
14
2. DESCRIÇÃO TÉCNICA
que o usuário deve estar atento para não esquecer de atualizar o projeto que está salvo como backup toda vez que enviar a
aplicação, evitando que informações sejam perdidas. Essa área é compartilhada com a memória de programa sendo a área total
a soma de Memória de programa + Memória de código fonte.
Memória de arquivos de usuário: Essa área da memória é destinada ao armazenamento de arquivos, como: doc, pdf,
imagens, entre outros; ou seja, permite a gravação de dados como se fosse um cartão de memória. Maiores informações no
capítulo Configuração - Memória de Arquivos de Usuário.
Número máximo de tarefas: O número máximo de tarefas definido para cada modelo de UCP e entre diferentes perfis de
projeto, está melhor detalhado no capítulo Programação Inicial – Número Máximo de Tarefas.
Suporte a redundância (half-clusters): A versão de software 1.1.0.0 ou superior/revisão de produto AB ou superior
suportam redundância de UCPs NX3030.
Registro de eventos (SOE): Os tipos de dados encontram-se no DNP3 Device Profile.
Número máximo de módulos de E/S no barramento: O número máximo de módulos de E/S refere-se a soma de todos
os módulos do barramento local e das expansões.
Número máximo de redes PROFIBUS-DP: Desde a versão 1.22 do MasterTool IEC XE ou superior é permitido 4 redes
PROFIBUS-DP para as UCPs NX3020 e NX3030. Nas versões anteriores eram permitidas apenas 2 redes PROFIBUS-DP.
É limitado o uso de no máximo 4 módulos mestre PROFIBUS-DP, isto significa que apenas 2 redes redundantes podem ser
utilizadas.
NX3003
Conector Borne
Interface Física RS-485
Direção de Comunicação RS-485: half duplex
Máx. Transmissores RS-485 32
Terminação Sim (Configurável)
200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400,
Taxa de Transmissão
57600, 115200 bps
Protocolos Mestre/Escravo MODBUS RTU
Protocolo aberto
Isolação
Lógica para porta serial Não isolado
Porta serial para terra de
1000 Vac / 1 minuto
proteção
Nota:
Máx. Transmissores RS-485: Refere-se ao número máximo de interfaces RS-485 que podem ser usadas no mesmo
barramento.
NX3004, NX3005
Conector DB9 fêmea blindado
Interface Física RS-422 ou RS-485 (dependendo do cabo selecionado)
Direção de Comunicação RS-422: full duplex
RS-485: half duplex
Máx. Transmissores RS-422 11 (1 transmissor e 10 receptores)
Máx. Transmissores RS-485 32
Terminação Sim (opcional via seleção de cabo)
15
2. DESCRIÇÃO TÉCNICA
NX3004, NX3005
200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400,
Taxa de Transmissão
57600, 115200 bps
Protocolos Mestre/Escravo MODBUS RTU
Protocolo aberto
Isolação
Lógica para porta serial 1000 Vac / 1 minuto
Porta serial para terra de
1000 Vac / 1 minuto
proteção
Nota:
Meio físico: Dependendo da configuração do cabo usado, é possível escolher o tipo de interface física: RS-422 ou RS-485.
A lista dos cabos pode ser encontrada na seção Produtos Relacionados.
Máx. Transmissores RS-422: Refere-se ao número máximo de interfaces RS-422 que podem ser usadas no mesmo
barramento.
Máx. Transmissores RS-485: Refere-se ao número máximo de interfaces RS-485 que podem ser usadas no mesmo
barramento.
16
2. DESCRIÇÃO TÉCNICA
Nota:
Meio físico: Dependendo da configuração do cabo usado, é possível escolher o tipo de interface física: RS-422 ou RS-485.
A lista dos cabos pode ser encontrada na seção Produtos Relacionados.
Máx. Transmissores RS-422: Refere-se ao número máximo de interfaces RS-422 que podem ser usadas no mesmo
barramento.
Máx. Transmissores RS-485: Refere-se ao número máximo de interfaces RS-485 que podem ser usadas no mesmo
barramento.
17
2. DESCRIÇÃO TÉCNICA
Nota:
Camada de aplicação: Os modelos de UCPs que suportam estes protocolos de aplicação, devem ser consultados na seção
Características Específicas.
2.2.4.2. NET 2
NX3020, NX3030
Conector RJ45 fêmea blindado
Auto crossover Sim
Máximo Comprimento de
100 m
Cabo
Tipo de Cabo UTP ou ScTP, categoria 5
Taxa de Transmissão 10/100 Mbps
Camada Física 10/100 BASE-TX (Full Duplex)
Camada de Enlace LLC (Controle de Enlace Lógico)
Camada de Rede IP (Protocolo de Internet)
Camada de Transporte TCP (Protocolo de Controle de Transmissão)
UDP (Protocolo de Datagrama de Usuário)
Cliente e Servidor MODBUS TCP
Cliente e Servidor MODBUS RTU via TCP
Servidor HTTP
Protocolo de programação MasterTool IEC XE
Servidor DNP3 (relatório de dados orientados ao evento)
Camada de Aplicação Servidor IEC 60870-5-104
Cliente SNTP
Mestre EtherCAT
Servidor OPC DA
Servidor OPC UA
Agente SNMP (Gerenciamento de Rede Ethernet)
Scanner e Adapter EtherNet/IP
Cliente MQTT
Diagnósticos LEDs - verde (velocidade), amarelo (link/atividade)
Isolação
Interfaces Ethernet para
1500 Vac / 1 minuto
porta serial
Interface Ethernet para
1500 Vac / 1 minuto
Interface Ethernet
Nota:
Camada de aplicação: Os modelos de UCPs que suportam estes protocolos de aplicação, devem ser consultados na seção
Características Específicas.
NX3003
Tensão de Entrada Nominal 24 Vdc
Potência de saída máxima 10 W
Corrente de saída máxima 2A
Tensão de Entrada 19,2 a 30 Vdc
18
2. DESCRIÇÃO TÉCNICA
NX3003
Máxima Corrente de Entrada
40 A
(in-rush)
Máxima Corrente de Entrada 1A
Isolação
Entrada para lógica 1000 Vac / 1 minuto
Entrada para terra de pro-
1000 Vac / 1 minuto
teção
Bitola do fio 0,5 mm2
Proteção inversão de polari-
Sim
dade
Fusível rearmável interno Não
Proteção contra curto-circuito
Não
na saída
Proteção contra sobrecor-
Não
rente
NX3004, NX3005
Tensão de Entrada Nominal 24 Vdc
Potência de saída máxima 15 W
Corrente de saída máxima 3A
Tensão de Entrada 19,2 a 30 Vdc
Máxima Corrente de Entrada
30 A
(in-rush)
Máxima Corrente de Entrada 1,4 A
Tempo máximo de interrup-
10 ms @ 24 Vdc
ção da tensão de entrada
Isolação
Entrada para lógica 1000 Vac / 1 minuto
Entrada para terra de pro-
1500 Vac / 1 minuto
teção
Entrada para terra funcio-
1000 Vac / 1 minuto
nal
Bitola do fio 0,5 mm2
Proteção inversão de polari-
Sim
dade
Fusível rearmável interno Sim
Proteção contra curto-circuito
Sim
na saída
Proteção contra sobrecor-
Sim
rente
Nota:
Potência de saída máxima: Utilizando módulos de E/S NextoJet com as UCPs NX3004 e NX3005, é possível extender e
chegar a utilizar 20 W de potência na saída. Consulte a Nota de Aplicação NAP152 para conhecer as restrições aplicáveis para
utilizar esse limite.
19
2. DESCRIÇÃO TÉCNICA
NX3003
Tipo de Entrada Sink tipo 1
Número de entradas 10
Configuração do borne I4, I5, I6, I7, I8, I9, I10, I11, I12 e I13
24 Vdc
Tensão de Entrada 15 a 30 Vdc para nível lógico 1
0 a 5 Vdc para nível lógico 0
Impedância de Entrada 4,95 kΩ
Máxima Corrente de Entrada 6,2 mA @ 30 Vdc
Indicação do estado da En-
Sim
trada
Tempo de atualização das en-
tradas
Modo normal 1 ms
Modo contador 2,5 ms
Filtro de Entrada 100 µs – por hardware
2 ms a 255 ms – por software
Isolação
Entradas para lógica 1500 Vac / 1 minuto
Entradas para saídas rápi-
1000 Vac / 1 minuto
das
Entradas para contadores 1000 Vac / 1 minuto
Entradas para Ethernet 1500 Vac / 1 minuto
Entradas para fonte de ali-
1000 Vac / 1 minuto
mentação
Entradas para terra de
1000 Vac / 1 minuto
proteção
Nota:
Filtro de Entrada: A amostragem do filtro é realizada na MainTask (ou função de atualização), então é recomendado usar
valores múltiplos do intervalo da tarefa.
NX3003
4 (podem ser usadas como contador rápido, interrupção ex-
Número de entradas rápidas
terna ou entrada normal)
Número max. de contadores
4
rápidos
Número max. de interrupções
4
externas
Configuração do borne I0, I1, I2 e I3
24 Vdc
Tensão de entrada 15 a 30 Vdc para nível lógico 1
0 a 5 Vdc para nível lógico 0
Impedância de entrada 1,85 kΩ
Máxima corrente de entrada 16,2 mA @ 30 Vdc
20
2. DESCRIÇÃO TÉCNICA
NX3003
Modos de 1 entrada:
Entrada digital normal
Interrupção externa
Contador Up
Modo de configuração Contador Down
Modos de 2 entradas:
Contador Up/Down (A conta p/ cima, B conta p/ baixo)
Contador Up/Down (A conta, B sentido)
Quadratura 2x
Quadratura 4x
Controle do sentido de conta-
Por software ou hardware
gem
Borda de detecção da entrada Subida, ativa em nível lógico 1 (exceto para quadratura 4 x,
de contagem onde conta nas duas bordas)
Formato dos dados Inteiros de 32 bit com sinal
Limite de operação De - 2.147.483.648 até 2.147.483.647
Frequência máxima de en-
200 kHz
trada
Largura de pulso mínima
@ 24 Vdc 1 µs
Isolação
Entradas rápidas para
Não isolado
fonte de alimentação
Entradas rápidas para ló-
1000 Vac / 1 minuto
gica
Entradas rápidas para saí-
1000 Vac / 1 minuto
das normais
Entradas rápidas para en-
1000 Vac / 1 minuto
tradas simples
Entradas rápidas para
1500 Vac / 1 minuto
Ethernet
Entradas rápidas para
1000 Vac / 1 minuto
terra de proteção
Nota:
Modo de configuração: Os modos de configuração determinam o comportamento das entradas I0, I1, I2 e I3.
NX3003
Número de saídas comuns 6
Configuração do borne Q4 , Q5, Q6, Q7, Q8 e Q9
Corrente Máxima de Saída 1,5 A @ 30 Vdc por saída
4 A @ 30 Vdc total
Tipo de saída Fonte Transistorizada
Tempo de comutação 200 µs - transição desligado para ligado @ 30 Vdc
500 µs - transição ligado para desligado @ 30 Vdc
Frequência máxima de comu-
250 Hz
tação
21
2. DESCRIÇÃO TÉCNICA
NX3003
Indicação do estado de saída Sim, pode ser visualizado nas telas padrões do produto
Proteções de saída Sim, Diodo TVS em todas as saídas a transistor
Fonte de alimentação externa 19,2 a 30 Vdc
Impedância de saída 500 mΩ
Isolação
Saídas para lógica 1500 Vac / 1 minuto
Saídas para saídas rápidas 1000 Vac / 1 minuto
Saídas para entradas rápi-
1000 Vac / 1 minuto
das
Saídas para Ethernet 1500 Vac / 1 minuto
Saídas para fonte de ali-
1000 Vac / 1 minuto
mentação
Saídas para terra de prote-
1000 Vac / 1 minuto
ção
Nota:
Tempo de comutação: Tempo necessário para desligar uma saída, mas depende da carga. Uma carga com baixa resistência
resulta em um tempo menor de chaveamento. O tempo informado refere-se ao tempo máximo para desativar uma saída ligada
a uma carga resistiva de 12,5 kΩ que é determinada como a máxima resistência admissível pela IEC 61131 para os módulos
de saída digital.
NX3003
Número de saídas 4 (podem ser usadas como:
VFO/PWM, PTO ou saída normal)
Configuração do borne Q0, Q1, Q2 e Q3
Corrente Máxima 0,5 A @ 30 Vdc por saída
2 A @ 30 Vdc total
Tipo de Saída Fonte Transistorizada
Máxima Frequência de Gera-
200 kHz @ 60 mA
ção de Pulsos
Mínima Largura de Pulso CARGA MÍNIMA MÍNIMO TEMPO DE PULSO
@ 24 Vdc 400 Ω 320 ns
Indicação de estado Através de variáveis simbólicas
Proteções Diodo TVS em todas as saídas a transistor
Tensão de Operação 19,2 a 30 Vdc
Impedância de Saída 700 mΩ
Saida digital normal
Modos de Saída VFO/PWM
PTO
PTO VFO/PWM
Funções Executadas por Soft- Escrita do número de pulsos a Escrita do valor de frequência
ware serem gerados a ser gerado (1 Hz a 200 kHz).
Escrita do número de pulsos Escrita do Duty Cycle das saí-
de aceleração e desaceleração das (1% a 100%)
Início / fim de operação das Início / fim de operação das
saídas saídas
Diagnósticos de saídas rápidas Diagnósticos de saídas rápidas
22
2. DESCRIÇÃO TÉCNICA
NX3003
Monitoração do estado atual
das saídas rápidas
Isolação
Saídas rápidas para fonte
Não isolado
de alimentação
Saídas rápidas para lógica 1000 Vac / 1 minuto
Saídas rápidas para Saídas
1000 Vac / 1 minuto
normais
Saídas rápidas para en-
1000 Vac / 1 minuto
trada simples
Saídas rápidas para Ether-
1500 Vac / 1 minuto
net
Saídas rápidas para terra
1000 Vac / 1 minuto
de proteção
Notas:
Capacidade máxima: A capacidade do cartão de memória deve ser igual ou inferior a este limite para o correto funciona-
mento na UCP Nexto, podendo a UCP não reconhecer o cartão ou ocorrer perdas de dados durante transferências.
Capacidade mínima: A capacidade do cartão de memória deve ser igual ou superior a este limite para o seu correto
funcionamento na UCP Nexto, podendo a UCP não reconhecer o cartão ou ocorrer perdas de dados durante transferências.
Sistema de arquivos: É recomendado formatar a memória utilizando a própria UCP Nexto, caso contrário poderá ocorrer
perda de desempenho no acesso a interface do cartão de memória.
23
2. DESCRIÇÃO TÉCNICA
Além disso, ao longo do roteiro de desenvolvimento do MasterTool IEC XE, alguns recursos podem ser incluídos (como
Blocos Funcionais especiais, etc ...), que podem introduzir um requisito da versão mínima do firmware. Durante o download da
aplicação, o MasterTool IEC XE verifica a versão do firmware instalada no controlador e, se não atender ao requisito mínimo,
exibirá uma mensagem solicitando atualização. A versão mais recente do firmware pode ser baixada no site da Altus e é
totalmente compatível com aplicações anteriores.
2.4. Desempenho
O desempenho das UCPs da Série Nexto depende:
Tempo da Aplicação do Usuário
Intervalo da Aplicação
Tempo do Sistema Operacional
Quantidade de módulos (dados de processo, entradas/saídas, entre outros)
É importante ressaltar que o tempo de execução da tarefa “MainTask” será diretamente influenciado pela tarefa de sistema
“Configuration”, uma tarefa de alta prioridade, executada periodicamente pelo sistema. A tarefa “Configuration” poderá
interromper a “MainTask” e, quando utilizados módulos de comunicação, como, por exemplo, o módulo Ethernet NX5000, o
acréscimo de tempo à “MainTask” poderá ser de até 25% do seu tempo médio de execução.
A tabela abaixo apresenta o tempo necessário para a execução de diferentes instruções nas UCPs da Série Nexto.
24
2. DESCRIÇÃO TÉCNICA
25
2. DESCRIÇÃO TÉCNICA
26
2. DESCRIÇÃO TÉCNICA
27
2. DESCRIÇÃO TÉCNICA
Código Descrição
UCP com 1 porta Ethernet, 1 canal serial, 14 entradas digitais, 10 saídas
NX3003
digitais e fonte de alimentação integrada
UCP com 1 porta Ethernet, 1 canal serial, suporte à expansão de barra-
NX3004
mento e fonte de alimentação integrada
UCP com 1 porta Ethernet, 1 canal serial, suporte à expansão de bar-
NX3005 ramento, fonte de alimentação integrada e suporte à páginas Web de
usuário
UCP de alta velocidade, 1 porta Ethernet, 2 canais seriais, interface para
NX3010
cartão de memória e suporte à expansão de barramento
UCP de alta velocidade, 2 portas Ethernet, 2 canais seriais, interface
NX3020
para cartão de memória e suporte à expansão de barramento
UCP de alta velocidade, 2 portas Ethernet, 2 canais seriais, interface
NX3030 para cartão de memória, suporte à expansão de barramento e suporte à
redundância
Código Descrição
MT8500 MasterTool IEC XE
AL-2600 Derivador e terminador de rede RS-485
AL-2301 Cabo de rede RS-485 (até 500 metros)
AL-2306 Cabo de rede RS-485 (até 1000 metros)
AL-2319 Cabo RJ45-RJ45
AL-1729 Cabo RJ45-CMDB9
AL-1748 Cabo CMDB9-CFDB9
AL-1752 Cabo CMDB9-CMDB9
AL-1753 Cabo CMDB9-CMDB25
AL-1754 Cabo CMDB9-CFDB9
AL-1761 Cabo CMDB9-CMDB9
AL-1762 Cabo CMDB9-CMDB9
AL-1763 Cabo CMDB9-borneira
NX9101 Cartão de 32 GB MicroSD com adaptador para miniSD e SD
NX9202 Cabo RJ45-RJ45 2 m
NX9205 Cabo RJ45-RJ45 5 m
NX9210 Cabo RJ45-RJ45 10 m
NX9404 Conector 6 terminais com fixação
NX9405 Conector 12 terminais com fixação
NX9406 Conector 18 terminais com fixação
NX9020 Base com 2 slots para montagem em painel
Notas:
MT8500: MasterTool IEC XE está disponível em quatro diferentes versões: LITE, BASIC, PROFESSIONAL e ADVAN-
CED. Para maiores informações, favor consultar o Manual de Utilização do MasterTool IEC XE - MU299048.
AL-2600: Este módulo é utilizado para derivação e terminação de uma rede RS-422/485. Para cada nó da rede, deve existir
28
2. DESCRIÇÃO TÉCNICA
um AL-2600. Os módulos AL-2600 que estiverem nas extremidades da rede devem ser configurados como terminação, exceto
quando há um dispositivo com terminação interna ativa, o restante deve ser configurado como derivação.
AL-2301: Cabo blindado de dois pares trançados, sem conectores, para ser utilizado em redes baseadas na interface RS-
485, com comprimento máximo de 500 metros.
AL-2306: Cabo blindado de dois pares trançados, sem conectores, para ser utilizado em redes baseadas na interface RS-
485, com comprimento máximo de 1000 metros.
AL-2319: Cabo com dois conectores RJ45 para programação das UCPs da Série Nexto e para comunicação Ethernet
ponto-a-ponto com outro dispositivo com interface Ethernet.
AL-1729: Cabo padrão RS-232C com um conector RJ45 e um conector DB9 macho para comunicação entre as UCPs da
Série Nexto e outros produtos Altus das Séries DUO, Piccolo e Ponto.
AL-1748: Cabo padrão RS-232C com um conector DB9 macho e um conector DB9 fêmea para comunicação entre UCPs
da Série Nexto e outros produtos Altus da Série Cimrex.
AL-1752: Cabo padrão RS-232C com dois conectores DB9 macho para comunicação entre as UCPs da Série Nexto e
outros produtos Altus da Série H e Série iX.
AL-1753: Cabo padrão RS-232C com um conector DB9 macho e um conector DB25 macho para comunicação entre as
UCPs da Série Nexto e outros produtos Altus da Série H.
AL-1754: Cabo padrão RS-232C com um conector DB9 macho e um conector DB9 fêmea para comunicação entre as
UCPs da Série Nexto e outros produtos Altus da Série Exter ou porta Serial padrão RS-232C de um microcomputador.
AL-1761: Cabo padrão RS-232C com dois conectores DB9 macho para comunicação entre as UCPs da Série Nexto e
outros produtos Altus da Série AL.
AL-1762: Cabo padrão RS-232C com dois conectores DB9 macho para comunicação entre as UCPs da Série Nexto.
AL-1763: Cabo com um conector DB9 macho e terminais para comunicação entre as UCPs da Série Nexto e produtos
com bornes padrão RS-485/RS-422.
NX9202/NX9205/NX9210: Cabos utilizados para comunicação Ethernet e para interligar módulos expansores de barra-
mento.
NX9404: Conector de 6 posições utilizado nas UCPs NX3004 e NX3005.
NX9405: Conector de 12 posições utilizado na UCP NX3003.
NX9406: Conector de 18 posições utilizado na UCP NX3003.
NX9020: Base com 2 slots para montagem em painel. Utilizada com as UCPs NX3003, NX3004 e NX3005 que não
necessita de módulos de entrada e saída no barramento.
29
3. INSTALAÇÃO
3. Instalação
Este capítulo apresenta os procedimentos necessários para a instalação física das UCPs da Série Nexto, bem como os
cuidados que se deve ter com outras instalações existentes no painel elétrico ocupado pelo CP.
CUIDADO:
Se o equipamento for utilizado de maneira não especificada neste manual, a proteção forne-
cida pelo equipamento poderá ser prejudicada.
PERIGO:
Ao executar qualquer instalação em um painel elétrico, certifique-se de que a fonte de energia
esteja DESLIGADA.
3.2.1. NX3003
A figura abaixo ilustra o diagrama elétrico da UCP NX3003 instalada em um bastidor da Série Nexto.
A disposição dos conectores e bornes na figura é meramente ilustrativa.
30
3. INSTALAÇÃO
Notas do Diagrama:
1. Utilização típica de entradas digitais tipo sink, N2 é o 0 Vdc comum para o grupo de entrada I4 à I13.
2. Utilização típica de saída digital tipo source.
3. Fonte de alimentação externa para alimentação das saídas Q4 à Q9, V2 é conectado ao +24 Vdc, e N2 é conectado ao 0
Vdc.
4. Interface Ethernet padrão 10/100Base-TX.
5. Interface serial RS-485 (disponível apenas na NX3003). Pinos D+ e D-.
6. Fonte de alimentação externa para alimentação do módulo e das saídas Q0 à Q3, V1 é conectado ao +24 Vdc, e N1 é
conectado ao 0 Vdc. N1 é o 0 Vdc comum para o grupo de entrada I0 à I3.
7. O módulo é aterrado através dos bastidores da Série Nexto.
8. O módulo alimenta os demais módulos através da conexão ao bastidor.
31
3. INSTALAÇÃO
Notas do Diagrama:
1. Interface Ethernet padrão 10/100Base-TX para programação, depuração e conexão à rede MODBUS TCP ou outros
protocolos.
2. Interface serial padrão RS-485/RS-422 para conexão à rede MODBUS RTU ou outros protocolos. A escolha do tipo de
interface física depende do cabo utilizado.
3. O aterramento vindo da fonte de alimentação externa é conectado ao terminal . Utilizar cabos de 0,5 mm2 .
4. A fonte de alimentação é conectada nos terminais 24V e 0V. Utilizar cabos de 0,5 mm2 .
5. O módulo alimenta os outros módulos da Série Nexto através da conexão com o bastidor.
6. O aterramento do módulo é feito através do bastidor da Série Nexto.
32
3. INSTALAÇÃO
Figura 9: Diagrama Elétrico das UCPs NX3010, NX3020 e NX3030 da Série Nexto
Notas do Diagrama:
1. Interface para cartão de memória.
2. Interface Ethernet padrão 10/100Base-TX para programação, depuração e conexão à rede MODBUS TCP ou outros
protocolos.
3. Interface Ethernet padrão 10/100Base-TX para conexão à rede MODBUS TCP ou outros protocolos (somente para
NX3020 e NX3030).
4. Interface serial padrão RS-232C para conexão à rede MODBUS RTU ou outros protocolos.
5. Interface serial padrão RS-485/RS-422 para conexão à rede MODBUS RTU ou outros protocolos. A escolha do tipo de
interface física depende do cabo utilizado.
6. O módulo é aterrado através dos bastidores da Série Nexto.
7. A alimentação do módulo é proveniente da conexão ao bastidor, não necessitando de conexões externas.
3.3.1. Endereço IP
A interface de Ethernet NET 1 é utilizada para comunicação Ethernet e para configurar a UCP, para que isso seja possível,
esta vem configurada de fábrica com os seguintes parâmetros:
NET 1
Endereço IP 192.168.15.1
Máscara de subrede 255.255.255.0
Endereço do Gateway 192.168.15.253
33
3. INSTALAÇÃO
Os parâmetros Endereço IP e Máscara de Subrede podem ser visualizados no visor gráfico da UCP através do menu de
parâmetros, conforme descrito na seção Menu Informativo e de Configuração da UCP.
Inicialmente, deve-se conectar a interface NET 1 da UCP a uma rede ou microcomputador com a mesma subrede para
comunicação com o MasterTool IEC XE, onde os parâmetros de rede podem ser alterados. Para maiores detalhes sobre
configuração e alteração de parâmetros de rede, verifique a seção Configuração das Interfaces Ethernet.
A interface de Ethernet NET 2 disponível somente para as UCPs NX3020 e NX3030 é utilizada para comunicação Ethernet
e vem configurada de fábrica com os seguintes parâmetros:
NET 2
Endereço IP 192.168.16.1
Máscara de subrede 255.255.255.0
Endereço do Gateway 192.168.16.253
Os parâmetros Endereço IP e Máscara de Subrede podem ser visualizados no visor gráfico da UCP através do menu de
parâmetros, conforme descrito na seção Menu Informativo e de Configuração da UCP.
Os parâmetros de rede da interface NET 2 podem ser alterados através do MasterTool IEC XE. Para maiores detalhes sobre
configuração e alteração de parâmetros de rede, verifique a seção Configuração das Interfaces Ethernet.
34
3. INSTALAÇÃO
A interface pode ser conectada em uma rede de comunicação através de um hub ou switch, ou então diretamente ao
equipamento com o qual irá se comunicar. Neste último caso, devido as UCPs Nexto possuírem a característica de Auto
Crossover, não se faz necessária a utilização de um cabo de rede denominado cross-over, o mesmo utilizado para conectar dois
computadores pessoais, ponto a ponto, através da porta Ethernet.
É importante ressaltar que entende-se por cabo de rede, um par de conectores RJ45 machos interligados entre si por um
cabo UTP ou ScTP, de categoria 5, sob a configuração direta ou cross-over. O mesmo serve para interligar dois dispositivos
com porta Ethernet.
Normalmente estes cabos possuem uma trava de conexão que garante uma perfeita conexão entre o conector fêmea da
interface e o conector macho do cabo. No momento da instalação, o conector macho do cabo deve ser inserido no fêmea do
módulo até que se ouça um som característico ("click"), garantindo a atuação da trava. Para desconectar os mesmos deve-se
utilizar a alavanca presente no conector macho.
Figura 11: Conector DB9 Fêmea COM 1 das UCPs NX3010, NX3020 e NX3030
35
3. INSTALAÇÃO
Tabela 30: Pinagem do Conector DB9 Fêmea COM 1 (NX3010, NX3020 e NX3030)
Tabela 31: Pinagem do Conector DB9 Fêmea COM 1 (NX3004/NX3005) ou COM 2 (NX3010/NX3020/NX3030)
36
3. INSTALAÇÃO
O diagrama da figura abaixo indica como deve ser realizada a conexão dos terminais do AL-1763 na borneira do dispositivo.
Nota do Diagrama:
Os terminais não conectados devem ser isolados para que não haja contato entre os mesmos.
37
3. INSTALAÇÃO
Obs.: As terminações internas disponíveis na COM 1 (NX3004 e NX3005) e na COM 2 (NX3010, NX3020 e NX3030)
são do tipo estado seguro em modo aberto.
O diagrama da figura abaixo indica como deve ser realizada a conexão dos terminais do AL-1763 na borneira do dispositivo.
Nota do Diagrama:
Os terminais não conectados devem ser isolados para que não haja contato entre os mesmos.
O diagrama da figura abaixo indica como deve ser realizada a conexão dos terminais do AL-1763 na borneira do dispositivo.
38
3. INSTALAÇÃO
Nota do Diagrama:
Os terminais não conectados devem ser isolados para que não haja contato entre os mesmos.
3.6.4. Exemplo de Ligação de Rede RS-485 com Terminação Externa e Redundância de Mestre
A figura abaixo mostra um exemplo de ligação da rede RS-485 com terminação externa, utilizando duas UCPs Nexto
NX3030 com redundância de half-cluster, como mestre.
Figura 16: Diagrama de Conexão de Rede RS-485 com Terminação Externa e Redundância de Mestre
39
3. INSTALAÇÃO
O diagrama da figura abaixo indica como deve ser realizada a conexão dos terminais do AL-1763 na borneira do dispositivo.
Nota do Diagrama:
Os terminais não conectados devem ser isolados para que não haja contato entre os mesmos.
Obs.: As terminações internas disponíveis na COM 1 (NX3004 ou NX3005) e na COM 2 (NX3010, NX3020 ou NX3030)
40
3. INSTALAÇÃO
Nota do Diagrama:
Os terminais não conectados devem ser isolados para que não haja contato entre os mesmos.
O diagrama da figura abaixo indica como deve ser realizada a conexão dos terminais do AL-1763 na borneira do disposi-
tivo.
41
3. INSTALAÇÃO
Nota do Diagrama:
Os terminais não conectados devem ser isolados para que não haja contato entre os mesmos.
Nota do Diagrama:
Os módulos AL-2600 que estão nas extremidades da rede fazem a função de terminadores. Neste caso deve-se configurar
as chaves do AL-2600 em Terminação PROFIBUS.
42
3. INSTALAÇÃO
Quando o cartão estiver instalado corretamente aparecerá um símbolo no visor gráfico da UCP. Para remover o cartão com
segurança, deve-se pressionar a tecla MS, esperar para que o símbolo do cartão desapareça do visor gráfico e então retirar o
cartão. Para que isso seja possível, deve-se pressionar o cartão contra a UCP até que seja gerado um clique. Então, basta
soltá-lo e retirá-lo do compartimento, conforme mostra a figura abaixo, pois o mesmo estará solto.
43
3. INSTALAÇÃO
44
4. PROGRAMAÇÃO INICIAL
4. Programação Inicial
O objetivo deste capítulo é auxiliar na programação e configuração das UCPs da Série Nexto, permitindo ao usuário que
realize os primeiros passos antes de iniciar a programação de um CP.
As UCPs da Série Nexto utilizam a norma padrão de linguagens IEC 61131-3, que são IL, ST, LD, SFC e FBD, e, além
disso, uma linguagem extra, CFC. Pode-se separar essas linguagens em textuais e gráficas. O IL e ST são linguagens textuais
e são semelhantes ao Assembly e a linguagem C. O LD, SFC, FBD e CFC são linguagens gráficas. LD usa a representação
de blocos de relés e é similar ao diagrama de relés. SFC usa a representação de diagrama de sequência, possibilitando uma
maneira fácil de enxergar as sequências de eventos. FBD e o CFC usam um conjunto de blocos funcionais, permitindo uma
visão clara das funções exercidas por cada ação.
A programação é feita através da interface de desenvolvimento MasterTool IEC XE (IDE). O MasterTool IEC XE possibi-
lita o uso das seis linguagens no mesmo projeto, assim provendo as melhores características que cada linguagem pode oferecer
ao usuário, resultando no desenvolvimento de aplicações mais eficientes, permitindo fácil documentação e manutenção futura.
Para mais informações sobre Programação, consultar Manual de Utilização MasterTool IEC XE - MU299609, Manual de
Programação MasterTool IEC XE - MU399609 ou o padrão IEC 61131-3.
45
4. PROGRAMAÇÃO INICIAL
SIGNIFICÂNCIA SOBREPOSIÇÃO
%QX0.7
%QX0.6
%QX0.5
%QX0.4 %QB %QB00
%QX0.3 00
%QX0.2
%QX0.1
%QX0.0 %QW %QW
%QX1.7 00 00
%QX1.6
%QX1.5
%QX1.4 %QB %QB01
%QX1.3 01
MSB %QX1.2
%QX1.1
⇑ %QX1.0 %QD %QW %QD
%QX2.7 00 01 00
LSB %QX2.6
%QX2.5
%QX2.4 %QB %QB02
%QX2.3 02
%QX2.2
%QX2.1
%QX2.0 %QW %QW %QD
%QX3.7 02 02 01
%QX3.6
%QX3.5
%QX3.4 %QB %QB03
%QX3.3 03
%QX3.2
%QX3.1
%QX3.0 %QL %QW %QD
%QX4.7 00 03 02
%QX4.6
%QX4.5
%QX4.4 %QB %QB04
%QX4.3 04
%QX4.2
%QX4.1
%QX4.0 %QW %QW %QD
%QX5.7 04 04 03
%QX5.6
%QX5.5
%QX5.4 %QB %QB05
%QX5.3 05
MSB %QX5.2
%QX5.1
⇑ %QX5.0 %QD %QW %QD
%QX6.7 04 05 04
LSB %QX6.6
%QX6.5
%QX6.4 %QB %QB06
%QX6.3 06
%QX6.2
%QX6.1
%QX6.0 %QW %QW
%QX7.7 06 06
%QX7.6
%QX7.5
%QX7.4 %QB %QB07
%QX7.3 07
%QX7.2
%QX7.1
%QX7.0
46
4. PROGRAMAÇÃO INICIAL
A tabela acima mostra a organização e acesso à memória, exemplificando a significância dos bytes e a disposição dos demais
tipos de variável, inclusive a sobreposição.
ATENÇÃO:
No decorrer dos perfis de projeto são nomeados alguns tipos de tarefas, as quais estão des-
critas na seção Configuração das Tarefas, no Manual de Utilização MasterTool IEC XE –
MU299048.
ATENÇÃO:
Quando utilizada mais de uma tarefa, o acesso de E/S só deve ser executado no contexto da
tarefa principal, MainTask. Caso não possa ser utilizada a opção Habilita atualização de E/S
por tarefa, presente a partir da versão 2.01 do MasterTool IEC XE.
4.2.1. Simples
No perfil de projeto Simples, a aplicação possui apenas a tarefa de usuário MainTask. Esta tarefa é responsável pela
execução de uma única unidade de programação do tipo Programa denominada MainPrg. Este único programa pode chamar
outras unidades de programação do tipo Programa, Função ou Bloco Funcional, mas todo código de usuário será executado
exclusivamente pela tarefa MainTask.
Neste perfil, a tarefa MainTask será do tipo cíclica (Cyclic) com prioridade fixada como 13 (treze) e executa exclusivamente
o programa MainPrg em um laço contínuo. A tarefa MainTask já está completamente definida e o desenvolvedor precisa criar
o programa MainPrg optando por qualquer uma das linguagens da norma IEC 61131-3. Nem sempre é possível converter um
programa para outra linguagem, mas sempre é possível criar um novo programa com o mesmo nome em substituição que seja
construída em linguagem diversa. A opção padrão do MasterTool IEC XE é utilizar o Projeto MasterTool Padrão associado ao
perfil Simples, o qual também inclui o programa MainPrg criado na linguagem escolhida na criação do projeto.
Uma aplicação deste tipo nunca precisa levar em consideração questões como consistência de dados, compartilhamento de
recursos ou mecanismos de exclusão mútua.
47
4. PROGRAMAÇÃO INICIAL
4.2.2. Básico
No perfil de projeto Básico, a aplicação possui uma tarefa de usuário do tipo Contínua denominada MainTask, que executa
em um laço contínuo (sem definição de intervalo) com prioridade fixada como 13 (treze). Esta tarefa é responsável pela
execução de uma única unidade de programação POU denominada MainPrg. É importante ressaltar que o intervalo pode variar
em função da quantidade de tarefas de comunicação utilizadas, pois nesse modo, a tarefa principal é interrompida por tarefas
de comunicação.
Este perfil também permite a inclusão de duas tarefas de evento com maior prioridade que podem interromper (preemptar) a
MainTask a qualquer momento: a tarefa chamada ExternInterruptTask00 é uma tarefa de evento do tipo Externa com prioridade
fixada em 02 (dois); a tarefa chamada TimeInterruptTask00 é uma tarefa de evento do tipo Cíclica com prioridade fixada como
01 (um).
O modelo de projeto Básico, inclui estas três tarefas já completamente definidas conforme apresentado na tabela abaixo.
O desenvolvedor precisa apenas criar os programas associados.
4.2.3. Normal
No perfil de projeto Normal, a aplicação possui uma tarefa de usuário do tipo Cíclica denominada MainTask. Essa tarefa é
responsável pela execução de uma única unidade de programação do tipo Programa denominada MainPrg. Este programa e esta
tarefa são equivalentes a única tarefa e único programa do perfil Simples, mas aqui a aplicação pode integrar tarefas adicionais
de usuário. Estas outras tarefas são denominadas CyclicTask00 e CyclicTask01, cada qual responsável pela execução exclusiva
do respectivo programa CyclicPrg<nn>. As tarefas CyclicTask<nn> são sempre do tipo cíclica (Cyclic) com prioridade fixada
como 13 (treze), prioridade idêntica a tarefa MainTask. Estes dois tipos formam um conjunto denominado de tarefas básicas,
cujos programas associados podem chamar outras POUs do tipo Programa, Função ou Bloco Funcional.
Este perfil pode adicionalmente incluir tarefas de evento com maior prioridade que as tarefas básicas e que consequente-
mente podem interromper (preemptar) a execução daquelas a qualquer momento.
A tarefa chamada ExternInterruptTask00 é uma tarefa de evento do tipo Externa (Extern) cuja execução é disparada por
algum evento externo, tais como variação de um sinal de controle em uma porta serial ou variação de uma entrada digital
no barramento do NEXTO. A prioridade desta tarefa é fixada em 02 (dois), sendo responsável pela execução exclusiva do
programa ExternInterruptPrg00. A tarefa chamada TimeInterruptTask00 é uma tarefa de evento do tipo Cíclica (Cyclic) com
prioridade fixada como 01 (um), sendo responsável pela execução exclusiva do programa TimeInterruptPrg00.
No modelo de projeto Normal, existem cinco tarefas, e suas POUS, já completamente definidas conforme apresentado na
tabela abaixo. O desenvolvedor precisa apenas implementar os conteúdos dos programas optando, no assistente, por qualquer
uma das linguagens da norma IEC 61131-3. Os intervalos e eventos de disparo das tarefas podem ser configurados pelo
desenvolvedor e as tarefas desnecessárias deverão ser eliminadas.
4.2.4. Experiente
O perfil de projeto Experiente inclui as mesmas tarefas básicas, MainTask, CyclicTask<nn>, ExternInterruptTask00 e
TimeInterruptTask00, com as mesmas prioridades (13, 02 e 01 respectivamente), mas é uma expansão dos anteriores, pois
admite múltiplas tarefas de evento. Ou seja, a aplicação pode incluir várias tarefas ExternInterruptTask<nn> ou TimeInterrupt-
Task<nn> executando os programas ExternInterruptPrg<nn> e TimeInterruptPrg<nn>. As prioridades das tarefas de evento
adicionais podem ser livremente selecionadas na faixa de 08 a 12. Neste perfil, além dos programas padrões, cada tarefa pode
48
4. PROGRAMAÇÃO INICIAL
4.2.5. Personalizado
O perfil de projeto Personalizado permite ao desenvolvedor explorar todas as potencialidades do Runtime System im-
plantado nas unidades centrais de processamento da Série Nexto. Nenhuma das funcionalidades é desabilitada, nenhuma
prioridade, associação entre tarefas e programas ou nomenclatura é imposta. A única exceção se faz para a MainTask que deve
sempre existir com este nome neste Perfil.
Além das tarefas em tempo real com prioridades 00 a 15, as quais são escalonadas por prioridade, neste perfil também é
possível definir tarefas com prioridades menores na faixa 16 a 31. Nesta faixa, é usado o Completely Fair Scheduler (com-
partilhamento de tempo), o que é necessário para execução de códigos que podem ficar bloqueados (por exemplo, uso de
sockets).
O desenvolvedor tem a liberdade para seguir parcialmente ou não a organização definida nos demais perfis de projeto,
conforme as particularidades de sua aplicação. Por outro lado, o modelo personalizado, associado a este perfil não necessita
elementos pré-definindo como tarefa, programa ou parâmetro, cabendo ao desenvolvedor a criação de todos os elementos que
compõe a aplicação. Entretanto o usuário pode gerar os mesmos elementos disponíveis para o perfil Experiente.
49
4. PROGRAMAÇÃO INICIAL
Além disso, este perfil suporta a inclusão de tarefas adicionais associadas à interrupções externas.
Perfis de Projeto
Verificações Simples Máquina Básico Normal Experiente Personalizado
Total de tarefas Quantidade 01 04 [01..03] [01..32] [01..32] [01.32]
Programas por tarefa Quantidade 01 01 01 <n> <n>
Main Task Nome
Tipo Cíclica Cíclica Contínua Cíclica Cíclica <n>
Prioridade 13 13 13 13 13 <n>
Quantidade 01 01 01 01 01 01
Time Interrupt Task Nome
Tipo Cíclica Cíclica Cíclica Cíclica Cíclica
Prioridade 01 01 01 01 ou [08..12] <n>
Quantidade [00..01] [00..01] [00..01] [00..31] [00..31]
Extern Interrupt Task Nome
Tipo Externa Externa Externa Externa Externa
Prioridade 02 02 02 02 ou [08..12] <n>
Quantidade [00..01] [00..01] [00..01] [00..31] [00..31]
Ciclic Task Nome CyclicTask<nn> CyclicTask<nn> <n>
Tipo Cíclica Cíclica Cíclica
Prioridade 13 13 <n>
Quantidade [00..31] [00..31] [00..31]
Free Task Nome FreeTask <n>
Tipo Contínua Contínua
Prioridade 31 <n>
Quantidade [00..01] [00..01]
Event Task Nome <n>
Tipo Evento
Prioridade <n>
Quantidade [00..31]
ATENÇÃO:
Os nomes sugeridos para as POUs associadas às tarefas não são consistidos. Os mesmos
podem ser substituídos desde que sejam substituídos também nas configurações das tarefas.
50
4. PROGRAMAÇÃO INICIAL
51
4. PROGRAMAÇÃO INICIAL
Tipo de Ta-
NX3010 NX3020 NX3030
refa
S B N E P M S B N E P M S B N E P M
Configuration
Task (Tarefa Cíclica 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0
WHSB)
Tarefas de
Cíclica 1 1 15 15 15 2 1 1 23 23 23 2 1 1 31 31 31 2
Usuário
Disparada por
0 0 0 0 15 0 0 0 0 0 23 0 0 0 0 0 31 0
Evento
Disp. Evento
0 1 1 14 15 0 0 1 1 22 23 0 0 1 0 30 31 0
Externo
Contínua 0 1 0 1 15 0 0 1 0 1 23 0 0 1 0 1 31 0
Disparada por
0 0 0 0 15 0 0 0 0 0 23 0 0 0 0 0 31 0
Estado
NETs –
Instâncias
Cíclica 4 8 16
Cliente ou
Servidor
COM (n) –
Instâncias
Cíclica 1 1 1
Mestre ou
Escravo
TOTAL 16 24 32
Notas:
Legenda dos Perfis: As letras S, B, N, E, P e M corresponde respectivamente aos Perfis Simples, Básico, Normal, Expe-
riente, Personalizado e Máquina.
Valores: Os números definidos para cada tipo de tarefa representam os valores máximos permitidos.
Tarefa WHSB: A tarefa WHSB que é uma tarefa de sistema deve ser considerada para que não seja ultrapassado o valor
total.
NETs - Instâncias Cliente ou Servidor: O valor máximo definido considera todas as interfaces Ethernet do sistema, ou seja,
inclui os módulos de expansão, quando estes são aplicados. Exemplos para esse tipo de tarefa são as instâncias do Protocolo
MODBUS.
COM (n) - Instâncias Mestre ou Escravo: O "n"representa o número da interface serial, ou seja, mesmo com módulos de
expansão, o valor da tabela será o máximo por interface. Exemplos para esse tipo de tarefa são as instâncias do Protocolo
MODBUS.
Total: O valor total não representa a soma de todas as tarefas por perfil, mas o valor máximo permitido por UCP. Então,
o usuário poderá criar vários tipos de tarefas, desde que o número estabelecido para cada uma e o valor total, não sejam
ultrapassados.
52
4. PROGRAMAÇÃO INICIAL
Além disso, clicando duas vezes sobre o ícone NET 1 da UCP é possível realizar a configuração da interface Ethernet
através da qual será realizada a comunicação entre a UCP e o MasterTool IEC XE.
As configurações de rede definidas nesta tela serão aplicadas no dispositivo somente quando for realizado o envio da
aplicação (download), cujo procedimento é descrito a seguir nas seções Localizando o Dispositivo e Login.
4.4. Bibliotecas
Existem diversos recursos da ferramenta de programação que estão disponíveis através de bibliotecas. Sendo assim, os
mesmos devem ser inseridos no projeto para que a sua utilização seja possível. O procedimento de inserção, bem como mais
53
4. PROGRAMAÇÃO INICIAL
informações sobre as bibliotecas disponíveis podem ser encontrados no Manual de Programação IEC 61131 – MP399048,
capítulo Bibliotecas.
Após, surgirão na tela os protocolos disponíveis ao usuário. Definir o modo de configuração do protocolo, selecionar a op-
ção MODBUS Symbol RTU Slave, para configuração por Mapeamento Simbólico ou MODBUS RTU Slave, para configuração
por Representação Direta (%Q). A seguir, clicar em Acrescentar, conforme mostra a figura abaixo.
54
4. PROGRAMAÇÃO INICIAL
55
4. PROGRAMAÇÃO INICIAL
Após irá surgir na tela os protocolos disponíveis ao usuário. Definir o modo de configuração do protocolo, selecionar a
opção MODBUS Symbol Client, para configuração por Mapeamento Simbólico, ou MODBUS Client, para configuração por
Representação Direta (%Q). A seguir, clicar em Acrescentar, conforme mostra a figura abaixo.
56
4. PROGRAMAÇÃO INICIAL
57
4. PROGRAMAÇÃO INICIAL
Após, surgirá na tela os protocolos disponíveis ao usuário. Nesse caso, selecionar o IEC 60870-5-104 > IEC 60870-5-104
Server > IEC 60870-5-104 Server e clicar em Add Device, conforme mostra a figura abaixo.
58
4. PROGRAMAÇÃO INICIAL
Por último o usuário deve clicar com o botão direito sobre o Protocolo Servidor IEC 60870-5-104, que foi inserido na
NET1, e inserir um ou mais Clientes, conforme mostra a figura abaixo.
59
4. PROGRAMAÇÃO INICIAL
60
4. PROGRAMAÇÃO INICIAL
Caso não haja um gateway previamente configurado, o mesmo pode ser adicionado através do botão Acrescentar Gateway,
mantendo endereço IP padrão localhost para utilizar o gateway da estação ou alterando o endereço IP para utilizar o gateway
interno do dispositivo.
Em seguida, basta selecionar a UCP desejada e clicar na opção Definir Caminho Ativo. Esta ação seleciona o dispositivo e
informa ao configurador qual UCP deve ser utilizada para comunicar e enviar o projeto.
Adicionalmente, o usuário pode alterar o nome padrão do dispositivo que é exibido. Para isso, deve clicar com o botão
direito do mouse sobre o dispositivo desejado e selecionar a opção Alterar Nome do Dispositivo. Após uma mudança de nome,
o dispositivo não voltará ao nome padrão em nenhuma circunstância.
Caso a configuração Ethernet da UCP que deseja-se conectar esteja em uma rede diferente da interface Ethernet da esta-
ção, o MasterTool IEC XE não conseguirá localizar o dispositivo. Neste caso, recomenda-se a utilização do comando Easy
Connection disponível no menu Comunicação da ferramenta.
61
4. PROGRAMAÇÃO INICIAL
Este comando realiza uma comunicação em nível MAC com o dispositivo, permitindo alterar permanentemente a confi-
guração da interface Ethernet da UCP, independentemente da configuração IP da estação e daquela previamente existente no
dispositivo. Com isso, é possível configurar o dispositivo para que fique na mesma rede da interface Ethernet da estação onde
está sendo executada a ferramenta MasterTool IEC XE, permitindo localizar e selecionar o dispositivo para comunicação. A
descrição completa do comando Easy Connection pode ser encontrada no Manual de Utilização do MasterTool IEC XE código
MU299048.
4.7. Login
Após compilar a aplicação e corrigir todos os erros encontrados, é o momento de enviar o projeto para a UCP. Para isto,
basta executar o comando de Login localizado no menu Comunicação no software MasterTool IEC XE conforme mostra o
exemplo da figura a seguir. Essa operação pode levar alguns segundos, dependendo do tamanho do arquivo gerado.
Após a execução do comando, poderão surgir algumas mensagens de interface com o usuário, as quais são apresentadas
devido a diferença entre um projeto antigo e o que está sendo enviado ou, simplesmente, alteração no valor de alguma variável.
Caso a configuração Ethernet do projeto seja diferente daquela contida no dispositivo, poderá haver a interrupção da
comunicação no final do processo de download quando a nova configuração é aplicada. Portanto, a seguinte mensagem de
alerta será apresentada, perguntando ao usuário se deve proceder ou não com esta operação.
62
4. PROGRAMAÇÃO INICIAL
Caso já exista uma aplicação na UCP, dependendo das diferenças entre os projetos, serão disponibilizadas as seguintes
opções:
Login com alteração online: executar o login e enviar o novo projeto sem que a aplicação atual da UCP seja parada
(ver item Modo Run), atualizando as alterações quando um novo ciclo é executado.
Login com Download: executar o login e enviar o novo projeto com a UCP parada (ver item Modo Stop). Quando a
aplicação for iniciada, as atualizações já terão sido realizadas.
Login sem alteração: executa o login sem enviar o novo projeto.
ATENÇÃO:
Antes da versão 2.01 do MasterTool IEC XE, quando o Login com alteração online era exe-
cutado, a aplicação não ficava salva na memória de programa. Era necessário executar o
comando Criar Aplicação de Inicialização no menu Comunicação, sem efetuar o logout, para
que a aplicação fosse gravada na memória de programa. A partir da versão 2.01 esta opera-
ção passou a ser executada de forma automática sem a necessidade de executar o comando.
ATENÇÃO:
Nas alterações online não é permitido associar mapeamentos de variáveis simbólicas de uma
lista de variáveis globais (GVL) e utilizar essas variáveis em outra lista de variáveis globais
(GVL).
Caso a nova aplicação tenha sofrido alterações de configuração, a alteração online não será possível. Neste caso, o Mas-
terTool IEC XE solicita ao usuário se o login deve ser executado como download (parando a execução da aplicação) ou se a
operação deve ser cancelada, conforme mostra a figura a seguir.
Obs.: O botão Detalhes... apresenta as modificações realizadas na aplicação.
63
4. PROGRAMAÇÃO INICIAL
Por fim, ao final deste processo o MasterTool IEC XE oferece a opção de realizar a transferência (download) do código
fonte para a memória interna do dispositivo, conforme mostra a figura a seguir.
A transferência do código fonte é fundamental para permitir a futura recuperação do projeto e a realização de modificações
sobre a aplicação que está carregada no dispositivo.
A figura abaixo mostra a aplicação em execução. Caso seja selecionada a aba de uma POU, as variáveis criadas serão
listadas em uma janela de monitoração, na qual valores podem ser visualizados e forçados pelo usuário.
64
4. PROGRAMAÇÃO INICIAL
Caso a UCP já tenha uma aplicação de inicialização gravada internamente, ela entra automaticamente em Modo Run
quando o sistema é energizado, sem a necessidade de realizar o comando online através do MasterTool IEC XE.
65
4. PROGRAMAÇÃO INICIAL
Caso a UCP seja inicializada sem aplicação gravada, ela automaticamente entra em Modo Stop, assim como quando ocorre
uma exceção de software.
ATENÇÃO:
O forçamento de variáveis pode ser realizado somente em modo Online.
Variáveis de diagnóstico não podem ser forçadas, apenas escritas, pois diagnósticos são pro-
vidos pelo controlador e sobrescritos pelo mesmo.
Quando for efetuada uma escrita forçada em uma variável redundante do CP Ativo, a MainTask da aplicação sofrerá um
impacto em seu tempo de execução, tanto no CP Ativo, quanto no CP Reserva. Isto porque os dois Half-Clusters irão trocar a
cada ciclo informações sobre as variáveis forçadas. Portanto, quando for forçar variáveis em um sistema redundante, deve-se
considerar o acréscimo que pode ter a execução da tarefa. A tabela abaixo exemplifica em quanto será acrescida, em média, a
execução da MainTask quando isto ocorrer:
CP Ativo CP Reserva
Tempo de Execução 50 ms 100 ms 200 ms 50 ms 100 ms 200 ms
Acréscimo com 10 forçamentos 2,4 % 2,2 % 1,7 % 4,0 % 3,4 % 2,0 %
Acréscimo com 50 forçamentos 12,0 % 9,2 % 6,0 % 18,0 % 12,0 % 8,0 %
Acréscimo com 128 forçamentos 26,0 % 21,0 % 16,0 % 56,0 % 34,0 % 22,5 %
66
4. PROGRAMAÇÃO INICIAL
ATENÇÃO:
Quando um controlador está com variáveis forçadas e é desenergizado, na próxima iniciali-
zação as variáveis perderão o forçamento.
O limite de forçamentos para todos os modelos de controladores Nexto é de 128 variáveis.
4.11. Logout
Para encerrar a comunicação online com a UCP, deve ser utilizado comando Logout, localizado no menu Comunicação,
conforme mostra a figura abaixo.
67
4. PROGRAMAÇÃO INICIAL
Após, basta selecionar a UCP desejada e clicar em OK, conforme a figura abaixo.
Para garantir que o projeto carregado da UCP seja completamente igual e possa ser carregado sem problemas a partir de
outras estações, consulte o capítulo Método de Envio/Login de Projetos Sem Diferença de Projetos do Manual de Utilização
MasterTool IEC XE MT8500 – MU299048.
ATENÇÃO:
O tamanho da área de memória para armazenar um projeto nas UCPs Nexto está definido
na seção Características Específicas
ATENÇÃO:
O Upload recupera o último projeto armazenado no controlador conforme descrito nos pa-
rágrafos anteriores. Caso tenha sido realizado apenas o download da aplicação, sem a trans-
ferência do seu código fonte, a mesma não poderá ser recuperada pelo procedimento de
Upload.
68
4. PROGRAMAÇÃO INICIAL
4.13.2. Stop
Quando uma UCP está em modo Stop, todas as tarefas da aplicação estão paradas. O valor das variáveis nas tarefas são
mantidos com o valor atual e os pontos de saída assumem o seu estado seguro.
Quando uma UCP passa para modo Stop devido ao envio de uma aplicação, as variáveis nas tarefas da aplicação serão
perdidas exceto as variáveis do tipo persistente.
4.13.3. Breakpoint
Quando uma marca de depuração é atingida em uma tarefa, essa tarefa é interrompida. Todas as demais tarefas ativas na
aplicação não serão interrompidas, continuando a sua execução. Com este recurso, é possível percorrer e investigar a execução
de um programa passo a passo no modo Online conforme as posições de interrupção incluídas através do editor.
Para maiores informações sobre a utilização de marcas de depuração, favor consultar o Manual de Utilização do MasterTool
IEC XE – MU299048.
4.13.4. Exception
Quando uma UCP está em Exception indica que alguma operação indevida ocorreu em uma das tarefas ativas da aplicação.
A tarefa que causou o Exception será suspensa e as demais tarefas irão para o modo Stop. Somente é possível tirar as tarefas
desse estado e colocá-las em execução novamente após uma nova condição de partida da UCP. Portanto somente com um Reset
a Quente, Reset a Frio, Reset Origem ou uma reinicialização da UCP coloca novamente a aplicação em modo Run.
69
4. PROGRAMAÇÃO INICIAL
MainPrg chama outras duas POUs do tipo programa, denominadas StartPrg e UserPrg. Enquanto a UserPrg sempre é
chamada, a StartPrg só é chamada uma única vez na partida da aplicação do CP.
Ao contrário do programa MainPrg, que não deve ser modificado, o usuário pode modificar os programas StartPrg e
UserPrg. Inicialmente, quando o projeto é criado a partir do Assistente, estes dois programas são criados vazios, mas o usuário
poderá inserir código nos mesmos.
70
4. PROGRAMAÇÃO INICIAL
ATENÇÃO:
Na GVL System_Diagnostics também são declaradas as variáveis de diagnóstico das requisi-
ções MODBUS Mestre/Cliente por representação direta.
Alguns dispositivos, como o driver de comunicação MODBUS de mapeamento simbólico, não têm seus diagnósticos
alocados em variáveis %Q com a diretiva AT. O mesmo ocorre com drivers de comunicação mais recentes, como é o caso do
IEC 60870-5-104 servidor.
A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online.
71
4. PROGRAMAÇÃO INICIAL
Onde:
Nome do dispositivo: Nome que aparece na visualização em árvore para o dispositivo MODBUS.
Número da Requisição: Número da requisição que foi declarada na tabela de requisições do dispositivo MODBUS
seguindo a sequência de cima para baixo, começando em 0001.
Exemplo:
Device.Application.Disables
1 VAR_GLOBAL
2 MODBUS_Device_DISABLE_0001 : BOOL;
3 MODBUS_Device_DISABLE_0002 : BOOL;
4 MODBUS_Device_DISABLE_0003 : BOOL;
5 MODBUS_Device_1_DISABLE_0001 : BOOL;
6 MODBUS_Device_1_DISABLE_0002 : BOOL;
7 END_VAR
A geração automática através do botão Gerar Variáveis de Desabilitação apenas cria variáveis, e não remove automa-
ticamente. Desta forma, caso alguma relação seja removida, a sua respectiva variável de desabilitação deve ser removida
manualmente.
A GVL Disables é editável, portanto as variáveis de desabilitação das requisições podem ser criadas manualmente não
precisando seguir o modelo criado pela declaração automática e podem ser usadas as duas maneiras ao mesmo tempo, mas
devem sempre ser do tipo BOOL e deve-se tomar o cuidado para não excluir ou alterar as variáveis declaradas automaticamente,
pois elas podem estar sendo usadas por algum dispositivo MODBUS. Se a variável for excluída ou alterada será gerado um erro
ao compilar o projeto. Para corrigir o nome de uma variável declarada automaticamente, deve-se seguir o modelo exemplificado
acima de acordo com o dispositivo e a requisição aos quais pertence.
A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online. Se o valor da variável for TRUE
significa que a requisição, à qual a variável pertence, está desabilitada e o inverso é válido para quando o valor da variável for
FALSE.
1 VAR_GLOBAL
2 QUALITY_NX1001: ARRAY[0..15] OF LibDataTypes.QUALITY;
3 QUALITY_NX2020: ARRAY[0..15] OF LibDataTypes.QUALITY;
4 QUALITY_NX6000: ARRAY[0..7] OF LibDataTypes.QUALITY;
5 QUALITY_NX6100: ARRAY[0..3] OF LibDataTypes.QUALITY;
6 END_VAR
72
4. PROGRAMAÇÃO INICIAL
Uma vez a aplicação estando em RUN é possível monitorar os valores das variáveis de qualidade dos módulos de E/S que
foram adicionados ao projeto através da GVL IOQualities.
73
4. PROGRAMAÇÃO INICIAL
Onde:
Nome do dispositivo: Nome que aparece na visualização em árvore para o dispositivo.
Número do Mapeamento: Número do mapeamento que foi declarado na tabela de mapeamentos do dispositivo seguindo
a sequência de cima para baixo, começando em 0001.
ATENÇÃO:
Não é possível associar variáveis de qualidade para os mapeamentos dos drivers MODBUS
Mestre/Cliente por representação direta, portanto é recomendada a utilização de drivers
MODBUS de mapeamento simbólico.
Exemplo: Device.Application.Qualities
1 VAR_GLOBAL
2 MODBUS_Device_QUALITY_0001: LibDataTypes.QUALITY;
3 MODBUS_Device_QUALITY_0002: LibDataTypes.QUALITY;
4 MODBUS_Device_QUALITY_0003: LibDataTypes.QUALITY;
5 END_VAR
A GVL Qualities é editável, portanto as variáveis de qualidade dos mapeamentos podem ser criadas manualmente não
precisando seguir o modelo criado pela declaração automática e podem ser usadas as duas maneiras ao mesmo tempo, mas
devem sempre ser do tipo LibDataTypes.QUALITY e deve-se tomar o cuidado para não excluir ou alterar as variáveis declaradas
automaticamente, pois elas podem estar sendo usadas por algum dispositivo. Se a variável for excluída ou alterada será gerado
um erro ao compilar o projeto. Para corrigir o nome de uma variável declarada automaticamente, deve-se seguir o modelo
exemplificado acima de acordo com o dispositivo e o mapeamento aos quais pertence.
Para os dispositivos de comunicação MODBUS, as variáveis de qualidade se comportam da maneira indicada na Tabela
62.
ATENÇÃO:
Se uma variável do driver MODBUS Mestre/Cliente de mapeamento simbólico for mapeada
no driver IEC 60870-5-104 Servidor, é necessário que as variáveis de qualidade dos mapea-
mentos MODBUS tenham sido criadas para que sejam gerados eventos de qualidade válidos
para tais pontos dos servidores IEC 60870-5-104. Caso contrário, não serão gerados eventos
de qualidade “ruim” para os clientes do servidor IEC 60870-5-104 nas situações que o MOD-
BUS Mestre/Cliente não consiga comunicar com os seus escravos/servidores, por exemplo.
A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online.
74
4. PROGRAMAÇÃO INICIAL
Onde:
Nome do dispositivo: Nome que aparece na visualização em árvore para o dispositivo.
Número da Requisição: Número da requisição que foi declarada na tabela de requisições do dispositivo seguindo a
sequência de cima para baixo, começando em 0001.
Tipo da Variável: NXMODBUS_DIAGNOSTIC_STRUCTS.T_DIAG_MODBUS_RTU_MAPPING_1 para MODBUS
Mestre e NXMODBUS_DIAGNOSTIC_STRUCTS.T_DIAG_MODBUS_ETH_MAPPING_1 para MODBUS Cliente.
75
4. PROGRAMAÇÃO INICIAL
ATENÇÃO:
As variáveis de diagnóstico das requisições MODBUS Mestre/Cliente por representação di-
reta são declaradas na GVL System_Diagnostics.
Exemplo:
Device.Application.ReqDiagnostics
1 VAR_GLOBAL
2 MODBUS_Device_REQDG_0001 : NXMODBUS_DIAGNOSTIC_STRUCTS.
3 T_DIAG_MODBUS_RTU_MAPPING_1;
4 MODBUS_Device_REQDG_0002 : NXMODBUS_DIAGNOSTIC_STRUCTS.
5 T_DIAG_MODBUS_RTU_MAPPING_1;
6 MODBUS_Device_REQDG_0003 : NXMODBUS_DIAGNOSTIC_STRUCTS.
7 T_DIAG_MODBUS_RTU_MAPPING_1;
8 MODBUS_Device_1_REQDG_0001 : NXMODBUS_DIAGNOSTIC_STRUCTS.
9 T_DIAG_MODBUS_ETH_MAPPING_1;
10 MODBUS_Device_1_REQDG_0002 : NXMODBUS_DIAGNOSTIC_STRUCTS.
11 T_DIAG_MODBUS_ETH_MAPPING_1;
12 END_VAR
A GVL ReqDiagnostics é editável, portanto as variáveis de diagnóstico das requisições podem ser criadas manualmente
não precisando seguir o modelo criado pela declaração automática e podem ser usadas as duas maneiras ao mesmo tempo, mas
as variáveis devem ser sempre do tipo referente ao dispositivo, como exemplificado acima, e deve-se tomar o cuidado para não
excluir ou alterar as variáveis declaradas automaticamente, pois elas podem estar sendo utilizadas por um dispositivo. Se a
variável for excluída ou alterada será gerado um erro ao compilar o projeto. Para corrigir o nome de uma variável declarada
automaticamente, deve-se seguir o modelo exemplificado acima de acordo com o dispositivo e a requisição aos quais pertence.
A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online.
76
5. CONFIGURAÇÃO
5. Configuração
As UCPs da Série Nexto são configuradas e programadas através do software MasterTool IEC XE. A configuração realizada
define o comportamento e modos de utilização dos periféricos e características especiais das UCPs. A programação representa
a aplicação desenvolvida pelo usuário, também conhecida como Application.
77
5. CONFIGURAÇÃO
78
5. CONFIGURAÇÃO
Notas:
Gerar erro na consistência do cão-de-guarda das tarefas: Este parâmetro foi descontinuado a partir da versão 1.32 do
software MasterTool IEC XE.
Habilita atualização de E/S por tarefa: Este parâmetro foi adicionado a partir da versão 2.01 do software MasterTool
IEC XE.
Consiste área retentiva e persistente em %Q: Se a aplicação de usuário declarar variáveis retentivas ou persistentes
mapeadas em endereços %Q fora das áreas configuradas, estas variáveis não persistirão após uma desenergização, reset a
quente ou download. Com este parâmetro marcado, o MasterTool verificará o código e gerará erro no momento da compilação
para esta situação. É altamente recomendável manter este parâmetro marcado.
ATENÇÃO:
Quando o endereço inicial ou o tamanho da memória de dados retentivos ou persistentes são
alterados na aplicação do usuário, a memória é totalmente realocada, fazendo com que a
área de variáveis retentivas e persistentes seja limpa. Então, o usuário deverá ter precaução
para não perder os dados salvos na memória.
ATENÇÃO:
Em situações em que a área de memória simbólica persistente é modificada, é apresentada
uma mensagem pelo programador MasterTool IEC XE para que seja escolhido um compor-
tamento para esta área após a carga do programa modificado. A escolha deste comporta-
mento não afeta a área persistente de representação direta, que é sempre limpa.
ATENÇÃO:
A opção Habilita atualização de E/S por tarefa não é suportada para módulos mestre de rede
de campo como o NX5001 por exemplo. Esta funcionalidade é aplicável somente para mó-
dulos de entrada e saída do barramento local do controlador (bastidor principal e bastidores
de expansão).
ATENÇÃO:
Mesmo que um ponto de E/S seja utilizado e atualizado em outras tarefas, com a opção
Habilita atualização de E/S por tarefa marcada, ele continuará sendo atualizado também na
MainTask; exceto quando todos os pontos de E/S do módulo forem utilizados e atualizados
em outra tarefa, neste caso não serão mais atualizados pela MainTask.
As UCPs da série Nexto apresentam a possibilidade de troca dos módulos de E/S do barramento sem a necessidade de
desligamento do sistema e sem perda de informações. Esta característica é conhecida como troca a quente.
CUIDADO:
As UCPs da Série Nexto não garantem a retentividade das variáveis persistentes e retentivas
caso a fonte de alimentação, ou a própria UCP, seja removida do bastidor energizado.
79
5. CONFIGURAÇÃO
Na troca a quente, o comportamento do sistema relacionado se modifica conforme a configuração definida pelo usuário,
que apresenta as seguintes opções, conforme descrito abaixo:
Desabilitada, apenas para módulos declarados
Desabilitada (com consistência na partida)
Desabilitada, sem consistência na partida
Habilitada, com consistência na partida apenas para módulos declarados
Habilitada, com consistência na partida
Habilitada, sem consistência na partida
Assim, o usuário pode escolher o comportamento que o sistema deverá apresentar em situações anormais de barramento e
quando a UCP estiver em Modo Run. A tabela abaixo apresenta as possíveis situações anormais de barramento.
Para maiores informações sobre os diagnósticos correspondentes às situações descritas acima, consultar a seção Diagnós-
ticos via Variáveis.
Se um módulo está presente em uma posição do bastidor na qual não deveria existir módulo de acordo com a configuração,
este módulo é considerado como não declarado. As opções de troca a quente Desabilitada, apenas para módulos declarados
e Habilitada, com consistência na partida apenas para módulos declarados não levam em consideração os módulos que se
encontram nesta condição.
Nesta configuração, quando ocorre uma situação anormal de barramento (conforme a Tabela 51) a UCP entra em Modo
Stop em um tempo de até 2 segundos, quando o LED DG começa a piscar 4x (conforme a Tabela 52). Para que a UCP volte
ao estado normal Run, além de desfazer o que causou a situação anormal é necessário executar um Reset a Quente ou um
Reset a Frio. Caso seja realizado um Reset Origem, será necessário realizar o download para que a UCP possa voltar ao estado
normal Run. Os comandos de Reset a Quente, Reset a Frio e Reset Origem podem ser feitos pelo MasterTool IEC XE no menu
Comunicação.
A UCP irá permanecer no estado normal Run mesmo que encontre um módulo não declarado no barramento.
Esta configuração não permite qualquer situação anormal de barramento (conforme a Tabela 51) inclusive módulos não
declarados e presentes no barramento. A UCP entra em Modo Stop , sendo que o LED DG começa a piscar 4x (conforme a
Tabela 52). Para que, nesses casos, a UCP volte ao estado normal Run, além de desfazer o que causou a situação anormal é
necessário executar um Reset a Quente ou um Reset a Frio. Caso seja realizado um Reset Origem, será necessário realizar o
download para que a UCP possa voltar ao estado normal Run. Os comandos de Reset a Quente, Reset a Frio e Reset Origem
podem ser feitos pelo MasterTool IEC XE no menu Comunicação.
Permite que o sistema entre em operação mesmo quando algum módulo estiver em uma situação anormal de barramento
(conforme Tabela 51). As situações anormais são relatadas via diagnóstico.
Qualquer modificação no barramento vai fazer a UCP entrar em Modo Stop, sendo que o LED DG começa a piscar 4x
(conforme a Tabela 52). Para que, nesses casos, a UCP volte ao estado normal Run, é necessário executar um Reset a Quente
ou um Reset a Frio. Caso seja realizado um Reset Origem, será necessário realizar o download para que a UCP possa voltar
ao estado normal Run. Os comandos de Reset a Quente, Reset a Frio e Reset Origem podem ser feitos pelo MasterTool IEC
XE no menu Comunicação.
80
5. CONFIGURAÇÃO
5.1.1.1.4. Troca a Quente Habilitada, com Consistência na Partida Apenas para Módulos Declarados
É considerada “partida” o intervalo entre a energização da UCP (ou comando de reset ou download de aplicação) até
a primeira vez em que a mesma entra em modo Run. Esta configuração verifica se ocorreu alguma situação anormal de
barramento (conforme a Tabela 51) durante a partida; em caso positivo, a UCP entra em Modo Stop e o LED DG começa a
piscar 4x (conforme a Tabela 52). Posteriormente, para que a UCP possa ser colocada em modo Run, além de corrigir o que
ocasionou a situação anormal, é necessário executar um comando de Reset a Quente ou um Reset a Frio. Caso seja realizado
um Reset Origem, será necessário realizar o download para que a UCP possa voltar ao estado normal Run. Os comandos de
Reset a Quente, Reset a Frio e Reset Origem podem ser feitos pelo MasterTool IEC XE no menu Comunicação.
Após a partida, se algum módulo apresentar alguma das situações citadas na tabela anterior, o sistema continuará traba-
lhando normalmente e sinalizará o problema via diagnóstico.
Se não existir outra situação anormal para os módulos declarados, a UCP irá para o estado normal Run mesmo que encontre
um módulo não declarado no barramento.
ATENÇÃO:
Nesta configuração, quando ocorrer falta de alimentação (mesmo que temporária), comando
Reset a Quente, comando Reset a Frio ou ter sido realizado o Download de uma nova aplica-
ção, e algum módulo estiver em uma situação anormal de barramento; a UCP entrará em
Modo Stop e o LED DG começa a piscar 4x (conforme a Tabela 52), pois estas são considera-
das situações de partida.
Esta é a opção mais recomendada, pois garante a integridade do sistema na sua inicialização
e permite a troca de módulos com o sistema funcionando.
Esta configuração verifica se ocorreu alguma situação anormal de barramento (conforme a Tabela 51) durante a partida,
inclusive se há módulos não declarados e presentes no barramento; em caso positivo, a UCP entra em Modo Stop e o LED
DG começa a piscar 4x (conforme a Tabela 52). Posteriormente, para que a UCP possa ser colocada em modo Run, além de
corrigir o que ocasionou a situação anormal, é necessário executar um comando de Reset a Quente ou um Reset a Frio. Caso
seja realizado um Reset Origem, será necessário realizar o download para que a UCP possa voltar ao estado normal Run. Os
comandos de Reset a Quente, Reset a Frio e Reset Origem podem ser feitos pelo MasterTool IEC XE no menu Comunicação.
Permite que o sistema entre em operação mesmo quando algum módulo estiver em uma situação anormal de barramento
(conforme Tabela 51). As situações anormais são relatadas via diagnóstico, tanto durante, como após a partida.
ATENÇÃO:
Esta opção é recomendada para a fase de implantação do sistema, pois permite que cargas
de novas aplicações e o desligamento da alimentação sejam feitos sem a presença de todos os
módulos configurados.
CUIDADO:
Antes de proceder à troca a quente, é importante descarregar eventuais potenciais estáticos
acumulados no corpo. Para isso, toque (com as mãos nuas) em uma superfície metálica ater-
rada antes de manipular os módulos. Tal procedimento garante que os níveis de eletricidade
estática suportados pelo módulo não serão ultrapassados.
ATENÇÃO:
Recomenda-se o monitoramento dos diagnósticos de troca a quente na aplicação de controle
desenvolvida pelo usuário, a fim de garantir que o valor retornado pelo módulo seja validado
antes de ser utilizado.
O procedimento para a troca de módulos a quente é descrito a seguir:
Destrave o módulo junto ao bastidor, através da trava de segurança.
Retire o módulo, puxando-o firmemente.
Insira o novo módulo no bastidor.
Certifique-se de que a trava que prende o módulo ao bastidor está totalmente conectada; caso necessário, empurre o
módulo em direção ao bastidor com mais força.
81
5. CONFIGURAÇÃO
No caso de módulos de saída, é conveniente que os pontos estejam desligados por ocasião da troca, a fim de reduzir a
geração de arcos no conector do módulo. Isso pode ser feito pelo desligamento da fonte de campo ou pelo forçamento dos
pontos via ferramentas de software. Se a carga for pequena, não há a necessidade de desligar os pontos.
É importante salientar que, nos casos em que a UCP entra em Modo Stop e o LED DG começa a piscar 4x, conforme a
Tabela 52, devido a alguma situação anormal de barramento, conforme a Tabela 51; os módulos de saída têm o comportamento
dos seus pontos de acordo com o que foi configurado nos Parâmetros do Módulo quando a UCP sai do Modo Run e entra em
Modo Stop. Em caso de inicialização da aplicação, quando a UCP entra em Modo Stop sem ter passado para o Modo Run,
os módulos de saída têm o comportamento de seus pontos em modo seguro de falha, ou seja, o ponto permanece desligado (0
Vdc).
No caso dos módulos de entrada, caso o mesmo seja removido do barramento energizado, o estado lógico dos pontos
permanecerá no último valor. Caso os conectores sejam removidos, o estado lógico dos pontos será colocado em estado
seguro, ou seja, zero ou alta impedância.
ATENÇÃO:
Proceda sempre à substituição de um módulo por vez, para que a UCP atualize os estados
dos módulos.
Abaixo, a Tabela 52 relaciona as condições de barramento e o estado de operação do LED DG da UCP Nexto. Para maiores
informações sobre os estados dos LEDs de diagnóstico, consultar a seção Diagnósticos via LED.
82
5. CONFIGURAÇÃO
Habilitada,
com con-
Habilitada, Habilitada, Desabilitada, Desabilitada,
sistência
com consis- sem consis- apenas para sem consis-
Condição na partida Desabilitada
tência na tência na módulos tência na
apenas para
partida partida declarados partida
módulos
declarados
Módulo não LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
declarado Pisca 2x Pisca 2x Pisca 2x Pisca 4x Pisca 2x Pisca 4x
Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Run Run Run Stop Run Stop
Módulo não
declarado LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
(condição Pisca 4x Pisca 2x Pisca 2x Pisca 4x Pisca 2x Pisca 2x
partida) Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Stop Run Run Stop Run Run
Módulo au- LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
sente Pisca 2x Pisca 2x Pisca 2x Pisca 4x Pisca 4x Pisca 4x
Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Run Run Run Stop Stop Stop
Módulo au- LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
sente (condi- Pisca 4x Pisca 4x Pisca 2x Pisca 4x Pisca 4x Pisca 2x
ção partida) Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Stop Stop Run Stop Stop Run
Configuração LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
incompatí- Pisca 2x Pisca 2x Pisca 2x Pisca 4x Pisca 4x Pisca 4x
vel Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Run Run Run Stop Stop Stop
LED DG:
Configuração
LED DG: LED DG: Pisca 2x LED DG: LED DG: LED DG:
incompatí-
Pisca 4x Pisca 4x Aplicação: Pisca 4x Pisca 4x Pisca 2x
vel(condição
Aplicação: Aplicação: Run Aplicação: Aplicação: Aplicação:
partida)
Stop Stop ou Stop Stop Run
LED DG:
Pisca 4x
Aplicação:
Stop
Endereço LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
de slot Pisca 4x Pisca 4x Pisca 4x Pisca 4x Pisca 4x Pisca 4x
duplicado Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Stop Stop Stop Stop Stop Stop
Módulo não LED DG: LED DG: LED DG: LED DG: LED DG: LED DG:
operacional Pisca 4x Pisca 4x Pisca 4x Pisca 4x Pisca 4x Pisca 4x
Aplicação: Aplicação: Aplicação: Aplicação: Aplicação: Aplicação:
Stop Stop Stop Stop Stop Stop
Nota:
Habilitada, sem consistência na partida: Quando este modo de troca a quente está configurado, em situações normais
quando existir um módulo incompatível na partida do sistema a aplicação passará de Stop para Run. Contudo, se o módulo
configurado for um NX5000 ou NX5001 e existir outro módulo na posição, a aplicação permanecerá em Stop.
83
5. CONFIGURAÇÃO
A UCP Nexto permite a utilização de variáveis simbólicas e de variáveis de saída de representação direta como variáveis
retentivas ou persistentes.
As variáveis de saída de representação direta que serão retentivas ou persistentes devem ser declaradas nos Parâmetros
Gerais da UCP, conforme descrito na seção Configuração da UCP. Também podem ser atribuídos nomes simbólicos a estas
variáveis de saída de representação direta através da diretiva AT, Por exemplo, estando %QB4096 e %QB20480, dentro das
áreas de memória retentiva e persistente, respectivamente:
1 PROGRAM UserPrg
2 VAR RETAIN
3 byVariavelRetentiva_01 AT %QB4096 : BYTE;
4 END_VAR
5 VAR PERSISTENT
6 byVariavelPersistente_01 AT %QB20480 : BYTE;
7 END_VAR
Caso as variáveis simbólicas que utilizam a diretiva AT não sejam declaradas dentro das áreas respectivas da memória
retentiva e/ou persistente, erros durante a geração de código no MasterTool podem ser apresentados(conforme descrito na
seção Parâmetros Gerais, parâmetro de configuração Consiste área retentiva e persistente em %Q), informando que existem
variáveis não retentivas ou não persistentes definidas em espaços de memória retentiva ou persistente.
Quanto às variáveis simbólicas que serão retentivas ou persistentes, apenas as variáveis retentivas poderão ser locais ou
globais, sendo que variáveis simbólicas persistentes deverão sempre ser globais. Para a declaração de variáveis simbólicas
retentivas, deve ser utilizada a palavra-chave RETAIN. Por exemplo, para variáveis locais:
1 PROGRAM UserPrg
2 VAR RETAIN
3 wVariavelSimbolicaRetentivaLocal_01 : WORD;
4 END_VAR
Ou, para variáveis globais, declaradas dentro de uma lista de variáveis globais:
1 VAR_GLOBAL RETAIN
2 wVariavelSimbolicaRetentivaGlobal_01 : WORD;
3 END_VAR
Já as variáveis simbólicas persistentes deverão ser declaradas dentro de um objeto Variáveis Persistentes, adicionado à
aplicação. Estas variáveis serão globais e estarão declaradas da seguinte forma dentro do objeto:
A partir das versões 1.5.0.22 para NX3004 e 1.5.1.1 para NX3010, NX3020 e NX3030, as UCPs da série Nexto permitem
flexibilidade no uso das memórias retentivas e persistentes. Isto significa que o usuário poderá optar o tamanho que irá utilizar
em cada tipo de memória, desde que o somatório do tamanho das memórias retentivas e persistentes não ultrapasse o limite
total disponível para cada modelo de UCP. O total de memória retentiva e persistente disponível está descrito na Tabela 6 e
Tabela 7 em Características Específicas.
Caso o somatório de memória simbólica retentiva, simbólica persistente, retentiva em %Q e persistente em %Q ultrapassar
o total disponível, o MasterTool apresentará erro durante a geração de código.
Se por exemplo, for utilizada uma UCP NX3004 que possui 7680 Bytes de memória retentiva e persistente e configurado
1000 Bytes retentivos e 1000 Bytes persistentes de saída de representação direta (%Q), e ainda, declarado as variáveis do
84
5. CONFIGURAÇÃO
código abaixo, o total de memória retentiva e persistente utilizada será de 2004 Bytes, restando 5676 Bytes para utilizar da
forma que desejar.
ATENÇÃO:
Para utilizar as memórias retentivas e persistentes de forma flexível é necessário utilizar o
MasterTool IEC XE 2.03 ou superior.
Algumas das configurações avançadas afetam os protocolos suportados pelas UCPs da Série Nexto, pois dizem respeito à
camada de rede TCP. São elas:
Time-out Inicial
Atraso no envio do ACK
A UCP Nexto, antes de tratar e responder requisições e assim como qualquer outro equipamento Ethernet que utilize a
camada de transporte TCP, exige a abertura de uma porta de comunicação, ou seja, do estabelecimento de uma conexão.
A quantidade de conexões da interface é limitada e, quando atingido o seu limite, a interface simplesmente não estabelece
mais nenhuma conexão. Isto pode ser um problema para as conexões estabelecidas no modo servidor, pois o fechamento das
conexões depende do outro equipamento, o cliente.
A camada de transporte TCP, responsável pela entrega das mensagens da origem para o destino, possui certos parâmetros
envolvendo time-outs, muito comuns nos protocolos de comunicação em geral. Tais parâmetros visam à recuperação da
comunicação após determinadas falhas. O usuário deve estar atento com a configuração dos time-outs, pois pode haver conflito
com os valores configurados dentro da camada de aplicação, ou seja, dos protocolos. Como a configuração TCP é referência
para todas as instâncias configuradas, será o tempo válido caso seja menor do que o parametrizado dentro de um protocolo:
Time-out Inicial: indica quanto tempo, depois da primeira transmissão de uma mensagem, a mesma deve ser retransmi-
tida, assumindo que a mesma não foi recebida pelo destinatário. A cada retransmissão o time-out é dobrado. O número de
retentativas de transmissão está atrelado ao time-out da comunicação configurado dentro do protocolo, ou seja, será o tempo
máximo antes de desistir da entrega da mensagem, concretizando-se então a falha de transmissão. Além disso é importante
salientar que existe um limite máximo de retentativas fixo para as UCPs da Série Nexto. Este número é fixo em 5 retentativas
máximas antes da conexão estabelecida e 3 retentativas após a conexão estabelecida. Toda vez que é alcançado o número má-
ximo de retentativas, o processo de tentativa de comunicação é reiniciado. Ver seção Configuração de Protocolos para maiores
detalhes sobre a utilização desses parâmetros de time-out, pois, como descrito anteriormente, pode ser diferente dentro de cada
instância. É importante ressaltar que esse parâmetro é utilizado somente no estabelecimento da conexão, após são utilizadas
estatísticas das últimas comunicações para calcular o novo time-out.
Exemplo de funcionamento dos parâmetros de time-out inicial e time-out da comunicação dentro da instância MODBUS
TCP Servidor, considerando o não recebimento de resposta de confirmação, para os seguintes valores: 300 para time-out inicial
(= 300 ms) e 3000 para time-out da comunicação (= 3000 ms):
Legenda:
85
5. CONFIGURAÇÃO
ATENÇÃO:
As UCPs NX3003, NX3004 e NX3005 possuem um comportamento ligeiramente diferente,
elas não consideram o valor configurado no parâmetro Time-out Inicial, consideram apenas
o Time-out da comunicação. Mesmo assim o valor configurado para Time-out da comunica-
ção é utilizado quando for inferior a 3 segundos e nunca será dobrado nas retentativas. Já
quando o parâmetro Time-out da comunicação for superior a 3 segundos, o valor é descon-
siderado e passa a ser consistido o valor inicial de 3 segundos e dobrando a cada retentativa.
86
5. CONFIGURAÇÃO
ATENÇÃO:
Todos os sistemas operacionais com suporte a interfaces de rede com protocolo TCP/IP, pos-
suem parâmetros equivalentes aos discutidos neste capítulo para a interface Ethernet das
UCPs da Série Nexto. No sistema operacional Windows®, estes parâmetros estão definidos
nos registros do sistema, sob as mais distintas identificações, e devem ser modificadas apenas
por administradores de rede, pois afetam todos os programas e aplicativos instalados sob o
sistema operacional.
ATENÇÃO:
O parâmetro de atraso no envio do ACK se aplica somente à comunicação entre a UCP e
o software MasterTool IEC XE. Para a comunicação com outros dispositivos e/ou outros
protocolos (MODBUS, por exemplo) o padrão utilizado será sem atraso.
Os parâmetros do projeto da UCP são relacionados à configurações para atualização das entradas e saídas nas tarefas em
que estas são utilizadas, consistência da área retentiva e persistente em %Q e no caso das UCPs NX3010, NX3020 e NX3030,
opções de gravação e leitura do cartão de memória.
87
5. CONFIGURAÇÃO
Na aba de configuração de evento externo, dentro das configurações da UCP, é preciso selecionar qual módulo será a
fonte de interrupção no campo Endereço do Módulo: Nome, a seguir deve ser selecionado qual entrada deste módulo será
responsável por gerar o evento (IO_EVT_0), nesta seleção é possível optar pelas opções descritas na figura abaixo.
88
5. CONFIGURAÇÃO
Além da configuração da UCP é necessário configurar a tarefa responsável por executar as ações definidas pelo usuário,
neste caso o usuário deve utilizar um perfil de projeto que suporte eventos externos, mais informações consulte a seção Perfis de
Projeto. Na tela de configuração da tarefa ExternInterruptTask00, na figura abaixo, é necessário selecionar a origem do evento,
no campo Evento, neste caso deve ser selecionado IO_EVT_0, pois as demais fontes de origem IO_EVT_1 a IO_EVT_7 não
estão disponíveis. Na sequência deve ser verificado se a POU selecionada no campo POUs está correta, pois a mesma será
utilizada pelo usuário para definir as ações que serão executadas quando um evento externo ocorrer.
89
5. CONFIGURAÇÃO
Dessa maneira, definida a base de dados estática, o usuário deve copiar cada ponto digital que deve gerar eventos para
dentro da área contínua de %Q. O número máximo de pontos que podem ser copiados é 8000.
Para a configuração dos eventos, é necessário informar apenas o tamanho da fila de eventos. Essa fila é persistente e redun-
dante, desse modo, não serão perdidos eventos no momento do switchover, ou no momento de uma falha na alimentação. Caso
ocorra um estouro na fila de eventos, os eventos mais antigos serão sobrescritos. Caso em um único ciclo sejam gerados mais
eventos do que o suportado pela fila, sua geração é interrompida e o diagnóstico de estouro é ligado (SOE[x].bOverflowStatus).
Por exemplo, se 100+n bits variam em uma configuração de 100 eventos, ocorre um descarte de n eventos.
O SOE irá rodar no contexto da tarefa MainTask, já a partir do primeiro ciclo. O SOE irá ser executado ao final de cada
ciclo da tarefa e comparará os bits mapeados, a fim de detectar transições ocorridas durante o ciclo. Sendo assim, a cada ciclo
em que eventos sejam gerados, irá ocorrer um acréscimo de tempo neste ciclo da MainTask. Para o pior caso (1000 eventos,
sendo que serão gerados apenas 1000 e o restante descartado), esta influência será de aproximadamente 5 ms. Portanto, para
uma aplicação com o SOE habilitado, o usuário deverá levar em consideração este tempo ao configurar os parâmetros de tempo
de cão-de-guarda e intervalo da tarefa MainTask.
Para a utilização do mesmo o usuário deverá configurar os seguintes parâmetros na aba Configuração do SOE:
90
5. CONFIGURAÇÃO
Notas:
Tamanho da Memória de Dados: O tamanho da área de memória reservada para ser utilizada pelos dados estáticos
será sempre o dobro do valor configurado, pois a segunda metade da área de memória é utilizada para armazenar os valores
anteriores das variáveis da primeira metade.
Keep Alive: Enquanto estiver conectado com um cliente, serão enviadas mensagens de keep alive em intervalos, conforme
o configurado. Caso o cliente não responda a estas mensagens, a conexão é fechada. Ou seja, uma conexão entre cliente e
servidor poderá levar um tempo igual ao intervalo configurado para ser fechada em caso de erro.
Nas opções avançadas (botão Avançado...) é possível configurar os endereços de comunicação referentes ao protocolo
DNP3.
Nota:
Endereço DNP3: Os endereços DNP3 da faixa de 65520 a 65535 não podem ser configurados na origem ou em um
destino, pois os mesmos são utilizados para mensagens em broadcast.
ATENÇÃO:
As mensagens de Data Link do DNP3 não são utilizadas pelas UCPs da série Nexto, pois a
norma não recomenda o seu uso ao comunicar por TCP/IP.
91
5. CONFIGURAÇÃO
Notas:
Servidor SNTP: É possível definir um endereço preferencial e outro secundário para acessar um servidor SNTP e, assim,
obter sincronismo de tempo.
Padrão de Fábrica: A partir da versão de MasterTool 1.40 e superiores do MasterTool IEC XE o valor Padrão de Fábrica
para os Endereços IP dos Servidores SNTP foram alterados.
Fuso Horário: A configuração de fuso horário é utilizada para converter o horário local em horário UTC e vice-versa. En-
quanto algumas fontes de sincronismo utilizam o horário local (protocolo IEC 60870-5-104, função SetDateAndTime), outras
utilizam o horário UTC (SNTP). O horário UTC normalmente é utilizado para estampar os eventos (DNP3, IEC 60870-5-104,
MasterTool Device LOG), enquanto que o horário local é utilizado por outras funcionalidades da UCP (função GetDateAnd-
Time, informação de data e hora do OTD).
É permitido habilitar mais de uma fonte de sincronismo no projeto, no entanto o equipamento não suporta durante a
operação a sincronização do tempo por duas fontes distintas de sincronismo, para tanto existe implicitamente definido um
mecanismo de prioridade. A sincronização do protocolo SNTP é mais prioritária que a sincronização através do protocolo
IEC 60870-5-104. Assim, quando habilitadas ambas as fontes e o servidor SNTP estiver presente este será responsável pela
sincronização do relógio da UCP e qualquer comando de sincronismo pelo protocolo IEC 60870-5-104 será negado.
No caso do sincronismo através do protocolo IEC 60870-5-104, o usuário deve habilitar o sincronismo de tempo na tela de
configuração do protocolo para receber a sincronização de relógio. Para configurar o dispositivo com essa opção, consultar o
parâmetro Habilitar Sincronismo disponível na seção Camada de Aplicação.
92
5. CONFIGURAÇÃO
ATENÇÃO:
Se o CP receber um comando de sincronismo de tempo do centro de controle, e esta opção
estiver desabilitada, será retornada uma resposta de erro para esse comando. Se a opção
estiver habilitada, o CP irá retornar sucesso ao centro de controle, mesmo que o comando de
sincronismo seja descartado por existir um método de sincronismo ativo com maior priori-
dade.
Este método de sincronismo deve ser utilizado apenas como um método auxiliar de sincronismo, uma vez que a precisão do
processo de sincronização do relógio do CP depende muito do atraso e tráfego de rede, bem como da carga de processamento
da UCP, uma vez que este mecanismo é tratado por uma tarefa de baixa prioridade.
ATENÇÃO:
Em arquiteturas com redundância de CP, o driver IEC 60870-5-104 Servidor é desabilitado
no CP não ativo. Desta forma, não é recomendada a utilização deste método de sincronismo
em sistemas redundantes, pois o CP não ativo pode levar vários segundos após um switchover
até que o seu relógio seja sincronizado. Em sistemas redundantes, recomenda-se a utilização
de SNTP.
5.1.4.2. SNTP
Para o sincronismo via SNTP a UCP irá se comportar como um cliente SNTP, ou seja, enviará requisições de sincronização
de tempo para um servidor SNTP/NTP, que pode estar na rede local ou na internet. O cliente SNTP trabalha com uma resolução
de 1 ms, porém com uma precisão de 100 ms. A precisão do sincronismo de tempo por SNTP depende das configurações do
protocolo SNTP (erro mínimo para atualização do relógio) e das características da rede Ethernet onde está sendo aplicado, se
cliente e servidor SNTP estão na mesma rede (local) ou em redes diferentes (remota). Tipicamente a precisão é da ordem de
dezenas de milissegundos.
A UCP envia as requisições de sincronização cíclicas, de acordo com o tempo configurado no campo Período de Sincro-
nização do SNTP. Na primeira tentativa de sincronização, logo após a inicialização do serviço, a requisição é para o primeiro
servidor, configurado em Endereço de IP do Primeiro Servidor. Caso este não responda, as requisições são direcionadas para
o segundo servidor configurado em Endereço de IP do Segundo Servidor, fornecendo uma redundância de servidores SNTP.
Caso o segundo servidor também não responda, o mesmo processo de tentativa de sincronização é executado novamente, mas
apenas após o Período de Sincronização ter passado. Ou seja, a cada período de sincronização, a UCP tenta se conectar uma
vez em cada servidor, ela tenta o segundo caso o primeiro não responda. O tempo de espera por uma resposta do servidor
SNTP é definido por padrão em 5 segundos e não pode ser modificado.
Caso, após uma requisição de sincronização, a diferença entre o horário atual da UCP e o recebido pelo servidor for maior
que o valor configurado no parâmetro Erro Mínimo Antes da Atualização do Relógio, o horário da UCP é atualizado. O
SNTP usa o horário no formato UTC (Universal Time Coordinated), logo o parâmetro de Fuso Horário deve ser configurado
corretamente, para que o horário lido pelo SNTP seja convertido corretamente para a hora local.
O Processo de execução do cliente SNTP pode ser exemplificado com os seguintes passos:
1. Tentativa de sincronização através do primeiro servidor. Caso a sincronização ocorra com sucesso, a UCP aguarda
o tempo para a nova sincronização (Período de Sincronização) e tentará sincronizar-se novamente com este servidor,
utilizando, então, este como servidor primário. Em caso de falha (o servidor não responde em menos de 5 s) o passo 2 é
executado.
2. Tentativa de sincronização através do segundo servidor. Caso a sincronização ocorra com sucesso, a UCP aguarda
o tempo para a nova sincronização (Período de Sincronização) e tentará sincronizar-se novamente com este servidor,
utilizando, então, este como servidor primário. Em caso de falha (o servidor não responde em menos de 5 s) é aguardado
o tempo referente ao Período de Sincronização e executado novamente o passo 1.
Como o tempo de espera pela resposta do servidor SNTP é de 5 s, deve-se prestar atenção ao configurar valores menores
do que 10 s para o Período de Sincronização. Caso o servidor primário não responda, o tempo para a sincronização irá ser de,
no mínimo, 5 s (aguardo da resposta do servidor primário e tentativa de sincronização com o servidor secundário). Caso nem o
servidor primário nem o secundário respondam, o tempo para a sincronização irá ser de, no mínimo, 10 s (aguardo da resposta
dos dois servidores e nova tentativa de conexão com o 1◦ servidor).
Quando utilizado as UCPs NX3020 ou NX3030, dependendo da subrede do servidor SNTP, o cliente irá utilizar a interface
Ethernet que esteja na subrede correspondente para fazer as requisições de sincronismo. Caso não haja uma interface confi-
gurada na mesma subrede do servidor, a requisição poderá ser feita por qualquer interface que possa achar uma rota para o
servidor, sendo isso também válido para os modelos NX3003, NX3004, NX3005 e NX3010.
ATENÇÃO:
O Serviço SNTP depende da aplicação do usuário apenas para a sua configuração. Portanto,
este serviço vai ser executado mesmo quando a UCP estiver nos modos STOP ou BREAK-
POINT, desde que exista uma aplicação na UCP com o cliente SNTP habilitado e correta-
mente configurado.
93
5. CONFIGURAÇÃO
CUIDADO:
É vital a configuração de, no mínimo, um servidor SNTP. O recomendável é configurar dois
servidores SNTP (primário e secundário). O sincronismo SNTP é necessário para gerar
eventos com estampa de tempo coerente entre o CPA e CPB e com a hora mundial. Outra
utilidade é evitar descontinuidades durante um switchover em aplicações que referenciam
data e hora, tendo em vista que não existe sincronismo de data e hora entre os CPs através
dos canais de sincronismo NETA e NETB.
A configuração do horário de verão deve ser feita indiretamente, através da função SetTimeZone, que altera o fuso horário
aplicado ao RTC. No início do horário de verão, deve-se usar a função para aumentar em uma hora o fuso horário. Ao final do
horário de verão, ela é usada novamente para diminui-lo em uma hora.
Para maiores informações, consultar a seção Relógio RTC.
94
5. CONFIGURAÇÃO
A qualidade de um ponto interno é uma informação que indica o nível de confiança que se pode ter no valor que está
armazenado naquele ponto. A qualidade pode informar, por exemplo, que o valor armazenado está fora de escala, ou ainda
que seja válido, mas pouco confiável.
As normas IEC 61850, DNP3 e IEC104 possuem os seus próprios formatos para representação da informação de qualidade
de um ponto. A Série Nexto, por sua vez, possui um formato de qualidade próprio (mas muito similar ao IEC 61850) chamado
de Qualidade Interna. Este formato é definido pelo tipo QUALITY (biblioteca LibRtuStandard) e é utilizado internamente para
armazenamento da qualidade, permitindo que sejam realizadas conversões entre protocolos sem que haja perda de informação.
Quando se realiza o mapeamento de um mesmo ponto de comunicação entre dois drivers, a conversão de qualidade é
realizada automaticamente em dois estágios. Por exemplo: caso um ponto de comunicação seja mapeado de um driver DNP3
Cliente para um driver IEC104 Servidor, primeiro a qualidade será convertida do formato DNP3 para o formato interno (e
armazenada internamente na UCP), e depois será convertida do formato interno para o formato IEC104.
95
5. CONFIGURAÇÃO
As tabelas a seguir definem as conversões dos formatos proprietários dos protocolos para o formato interno. Caso seja
necessário consultar a conversão entre os protocolos, é necessário realizar a análise em dois estágios consultando cada uma
das tabelas para o formato interno e depois realizando a correlação entre elas.
Esta é a estrutura QUALITY, a tabela abaixo mostra detalhadamente cada um de seus componentes.
96
5. CONFIGURAÇÃO
As tabelas abaixo apresentam respectivamente a conversão de pontos internos digitais, analógicos e contadores para IEC
60870-5-104 da Série Nexto disponíveis para o MT8500.
97
5. CONFIGURAÇÃO
Como a norma MODBUS não especifica tipos de qualidade para cada ponto, mas para auxílio no uso dos diagnósticos de
comunicação de cada ponto, o MasterTool, através de uma estrutura interna própria, permite o mapeamento de variáveis de
qualidade para cada ponto MODBUS. A tabela abaixo descreve os tipos de qualidade que cada ponto MODBUS pode assumir.
98
5. CONFIGURAÇÃO
Para auxiliar no uso dos diagnósticos de cada ponto de E/S, o MasterTool cria automaticamente uma estrutura de qualidade
para cada módulo do barramento local utilizado no projeto do CP, através de uma estrutura interna própria acessível via
estrutura QUALITY, disponível na GVL IOQualities.
A tabela abaixo descreve os tipos de qualidade para cada ponto de entrada e saída.
Para mais informações consulte a seção GVL IOQualities.
Diferente do barramento local, o MasterTool não cria automaticamente estruturas de qualidade para os módulos do bar-
ramento PROFIBUS, e o CP também não atualiza tais estruturas. Portanto, a criação e atualização cíclica da qualidade dos
módulos PROFIBUS é de responsabilidade do usuário que desenvolve a aplicação de controle.
99
5. CONFIGURAÇÃO
Para auxiliar o desenvolvimento de tais aplicações, seguem exemplos práticos, em linguagem ST, para os principais tipos
de módulos PROFIBUS (ED, SD, EA e SA), baseados em escravos PROFIBUS da própria Série Nexto (NX5110). O usuário
deve sentir-se encorajado a fazer adaptações e alterações que julgar necessário à sua aplicação.
ATENÇÃO:
Para o correto funcionamento das rotinas apresentadas a seguir, é necessário a habilitação
do Status in Diagnose dos escravos PROFIBUS.
O desenvolvimento das rotinas de atualização da qualidade dos pontos dos módulos de E/S PROFIBUS deve iniciar pela
declaração e inicialização das variáveis de qualidade a partir de uma GVL:
1 VAR_GLOBAL
2 QUALITY_PB_NX1005_I: LibDataTypes.QUALITY:= (VALIDITY:= VALIDITY_INVALID,
3 FLAGS:= (FLAG_RESTART:= TRUE));
4 QUALITY_PB_NX1005_O: LibDataTypes.QUALITY:= (VALIDITY:= VALIDITY_INVALID,
5 FLAGS:= (FLAG_RESTART:= TRUE));
6 QUALITY_PB_NX6000: LibDataTypes.QUALITY:= (VALIDITY:= VALIDITY_INVALID,
7 FLAGS:= (FLAG_RESTART:= TRUE));
8 QUALITY_PB_NX6100: LibDataTypes.QUALITY:= (VALIDITY:= VALIDITY_INVALID,
9 FLAGS:= (FLAG_RESTART:= TRUE));
10 END_VAR
100
5. CONFIGURAÇÃO
25 QUALITY_PB_NX1005_I.FLAGS.FLAG_FAILURE:= TRUE;
26 // Se o ponto já havia sido atualizado uma vez ...
27 IF NOT QUALITY_PB_NX1005_I.FLAGS.FLAG_RESTART THEN
28 QUALITY_PB_NX1005_I.FLAGS.FLAG_OLD_DATA:= TRUE;
29 END_IF
30 END_IF
31 END_IF
32 // Em caso de falha de comunicação com o escravo PROFIBUS ...
33 ELSE
34 QUALITY_PB_NX1005_I.VALIDITY:= VALIDITY_INVALID;
35 QUALITY_PB_NX1005_I.FLAGS.FLAG_COMM_FAIL:= TRUE;
36 QUALITY_PB_NX1005_I.FLAGS.FLAG_FAILURE:= FALSE;
37 // Se o ponto já havia sido atualizado uma vez ...
38 IF NOT QUALITY_PB_NX1005_I.FLAGS.FLAG_RESTART THEN
39 QUALITY_PB_NX1005_I.FLAGS.FLAG_OLD_DATA:= TRUE;
40 END_IF
41 END_IF
101
5. CONFIGURAÇÃO
28 QUALITY_PB_NX1005_O.VALIDITY:= VALIDITY_INVALID;
29 QUALITY_PB_NX1005_O.FLAGS.FLAG_FAILURE:= TRUE;
30 // Se o ponto já havia sido atualizado uma vez ...
31 IF NOT QUALITY_PB_NX1005_O.FLAGS.FLAG_RESTART THEN
32 QUALITY_PB_NX1005_O.FLAGS.FLAG_OLD_DATA:= TRUE;
33 END_IF
34 END_IF
35 END_IF
36 // Em caso de falha de comunicação com o escravo PROFIBUS ...
37 ELSE
38 QUALITY_PB_NX1005_O.VALIDITY:= VALIDITY_INVALID;
39 QUALITY_PB_NX1005_O.FLAGS.FLAG_COMM_FAIL:= TRUE;
40 QUALITY_PB_NX1005_O.FLAGS.FLAG_FAILURE:= FALSE;
41 // Se o ponto já havia sido atualizado uma vez ...
42 IF NOT QUALITY_PB_NX1005_O.FLAGS.FLAG_RESTART THEN
43 QUALITY_PB_NX1005_O.FLAGS.FLAG_OLD_DATA:= TRUE;
44 END_IF
45 END_IF
102
5. CONFIGURAÇÃO
25 DG_NX6000_8_AI_Voltage_Current.tDetailed.tAnalogInput_00.bOpenLoop =
FALSE THEN
26 QUALITY_PB_NX6000.VALIDITY:= VALIDITY_GOOD;
27 QUALITY_PB_NX6000.FLAGS.FLAG_RESTART:= FALSE;
28 QUALITY_PB_NX6000.FLAGS.FLAG_FAILURE:= FALSE;
29 QUALITY_PB_NX6000.FLAGS.FLAG_OLD_DATA:= FALSE;
30 QUALITY_PB_NX6000.FLAGS.FLAG_INACCURATE:= FALSE;
31 QUALITY_PB_NX6000.FLAGS.FLAG_OUT_OF_RANGE:= FALSE;
32 ELSE
33 // Condição poara ligar a indicação de imprecisão
34 // (avaliar primeiro, pois validade inválida deve prevalecer)
35 IF DG_NX6000_8_AI_Voltage_Current.tGeneral.bCalibrationError = TRUE THEN
36 QUALITY_PB_NX6000.VALIDITY:= VALIDITY_QUESTIONABLE;
37 QUALITY_PB_NX6000.FLAGS.FLAG_INACCURATE:= TRUE;
38 ELSE
39 QUALITY_PB_NX6000.FLAGS.FLAG_INACCURATE:= FALSE;
40 END_IF
41 // Condição para ligar a indicação de fora de faixa
42 // (avaliar primeiro, pois validade inválida deve prevalecer)
43 IF DG_NX6000_8_AI_Voltage_Current.tDetailed.tAnalogInput_00.bOverRange
= TRUE OR
44 DG_NX6000_8_AI_Voltage_Current.tDetailed.tAnalogInput_00.bUnderRange
= TRUE THEN
45 QUALITY_PB_NX6000.VALIDITY:= VALIDITY_QUESTIONABLE;
46 QUALITY_PB_NX6000.FLAGS.FLAG_OUT_OF_RANGE:= TRUE;
47 ELSE
48 QUALITY_PB_NX6000.FLAGS.FLAG_OUT_OF_RANGE:= FALSE;
49 END_IF
50 // Condições para ligar a indicação de falha geral (prioritária)
51 IF (DG_NX5110.tPbusHeadA.dwModuleNotPresent AND SHL(1, 3)) > 0 OR
52 DG_NX5110.tPbusHeadA.tSummarized.bConfigMismatch = TRUE OR
53 DG_NX6000_8_AI_Voltage_Current.tGeneral.bConfigMismatch = TRUE OR
54 DG_NX6000_8_AI_Voltage_Current.tGeneral.bFatalError = TRUE OR
55 DG_NX6000_8_AI_Voltage_Current.tDetailed.tAnalogInput_00.bOpenLoop =
TRUE THEN
56 QUALITY_PB_NX6000.VALIDITY:= VALIDITY_INVALID;
57 QUALITY_PB_NX6000.FLAGS.FLAG_FAILURE:= TRUE;
58 // Se o ponto já havia sido atualizado uma vez ...
59 IF NOT QUALITY_PB_NX6000.FLAGS.FLAG_RESTART AND
60 NOT
DG_NX6000_8_AI_Voltage_Current.tDetailed.tAnalogInput_00.bOpenLoop
THEN
61 QUALITY_PB_NX6000.FLAGS.FLAG_OLD_DATA:= TRUE;
62 END_IF
63 ELSE
64 QUALITY_PB_NX6000.FLAGS.FLAG_RESTART:= FALSE;
65 QUALITY_PB_NX6000.FLAGS.FLAG_FAILURE:= FALSE;
66 QUALITY_PB_NX6000.FLAGS.FLAG_OLD_DATA:= FALSE;
67 END_IF
68 END_IF
69 END_IF
103
5. CONFIGURAÇÃO
104
5. CONFIGURAÇÃO
31 QUALITY_PB_NX6100.FLAGS.FLAG_OLD_DATA:= FALSE;
32 ELSE
33 // Condição para ligar a indicação de imprecisão
34 // (avaliar primeiro, pois validade inválida deve prevalecer)
35 IF DG_NX6100_4_AO_Voltage_Current.tGeneral.bCalibrationError = TRUE THEN
36 QUALITY_PB_NX6100.VALIDITY:= VALIDITY_QUESTIONABLE;
37 QUALITY_PB_NX6100.FLAGS.FLAG_INACCURATE:= TRUE;
38 ELSE
39 QUALITY_PB_NX6100.FLAGS.FLAG_INACCURATE:= FALSE;
40 END_IF
41 // Condições para ligar a indicação de falha geral (prioritária)
42 IF (DG_NX5110.tPbusHeadA.dwModuleNotPresent AND SHL(1, 4)) > 0 OR
43 DG_NX5110.tPbusHeadA.tSummarized.bConfigMismatch = TRUE OR
44 DG_NX6100_4_AO_Voltage_Current.tGeneral.bConfigMismatch = TRUE OR
45 DG_NX6100_4_AO_Voltage_Current.tGeneral.bFatalError = TRUE OR
46 DG_NX6100_4_AO_Voltage_Current.tGeneral.bNoExternalSupply = TRUE OR
47 DG_NX6100_4_AO_Voltage_Current.tDetailed.tAnalogOutput_00.bOpenLoop =
TRUE OR
48 DG_NX6100_4_AO_Voltage_Current.tDetailed.tAnalogOutput_00.bShortCircuit
= TRUE THEN
49 QUALITY_PB_NX6100.VALIDITY:= VALIDITY_INVALID;
50 QUALITY_PB_NX6100.FLAGS.FLAG_FAILURE:= TRUE;
51 // Se o ponto já havia sido atualizado uma vez ...
52 IF NOT QUALITY_PB_NX6100.FLAGS.FLAG_RESTART AND NOT
53 DG_NX6100_4_AO_Voltage_Current.tDetailed.tAnalogOutput_00.bOpenLoop
THEN
54 QUALITY_PB_NX6100.FLAGS.FLAG_OLD_DATA:= TRUE;
55 END_IF
56 ELSE
57 QUALITY_PB_NX6100.FLAGS.FLAG_RESTART:= FALSE;
58 QUALITY_PB_NX6100.FLAGS.FLAG_FAILURE:= FALSE;
59 QUALITY_PB_NX6100.FLAGS.FLAG_OLD_DATA:= FALSE;
60 END_IF
61 END_IF
62 END_IF
63 // Em caso de falha de comunicação com o escravo PROFIBUS ...
64 ELSE
65 QUALITY_PB_NX6100.VALIDITY:= VALIDITY_INVALID;
66 QUALITY_PB_NX6100.FLAGS.FLAG_COMM_FAIL:= TRUE;
67 QUALITY_PB_NX6100.FLAGS.FLAG_FAILURE:= FALSE;
68 // Se o ponto já havia sido atualizado uma vez ...
69 IF NOT QUALITY_PB_NX6100.FLAGS.FLAG_RESTART AND
70 NOT DG_NX6100_4_AO_Voltage_Current.tDetailed.tAnalogOutput_00.bOpenLoop
THEN
71 QUALITY_PB_NX6100.FLAGS.FLAG_OLD_DATA:= TRUE;
72 END_IF
73 END_IF
105
5. CONFIGURAÇÃO
Notas:
Modo Estendido: Neste modo de operação da comunicação serial são fornecidas informações sobre o frame de dados
recebido. As informações disponibilizadas são as seguintes: Um byte para o dado recebido (RX_CHAR : BYTE): Armazena
os cinco, seis, sete ou oito bits dos dados recebidos, dependendo da configuração da serial. Um byte para os erros no sinal
(RX_ERROR : BYTE): Tem o seguinte formato:
Bit 0: 0 - o caractere nos bits 0 a 7 é válido. 1 - o caractere nos bits 0 a 7 não é válido (ou pode não ser válido), devido
aos problemas indicados nos bits 10 a 15.
Bit 1: Não utilizado.
Bit 2: Não utilizado.
Bit 3: Erro de interrupção na UART. A entrada serial permaneceu na lógica 0 (paridade sempre zero) por um tempo
maior do que um caractere (bit de partida + bit de dados + bit de paridade + bit de parada).
Bit 4: Erro no frame UART. A lógica 0 (paridade sempre zero) foi lida quando o primeiro bit de parada era esperado,
sendo que deveria ser lógica 1 (paridade sempre um).
Bit 5: Erro de paridade UART. O bit de paridade lido não está de acordo com o bit de paridade calculado.
Bit 6: Erro de overrun UART. Dados foram perdidos durante a leitura do FIFO UART, porque novos caracteres foram
recebidos antes de os antigos serem removidos. Esse erro somente será indicado no primeiro caractere lido após a
indicação do erro de overrun. Isso significa que alguns dados antigos foram perdidos.
106
5. CONFIGURAÇÃO
Bit 7: Erro de overrun na fila RX: Esse caractere foi escrito quando a fila RX foi completa, sobrescrevendo caracteres
não lidos.
Dois bytes para o sinal de estampa de tempo (RX_TIMESTAMP : WORD): Indica o tempo de silêncio, no intervalo de 0
a 65535, usando como base de tempo 10 us. Satura em 655,35 ms, caso o tempo de silêncio seja maior do que 65535 unidades.
O RX_TIMESTAMP de um caractere mede o tempo desde uma referência que pode ser uma das três opções abaixo:
Na maioria dos casos, o final do caractere anterior.
Configuração da porta serial.
O fim da transmissão serial usando o SERIAL_TX FB, ou seja, quando o último caractere foi enviado na linha.
Além de medir o tempo de silêncio antes de cada caractere, o RX_TIMESTAMP também é importante, pois mede o tempo de
silêncio do último caractere da fila RX. A medição do silêncio é importante para implementar corretamente alguns protocolos,
como MODBUS RTU. Esse protocolo especifica um interframe maior do que 3,5 caracteres e um interbyte menor do que 1,5
caracteres.
Bits de Dado: A configuração Bits de Dado das interfaces seriais limita os campos Bits de Parada e Paridade da comu-
nicação, ou seja, o número de bits de parada e o método de paridade irão variar de acordo com o número de bits de dado. A
tabela abaixo mostra as configurações permitidas para a interface COM 1 das UCPs NX3010, NX3020 e NX3030.
As configurações avançadas são relacionadas aos sinais de controle da comunicação serial, ou seja, quando se faz necessária
a utilização de um controle mais apurado da transmissão e recepção dos dados.
107
5. CONFIGURAÇÃO
108
5. CONFIGURAÇÃO
Notas:
RX em TX: Este parâmetro avançado é valido para configurações RS-232C e para RS-422.
Evento RX DCD: Os eventos externos, como o sinal de DCD da COM 1 das UCPs NX3010, NX3020 e NX3030, só podem
ser associados às tarefas do perfil de projeto personalizado, descrito com detalhes no Manual de Utilização do MasterTool IEC
XE – MU299048.
Evento RX CTS: Os eventos externos, como o sinal de CTS da COM 1 das UCPs NX3010, NX3020 e NX3030, só podem
ser associados às tarefas do perfil de projeto personalizado, descrito com detalhes no Manual de Utilização do MasterTool IEC
XE – MU299048.
A configuração Bits de Dado das interfaces seriais limita os campos Bits de Parada e Paridade da comunicação, ou seja, o
número de bits de parada e o método de paridade irão variar de acordo com o número de bits de dado.
A tabela abaixo mostra as configurações permitidas para as interfaces COM 1 (NX3004 e NX3005) e COM 2 (NX3010,
NX3020 e NX3030).
109
5. CONFIGURAÇÃO
As configurações avançadas são relacionadas aos sinais de controle da comunicação serial, ou seja, quando se faz necessária
a utilização de um controle mais apurado da transmissão e recepção dos dados.
110
5. CONFIGURAÇÃO
A configuração Bits de Dado das interfaces seriais limita os campos Bits de Parada e Paridade da comunicação, ou seja, o
número de bits de parada e o método de paridade irão variar de acordo com o número de bits de dado.
A tabela abaixo, mostra as configurações permitidas.
As configurações avançadas são relacionadas aos sinais de controle da comunicação serial, ou seja, quando se faz necessária
a utilização de um controle mais apurado da transmissão e recepção dos dados.
111
5. CONFIGURAÇÃO
A interface NET 1 é composta por um conector tipo RJ45 de comunicação no padrão 10/100Base-TX. Permite a comuni-
cação ponto a ponto ou em rede nos protocolos abertos, como por exemplo, MODBUS TCP Cliente, MODBUS RTU via TCP
Cliente, MODBUS TCP Servidor e MODBUS RTU via TCP Servidor.
Abaixo, segue os parâmetros que devem ser configurados para o bom funcionamento da aplicação.
5.3.1.2. NET 2
A interface NET 2 é composta por um conector tipo RJ45 de comunicação no padrão 10/100Base-TX. Permite a comuni-
cação ponto a ponto ou em rede nos protocolos abertos, como por exemplo, MODBUS TCP Cliente, MODBUS RTU via TCP
Cliente, MODBUS TCP Servidor e MODBUS RTU via TCP Servidor.
Abaixo, segue os parâmetros que devem ser configurados para o bom funcionamento da aplicação.
ATENÇÃO:
Não é possível configurar as duas interfaces Ethernet de uma UCP na mesma subrede, sendo
este tipo de configuração bloqueada pela ferramenta MasterTool. Desta forma, cada inter-
face Ethernet deve ser configurada em uma subrede distinta.
A interface NET 1 é composta por um conector tipo RJ45 de comunicação no padrão 10/100Base-TX. Permite a comuni-
cação ponto a ponto ou em rede nos protocolos abertos, como por exemplo, MODBUS TCP Cliente, MODBUS RTU via TCP
Cliente, MODBUS TCP Servidor e MODBUS RTU via TCP Servidor.
Abaixo, segue os parâmetros que devem ser configurados para o bom funcionamento da aplicação.
113
5. CONFIGURAÇÃO
Um destes objetos é a GVL IntegratedIO, que é criada automaticamente pelo MasterTool IEC XE e contém uma lista de
variáveis simbólicas globais que são mapeadas diretamente para as entradas e saídas integradas.
O outro objeto é o conector Integrated I/O, que contém a configuração para cada tipo de ponto de E/S. Estas configurações
serão detalhadas nas próximas seções.
114
5. CONFIGURAÇÃO
Nota:
Tempo do Filtro de Entrada: A amostragem do filtro é executada na MainTask (ou função Refresh), então é recomendado
usar valores múltiplos do intervalo da tarefa.
Contador
Modo do Contador Entradas Rápidas
Rápido
I0 I1 I2 I3
Contador 0 Up X - - -
Down X - - -
Up/Down (A conta p/ cima, B conta p/ baixo) A B - -
115
5. CONFIGURAÇÃO
Contador
Modo do Contador Entradas Rápidas
Rápido
I0 I1 I2 I3
Up/Down (A conta p/ cima, B conta p/ baixo) com zera-
A B Z -
mento
Up/Down (A conta, B sentido) A B - -
Up/Down (A conta, B sentido) com zeramento A B Z -
Quadratura 2X A B - -
Quadratura 2X com zeramento A B Z -
Quadratura 4X A B - -
Quadratura 4X com zeramento A B Z -
Contador 1 Up - X - -
Down - X - -
Contador 2 Up - - X -
Down - - X -
Up/Down (A conta p/ cima, B conta p/ baixo) - - A B
Up/Down (A conta, B sentido) - - A B
Quadratura 2X - - A B
Quadratura 4X - - A B
Contador 2 Up - - - X
Down - - - X
Tabela 77: Contadores Rápidos e alocação das Entradas Rápidas para NX3003
Para cada configuração descrita acima, os sinais de entrada rápida remanescentes (não utilizados pelas unidades de con-
tadores rápidos) podem ser usados como interrupção externa, respeitando o número máximo deste tipo de elemento lógico
especificado na seção Descrição Técnica.
A configuração de contadores rápidos e interrupções está localizada na seguinte tela:
Quando selecionando a função de uma entrada rápida, as seguintes entradas são automaticamente atribuídas (bloqueadas
para edição) de acordo com o modo da unidade de contador rápido.
A tabela abaixo mostra os valores de configuração possíveis para cada entrada rápida da UCP NX3003:
116
5. CONFIGURAÇÃO
Mesmo se uma entrada rápida estiver configurada como um contador ou interrupção, seu valor digital ainda pode ser
lido através da variável IntegratedIo.DigitalInputs. As próximas subseções apresentam mais detalhes sobre a programação e
configuração das Entradas Rápidas.
As unidades de contador rápido possuem múltiplos modos de operação. A seguinte tabela descreve os detalhes de cada um
destes modos:
117
5. CONFIGURAÇÃO
Up
Down
Quadratura 2X
118
5. CONFIGURAÇÃO
Quadratura 4X
O comportamento do estouro é o mesmo para todos os contadores: quando incrementando a contagem e o valor máximo
positivo é alcançado, o próximo valor será o valor mínimo negativo. A mesma coisa acontece para a direção oposta, portanto,
quando decrementando a contagem e o valor mínimo negativo é alcançado, o próximo valor será o valor máximo positivo.
O programa de usuário pode acessar os contadores rápidos através da estrutura simbólica FastInputs, que é automatica-
mente criada na GVL IntegratedIo. Para cada unidade de contador rápido, existem 3 principais áreas, conforme mostrado na
seguinte figura:
119
5. CONFIGURAÇÃO
120
5. CONFIGURAÇÃO
Os comandos e status são estruturas de bits que permitem o programa de usuário controlar a operação do contador. A
seguinte tabela descreve a estrutura de comando do contador.
121
5. CONFIGURAÇÃO
Além das variáveis globais IntegratedIo, existe um bloco funcional da biblioteca LibIntegratedIo que permite instanciar
contadores rápidos em POUs escritas em linguagens gráficas (por exemplo, Diagrama Lógico Ladder). Esse bloco funcional
é, na verdade, um invólucro para as variáveis estruturadas descritas anteriormente. A figura abaixo mostra o bloco funcional
instanciado em um programa Ladder.
122
5. CONFIGURAÇÃO
123
5. CONFIGURAÇÃO
As unidades de contador rápido têm a capacidade de gerar interrupções por comparação, ou seja, quando o contador atinge
um determinado valor de comparação, uma tarefa específica será executada e interromperá a execução do programa principal.
Cada unidade de contador rápido possui dois valores de comparação, chamados Comparer0 e Comparer1, que estão presentes
na estrutura de dados simbólicos globais ou Bloco Funcional correspondentes, conforme descrito nas seções anteriores. A
configuração da interrupção do contador para cada unidade de contador rápido está localizada na seguinte tela:
A tabela abaixo mostra os valores de configuração possíveis para cada interrupção do contador da UCP NX3003:
124
5. CONFIGURAÇÃO
Cada interrupção do contador gerará um evento específico. Este evento deve acionar a execução de uma tarefa de evento
externo, que deve chamar uma POU específica. Por exemplo, o evento de comparação gerado para o Contador 0 é chamado
COUNTER0_EVT. Portanto, uma tarefa de evento externo chamada Counter0InterruptTask deve ser configurada para ser
acionada por esse evento, e deve chamar uma POU chamada Counter0InterruptPrg que conterá o programa de usuário a ser
executado.
A figura abaixo mostra este cenário de configuração no MasterTool IEC XE.
125
5. CONFIGURAÇÃO
As entradas rápidas podem ser configuradas como modo de Interrupção (Borda de Subida), o que significa que quando
uma borda de subida (transição de 0V para 24V) é executada na entrada, uma tarefa específica será executada e interromperá
a execução do programa principal.
Cada interrupção externa gerará um evento específico. Este evento deve acionar a execução de uma tarefa de evento
externo, que deve chamar uma POU específica. Por exemplo, o evento de interrupção externa gerado para a entrada rápida I2
é chamado FIN2_EVT. Portanto, uma tarefa de evento externo chamada FastInputI02InterruptTask deve ser configurada para
ser acionada por este evento, e deve chamar uma POU chamada FastInputI02InterruptPrg que conterá o programa de usuário
a ser executado.
A figura abaixo mostra este cenário de configuração no MasterTool IEC XE.
126
5. CONFIGURAÇÃO
ATENÇÃO:
A entrada da interrupção externa possui um filtro de janela de tempo de 10 ms para proteger
o controlador contra transições espúrias no sinal de entrada. Esta janela começa logo após
a ocorrência da interrupção e, durante esse tempo, qualquer outro evento de interrupção
externa será descartado.
ATENÇÃO:
A interrupção externa não suporta reentrada. Se outra interrupção ocorre (após o tempo de
filtro) e a execução do programa ainda não está concluída, essa interrupção será descartada.
127
5. CONFIGURAÇÃO
Conforme mostrado na tabela anterior, as saídas rápidas podem ser configuradas como saída digital normal. Neste caso,
seu valor digital pode ser configurado usando a variável global padrão IntegratedIo.DigitalOutputs.
Quando configurado como VFO/PWM ou PTO, o programa de usuário pode controlar as saídas rápidas através da estrutura
simbólica FastOutputs, que é automaticamente criada na GVL IntegratedIo como mostrado na seguinte figura:
128
5. CONFIGURAÇÃO
As próximas subseções fornecem mais detalhes sobre como utilizar essas funções de geração de pulsos, descrevendo essas
estruturas para cada modo.
5.4.3.1. VFO/PWM
O VFO / PWM (saída de frequência variável / modulador de largura de pulso) é um modo de saída geradora de pulsos onde
a frequência e o ciclo de trabalho podem ser controlados pelo programa do usuário. É aplicável, por exemplo, para controlar
a potência transferida para uma carga elétrica ou controlar o ângulo de um servo motor. O princípio de operação da saída do
VFO / PWM é muito simples, veja a forma de onda pulsada que é mostrada na figura abaixo:
129
5. CONFIGURAÇÃO
A figura mostra uma forma de onda pulsada, onde T é o período dos pulsos e τ é a largura do pulso. Esses são os parâmetros
de pulso que podem ser alterados no modo VFO / PWM. A frequência é definida como o inverso do período, então:
1
f= T
O ciclo de trabalho (duty cycle) é a razão entre a largura do pulso e o período, então:
τ
D= T 100%
Para controlar a saída VFO/PWM, o programa do usuário deve acessar a variável VFO_PWM da estrutura de saída rápida.
A estrutura do VFO_PWM é mostrada na tabela abaixo:
Quando o comando Enable for TRUE, os parâmetros de entrada serão verificados continuamente e as variáveis de estado
serão atualizadas de acordo.
Além das variáveis globais IntegratedIo, existe um bloco de funções da biblioteca LibIntegratedIo que permite instanciar
o VFO/PWM em POUs escritas em linguagens gráficas (por exemplo, Diagrama Lógico Ladder). Esse bloco de funções é,
na verdade, um invólucro para as variáveis estruturadas descritas anteriormente. A figura abaixo mostra o bloco de funções
instanciado em um programa Ladder.
130
5. CONFIGURAÇÃO
5.4.3.2. PTO
A PTO (saída de trem de pulso) é um modo de gerador de pulsos. É usado, por exemplo, para controlar motores de passo
responsáveis pelo posicionamento de mecanismos com inércia considerável. Para estes casos, a velocidade de rotação deve
aumentar lentamente (aceleração) quando o movimento estiver começando e diminuir lentamente (desaceleração) quando o
movimento estiver parando. Estas acelerações e desacelerações são feitas no trem de pulsos aumentando e diminuindo a
frequência dos pulsos, mantendo os 50% do ciclo de trabalho.
Há um conjunto de parâmetros que devem ser definidos para um trem de pulsos: frequência de partida, frequência de
operação, frequência de parada, perfil de aceleração, número total de pulsos, número de pulsos na etapa de aceleração e
número de pulsos na etapa de desaceleração. A figura abaixo mostra, no plano cartesiano, a relação entre a frequência dos
pulsos e o tempo. O trem de pulsos mostrado é chamado de perfil trapezoidal, porque as rampas de aceleração e desaceleração
produzem uma forma de trapézio.
131
5. CONFIGURAÇÃO
Para algumas aplicações, é mais recomendado usar o perfil "S", cujas curvas de aceleração e desaceleração são semelhantes
à forma "S". A figura abaixo mostra este perfil.
Além dos parâmetros da PTO, há informações de estados e comandos que o programa do usuário pode usar para controlar
a saída. Algumas informações de estados importantes são o contador de pulsos (proporcional a uma posição), a etapa do trem
de pulsos (aceleração, operação, desaceleração) e, ainda, se a saída está funcionando corretamente. Os comandos necessários
para controlar a PTO são para iniciar o trem de pulsos (start), parar o trem de pulsos (stop) e parar o trem de pulsos suavemente
(softstop). O comando de parada suave é muito importante, uma vez que pode ser usado para situações de emergência em que
o sistema não pode parar abruptamente. As figuras abaixo mostram como o comando de parada suave altera o trem de pulsos
quando ele é executado. As linhas azuis tracejadas representam a PTO se o comando de parada suave for executado nas etapas
de aceleração e operação. O comando de parada suave na etapa de desaceleração não tem efeito, uma vez que o sistema já está
parando.
132
5. CONFIGURAÇÃO
Para controlar a PTO, o programa do usuário deve acessar a variável PTO da estrutura de saída rápida. A estrutura da PTO
é mostrada na tabela abaixo:
133
5. CONFIGURAÇÃO
Quando o comando Start for TRUE, os parâmetros de entrada serão verificados continuamente e as variáveis de estado
serão atualizadas de acordo.
Além das variáveis globais IntegratedIo, existe um bloco funcional na biblioteca LibIntegratedIo que permite instanciar
PTO em POUs escritas em linguagens gráficas (por exemplo, Diagrama Lógico Ladder). Esse bloco de funções é, na verdade,
um invólucro para as estruturas de variáveis descritas anteriormente. A figura abaixo mostra o bloco funcional instanciado em
um programa Ladder.
134
5. CONFIGURAÇÃO
135
5. CONFIGURAÇÃO
Os dois primeiros NX5000 do bastidor formam um par redundante NIC Teaming, interligados em dois switches diferentes
136
5. CONFIGURAÇÃO
(Ethernet HSDN A e Ethernet HSDN B). Em algum ponto, estes dois switches devem ser interligados, para que exista conexão
entre as duas portas NIC Teaming e disponibilidade ainda maior (contra falhas duplas).
Tais arquiteturas Ethernet possibilitam excelente disponibilidade, contra falha nas portas Ethernet, em cabos e em switches.
Um conjunto de duas portas Ethernet formando um par NIC Teaming possui um único endereço de IP, vinculado ao par de
portas. Desta forma, um cliente como um SCADA ou MasterTool, conectado a um servidor no CP, não precisa se preocupar
em trocar o endereço IP caso haja falha em algumas das portas do par NIC Teaming.
Diagnósticos apontam falhas que eventualmente surjam em qualquer das portas de um par NIC Teaming.
ATENÇÃO:
Ambas as UCPs NX3020 e NX3030 tem suporte ao módulo NX5000, podendo-se, inclusive,
agrupar dois módulos NX5000 como um par NIC Teaming.
Utilizando a UCP NX3020 podem ser inseridos no projeto até dois módulos NX5000, e utilizando a UCP NX3030 podem
ser inseridos até seis. Se utilizada uma UCP NX3020 ou NX3030 pode-se configurar pares NIC Teaming, utilizando no
máximo o número de módulos suportados por cada UCP, como por exemplo na arquitetura mostrada na figura acima, onde
temos um par NIC Teaming e mais uma interface Ethernet independente, utilizando três módulos.
Para agrupar dois módulos NX5000 como um par redundante, estes dois módulos devem necessariamente ocupar posições
vizinhas no bastidor, e o checkbox Redundância de Comunicação do módulo à esquerda deve ser marcado, como mostra a
figura abaixo.
Ao fazer isto, o módulo à direita tem a edição de seus parâmetros bloqueada. Os parâmetros editados no módulo à esquerda
passam a ser comuns para os dois módulos.
Por outro lado, desmarcando o checkbox Redundância de Comunicação do módulo à esquerda, provoca-se a separação
dos módulos, que voltam a se comportar como módulos individuais sem redundância NIC Teaming.
137
5. CONFIGURAÇÃO
Notas:
Pontos mapeados: Cada variável ou item de um tipo de dado será considerado um ponto. O mesmo é considerado para
cada posição do tipo ARRAY. Isso significa que a quantidade de pontos mapeados é incrementada em uma unidade quando
houver uma variável de tipo simples sendo declarada, e no caso de uma variável do tipo ARRAY, será incrementada de acordo
com o tamanho do ARRAY declarado. Isto é independente do tamanho do tipo de dado, então mapear uma variável do tipo
INT (16 bits) em um Holding Register dos drivers MODBUS simbólicos ou uma variável do tipo LINT (64 bits) em quatro
Holding Registers dos drivers MODBUS simbólicos é contabilizado como apenas um ponto mapeado.
Mapeamentos por IEC 60870-5-104/MODBUS simbólico: Um mapeamento é uma relação entre uma variável interna
de aplicação e um objeto do protocolo de aplicação. O valor limite para mapeamentos do projeto corresponde a soma de todos
os mapeamentos realizados nas instâncias de protocolos de comunicação e seus respectivos dispositivos.
Mapeamentos/requisições MODBUS (representação direta/simbólico respectivamente): Limite de mapeamentos (li-
nhas) para o MODBUS por representação direta e de requisições para o MODBUS por mapeamento simbólico.
ATENÇÃO:
Nos casos em que os dois tipos de protocolos forem usados em conjunto, à medida que um
tipo é utilizado a capacidade máxima do outro tipo diminui. Por exemplo, se forem utilizados
10240 mapeamentos simbólicos só será possível utilizar 256 mapeamentos por representação
direta. A razão entre os dois tipos de mapeamentos é de 40 mapeamentos simbólicos para
cada mapeamento por representação direta.
NETs: Instâncias Cliente ou Servidor: O valor máximo definido acima é distribuído entre todas as interfaces Ethernet
do sistema, ou seja, inclui os módulos de expansão, quando estes são aplicados. Exemplos para esse tipo de tarefa são as
instâncias do Protocolo MODBUS.
COM (n): Instâncias Mestre ou Escravo: O "n"representa o número da interface serial, ou seja, mesmo com módulos
de expansão, o valor da tabela será o máximo por interface. Exemplos para esse tipo de tarefa são as instâncias do Protocolo
MODBUS.
ATENÇÃO:
O número máximo de instâncias são concorrentes entre si, ou seja, entre o MODBUS RTU
Mestre e Escravo somente uma instância pode ser configurada por interface em qualquer
modelo de UCP. Entre protocolos Ethernet Cliente e Servidor somente quatro (NX3003,
NX3004, NX3005 e NX3010), oito (NX3020) ou dezesseis (NX3030) instâncias podem ser
configuradas por projeto.
Centros de Controle por UCP: “Centro de Controle” é todo dispositivo cliente conectado à UCP através do protocolo
IEC 60870-5-104. Este campo informa a quantidade máxima de dispositivos clientes, do tipo centro de controle, suportada
pela UCP. Corresponde a soma de todos os dispositivos clientes das instâncias de protocolos de comunicação Servidor IEC
60870-5-104 (não inclui os mestres e clientes dos protocolos MODBUS RTU Escravo, MODBUS Servidor e DNP3 Servidor).
As limitações do protocolo MODBUS por Representação Direta e por mapeamentos simbólicos para as UCPs podem ser
visualizadas na Tabela 96 e na Tabela 97, respectivamente.
138
5. CONFIGURAÇÃO
Notas:
Dispositivos por instância:
Protocolos Mestre ou Cliente: quantidade de dispositivos escravos ou servidores suportados por cada instância de pro-
tocolo Mestre ou Cliente.
Protocolo MODBUS RTU Escravo: o limite (1) informado diz respeito às interfaces seriais, que não permitem que um
Escravo possa estabelecer comunicação, simultaneamente, através da mesma interface serial, com mais de um dispositivo
Mestre. Não é necessário, e nem é possível, declarar nem configurar o dispositivo Mestre sob a instância do protocolo
MODBUS RTU Escravo. O dispositivo Mestre terá acesso a todos os mapeamentos feitos diretamente na instância do
protocolo MODBUS RTU Escravo.
Protocolo MODBUS Servidor: o limite (2) informado diz respeito às interfaces Ethernet, que limitam a quantidade de co-
nexões que podem ser estabelecidas com outros dispositivos através de uma mesma interface Ethernet. Não é necessário,
e nem é possível, declarar nem configurar os dispositivos Clientes sob a instância do protocolo MODBUS Servidor. To-
dos os dispositivos Clientes terão acesso a todos os mapeamentos feitos diretamente na instância do protocolo MODBUS
Servidor.
Mapeamentos por dispositivo: O número máximo de mapeamentos por dispositivo apesar de estar relacionado acima,
também é limitado pelo número máximo de mapeamentos do protocolo. Também deve ser considerado o limite máximo de
mapeamentos da UCP conforme na Tabela 95.
Requisições simultâneas por instância: Quantidade de requisições que podem ser transmitidas simultaneamente por
cada instância de protocolo Cliente, ou que podem ser recebidas simultaneamente por cada instância de protocolo Servidor.
Instâncias de protocolo MODBUS RTU, Mestre ou Escravo, não suportam requisições simultâneas.
Requisições simultâneas por dispositivo: Quantidade de requisições que podem ser transmitidas simultaneamente para
cada dispositivo MODBUS Servidor, ou que podem ser recebidas simultaneamente de cada dispositivo MODBUS Cliente.
Dispositivos MODBUS RTU, Mestre ou Escravo não suportam requisições simultâneas.
Notas:
Dispositivos por instância:
139
5. CONFIGURAÇÃO
Protocolos Mestre ou Cliente: quantidade de dispositivos escravos ou servidores suportados por cada instância de pro-
tocolo Mestre ou Cliente.
Protocolo MODBUS RTU Escravo: o limite (1) informado diz respeito às interfaces seriais, que não permitem que um
Escravo possa estabelecer comunicação, simultaneamente, através da mesma interface serial, com mais de um dispositivo
Mestre. Não é necessário, e nem é possível, declarar nem configurar o dispositivo Mestre sob a instância do protocolo
MODBUS RTU Escravo. O dispositivo Mestre terá acesso a todos os mapeamentos feitos diretamente na instância do
protocolo MODBUS RTU Escravo.
Protocolo MODBUS Servidor: o limite (2) informado diz respeito às interfaces Ethernet, que limitam a quantidade de co-
nexões que podem ser estabelecidas com outros dispositivos através de uma mesma interface Ethernet. Não é necessário,
e nem é possível, declarar nem configurar os dispositivos Clientes sob a instância do protocolo MODBUS Servidor. To-
dos os dispositivos Clientes terão acesso a todos os mapeamentos feitos diretamente na instância do protocolo MODBUS
Servidor.
Requisições por dispositivo: Quantidade de requisições, como por exemplo de leitura ou escrita de holding registers, que
podem ser configuradas para cada um dos dispositivos ( escravos ou servidores) de instâncias de protocolos Mestre ou Cliente.
Este parâmetro não é aplicável às instâncias de protocolos Escravo ou Servidor.
Requisições simultâneas por instância: Quantidade de requisições que podem ser transmitidas simultaneamente por
cada instância de protocolo Cliente, ou que podem ser recebidas simultaneamente por cada instância de protocolo Servidor.
Instâncias de protocolo MODBUS RTU, Mestre ou Escravo, não suportam requisições simultâneas.
Requisições simultâneas por dispositivo: Quantidade de requisições que podem ser transmitidas simultaneamente para
cada dispositivo MODBUS Servidor, ou que podem ser recebidas simultaneamente de cada dispositivo MODBUS Cliente.
Dispositivos MODBUS RTU, Mestre ou Escravo não suportam requisições simultâneas.
ATENÇÃO:
Não são suportadas requisições simultâneas para uma mesma variável associada à pontos de
comunicação, os quais suportem o modo de operação SBO (Select Before Operate), mesmo
sendo recebidas por dispositivos diferentes. Uma vez iniciada a seleção e/ou operação de
um ponto por um dado dispositivo, esta deve ser finalizada antes que este ponto possa ser
comandado por outro dispositivo.
ATENÇÃO:
Os drivers de comunicação MODBUS por Mapeamentos simbólicos estão disponíveis apenas
a partir da versão 1.3.0.20 das UCPs da Série Nexto. Da mesma forma para utilizar esta
funcionalidade é necessária à versão 1.40 ou superior do MasterTool IEC XE.
As limitações do protocolo IEC 60870-5-104 Servidor podem ser visualizadas na tabela abaixo.
Notas:
Dispositivos por instância: Quantidade de dispositivos clientes, do tipo centro de controle, suportados por cada instância
de protocolo Servidor IEC 60870-5-104. O limite informado pode ser menor em função dos limites totais da UCP (consultar
a Tabela 95).
Requisições simultâneas por instância: Quantidade de requisições que podem ser recebidas simultaneamente por cada
instância de protocolo Servidor.
Requisições simultâneas por dispositivo: Quantidade de requisições que podem ser recebidas simultaneamente de cada
dispositivo IEC 60870-5-104 Cliente.
ATENÇÃO:
Os drivers de comunicação IEC 60870-5-104 Servidor estão disponíveis apenas a partir da
versão 1.6.0.11 das UCPs da Série Nexto. Da mesma forma para utilizar esta funcionalidade
é necessária a versão 3.00 ou superior do MasterTool IEC XE.
140
5. CONFIGURAÇÃO
Notas:
Símbolo : O protocolo permanece ativo e operando normalmente.
Símbolo : O protocolo está desabilitado.
SOE: O protocolo de registro de eventos (SOE) não está disponível para os modelos NX3003, NX3004, NX3005 e
NX3010.
IEC 60870-5-104: O protocolo IEC 60870-5-104 Servidor não está disponível para os modelos NX3003, NX3004 e
NX3010.
EtherCAT: Os testes foram executados usando a MainTask como Tarefa de Barramento EtherCAT, caso outra tarefa
seja utilizada, o protocolo permanecerá ativo quando ocorrer um breakpoint na MainPrg. O protocolo EtherCAT não está
disponível para os modelos NX3003, NX3004, NX3005 e NX3010 e nem para configuração de redundância de cluster. Para
mais informações sobre o protocolo EtherCAT, consulte o Manual de Utilização MasterTool IEC XE MT8500 - MU299048.
MODBUS Symbol Slave/Server: Para que o protocolo comunique nas condições em que a UCP não está em RUN ou
após um breakpoint é necessário que seja marcada a opção “Mantém a comunicação funcionando quando a UCP está parada”.
141
5. CONFIGURAÇÃO
A fila de eventos da UCP é redundante, isto é, é sincronizada ciclo a ciclo entre as duas UCPs quando se utiliza redundância
de UCP. Maiores informações podem ser encontradas na seção específica sobre redundância de UCP.
A entrada e saída de eventos nesta fila seguem um conceito de produtor/consumidor. Produtores são aqueles elementos do
sistema capazes de gerar eventos, adicionando eventos na fila da UCP, enquanto os consumidores são os elementos do sistema
que recebem e utilizam estes eventos, retirando eventos da fila da UCP. A figura abaixo descreve este funcionamento, incluindo
exemplo de alguns consumidores e produtores de eventos:
5.6.3.1. Consumidores
Os consumidores são tipicamente drivers de comunicação que irão se comunicar com um SCADA ou IHM. Após serem
armazenados na fila da UCP, os consumidores recebem os eventos relativos a pontos de comunicação mapeados na sua confi-
guração. Estes eventos são então armazenados em uma fila de eventos própria do consumidor, cujo tamanho e funcionamento
é descrito na seção específica do driver de comunicação.
142
5. CONFIGURAÇÃO
Uma vez armazenado na fila da UCP, cada evento é transmitido para o consumidor que possuir este ponto de comunicação
na sua base de dados. Na figura acima, o Evento 0 é referente a um ponto de comunicação mapeado para 2 centros de controle
IEC 60870-5-104 (Cliente 1 e 2). Já o Evento 1 é referente a um ponto de comunicação mapeado apenas para um centro de
controle IEC 60870-5-104 (Cliente 2). Por sua vez, o Evento 2 é referente a um ponto de comunicação mapeado para um outro
centro de controle IEC 60870-5-104 (Cliente 3).
Os eventos permanecem armazenados na fila da UCP até que todos os seus consumidores confirmem a sua recepção.
O critério utilizado para confirmar a recepção é específico de cada consumidor. No caso do IEC 60870-5-104 Servidor, a
confirmação ocorre quando o evento foi transmitido para o cliente IEC 60870-5-104.
No caso da Série Nexto, não são disponibilizados diagnósticos para monitorar a ocupação da fila de eventos da UCP, nem
mesmo informações sobre estouro da fila. Já os consumidores disponibilizam um conjunto de diagnósticos referente a sua fila
de eventos. Maiores informações podem ser encontradas na seção específica do driver de comunicação.
A sinalização de estouro para a fila de eventos dos consumidores ocorre em duas situações:
Quando a fila de eventos do consumidor não tiver mais espaço para armazenar novos eventos
Se a UCP abortou a geração de eventos (porque ocorreram mais eventos em um único ciclo de execução do que o
tamanho total da sua fila de eventos)
5.6.3.3. Produtores
Os produtores são tipicamente drivers de comunicação ou elementos internos do CP que são capazes de gerar eventos. A
figura anterior mostra alguns exemplos:
Pontos Internos: este é um elemento interno no firmware do CP, o qual realiza a detecção de eventos a cada ciclo
de execução (MainTask) para aqueles pontos de comunicação que não possuem uma origem definida e então insere os
eventos na fila da UCP. O número máximo de eventos que podem ser detectados a cada ciclo da MainTask é igual ao
tamanho da fila de eventos da UCP. Caso seja gerado um número de eventos maior que este em um mesmo ciclo da
MainTask, os eventos excedentes serão perdidos
Driver MODBUS (Cliente/Servidor/Mestre/Escravo): as alterações de valor em variáveis causadas por leituras/escri-
tas MODBUS são detectadas a cada ciclo da MainTask e então os eventos são inseridos na fila da UCP. No caso dos
drivers Cliente/Mestre, são gerados também eventos de qualidade quando houver falha de comunicação com o disposi-
tivo escravo
143
5. CONFIGURAÇÃO
Notas:
bExec: quando FALSE, o comando apenas deixa de ser interceptado para a aplicação do usuário, mas o comando continua
sendo tratado normalmente pelo servidor.
bDone: após a interceptação do comando, o usuário será responsável por tratá-lo. Ao fim do tratamento, esta entrada deve
ser habilitada para que um novo comando possa ser recebido. Caso esta entrada não seja habilitada, o bloco aguardará o tempo
definido em dwTimeout, para então ficar apto a interceptar novos comandos.
eCommandResult: resultado do tratamento do comando interceptado pelo usuário. O resultado retornado ao cliente que
enviou o comando, o qual deve ser atribuído juntamente com a entrada bDone, é convertido para o formato do protocolo
do qual foi recebido o comando. Na série Nexto somente é suportada a interceptação de comandos oriundos do protocolo
IEC 60870-5-104. Na interceptação do protocolo IEC 60870-5-104, qualquer retorno diferente de SUCCESS resulta em uma
confirmação negativa no protocolo.
ATENÇÃO:
Não é recomendada a interceptação simultânea de comandos para uma mesma variável por
dois ou mais blocos de Função CommandReceiver. Apenas um dos blocos de função irá
interceptar corretamente o comando, podendo no entanto sofrer interferências indesejadas
dos demais blocos de função se endereçados à mesma variável.
144
5. CONFIGURAÇÃO
Nota:
eStatus: retorno do processo de registro da interceptação de um comando para um ponto de comunicação. Quando a inter-
ceptação é registrada com sucesso é retornado OK_SUCCESS, caso contrário ERROR_FAILED. Em caso de falha no registro
do interceptador, comandos para o determinado ponto não são interceptados pelo respectivo bloco de função. TYPE_RESULT
está definido na biblioteca LibDataTypes.
Os comandos suportados são descritos na tabela abaixo:
Os parâmetros que compõem as estruturas sSelectParameters, sOperateParameters e sCancelParameters são descritos nas
tabelas a seguir:
145
5. CONFIGURAÇÃO
146
5. CONFIGURAÇÃO
147
5. CONFIGURAÇÃO
Para efetuar a interceptação de comandos para um dado ponto, primeiramente deve-se carregar no parâmetro dwVaria-
bleAddr o endereço da variável correspondente ao ponto que busca-se interceptar comandos e então executar um pulso no
parâmetro bExec. Uma vez recebido o comando, o bloco funcional informa que um comando foi interceptado através do
parâmetro bCommandAvailable. As informações do comando interceptado são então preenchidas nos parâmetros de saída
sCommand e eStatus conforme o tipo de comando que foi recebido. Esta operação depende somente do tipo de comando
recebido, não importando o tipo de dado da variável para qual está se interceptando o comando. A interceptação é finalizada
e então o bloco de função pode ser liberado para interceptar um novo comando quando sinalizado true no parâmetro bDone.
Ainda deve ser indicado o resultado do processamento do comando em eCommandResult.
Um exemplo de aplicação do interceptador de comandos, utilizando a linguagem ST, que encaminha um comando recebido
pelo servidor IEC 60870-5-104 para um ponto duplo de uma saída digital da Série Nexto, pode ser encontrado na seção Pontos
Duplos de Saída Digital.
Para configurar este protocolo usando Mapeamento Simbólico, é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS Mestre, como: tempos de atraso de envio e interframe mínimo
como na Figura 82.
Adicionar e configurar dispositivos através da aba Parâmetros Gerais, definindo endereço do escravo, time-out de comu-
nicação e número de retentativas de comunicação como pode ser visto na Figura 83.
Adicionar e configurar os mapeamentos MODBUS na aba Mapeamentos conforme Figura 84, especificando o nome da
variável, tipo de dados e endereço inicial do dado, o tamanho do dado e a faixa são preenchidos automaticamente.
Adicionar e configurar as requisições MODBUS como apresentado na Figura 85, especificando a função, o tempo de
varredura da requisição, o endereço inicial (leitura/escrita), o tamanho dos dados (Leitura/Escrita) e gerar as variáveis
de diagnóstico e desabilitação das requisições através dos botões na parte inferior da janela.
5.6.5.1.1. Parâmetros Gerais do Protocolo MODBUS Mestre – Configuração por Mapeamento Simbólico
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS (figura abaixo), são definidos
como:
148
5. CONFIGURAÇÃO
Notas:
Atraso do envio: A resposta à uma requisição MODBUS pode causar problemas em certos momentos, como, por exemplo,
na interface RS-485 ou outra half-duplex. Às vezes existe um atraso entre o tempo de resposta do escravo e o silêncio na linha
física (atraso no escravo para colocar RTS em zero e colocar o transmissor RS-485 em alta impedância). Para resolver o
problema, o mestre pode esperar o tempo determinado nesse campo antes de enviar a nova requisição. Caso contrário, os
primeiros bytes transmitidos pelo mestre, durante a requisição, podem ser perdidos.
Interframe mínimo: A norma MODBUS define esse tempo como 3,5 caracteres, porém esse parâmetro é configurável
para atender aos dispositivos que não estão de acordo com o padrão.
Os diagnósticos e comandos do protocolo MODBUS Mestre configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_RTU_MASTER_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, os quais estão descritos na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
149
5. CONFIGURAÇÃO
150
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS RTU Mestre retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos dispositivos escravos, visualizada na figura abaixo, segue os seguintes parâmetros:
151
5. CONFIGURAÇÃO
Notas:
Endereço do escravo: De acordo com a Norma MODBUS, a faixa de endereços válidos para escravos é de 0 a 247, sendo
os endereços 248 a 255 reservados. Quando o mestre envia um comando de escrita com o endereço configurado como zero,
ele está realizando requisições broadcast na rede.
Time-out de comunicação: O time-out da comunicação é o tempo que o mestre aguardará por uma resposta do escravo à
requisição. Para um dispositivo MODBUS RTU Mestre devem ser levadas em consideração ao menos as seguintes variáveis do
sistema: o tempo que o escravo leva para transmitir o frame (de acordo com a taxa de transmissão), o tempo que o escravo leva
para processar a requisição e o atraso de envio da resposta caso seja configurado no escravo. É recomendado que o time-out
seja igual ou maior que o tempo para transmitir o frame somado ao atraso de envio da resposta e a duas vezes o tempo de
processamento da requisição. Para mais informações, ver seção Desempenho de Comunicação.
Número máximo de retentativas: Define o número de retentativas antes de reportar um erro de comunicação. Por
exemplo, se o escravo não responder a um pedido e o mestre estiver configurado para enviar três retentativas, o número do
contador de erros será incrementado por 1 unidade ao final da execução destas três retentativas. Após o incremento do erro
o processo de tentativa de comunicação é reiniciado e caso o número de retentativas seja atingido novamente, novo erro será
incrementado no contador.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
152
5. CONFIGURAÇÃO
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo de Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
A configuração das requisições MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
153
5. CONFIGURAÇÃO
154
5. CONFIGURAÇÃO
Notas:
Configuração: O número de configurações, padrão de fábrica e os valores da coluna opções, podem variar de acordo com
o tipo de dado e função MODBUS (FC).
Código de Função: As funções MODBUS (FC) disponíveis são as seguintes:
Código
Tipo de Função DEC HEX Descrição
1 0x01 Leitura de coils (FC 01)
2 0x02 Leitura de input status (FC 02)
3 0x03 Leitura de holding registers (FC 03)
4 0x04 Leitura de input registers (FC 04)
Acesso a Variáveis 5 0x05 Escrita de um coil (FC 05)
6 0x06 Escrita de um holding register (FC 06)
15 0x0F Escrita de múltiplos coils (FC 15)
16 0x10 Escrita de múltiplos holding registers (FC 16)
22 0x16 Escrita mascarada de um holding register (FC 22)
23 0x17 Leitura/escrita de múltiplos holding registers (FC 23)
Varredura: Este parâmetro indica com que frequência a comunicação definida por esta requisição deve ser executada. Ao
ser finalizada uma comunicação será aguardado um tempo igual ao configurado no campo varredura e, após, será executada
uma nova comunicação.
Endereço Inicial dos Dados de Leitura: Campo destinado ao endereço inicial dos dados de leitura MODBUS.
Tamanho dos Dados de Leitura: O valor mínimo para o tamanho dos dados de leitura é 1 e o valor máximo depende da
função MODBUS (FC) utilizada, conforme abaixo:
Leitura de Coils (FC 1): 2000
Leitura de Input Status (FC 2): 2000
Leitura de Holding Registers (FC 3): 125
Leitura de Input Registers (FC 4): 125
Leitura/Escrita de Holding Registers (FC 23): 121
Faixa dos Dados de Leitura: Este campo mostra a faixa de dados de leitura MODBUS configurada para cada requisição.
O endereço inicial de leitura, somado ao tamanho do dado de leitura resultará na faixa de dados de leitura de cada uma das
requisições.
Endereço Inicial dos Dados de Escrita: Campo destinado ao endereço inicial dos dados de escrita MODBUS.
Tamanho dos Dados de Escrita: O valor mínimo para o tamanho dos dados de escrita é 1 e o valor máximo depende da
função MODBUS (FC) utilizada, conforme abaixo:
155
5. CONFIGURAÇÃO
156
5. CONFIGURAÇÃO
Notas:
Códigos de exceção: Os códigos de exceção apresentados neste campo são os valores retornados pelo escravo. As defi-
nições dos códigos de exceção 128, 129 e 255, apresentadas nessa tabela, são válidas apenas na utilização de escravos Altus.
Para escravos de outros fabricantes esses códigos de exceção podem ter significados diferentes.
Variável de Desabilitação: Campo destinado a variável do tipo booleana utilizada para desabilitar, individualmente, as
requisições MODBUS configuradas na aba Requisições através do botão na parte inferior da janela. A requisição é desabilitada
quando a variável, correspondente a requisição, for igual a 1, caso contrário, a requisição está habilitada.
Último código de Erro: Os códigos das possíveis situações que ocasionam erro na comunicação MODBUS podem ser
consultados abaixo:
157
5. CONFIGURAÇÃO
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS RTU Mestre, e qualquer outra
tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma escrita
em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas de
memória enquanto a MainTask não estiver em execução.
Para configurar este protocolo usando representação direta (%Q), é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS, como: tempos de comunicação e variáveis de representação
direta (%Q) para receber os diagnósticos.
Adicionar e configurar dispositivos, definindo endereço, variáveis de representação direta (%Q) para desabilitar as rela-
ções, time-outs de comunicação, etc.
Adicionar e configurar relações MODBUS, especificando o tipo de dado e função MODBUS, time-outs, variáveis de
representação direta (%Q) para receber os diagnósticos da relação e outras para receber/escrever os dados, quantidade
de dados a comunicar e varredura da relação.
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.
5.6.5.2.1. Parâmetros Gerais do Protocolo MODBUS Mestre – Configuração por Representação Direta (%Q)
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS (figura abaixo), são definidos
como:
158
5. CONFIGURAÇÃO
Notas:
Endereço Inicial de Diagnósticos em %Q: Esse campo é limitado pelo tamanho da memória de variáveis de saídas
endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para o campo Endereço Inicial de Diagnósticos em %Q, pois a criação
de uma instância do protocolo pode ser realizada em qualquer momento no desenvolvimento da aplicação, fazendo com que o
próprio software MasterTool IEC XE aloque um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não
utilizado.
Os diagnósticos e comandos do protocolo MODBUS estão descritos na Tabela 116.
Os tempos de comunicação do protocolo MODBUS Mestre, encontrados no botão Avançado... da tela de configuração,
estão divididos em Atraso do Envio e Interframe Mínimo, maiores detalhes estão descritos na seção Parâmetros Gerais do
Protocolo MODBUS Mestre – Configuração por Mapeamento Simbólico.
159
5. CONFIGURAÇÃO
Notas:
Nome da Instância: Esse campo é o identificador do dispositivo, o qual é verificado segundo a IEC 61131-3, ou seja, não
permite espaços, caracteres especiais e iniciar com caractere numeral. É limitado em 24 caracteres.
Desabilitação dos Mapeamentos: Composta por 32 bits, utilizados para desabilitar, individualmente, as 32 relações
MODBUS configuradas no espaço Mapeamentos do Dispositivo. A relação é desabilitada quando o bit, correspondente à
relação, for igual a 1, caso contrário, o mapeamento está habilitado. Esse campo é limitado pelo tamanho da memória de
variáveis de saídas endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para o campo Desabilitação dos Mapeamentos, pois a criação de uma
instância do protocolo pode ser realizada em qualquer momento no desenvolvimento da aplicação, fazendo com que o próprio
software MasterTool IEC XE aloque um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não utilizado.
Para maiores detalhes dos parâmetros Endereço do Escravo, Time-out de Comunicação e Número máximo de retentativas
ver notas na seção Configuração dos Dispositivos – Configuração por Mapeamento Simbólico.
A configuração das relações MODBUS, visualizada nas figuras abaixo, segue os parâmetros descritos na tabela abaixo:
160
5. CONFIGURAÇÃO
Na tabela abaixo, o número de configurações, padrão de fábrica e os valores da coluna opções, podem variar de acordo
com o tipo de dado e função MODBUS (FC).
161
5. CONFIGURAÇÃO
Notas:
Função: Os tipos de dados disponíveis estão detalhados na Tabela 145 e as funções MODBUS (FC) disponíveis na Tabela
143.
Polling: Este parâmetro indica com que frequência a comunicação definida por esta relação deve ser executada. Ao
ser finalizada uma comunicação será aguardado um tempo igual ao polling configurado e, após, será executada uma nova
comunicação o mais rápido possível.
Área de Diagnósticos do Mapeamento: Esse campo é limitado pelo tamanho da memória de variáveis de saídas ende-
reçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas. Os diagnósticos da relação
MODBUS configurada estão descritos na Tabela 122.
Tamanho dos Dados de Leitura e de Escrita: Detalhes do tamanho dos dados suportados por cada função está descrito
nas notas da seção Configuração das Requisições – Configuração por Mapeamento Simbólico.
Variável IEC de Leitura: Caso o tipo de dado MODBUS seja Coil ou Input Status (bit), o endereço inicial das variáveis
IEC de leitura terá o formato por exemplo %IX10.1. Porém, se o tipo de dado MODBUS for Holding Register ou Input Register
(16 bits), o endereço inicial das variáveis IEC de leitura terá o formato %IW. Esse campo é limitado pelo tamanho da memória
de variáveis de entrada endereçáveis (%I) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Variável IEC de Escrita: Caso o tipo de dado MODBUS seja Coil, o endereço inicial das variáveis IEC de escrita terá
o formato por exemplo %QX10.1. Porém, se o tipo de dado MODBUS for Holding Register (16 bits), o endereço inicial
das variáveis IEC de escrita terá o formato %QW. Esse campo é limitado pelo tamanho da memória de variáveis de saídas
endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Máscara de Escrita do Register: A função Máscara de Escrita (FC 22), através de uma lógica entre o valor já escrito e
as duas words configuradas neste campo, sendo a %QW(0) para a máscara AND e a %QW(2) para a máscara OR; permite ao
usuário manipular a word. Esse campo é limitado pelo tamanho da memória de variáveis de saídas endereçáveis (%Q) de cada
UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para os campos Área de Diagnóstico do Mapeamento, Variável IEC
de Leitura, Variável IEC de Escrita e Máscara de Escrita das Variáveis IEC, pois a criação de uma relação pode ser realizada
em qualquer momento no desenvolvimento da aplicação, fazendo com que o próprio software MasterTool IEC XE aloque
um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não utilizado. O padrão de fábrica não pode ser
definido para os campos Tamanho dos Dados de Leitura e Tamanho dos Dados de Escrita, pois eles vão variar de acordo com
o tipo de dado MODBUS selecionado.
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS RTU Mestre, e qualquer outra
tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma escrita
em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas de
memória enquanto a MainTask não estiver em execução.
162
5. CONFIGURAÇÃO
Independente do modo de configuração, os passos para inserir uma instância do protocolo e configurar a interface serial
são iguais. O procedimento para inserir uma instância de protocolo é encontrado com detalhes no Manual de Utilização do
MasterTool IEC XE – MU299048. As demais etapas de configuração serão descritas a seguir para cada modalidade.
Adicionar a instância do protocolo MODBUS RTU Escravo ao canal serial COM 1 ou COM 2 (ou ambos, em caso de
duas redes de comunicação). Para realizar esse procedimento, consultar a seção Inserindo uma Instância de Protocolo.
Configurar a interface serial, escolhendo a velocidade de comunicação, o comportamento dos sinais RTS/CTS, a pari-
dade, os bits de parada do canal, entre outros. Consultar a seção Configuração das Interfaces Seriais.
Para configurar este protocolo usando Mapeamento Simbólico, é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS escravo, como: endereço do escravo e tempos de comunicação
(disponível no botão de configurações avançadas do Escravo).
Adicionar e configurar as relações MODBUS, especificando o nome da variável, tipo de dado MODBUS, o endereço
inicial do dado e automaticamente são preenchidos o tamanho do dado e a faixa de acordo com o tipo da variável
declarada.
5.6.6.1.1. Parâmetros Gerais do Protocolo MODBUS Escravo – Configuração por Mapeamento Simbólico
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS como apresentado na figura
abaixo.
Os tempos de comunicação do protocolo MODBUS escravo, encontrados no botão Avançado... da tela de configuração,
estão divididos em: Ciclo da Tarefa, Atraso do Envio e Interframe Mínimo como pode ser visto na figura abaixo e na tabela
abaixo.
163
5. CONFIGURAÇÃO
Notas:
Ciclo da Tarefa: O usuário deverá ter cuidado ao alterar esse parâmetro, pois o mesmo interfere diretamente no tempo
de resposta, volume de dados por varredura e, principalmente, no balanceamento dos recursos da UCP entre comunicações e
outras tarefas.
Atraso do Envio: A resposta à uma requisição MODBUS pode causar problemas em certos momentos, como, por exemplo,
na interface RS-485 ou outra half-duplex. Às vezes existe um atraso entre o tempo da requisição do mestre e o silêncio na
linha física (atraso no mestre para colocar RTS em zero e colocar o transmissor RS-485 em alta impedância). Para resolver o
problema, o escravo pode esperar o tempo determinado nesse campo antes de enviar a resposta. Caso contrário, os primeiros
bytes transmitidos pelo escravo, durante a resposta, podem ser perdidos.
Interframe Mínimo: A norma MODBUS define esse tempo como 3.5 caracteres, porém esse parâmetro é configurável
para atender aos dispositivos que não estão de acordo com o padrão.
Os diagnósticos e comandos do protocolo MODBUS Escravo configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_RTU_SLAVE_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, os quais estão descritos na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
164
5. CONFIGURAÇÃO
165
5. CONFIGURAÇÃO
166
5. CONFIGURAÇÃO
167
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS RTU Escravo retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo de Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
168
5. CONFIGURAÇÃO
estejam declarados em uma única relação. Este campo varia de acordo com o tipo de dado MODBUS configurado.
Faixa de Dados: Este campo mostra ao usuário a faixa de endereços de memória utilizada pela relação MODBUS.
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS RTU Escravo, e qualquer outra
tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma escrita
em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas de
memória enquanto a MainTask não estiver em execução.
Para configurar este protocolo usando Representação Direta (%Q), é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS escravo, como: tempos de comunicação, endereço e variáveis
de representação direta (%Q) para receber os diagnósticos e controlar as relações.
Adicionar e configurar relações MODBUS, especificando o tipo de dado MODBUS, variáveis de representação direta
(%Q) para receber/escrever os dados e quantidade de dados a comunicar.
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.
5.6.6.2.1. Parâmetros Gerais do Protocolo MODBUS Escravo – Configuração por Representação Direta (%Q)
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS (figura abaixo), são definidos
como:
169
5. CONFIGURAÇÃO
Notas:
Endereço Inicial de Diagnósticos em %Q: Esse campo é limitado pelo tamanho da memória de variáveis de saídas
endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Endereço do Escravo: É importante salientar que o escravo aceita requisições broadcast, quando o mestre envia um
comando com o endereço configurado como zero. Além disso, de acordo com a Norma MODBUS, a faixa de endereços
válidos para escravos é de 1 a 247, sendo os endereços 248 a 255 reservados.
Desabilitação dos Mapeamentos: Composta por 32 bits, utilizados para desabilitar, individualmente, as 32 relações
MODBUS configuradas no espaço Mapeamentos do Escravo. A relação é desabilitada quando o bit, correspondente à relação,
for igual a 1, caso contrário, o mapeamento está habilitado. Esse campo é limitado pelo tamanho da memória de variáveis de
saídas endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para os campos Endereço Inicial de Diagnósticos em %Q e De-
sabilitação dos Mapeamentos, pois a criação de uma instância do protocolo pode ser realizada em qualquer momento no
desenvolvimento da aplicação, fazendo com que o próprio software MasterTool IEC XE aloque um valor, da faixa de variáveis
de saída de representação direta (%Q), ainda não utilizado.
Os diagnósticos e comandos do protocolo MODBUS estão descritas na Tabela 129.
Os tempos de comunicação do protocolo MODBUS Escravo, encontrados no botão Avançado... da tela de configuração,
estão descritos na Tabela 128.
A configuração das relações MODBUS, visualizada nas figuras abaixo, segue os parâmetros descritos na tabela abaixo:
170
5. CONFIGURAÇÃO
Notas:
Opções: Os valores descritos na coluna Opções podem variar de acordo com o tipo de dado MODBUS configurado.
Tamanho do Dado: O valor de Tamanho do Dado define a quantidade máxima de dados que uma relação MODBUS
poderá acessar, a partir do endereço inicial. Sendo assim, para ler uma faixa de endereços contínua, é necessário que todos os
endereços estejam declarados em uma única relação. Este campo varia de acordo com o tipo de dado MODBUS configurado,
ou seja, quando selecionado tipo Coil ou Input Status, o campo Tamanho do Dado deve ser um número múltiplo de oito.
Também deve-se dar atenção para que o valor máximo não seja superior ao tamanho da memória de saídas endereçáveis e não
sejam atribuídos os mesmos valores já utilizados durante a aplicação.
Variável IEC: Caso o tipo de dado MODBUS seja Coil ou Input Status (bit), o endereço inicial das variáveis IEC terá
o formato por exemplo %QX10.1. Porém, se o tipo de dado MODBUS for Holding Register ou Input Register (16 bits), o
endereço inicial das variáveis IEC terá o formato %QW. Esse campo é limitado pelo tamanho da memória de variáveis de
saídas endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Somente Leitura: Quando habilitada, somente permite que o mestre da comunicação leia os dados das variáveis, não
permitindo a escrita. Opção válida somente para as funções de escrita.
Padrão: O padrão de fábrica não pode ser definido para o campo Variável IEC, pois a criação de uma instância do protocolo
pode ser realizada em qualquer momento no desenvolvimento da aplicação, fazendo com que o próprio software MasterTool
IEC XE aloque um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não utilizado. O padrão de fábrica
não pode ser definido para o campo Tamanho do Dado, pois ele vai variar de acordo com o tipo de dado MODBUS selecionado.
Nas relações definidas anteriormente, o tamanho máximo de dados MODBUS pode ser 65535 (máximo valor configurado
no campo Tamanho do Dado). Porém, a pergunta que chega no MODBUS RTU Escravo deverá endereçar um subconjunto
desse mapeamento e esse grupo deve ter, no máximo, o tamanho de dados que depende do código da função, os quais estão
definidos abaixo:
171
5. CONFIGURAÇÃO
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS RTU Escravo, e qualquer outra
tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma escrita
em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas de
memória enquanto a MainTask não estiver em execução.
172
5. CONFIGURAÇÃO
A associação de variáveis MODBUS com variáveis simbólicas da UCP é realizada pelo usuário através da definição de
relações via configurador MasterTool IEC XE. Podem ser definidas até 32 relações para o modo servidor e até 128 relações
para o modo cliente. Uma relação, em modo servidor, pode definir uma grande área de dados MODBUS e torná-la disponível
para vários clientes. As relações em modo cliente, por outro lado, devem respeitar o tamanho máximo de dados de uma função
MODBUS: 125 registradores (input registers ou holding registers) ou 2000 bits (coils ou input status). Essas informações são
detalhadas na descrição de cada protocolo.
Todas as relações, em modo cliente ou servidor, podem ser desabilitadas através de variáveis de representação direta (%Q)
identificadas como Desabilitação dos Mapeamentos pelo MasterTool IEC XE. A desabilitação pode ocorrer através de bits
gerais, os quais afetam todas as relações de um modo de operação, ou através de bits específicos, afetando relações específicas.
Para as relações em modo servidor, podem ser definidos conjuntos de endereços IPs com permissão de escrita e leitura,
chamados de filtros. Isto é feito através da definição de um endereço de rede IP e de uma máscara de subrede, resultando em
um grupo de IPs clientes que podem escrever e ler nas variáveis da relação. Funções de leitura/escrita são filtradas da mesma
forma que as funções exclusivas de leitura ou escrita. Essas informações são detalhadas na descrição do protocolo MODBUS
Ethernet Servidor.
Quando o protocolo MODBUS TCP é utilizado no modo cliente, pode-se usufruir da característica de múltiplas requisições,
utilizando a mesma conexão TCP para acelerar a comunicação com os servidores. Quando esta característica não for desejada
ou não for suportada pelo servidor, ela pode ser desabilitada (ação em nível de relação). É importante destacar que o número
máximo de conexões TCP entre cliente e servidor é 63, sendo que se alguns parâmetros forem alterados, comunicações inativas
podem ser fechadas, possibilitando a abertura de novas conexões.
As tabelas abaixo trazem, respectivamente, a lista completa dos tipos de dados e funções MODBUS suportadas pelas UCPs
Nexto.
173
5. CONFIGURAÇÃO
Código
Tipo de Função DEC HEX Descrição
1 0x01 Leitura de coils (FC 01)
2 0x02 Leitura de input status (FC 02)
3 0x03 Leitura de holding registers (FC 03)
4 0x04 Leitura de input registers (FC 04)
Acesso a Variáveis 5 0x05 Escrita de um coil (FC 05)
6 0x06 Escrita de um holding register (FC 06)
15 0x0F Escrita de múltiplos coils (FC 15)
16 0x10 Escrita de múltiplos holding registers (FC 16)
22 0x16 Escrita mascarada de um holding register (FC 22)
23 0x17 Leitura/escrita de múltiplos holding registers (FC 23)
Independente do modo de configuração, os passos para inserir uma instância do protocolo e configurar a interface ethernet
são iguais. As demais etapas de configuração serão descritas a seguir para cada modalidade.
Adicionar uma ou mais instâncias do protocolo MODBUS Ethernet Cliente ou Servidor ao canal Ethernet NET 1 ou
NET 2 (ou ambos, em caso de mais de uma rede de comunicação). Para realizar esse procedimento, consultar a seção
Inserindo uma Instância de Protocolo.
Configurar a interface Ethernet. Para realizar esse procedimento, consultar a seção Configuração das Interfaces Ethernet.
Para configurar este protocolo usando Mapeamento Simbólico, é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS Cliente, com o protocolo TCP ou RTU via TCP.
Adicionar e configurar dispositivos, definindo endereço IP, porta, endereço do escravo e time-out de comunicação (dis-
ponível no botão de configurações avançadas do Dispositivo).
Adicionar e configurar os mapeamentos MODBUS, especificando o nome da variável, tipo de dados, endereço inicial
do dado, tamanho do dado e variável que receberá os dados de qualidade.
Adicionar e configurar as requisições MODBUS, especificando a função desejada, o tempo de varredura da requisição,
o endereço inicial (leitura/escrita), o tamanho dos dados (Leitura/Escrita), a variável que receberá os dados de qualidade,
e a variável responsável por desabilitar a requisição.
5.6.8.1.1. Parâmetros Gerais do Protocolo MODBUS Cliente – Configuração por Mapeamento Simbólico
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS (figura abaixo), são definidos
como:
174
5. CONFIGURAÇÃO
Os diagnósticos e comandos do protocolo MODBUS Cliente configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_ETH_CLIENT_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, os quais estão descritos na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
175
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS TCP Cliente retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos dispositivos escravos, visualizada na figura abaixo, segue os seguintes parâmetros:
176
5. CONFIGURAÇÃO
Notas:
Endereço IP: Endereço IP do dispositivo servidor MODBUS.
Porta TCP: Caso sejam adicionadas várias instâncias do protocolo em uma única interface Ethernet, diferentes portas TCP
devem ser selecionadas para cada instância. Algumas portas TCP, entre as possibilidades mencionadas acima, são reservadas
e, portanto, não podem ser utilizadas. São elas: 80, 8080, 1217, 1740, 1741, 1742, 1743 e 11740.
Endereço do Escravo: De acordo com a norma MODBUS, a faixa de endereços válidos para escravos é de 0 a 247, sendo
os endereços 248 a 255 reservados. Quando o mestre envia um comando de escrita com o endereço configurado como zero,
ele está realizando requisições broadcast na rede.
Os parâmetros nas configurações avançadas do dispositivo MODBUS Cliente, encontrados no botão Avançado... na aba
de Parâmetros Gerais, estão divididos em: Número Máximo de Requisições Simultâneas, Time-out de Comunicação, Modo de
time-out da conexão e Tempo de Inatividade.
Notas:
Número Máximo de Requisições Simultâneas: É utilizado em servidores com um alto ciclo de varredura. Esse parâmetro
é fixado em 1 (não editável), quando o protocolo configurado é MODBUS RTU via TCP.
177
5. CONFIGURAÇÃO
Time-out de Comunicação: O time-out da comunicação é o tempo que o cliente aguardará por uma resposta do servidor à
requisição. Para um dispositivo MODBUS Cliente, duas variáveis do sistema devem ser consideradas: o tempo que o servidor
leva para processar a requisição e o atraso de envio da resposta caso seja configurado no servidor. É recomendado que o
time-out seja igual ou maior que duas vezes a soma destes parâmetros. Para mais informações, ver seção Desempenho de
Comunicação.
Modo: Define quando a conexão com o servidor é finalizada pelo cliente. Seguem as opções:
Conexão é fechada depois de um time-out ou Conexão nunca é fechada em situações normais: Estas opções apresentam
o mesmo comportamento do Cliente fechar a conexão devido ao fato do Servidor não ter respondido a uma requisição
antes do Time-out de Comunicação ter se esgotado.
Conexão é fechada ao final de cada comunicação: A conexão é fechada pelo Cliente após concluir cada requisição.
Conexão é fechada após um tempo de inatividade: A conexão será fechada pelo Cliente caso ele fique por um tempo
igual ao Tempo de Inatividade sem realizar requisição para o Servidor.
Tempo de Inatividade: Tempo de inatividade da conexão.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo de Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
A configuração das requisições MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
179
5. CONFIGURAÇÃO
180
5. CONFIGURAÇÃO
Notas:
Configuração: O número de configurações, padrão de fábrica e os valores da coluna opções, podem variar de acordo com
o tipo de dado e função MODBUS (FC).
Código de Função: As funções MODBUS (FC) disponíveis são as seguintes:
Código
Tipo de Função DEC HEX Descrição
1 0x01 Leitura de coils (FC 01)
2 0x02 Leitura de input status (FC 02)
3 0x03 Leitura de holding registers (FC 03)
4 0x04 Leitura de input registers (FC 04)
Acesso a Variáveis 5 0x05 Escrita de um coil (FC 05)
6 0x06 Escrita de um holding register (FC 06)
15 0x0F Escrita de múltiplos coils (FC 15)
16 0x10 Escrita de múltiplos holding registers (FC 16)
22 0x16 Escrita mascarada de um holding register (FC 22)
23 0x17 Leitura/escrita de múltiplos holding registers (FC 23)
Varredura: Este parâmetro indica com que frequência a comunicação definida por esta requisição deve ser executada. Ao
ser finalizada uma comunicação será aguardado um tempo igual ao configurado no campo varredura e, após, será executada
uma nova comunicação.
Endereço Inicial dos Dados de Leitura: Campo destinado ao endereço inicial dos dados de leitura MODBUS.
Tamanho dos Dados de Leitura: O valor mínimo para o tamanho dos dados de leitura é 1 e o valor máximo depende da
função MODBUS (FC) utilizada, conforme abaixo:
Leitura de Coils (FC 1): 2000
Leitura de Input Status (FC 2): 2000
Leitura de Holding Registers (FC 3): 125
Leitura de Input Registers (FC 4): 125
Leitura/Escrita de Holding Registers (FC 23): 121
Faixa dos Dados de Leitura: Este campo mostra a faixa de dados de leitura MODBUS configurada para cada requisição.
O endereço inicial de leitura, somado ao tamanho do dado de leitura resultará na faixa de dados de leitura de cada uma das
requisições.
Endereço Inicial dos Dados de Escrita: Campo destinado ao endereço inicial dos dados de escrita MODBUS.
Tamanho dos Dados de Escrita: O valor mínimo para o tamanho dos dados de escrita é 1 e o valor máximo depende da
função MODBUS (FC) utilizada, conforme abaixo:
Escrita de Um Coil (FC 5): 1
Escrita de Um Holding Register (FC 6): 1
Escrita de Múltiplos Coils (FC 15): 1968
Escrita de Holding Registers (FC 16): 123
181
5. CONFIGURAÇÃO
182
5. CONFIGURAÇÃO
Notas:
Códigos de exceção: Os códigos de exceção apresentados neste campo são os valores retornados pelo servidor. As
definições dos códigos de exceção 128, 129 e 255, apresentadas nessa tabela, são válidas apenas na utilização de escravos
Altus. Para escravos de outros fabricantes esses códigos de exceção podem ter significados diferentes.
Variável de Desabilitação: Campo destinado à variável do tipo booleana utilizada para desabilitar, individualmente, as
requisições MODBUS configuradas na aba Requisições através do botão na parte inferior da janela. A requisição é desabilitada
quando a variável, correspondente a requisição, for igual a 1, caso contrário, a requisição está habilitada.
Último código de Erro: Os códigos das possíveis situações que ocasionam erro na comunicação MODBUS podem ser
consultados abaixo:
183
5. CONFIGURAÇÃO
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS Ethernet Cliente, e qualquer
outra tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma
escrita em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas
de memória enquanto a MainTask não estiver em execução.
5.6.8.2. Configuração do Protocolo MODBUS Ethernet Cliente por Representação Direta (%Q)
Para configurar este protocolo usando representação direta (%Q), é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS, como: tempos de comunicação e variáveis de representação
direta (%Q) para receber os diagnósticos.
Adicionar e configurar dispositivos, definindo endereço, variáveis de representação direta (%Q) para desabilitar as rela-
ções, time-outs de comunicação, etc.
Adicionar e configurar relações MODBUS, especificando o tipo de dado e função MODBUS, time-outs, variáveis de
representação direta (%Q) para receber os diagnósticos da relação e outras para receber/escrever os dados, quantidade
de dados a comunicar e varredura da relação.
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.
5.6.8.2.1. Parâmetros Gerais do Protocolo MODBUS Cliente – Configuração por Representação Direta (%Q)
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS (figura abaixo), são definidos
como:
Notas:
Endereço Inicial de Diagnósticos em %Q: Esse campo é limitado pelo tamanho da memória de variáveis de saídas
endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para o campo Endereço Inicial de Diagnósticos em %Q, pois a criação
de uma instância do protocolo pode ser realizada em qualquer momento no desenvolvimento da aplicação, fazendo com que o
próprio software MasterTool IEC XE aloque um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não
utilizado.
Os diagnósticos e comandos do protocolo MODBUS estão descritos na Tabela 137.
Notas:
Nome da Instância: Esse campo é o identificador do dispositivo, o qual é verificado segundo a IEC 61131-3, ou seja, não
permite espaços, caracteres especiais e iniciar com caractere numeral. É limitado em 24 caracteres.
Porta TCP: Caso sejam adicionadas várias instâncias do protocolo em uma única interface Ethernet, diferentes portas TCP
devem ser selecionadas para cada instância. Algumas portas TCP, entre as possibilidades mencionadas acima, são reservadas
e, portanto, não podem ser utilizadas. São elas: 80, 8080, 1217, 1740, 1741, 1742,1743 e 11740.
Desabilitação dos Mapeamentos: Composta por 32 bits, utilizados para desabilitar, individualmente, as 32 relações
MODBUS configuradas no espaço Mapeamentos do Dispositivo. A relação é desabilitada quando o bit, correspondente à
relação, for igual a 1, caso contrário, o mapeamento está habilitado. Esse campo é limitado pelo tamanho da memória de
variáveis de saídas endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para o campo Desabilitação dos Mapeamentos, pois a criação de uma
instância do protocolo pode ser realizada em qualquer momento no desenvolvimento da aplicação, fazendo com que o próprio
185
5. CONFIGURAÇÃO
software MasterTool IEC XE aloque um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não utilizado.
Time-out de comunicação: As configurações presentes no botão Avançado..., relativas à conexão TCP, estão descritas nas
notas da seção Configuração dos Dispositivos – Configuração por Mapeamento Simbólico.
A configuração das relações MODBUS, visualizada nas figuras abaixo, segue os parâmetros descritos na tabela abaixo:
Na tabela abaixo, o número de configurações, padrão de fábrica e os valores da coluna opções, podem variar de acordo
com o tipo de dado e função MODBUS (FC).
186
5. CONFIGURAÇÃO
Notas:
Tabela de Mapeamentos do Dispositivo: O número de configurações e os valores descritos na coluna Opções podem
variar de acordo com o tipo de dado e função MODBUS.
Endereço do Escravo: Normalmente, o endereço 0 é utilizado quando o servidor é um Gateway MODBUS TCP ou
MODBUS RTU via TCP, e o mesmo transmite a requisição para todos os dispositivos da rede. Quando o endereço 0 é
utilizado, o cliente não espera por uma resposta, seu uso serve somente para comandos de escrita. Além disso, de acordo com
a Norma MODBUS, a faixa de endereços válidos para escravos é de 0 a 247, sendo os endereços 248 a 255 reservados.
Polling: Este parâmetro indica com que frequência a comunicação definida por esta relação deve ser executada. Ao
ser finalizada uma comunicação será aguardado um tempo igual ao polling configurado e, após, será executada uma nova
comunicação o mais rápido possível.
Área de Diagnósticos do Mapeamento: Esse campo é limitado pelo tamanho da memória de variáveis de saídas ende-
reçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas. Os diagnósticos da relação
MODBUS configurada estão descritos na Tabela 122.
Tamanho dos Dados de Leitura e de Escrita: Detalhes do tamanho dos dados suportados por cada função estão descritos
nas notas da seção Configuração das Requisições – Configuração por Mapeamento Simbólico.
Variável IEC de Leitura: Caso o tipo de dado MODBUS seja Coil ou Input Status (bit), o endereço inicial das variáveis
IEC de leitura terá o formato por exemplo %IX10.1. Porém, se o tipo de dado MODBUS for Holding Register ou Input Register
(16 bits), o endereço inicial das variáveis IEC de leitura terá o formato %IW. Esse campo é limitado pelo tamanho da memória
de variáveis de entrada endereçáveis (%I) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Variável IEC de Escrita: Caso o tipo de dado MODBUS seja Coil, o endereço inicial das variáveis IEC de escrita terá
o formato por exemplo %QX10.1. Porém, se o tipo de dado MODBUS for Holding Register (16 bits), o endereço inicial
das variáveis IEC de escrita terá o formato %QW. Esse campo é limitado pelo tamanho da memória de variáveis de saídas
endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Máscara de Escrita do Register: A função Máscara de Escrita (FC 22), através de uma lógica entre o valor já escrito e
as duas words configuradas neste campo, sendo a %QW(0) para a máscara AND e a %QW(2) para a máscara OR; permite ao
usuário manipular a word. Esse campo é limitado pelo tamanho da memória de variáveis de saídas endereçáveis (%Q) de cada
187
5. CONFIGURAÇÃO
Para disparar relações MODBUS Cliente de forma acíclica, sugere-se o seguinte método, que pode ser implementado de
maneira simples no programa da aplicação do usuário:
Definir tempo máximo de polling para as relações;
Manter a relação normalmente desabilitada;
Habilitar a relação no momento em que se deseja executá-la;
Esperar pela confirmação de término da execução da relação, e neste momento desabilitá-la novamente.
Para configurar este protocolo usando Mapeamento Simbólico, é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS servidor, como: porta TCP, seleção de protocolo, filtros de IP
para Escrita e para Leitura (disponível no botão de configuração de filtros) e tempos de comunicação (disponível no
botão de configurações avançadas do Servidor).
Adicionar e configurar os mapeamentos MODBUS, especificando o nome da variável, tipo de dados, endereço inicial
do dado e tamanho do dado.
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.
5.6.9.1.1. Parâmetros Gerais do Protocolo MODBUS Servidor – Configuração por Mapeamento Simbólico
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS como apresentado na figura
abaixo.
188
5. CONFIGURAÇÃO
Nota:
Porta TCP: Caso sejam adicionadas várias instâncias do protocolo em uma única interface Ethernet, diferentes portas TCP
devem ser selecionadas para cada instância. Algumas portas TCP, entre as possibilidades mencionadas acima, são reservadas
e, portanto, não podem ser utilizadas. São elas: 80, 8080, 1217, 1740, 1741, 1742,1743 e 11740.
As configurações presentes no botão Filtros..., descritas na tabela abaixo, são relativas aos filtros de comunicação TCP:
Nota:
Filtros: Os filtros são utilizados para estabelecer um intervalo de endereços IP que têm acesso de escrita ou leitura nas
relações MODBUS, sendo individualmente configurados. O critério de permissão é realizado através de uma operação lógica
AND entre o Filtro de Máscara para Escrita e o endereço IP do cliente. Caso o resultado seja igual ao Filtro de Endereço IP
para Escrita, o cliente tem direito de escrita. Por exemplo, se o Filtro de Endereço IP para Escrita = 192.168.15.0 e o Filtro
de Máscara para Escrita = 255.255.255.0, então somente clientes com endereço IP = 192.168.15.x terão direito de escrita. O
mesmo procedimento é aplicado nos parâmetros de Filtro de Leitura para definir os direitos de leitura.
Os tempos de comunicação do protocolo MODBUS Servidor, encontrados no botão Avançado... da tela de configuração,
estão divididos em: Ciclo da Tarefa e Time-out da Inatividade da Conexão.
189
5. CONFIGURAÇÃO
Notas:
Ciclo da Tarefa: O usuário deverá ter cuidado ao alterar esse parâmetro, pois o mesmo interfere diretamente no tempo
de resposta, volume de dados por varredura e, principalmente, no balanceamento dos recursos da UCP entre comunicações e
outras tarefas.
Time-out da Inatividade da Conexão: Esse parâmetro foi criado para evitar que a quantidade máxima de conexões TCP
seja atingida, imaginando que conexões inativas permanecessem abertas pelos mais diversos problemas. Enfim, indica por
quanto tempo uma conexão (cliente ou servidora) pode permanecer aberta sem ser utilizada, ou seja, sem trocar mensagens de
comunicação. Se o tempo especificado for atingido, a conexão simplesmente é fechada, liberando uma entrada na tabela de
conexões.
Os diagnósticos e comandos do protocolo MODBUS Servidor configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_ETH_SERVER_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, as quais estão descritas na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
190
5. CONFIGURAÇÃO
191
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS Ethernet Servidor retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
192
5. CONFIGURAÇÃO
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo do Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
Endereço Inicial do Dado: Endereço inicial do dado de um mapeamento MODBUS.
Endereço Inicial Absoluto do Dado: Endereço inicial absoluto dos dados MODBUS conforme o seu tipo. Por exemplo,
o Holding Register com endereço 5 possui endereço absoluto 400005. Este campo é apenas de leitura e está disponível para
auxiliar na configuração do Cliente/Mestre MODBUS que irá comunicar-se com este dispositivo. Os valores dependem do
endereço base (offset) de cada tipo de dado MODBUS e do endereço permitido para cada tipo de dado.
Tamanho do Dado: O valor de Tamanho do Dado especifica a quantidade máxima de dados que uma relação MODBUS
poderá acessar, a partir do endereço inicial. Sendo assim, para ler uma faixa de endereços contínua, é necessário que todos os
endereços estejam declarados em uma única relação. Este campo varia de acordo com o tipo de dado MODBUS configurado.
Faixa de Dados: É um campo somente de leitura e informa a faixa de endereços que está sendo usada por esse mapeamento.
Ele é formado pela soma dos campos Endereço Inicial e Tamanho do Dado. Não podem haver sobreposições de faixa com
outros mapeamentos do mesmo Tipo de Dado.
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS Ethernet Servidor, e qualquer
outra tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma
escrita em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas
de memória enquanto a MainTask não estiver em execução.
5.6.9.2. Configuração do Protocolo MODBUS Ethernet Servidor por Representação Direta (%Q)
Para configurar este protocolo usando Representação Direta (%Q), é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS servidor, como: tempos de comunicação, endereço e variáveis
de representação direta (%Q) para receber os diagnósticos e controlar as relações.
Adicionar e configurar relações MODBUS, especificando o tipo de dado MODBUS, variáveis de representação direta
(%Q) para receber/escrever os dados e quantidade de dados a comunicar.
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.
5.6.9.2.1. Parâmetros Gerais do Protocolo MODBUS Servidor – Configuração por Representação Direta (%Q)
Os parâmetros gerais, encontrados na tela inicial de configuração do protocolo MODBUS (figura abaixo), são definidos
como:
193
5. CONFIGURAÇÃO
Porta TCP, Protocolo, Variáveis de representação direta (%Q) para controlar as relações e os diagnósticos:
Notas:
Endereço Inicial de Diagnósticos em %Q: Esse campo é limitado pelo tamanho da memória de variáveis de saídas
endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Porta TCP: Caso sejam adicionadas várias instâncias do protocolo em uma única interface Ethernet, diferentes portas TCP
devem ser selecionadas para cada instância. Algumas portas TCP, entre as possibilidades mencionadas acima, são reservadas
e, portanto, não podem ser utilizadas. São elas: 80, 8080, 1217, 1740, 1741, 1742,1743 e 11740.
Desabilitação dos Mapeamentos: Composta por 32 bits, utilizados para desabilitar, individualmente, as 32 relações
MODBUS configuradas no espaço Mapeamentos do Servidor. A relação é desabilitada quando o bit, correspondente à relação,
for igual a 1, caso contrário, o mapeamento está habilitado. Esse campo é limitado pelo tamanho da memória de variáveis de
saídas endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Padrão: O padrão de fábrica não pode ser definido para os campos Endereço Inicial de Diagnósticos em %Q e De-
sabilitação dos Mapeamentos, pois a criação de uma instância do protocolo pode ser realizada em qualquer momento no
desenvolvimento da aplicação, fazendo com que o próprio software MasterTool IEC XE aloque um valor, da faixa de variáveis
de saída de representação direta (%Q), ainda não utilizado.
Os tempos de comunicação do protocolo MODBUS Servidor, encontrados no botão Avançado... da tela de configuração,
estão divididos em Ciclo da Tarefa (ms) e Time-out da Inatividade da Conexão (s), maiores detalhes estão descritos na seção
Parâmetros Gerais do Protocolo MODBUS Servidor – Configuração por Mapeamento Simbólico.
194
5. CONFIGURAÇÃO
A configuração das relações MODBUS, visualizada nas figuras abaixo, segue os parâmetros descritos na tabela abaixo:
195
5. CONFIGURAÇÃO
Notas:
Opções: Os valores descritos na coluna Opções podem variar de acordo com o tipo de dado MODBUS configurado.
Tamanho do Dado: O valor de Tamanho do Dado define a quantidade máxima de dados que uma relação MODBUS
poderá acessar, a partir do endereço inicial. Sendo assim, para ler uma faixa de endereços contínua, é necessário que todos os
endereços estejam declarados em uma única relação. Este campo varia de acordo com o tipo de dado MODBUS configurado,
ou seja, quando selecionado tipo Coil ou Input Status, o campo Tamanho do Dado deve ser um número múltiplo de oito.
Também deve-se dar atenção para que o valor máximo não seja superior ao tamanho da memória de saídas endereçáveis e não
sejam atribuídos os mesmos valores já utilizados durante a aplicação.
Variável IEC: Caso o tipo de dado MODBUS seja Coil ou Input Status (bit), o endereço inicial das variáveis IEC terá
o formato por exemplo %QX10.1. Porém, se o tipo de dado MODBUS for Holding Register ou Input Register (16 bits), o
endereço inicial das variáveis IEC terá o formato %QW. Esse campo é limitado pelo tamanho da memória de variáveis de
saídas endereçáveis (%Q) de cada UCP, a qual pode ser consultada na seção Características Específicas.
Somente Leitura: Quando habilitada, somente permite que o mestre da comunicação leia os dados das variáveis, não
permitindo a escrita. Opção válida somente para as funções de escrita.
Padrão: O padrão de fábrica não pode ser definido para o campo Variável IEC, pois a criação de uma instância do protocolo
pode ser realizada em qualquer momento no desenvolvimento da aplicação, fazendo com que o próprio software MasterTool
IEC XE aloque um valor, da faixa de variáveis de saída de representação direta (%Q), ainda não utilizado. O padrão de fábrica
não pode ser definido para o campo Tamanho do Dado, pois ele vai variar de acordo com o tipo de dado MODBUS selecionado.
As configurações presentes no botão Filtros..., descritas na tabela abaixo, são relativas aos filtros de comunicação TCP:
Nota:
Filtros: Os filtros são utilizados para estabelecer um intervalo de endereços IP que têm acesso de escrita ou leitura nas
relações MODBUS, sendo individualmente configurados. O critério de permissão é realizado através de uma operação lógica
AND entre o Filtro de Máscara para Escrita e o endereço IP do cliente. Caso o resultado seja igual ao Filtro de Endereço IP
para Escrita, o cliente tem direito de escrita. Por exemplo, se o Filtro de Endereço IP para Escrita = 192.168.15.0 e o Filtro
de Máscara para Escrita = 255.255.255.0, então somente clientes com endereço IP = 192.168.15.x terão direito de escrita. O
mesmo procedimento é aplicado nos parâmetros de Filtro de Leitura para definir os direitos de leitura.
Nas relações definidas anteriormente, o tamanho máximo de dados MODBUS pode ser 65536 (máximo valor configurado
no campo Tamanho do Dado). Porém, a requisição que chega ao MODBUS Ethernet Servidor deverá endereçar um subcon-
junto desse mapeamento e esse grupo deve ter, no máximo, o tamanho de dados que depende do código da função, os quais
estão definidos abaixo:
Leitura de Coils (FC 1): 2000
Leitura de Input Status (FC 2): 2000
Leitura de Holding Registers (FC 3): 125
Leitura de Input Registers (FC 4): 125
Escrita de Um Coil (FC 5): 1
Escrita de Um Holding Register (FC 6): 1
Forçamento de Múltiplos Coils (FC 15): 1968
196
5. CONFIGURAÇÃO
ATENÇÃO:
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS Ethernet Servidor, e qualquer
outra tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma
escrita em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas
de memória enquanto a MainTask não estiver em execução.
197
5. CONFIGURAÇÃO
A figura acima apresenta uma arquitetura para comunicação de sistema SCADA e CPs em projeto de automação. Todos
os papéis presentes na comunicação estão explícitos nesta figura independente do local onde estejam executando, eles podem
estar em um mesmo equipamento ou em equipamentos diferentes. Cada um dos papéis desta arquitetura é descrito na tabela
abaixo.
Papel Descrição
Os dispositivos de campo e os CPs são os dispositivos nos quais
as informações do estado de operações e controle da planta são
Nível Controladores Programá-
armazenados. Os sistemas SCADA acessam as informações
veis e Dispositivos de Campo
nestes dispositivos e armazenam nos servidores SCADA para
consulta pelos Clientes SCADA durante a operação da planta.
A rede de aquisição é a rede na qual trafegam as mensagens para
Rede de Aquisição
solicitar os dados que são coletados dos dispositivos de campo.
Para a comunicação entre o Servidor OPC DA e os CPs da Série
Nexto é utilizado um gateway que permite esta comunicação.
Gateway para Comunicação
Sempre é necessário existir um gateway na mesma subrede do
com CP
CP como descrito no capítulo Configurações de Comunicação,
no Manual de Utilização MasterTool IEC XE – MU299048.
O Servidor OPC DA é um Módulo responsável por receber as
Módulo Servidor OPC requisições OPC DA e traduzi-las para a comunicação com os
dispositivos de campo.
198
5. CONFIGURAÇÃO
Papel Descrição
O módulo Dispositivo do Cliente OPC DA é responsável por
fazer requisições aos Servidores OPC DA utilizando o protocolo
Módulo Dispositivo Cliente OPC
OPC DA. Os dados coletados por ele são armazenados na base
de dados do Servidor SCADA.
O Servidor SCADA é responsável por se conectar aos diversos
dispositivos de comunicação e armazenar os dados coletados
Nível Servidor SCADA
destes dispositivos em uma base de dados para que possam ser
consultados pelos Clientes SCADA.
A rede de supervisão é a rede pela qual os Clientes SCADA
estão conectados aos Servidores SCADA. Em uma topologia na
Rede de Supervisão qual não se usa diversos Clientes ou que o servidor e o Cliente
estejam instalados em um mesmo equipamento, não existe este
tipo de rede.
Os clientes SCADA são responsáveis por solicitar aos servido-
res SCADA os dados necessários para exibir em uma tela onde
Nível Clientes SCADA é executada a operação de uma planta. Através deles é possível
executar leituras e escritas em dados armazenados na base de
dados do Servidor SCADA.
Tabela 157: Descrição dos Papéis em uma Arquitetura com Servidor OPC DA
A relação entre as tags dos sistemas de supervisão e os dados do processo nas variáveis do controlador é totalmente
transparente. Isso significa que se as áreas de dados são alteradas no decorrer do desenvolvimento do projeto, não há a
necessidade de refazer relações entre as informações do CP com o SCADA. Basta utilizar a nova variável disponibilizada pelo
CP nos sistemas que requisitam esse dado.
O uso do OPC DA oferece maior produtividade e conectividade com os sistemas SCADA. Contribui na redução do tempo
de desenvolvimento de aplicações e nos custos com manutenção. Possibilita, ainda, inserção de novos dados na comunicação
de forma simplificada com maior flexibilidade e interoperabilidade entre os sistemas de automação por ser um padrão aberto.
O Servidor OPC DA é instalado juntamente com a instalação do MasterTool IEC XE e sua configuração é realizada dentro
da ferramenta. Vale salientar que o OPC DA está disponível somente nas interfaces Ethernet locais das UCPs Nexto. Os
módulos de expansão Ethernet não suportam essa funcionalidade.
Diferente das comunicações com drivers como MODBUS e PROFIBUS DP, para configurar a comunicação OPC DA basta
configurar o nó corretamente e indicar quais as variáveis que serão utilizadas na comunicação. Existem duas formas de indicar
quais as variáveis de projeto estarão disponíveis no Servidor OPC DA. Em ambos os casos é necessário adicionar o objeto
Symbol Configuration à aplicação, caso este não esteja presente. Para adicioná-lo basta clicar com o botão direito do mouse
sobre o objeto Application e selecionar a opção.
ATENÇÃO:
As variáveis exibidas no objeto IoConfig_Globals, IoConfig_Application_Mappings e IoCon-
fig_Global_Mappings são utilizadas internamente para controle de E/S e não devem ser uti-
lizadas pelo usuário.
ATENÇÃO:
Além das variáveis declaradas nas POUs em linguagem SFC são exibidas algumas va-
riáveis criadas implicitamente. Para cada passo criado é criada uma variável do tipo
IecSfc.SFCStepType onde podem ser monitorados os estados do passo, ou seja, se o mesmo
é ativo ou não e o tempo que é ativo conforme define a norma IEC61131-3. Para cada tran-
sição é criada uma variável do tipo BOOL que define se a transição é verdadeira ou falsa.
Essas variáveis são exibidas no objeto Symbol Configuration podendo ser disponibilizadas
para acesso pelo Cliente OPC DA.
199
5. CONFIGURAÇÃO
A tabela abaixo apresenta a descrição dos campos da tela de configurações dos símbolos no objeto Symbol Configuration.
Campo Descrição
Identificador da variável que será disponibilizada para o Servi-
Símbolos
dor OPC DA.
Indica qual o nível de acesso possível no símbolo declarado.
Quando não se utiliza esta coluna, a mesma fica vazia e o nível
Direitos de Acesso de acesso é máximo. Caso contrário o nível de acesso pode ser
modificado clicando sobre o campo. As opções possíveis são as
seguintes:
Somente leitura
Somente escrita
Leitura e escrita
Indica o máximo nível de acesso que é possível atribuir à variá-
vel. Os símbolos que representam têm o mesmo significado do
Nível Máximo de Acesso
campo Direitos de Acesso. Não é possível alterar e é indicado
pela presença ou não do attribute ’symbol’
Indica se está sendo utilizado attribute ’symbol’ quando decla-
rada a variável. Quando não é utilizado esta coluna fica vazia.
Atributos Para os casos nos quais se usa o atributo o comportamento é o
seguinte:
attribute ’symbol’ := ’read’ a coluna exibe
attribute ’symbol’ := ’write’ a coluna exibe
attribute ’symbol’ := ’readwrite’ a coluna exibe
Tipo Tipo de dado da variável declarada.
Quando o tipo de dado for uma Struct é habilitado um botão
nesta coluna. Ao clicar no botão é possível selecionar quais
Membros
elementos da estrutura serão disponibilizados para o Servidor
OPC.
Comentário da variável inserido na POU ou GVL onde a mesma
é declarada. Para aparecer como comentário da variável, o co-
Comentário mentário deve ser inserido uma linha antes da declaração da
variável, no editor quando em modo texto ou na coluna comen-
tário, quando em modo tabular.
Ao executar uma alteração nas configurações do projeto, como adicionar ou remover variáveis, se faz necessário executar
o comando Compilar para atualizar a lista de variáveis. Este comando deve ser executado até que a mensagem presente na
Figura 112 desapareça. Após isso todas as variáveis disponíveis no projeto, sejam declaradas em POUs, GVLs e diagnósticos,
serão exibidas e podem ser selecionadas. As variáveis selecionadas estarão disponíveis no Servidor OPC DA para acesso pelos
Clientes.
200
5. CONFIGURAÇÃO
Após este procedimento o projeto pode ser carregado em um CP e as variáveis selecionadas estarão disponíveis para
comunicação com o Servidor OPC DA. Se a tela do Objeto Symbol Configuration estiver aberta e alguma das variáveis, POUs
ou GVLs selecionadas for alterada, os nomes destes objetos aparecerão na cor vermelha. As situações nas quais isso acontece
é caso a variável seja deletada ou o valor do atributo tenha sido modificado.
Também é possível configurar quais variáveis estarão disponíveis no Servidor OPC DA através de um atributo inserido
diretamente nas POUs ou GVLs onde as variáveis são declaradas. Quando o atributo attribute ’symbol’ está presente na decla-
ração das variáveis, podendo estar antes da definição do nome da POU ou GVL, ou para cada variável individualmente, estas
são enviadas diretamente para o objeto Symbol Configuration, as quais são apresentadas com um símbolo na coluna Atributos.
Antes de carregar o projeto neste caso é necessário executar o comando Compilar dentro do objeto Symbol Configuration.
As sintaxes válidas para uso do atributo são:
attribute ’symbol’ := ’none’ – quando o valor do atributo for igual a ’none’ as variáveis não serão disponibilizadas para
o Servidor OPC DA e não serão exibidas na tela do objeto Symbol Configuration.
attribute ’symbol’ := ’read’ - quando o valor do atributo for igual a ’read’ as variáveis serão disponibilizadas para o
Servidor OPC DA com direito de acesso somente de leitura.
attribute ’symbol’ := ’write’ - quando o valor do atributo for igual a ’write’ as variáveis serão disponibilizadas para o
Servidor OPC DA com direito de acesso somente de escrita.
attribute ’symbol’ := ’readwrite’ – quando o valor do atributo for igual a ’readwrite’ as variáveis serão disponibilizadas
para o Servidor OPC DA com direito de acesso de leitura e escrita.
No exemplo a seguir de declaração de variáveis, a configuração das variáveis A e B permite que um Servidor OPC DA
acesse as mesmas com direito de acesso para leitura e escrita. Em contraponto a variável C não pode ser acessada, enquanto a
variável D é acessada com direito de acesso apenas para leitura.
Quando uma variável diferente dos tipos básicos é definida, o uso do atributo deve ser feito dentro da declaração desta
DUT e não somente no contexto onde a variável é declarada. Por exemplo, no caso de uma instância DUT declarada dentro de
uma POU ou GVL que possuem um atributo, este não irá impactar no comportamento dos elementos da instância desta DUT.
Será necessário aplicar o mesmo nível de acesso na declaração da DUT.
ATENÇÃO:
As configurações dos símbolos que serão disponibilizados ao Servidor OPC DA são arma-
zenadas dentro do projeto do CP. Ao modificar estas configurações é necessário carregar a
aplicação no CP para que seja possível acessar estas variáveis.
201
5. CONFIGURAÇÃO
ATENÇÃO:
Quando uma variável é excluída do projeto e carregada no CP desmarcando a mesma do
objeto Symbol Configuration, a variável não pode mais ser lida com o Cliente OPC DA. Se
a variável for adicionada ao projeto novamente, com o mesmo nome e o mesmo contexto,
e inserida no objeto Symbol Configuration, será necessário reinicializar o Cliente OPC DA
para atualizar a referência do endereço da variável, que passa a ser criada em outra área de
memória no CP.
A configuração de um CP é executada dentro do MasterTool IEC XE através da opção disponível no menu Comunicação.
É necessário que o MasterTool IEC XE seja executado como administrador.
A Configuração do Gateway é a mesma configurada no Gateway utilizado para comunicação entre o MasterTool IEC XE
e o CP e descrita em Configurações de Comunicação, presente no Manual de Utilização MasterTool IEC XE – MU299048.
Se a configuração utilizada for localhost o Endereço do Gateway deve ser preenchido com 127.0.0.1. Esta configuração é
necessária, pois o Servidor OPC utiliza o mesmo gateway de comunicação e o mesmo protocolo utilizados na comunicação
entre CP e MasterTool IEC XE.
Existe a opção Utilizar o Gateway Embarcado no CP que pode ser selecionada quando se deseja utilizar o Gateway que
fica no próprio CP. Esta opção pode ser empregada para otimizar a comunicação, pois ela evita o excesso de tráfego através de
uma determinada estação, quando mais de uma estação, com Cliente OPC DA, esteja conectada ao mesmo CP.
Para a configuração do CP, são possíveis dois tipos de configuração, conforme a seleção do checkbox Usar Driver Bloque-
ante TCP/IP. Quando a opção não está selecionada o nome do CP deve ser colocado no campo Nome do Dispositivo. Este é o
nome exibido pelo CP selecionado como ativo na tela de Configurações de Comunicação.
A outra opção é usar o Endereço de IP das Interfaces Ethernet. O mesmo endereço configurado nas telas de configuração
deve ser colocado neste campo. Além disso, quando for utilizado este método deve ser colocado o número da porta 11740. A
confirmação irá salvar as configurações do Servidor OPC DA.
202
5. CONFIGURAÇÃO
203
5. CONFIGURAÇÃO
Quando um novo CP precisar ser configurado no Servidor OPC DA basta pressionar o botão Novo Dispositivo que a confi-
guração será criada. Sempre que a tela de configuração for acessada será exibida uma lista com todos os CPs já configurados no
Servidor OPC DA. As configurações existentes podem ser editadas selecionando o CP na lista Dispositivos e editando os pa-
râmetros. As configurações de CPs que não são mais utilizadas podem ser excluídas. O número máximo de CPs configurados
em um Servidor OPC DA é 16.
Caso a arquitetura de automação utilizada preveja que o servidor OPC DA deve ser executado em um computador onde não
é executada a comunicação com o CP via MasterTool IEC XE, a ferramenta deve ser instalada neste computador para permitir
a configuração do Servidor OPC DA da mesma maneira como é feito nas outras situações.
ATENÇÃO:
Para armazenar a configuração do Servidor OPC DA, o MasterTool IEC XE precisa ser
executado com direitos de administrador no Sistema Operacional. Dependendo da versão
do Sistema Operacional este direito deve ser autorizado ao executar o programa. Para essa
operação clique com o botão direito sobre o executável do MasterTool IEC XE e escolha a
opção Executar como administrador.
ATENÇÃO:
As configurações de um CP no Servidor OPC DA não são armazenadas no projeto criado no
MasterTool IEC XE. Por esta razão podem ser realizadas com um projeto aberto ou fechado.
As configurações são armazenadas em um arquivo de configuração onde o Servidor OPC DA
está instalado. Quando alterar as configurações não é necessária carga de aplicação no CP,
mas dependendo do Cliente OPC DA é possível que seja necessário conectar novamente ao
Servidor ou carregar as configurações para que os dados sejam atualizados corretamente.
Utilizando o botão Ler Configuração do Projeto, conforme a Figura 114, é possível atribuir a configuração do projeto
aberto à configuração do CP que está em edição. Para que esta opção funcione corretamente deve existir um projeto aberto e
deve ser definido um Caminho Ativo conforme descrito em Configurações de Comunicação, presente no Manual de Utilização
MasterTool IEC XE – MU299048. Caso alguma destas condições não seja atendida será exibida uma mensagem de erro e
nenhum dado será modificado.
Quando as condições anteriores são válidas, as configurações do CP recebem os parâmetros do projeto aberto. As informa-
ções de Endereço de IP e Porta do Gateway são configuradas conforme descrito em Configurações de Comunicação de acordo
com o Caminho Ativo. Entretanto, as configurações de Endereço de IP são lidas das configurações da interface Ethernet NET1.
A porta para conexão com o CP é sempre atribuída neste caso como 11740.
É possível configurar o Servidor OPC DA para que este opere com redundância de conexão. Desta forma o Servidor
OPC DA irá se comunicar preferencialmente com um CP, mas quando, por alguma razão, não conseguir estabelecer uma
comunicação com este CP um segundo CP também configurado será acessado. Esta configuração é especialmente importante
para a comunicação de sistemas SCADA com os CPs da Série Nexto que utilizam redundância de Half-Cluster, onde existe um
CP em estado ativo executando o processo e outro CP em estado reserva apto a assumir o controle do processo quando ocorrer
algum tipo de falha.
A configuração do projeto nestes casos é semelhante a descrita em Criando um Projeto para Comunicação OPC DA.
Contudo, quando um Projeto é criado com Redundância de Half-Cluster e a comunicação com o sistema de supervisão se dará
através do Servidor OPC DA, é necessário selecionar a opção da Configuração de comunicação OPC DA como habilitada
durante o Assistente de criação de projeto do MasterTool IEC XE. Ao habilitar esta opção o projeto criado terá o código
necessário para funcionamento da comunicação com redundância de conexão OPC DA.
No caso redundante, uma variável é declarada dentro da POU, chamada NonSkippedPrg. Esta POU é executada em ambos
os CPs, independente do estado de redundância. Dentro desta POU é declarada uma variável do tipo BOOL, utilizada para o
controle da conexão com o Servidor OPC DA chamada OPCRedundancyActive. Esta variável pode ser acessada de qualquer
ponto da aplicação, através de todo o contexto, ou seja, Application.NonSkippedPrg.OPCRedundancyActive. Ela é declarada
dentro do objeto Symbol Configuration com direito apenas de leitura por parte do SCADA. Quando o valor da variável for
igual a TRUE os dados são lidos através da conexão com este CP. Desta forma toda vez que ocorre uma troca de estado entre
os CPs a variável tem seu estado alterado, permanecendo no estado TRUE no CP que está no estado ativo de redundância.
O código do programa NonSkippedPrg é o seguinte, em linguagem ST:
1 PROGRAM NonSkippedPrg
2 VAR
204
5. CONFIGURAÇÃO
O código do programa NonSkippedPrg pode ser editado tomando-se o cuidado de manter o código acima sem alterações.
Este código testa o estado da redundância e preenche uma variável do tipo BOOL chamada OPCRedundancyActive, em função
deste estado. Caso o CP seja o Ativo, o valor da variável será TRUE, caso contrário será FALSE. Esta variável recebe o attribute
‘symbol’ := ‘read’ para permitir que o Servidor OPC DA acesse o seu conteúdo e defina de onde a informação deve ser lida.
Caso se decida adicionar comunicação OPC DA após um projeto ter sido criado, é possível configurar o OPC DA adicio-
nando o código anterior no programa NonSkippedPrg e adicionando o objeto Symbol Configuration ao projeto.
Para a configuração do CP redundante no Servidor OPC DA é necessário selecionar a opção Configuração Redundante
na tela de configuração conforme exibido na Figura 114. Quando esta opção é selecionada, será sempre utilizada a opção
Usar Driver Bloqueante TCP/IP. Além disso, serão habilitados os campos Endereço de IP do CPA e Endereço de IP do CPB
conforme descrito na Tabela 159. Estes Endereços de IP são os mesmos configurados nas interfaces Ethernet dentro do projeto
do CP com redundância de Half-Cluster. Para facilitar a configuração quando um projeto redundante estiver aberto, o botão
Ler Configuração do Projeto pode ser utilizado.
ATENÇÃO:
A redundância de conexão do Servidor OPC DA é realizada por apenas um Servidor. Nos
casos em que se deseje uma maior disponibilidade dos dados para os sistemas de supervisão
deve ser usada uma arquitetura com Servidores SCADA redundantes. Nestes casos não
é necessária nenhuma configuração no Servidor OPC DA. Consulte as documentações do
sistema SCADA para verificar quais as configurações necessárias para o funcionamento da
arquitetura redundante.
Para cada um dos CPs criados no Servidor OPC DA são geradas variáveis de status chamadas de _CommState e _CommSta-
teOK. A variável _CommState indica o estado da comunicação do Servidor OPC DA com CP. Este estado pode ser interpretado
pelo Cliente OPC DA conforme a tabela abaixo.
205
5. CONFIGURAÇÃO
A variável _CommStateOK é uma variável do tipo BOOL que indica se a comunicação está funcionando entre o Servidor
OPC DA e o CP. Quando o valor é TRUE, indica que a comunicação está funcionando corretamente. Se o valor for FALSE
não é possível comunicar por alguma razão com o CP.
Além de monitorar o estado da comunicação, o Cliente OPC DA pode acessar informações da qualidade de comunicação.
Os bits de qualidade formam um byte. Eles estão divididos em três grupos de bits: Qualidade, Substatus e Limite. Os bits
estão distribuídos da seguinte forma QQSSSSLL, onde QQ representa os bits de Qualidade, SSSS os bits de Substatus e LL os
bits de Limite. Neste caso os bits QQ são os mais significativos no byte, enquanto os bits LL são os menos significativos.
A Tabela 161 apresenta os valores possíveis de qualidade. O Servidor OPC DA retorna apenas valor com Qualidade Good
e Bad. Um Cliente OPC DA pode manter a qualidade como Uncertain em caso de alguma falha na qual ele não consiga
uma conexão com o Servidor. No caso de monitoração dos 8 bits de qualidade diretamente do Servidor OPC DA os campos
Substatus e Limite serão nulos e a Qualidade Good será representada com o valor 192 e a qualidade Bad com o valor 0.
Para comunicação com o Servidor OPC DA existem algumas limitações que devem ser respeitadas para o correto funcio-
namento da aplicação. Não devem ser configuradas para estarem disponíveis no Servidor OPC DA mais de 20.000 variáveis
em cada CP. Portanto, 20.000 variáveis é o limite máximo a se comunicar com um único CP.
Além disso, quando configurar as variáveis a serem disponibilizadas no Servidor OPC DA, a quantidade de variáveis
declarada em cada POU ou GVL não deve ultrapassar o limite de 5.000. A tabela abaixo apresenta os limites de configuração
do Servidor OPC DA.
206
5. CONFIGURAÇÃO
ATENÇÃO:
O número máximo de conexões simultâneas de Servidor OPC DA em um mesmo CP é com-
partilhado com as conexões realizadas com o MasterTool IEC XE. Ou seja, a soma de cone-
xões com Servidor OPC DA e MasterTool IEC XE não deve ultrapassar o número máximo
definido na Tabela 162.
A comunicação entre o Servidor OPC DA e o CP utiliza o mesmo protocolo utilizado para comunicação do MasterTool
IEC XE com o CP. Este protocolo só está disponível para as interfaces Ethernet das UCPs da Série Nexto, não sendo possível
estabelecer este tipo de comunicação com módulos de expansão Ethernet.
Quando uma comunicação é estabelecida entre o Servidor OPC DA e o CP estes dois elementos iniciam uma série de
transações que visam resolver o endereço de cada variável declarada, otimizando a comunicação em regime de leitura de
dados. Além disso, nesta fase também são resolvidas as classificações dos grupos de comunicação usados por alguns Clientes
com o intuito de otimizar a comunicação. Este processo inicial demanda algum tempo e depende da quantidade de variáveis
mapeadas.
O tempo aproximado desta fase inicial com 5.000 variáveis é de aproximadamente 2 min. Nos casos em que mais variáveis
são utilizadas este tempo pode ser de até 4 min, dependendo do tipo de dado e das configurações da rede.
Após a configuração do Servidor OPC DA os dados disponíveis em todos os CPs podem ser acessados via um Cliente OPC
DA. Na configuração do Cliente OPC DA deve ser selecionado o nome do Servidor OPC DA correto. Neste caso o nome é
CoDeSys.OPC.DA. A figura abaixo exibe a seleção do servidor no driver cliente do software SCADA BluePlant.
ATENÇÃO:
Da mesma forma que o MasterTool IEC XE algumas ferramentas precisam ser executadas
com direitos de administrador no Sistema Operacional para o correto funcionamento do
Cliente OPC DA. Dependendo da versão do Sistema Operacional este direito deve ser au-
torizado ao executar o programa. Para essa operação clique com o botão direito sobre o
executável da ferramenta e escolha a opção Executar como administrador.
207
5. CONFIGURAÇÃO
Nos casos em que o servidor se encontra remotamente pode ser necessário adicionar o caminho da rede ou o endereço
de IP do computador onde se encontra o servidor instalado. Nestes casos existem duas opções de configuração. A primeira
delas é configurar diretamente para isso sendo necessário liberar os Serviços de COM/DCOM do Windows. Contudo, uma
forma mais simples é utilizar uma ferramenta de tunneller que abstrai as configurações de COM/DCOM, além de possibilitar
uma comunicação mais segura entre o Cliente e o Servidor. Para mais informações sobre este tipo de ferramenta consultar a
NAP151 - Utilização do Tunneller OPC.
Uma vez que o Cliente se conecta no Servidor podem ser usados comandos de importação de TAGs. Estes comandos
consultam informações declaradas no CP, retornando uma lista com todos os símbolos disponibilizados por este.
A lista de variáveis selecionadas será incluída na lista de comunicações do Cliente e podem ser utilizadas, por exemplo,
em telas de um sistema SCADA.
208
5. CONFIGURAÇÃO
ATENÇÃO:
O modo de simulação do software MasterTool IEC XE pode ser utilizado para testes da
comunicação OPC DA. As informações sobre como configurá-lo estão presentes na seção
Testando a Comunicação OPC com o Uso do Simulador, do Manual de Utilização MasterTool
IEC XE – MU299048.
A figura acima apresenta uma arquitetura típica para comunicação de sistema SCADA e CPs em projeto de automação.
Todos os papéis presentes na comunicação estão explícitos nesta figura independente do local onde estejam executando, eles
podem estar em um mesmo equipamento ou em equipamentos diferentes. Cada um dos papéis desta arquitetura é descrito na
tabela abaixo.
209
5. CONFIGURAÇÃO
Papel Descrição
Os dispositivos de campo e os CPs são os dispositivos nos quais
as informações do estado de operação e controle da planta são
Nível Controladores Programá-
armazenadas. Os sistemas SCADA acessam as informações
veis e Dispositivos de Campo
nestes dispositivos e armazenam nos Servidores SCADA para
consulta pelos Clientes SCADA durante a operação da planta.
O Servidor OPC UA é um módulo interno dos CPs responsável
Módulo Servidor OPC UA por receber as requisições OPC UA e traduzi-las para a comu-
nicação com os dispositivos de campo.
A rede de aquisição é a rede na qual trafegam as mensagens
Rede de Aquisição OPC UA para solicitar os dados que são coletados dos CPs e
dispositivos de campo.
O módulo Cliente OPC UA, que faz parte do Servidor SCADA,
é responsável por fazer requisições aos Servidores OPC UA uti-
Módulo Cliente OPC UA
lizando o protocolo OPC UA. Os dados coletados por ele são
armazenados na base de dados do Servidor SCADA.
O Servidor SCADA é responsável por se conectar aos diversos
dispositivos de comunicação e armazenar os dados coletados
Nível Servidor SCADA
destes dispositivos em uma base de dados para que possam ser
consultados pelos Clientes SCADA.
A rede de supervisão é a rede pela qual os Clientes SCADA es-
tão conectados aos Servidores SCADA, muitas vezes utilizando
um protocolo proprietário do sistema SCADA específico. Em
uma topologia na qual não se usa diversos Clientes ou que o
Rede de Supervisão
Servidor e o Cliente estejam instalados em um mesmo equi-
pamento, não existe este tipo de rede, e neste caso este equi-
pamento deve utilizar diretamente o protocolo OPC UA para
comunicação com o CP.
Os clientes SCADA são responsáveis por solicitar aos servido-
res SCADA os dados necessários para exibir em uma tela onde
Nível Clientes SCADA é executada a operação de uma planta. Através deles é possível
executar leituras e escritas em dados armazenados na base de
dados do Servidor SCADA.
Tabela 163: Descrição dos Papéis em uma Arquitetura com Servidor OPC UA
Ao utilizar o protocolo OPC UA, a relação entre as tags dos sistemas de supervisão e os dados do processo nas variáveis
do controlador é totalmente transparente. Isso significa que se as áreas de dados são alteradas no decorrer do desenvolvimento
do projeto, não há a necessidade de refazer relações entre as informações do CP com o SCADA. Basta utilizar a nova variável
disponibilizada pelo CP nos sistemas que requisitam esse dado.
O uso do OPC UA oferece maior produtividade e conectividade com os sistemas SCADA. Contribui na redução do tempo
de desenvolvimento de aplicações e nos custos com manutenção. Possibilita, ainda, inserção de novos dados na comunicação
de forma simplificada com maior flexibilidade e interoperabilidade entre os sistemas de automação por ser um padrão aberto.
Vale salientar que o OPC UA está disponível somente nas interfaces Ethernet locais das UCPs Nexto. Os módulos de
expansão Ethernet não suportam essa funcionalidade.
Os passos para criação de um projeto com OPC UA são muito similares aos passos descritos na seção Criando um Projeto
para Comunicação OPC DA. Assim como no protocolo OPC DA, a configuração do protocolo OPC UA está baseada na
configuração da Symbol Configuration. Para habilitar o OPC UA basta habilitar a opção Suporte a característica OPC UA na
configuração, conforme ilustrado na figura abaixo.
210
5. CONFIGURAÇÃO
ATENÇÃO:
Ao ativar o suporte ao protocolo OPC UA, o suporte ao protocolo OPC DA continua ha-
bilitado. É possível habilitar as comunicações OPC UA e OPC DA ao mesmo tempo, para
reportar as variáveis configuradas no objeto Symbol Configuration ou via atributos.
Outro caminho para acessar esta configuração, após já criado um projeto com o objeto Symbol Configuration, se dá aces-
sando o menu Configurações da aba de configuração da Symbol Configuration. Basta selecionar a opção Suporte a caracterís-
ticas OPC UA para habilitar o suporte ao protocolo OPC UA, conforme ilustrado na figura abaixo.
Após este procedimento o projeto pode ser carregado em um CP e as variáveis selecionadas estarão disponíveis para
comunicação com o Servidor OPC UA.
Esta seção define os tipos de variáveis que suportam comunicação via protocolo OPC UA, quando declaradas dentro de
GVLs ou POUs e selecionadas no objeto Symbol Configuration (ver seção anterior).
Os seguintes tipos de variáveis simples são suportados:
211
5. CONFIGURAÇÃO
BOOL
SINT
USINT / BYTE
INT
UINT / WORD
DINT
UDINT / DWORD
LINT
ULINT / LWORD
REAL
LREAL
STRING
TIME
LTIME
É possível também utilizar tipos estruturados (STRUCTs ou Blocos Funcionais) criados a partir dos tipos simples anterio-
res.
Finalmente, também é possível criar arrays de tipos simples ou de tipos estruturados.
O número máximo de variáveis configuradas no CP para comunicação via OPC UA é 20000. Porém, ao configurar as
variáveis a serem disponibilizadas no Servidor OPC UA, a quantidade de variáveis declarada em cada POU ou GVL não deve
ultrapassar o limite de 5000, sendo necessário no mínimo quatro POUs ou GVLs caso deseje-se utilizar as 20000 variáveis.
Deve-se considerar as seguintes observações sobre a contagem de variáveis:
Cada variável simples conta como uma variável;
Cada campo de uma estrutura conta como uma variável;
Cada posição de um array conta como uma variável, exceto no caso de arrays de estruturas, onde cada posição conta
como o número de campos da estrutura.
Quando uma comunicação é estabelecida entre o Servidor OPC UA e o CP, estes dois elementos iniciam uma série de
transações que visam resolver o endereço de cada variável declarada, otimizando a comunicação em regime de leitura de
dados. Além disso, nesta fase também são resolvidas as classificações dos grupos de comunicação usados por alguns Clientes
com o intuito de otimizar a comunicação. Este processo inicial demanda algum tempo e depende da quantidade de variáveis
mapeadas.
Se desejado, o usuário pode configurar criptografia para a comunicação OPC UA usando o perfil Basic256SHA256, para
obter uma conexão segura (segurança cibernética).
Para configurar a criptografia num servidor OPC UA deve-se criar um certificado para o mesmo, executando os seguintes
passos no programador Mastertool:
1. Definir um caminho ativo para comunicação com o controlador (não é necessário fazer login);
2. No menu Visualizar, selecionar Tela de Segurança;
3. Clicar na aba Devices no lado esquerdo desta tela;
212
5. CONFIGURAÇÃO
10. De volta ao Mastertool, clique no ícone da Tela de Segurança para executar um refresh;
11. Na Tela de Segurança, selecione a pasta "Quarantined Certificates"abaixo do Device. No painel direito deve-se observar
um certificado solicitado pelo cliente OPC UA;
12. Arraste este certificado para a pasta "Trusted Certificates";
13. Prossiga as configurações no cliente OPC UA (ver manual do cliente OPC UA específico para detalhes).
Para remover a criptografia previamente configurada num controlador, deve-se seguir o seguinte procedimento:
1. Definir um caminho ativo para comunicação com o controlador (não é necessário fazer login);
2. No menu Visualizar, selecionar Tela de Segurança;
3. Clicar na aba Devices no lado esquerdo desta tela;
Alguns parâmetros de comunicação OPC UA são configurados no cliente OPC UA, e negociados com o servidor OPC UA
no momento em que a conexão entre ambos é estabelecida. As próximas subseções descrevem os principais parâmetros de
comunicação OPC UA, seu significado, e cuidados para selecionar valores adequados para os mesmos.
Num cliente OPC UA é possível agrupar as variáveis de um servidor em diferentes subscriptions. Cada subscription é
um conjunto de variáveis que são reportadas num único pacote de comunicação (PublishResponse) enviado do servidor para o
cliente. A seleção das variáveis que comporão cada subscription é feita no cliente OPC UA.
ATENÇÃO:
O agrupamento de variáveis em múltiplas subscriptions é interessante para otimizar a ca-
pacidade de processamento e consumo de banda de comunicação Ethernet. Tais aspectos
de otimização são analisados com maior profundidade na nota de aplicação NAP153, onde
algumas regras para a composição de subscriptions são sugeridas. Esta nota de aplicação
também discute com maior profundidade diversos conceitos sobre o protocolo OPC UA.
Alguns dos parâmetros de comunicação descritos a seguir devem ser definidos para o servidor como um todo, outros para
cada subscription, e outros para cada variável que compõe uma subscription.
O parâmetro Publishing Interval (unidade: milissegundos) deve ser definido para cada subscription.
O parâmetro Sampling Interval deve ser definido para cada variável (unidade: milissegundos). Entretanto, em muitos
clientes OPC UA o parâmetro Sampling Interval pode ser definido para uma subscription, sendo igual para todas as variáveis
agrupadas na subscription.
Somente as variáveis de uma subscription cujos valores se modificaram são reportadas para o cliente através de um pacote
de comunicação PublishResponse. O parâmetro Publishing Interval define o intervalo mínimo entre pacotes PublishResponse
consecutivos da mesma subscription, com o objetivo de limitar o consumo de processamento e de banda de comunicação
Ethernet.
213
5. CONFIGURAÇÃO
Para descobrir quais variáveis da subscription se modificaram e devem ser reportadas para o cliente no próximo pacote
PublishResponse, o servidor deve executar comparações, e tais comparações (samplings) são executadas pelo mesmo com o
intervalo Sampling Interval. Recomenda-se que o valor do Sampling Interval varie entre 50% e 100% do valor do Publishing
Interval, pois existe um consumo de processamento relativamente alto associado ao processo de comparação executado em
cada Sampling Interval.
Pode-se dizer que a soma entre o Publishing Interval e o Sampling Interval é o retardo máximo entre a mudança de um
valor no servidor e a transmissão do pacote PublishResponse que reporta esta mudança. A metade desta soma é o retardo
médio entre a mudança de um valor no servidor e a transmissão do pacote PublishResponse que reporta esta mudança.
Estes parâmetros devem ser mantidos com os seguintes valores fixos, que normalmente são os valores padrão nos clientes:
Queue Size: 1
Discard Oldest: enable
De acordo com a norma OPC UA, é possível definir estes parâmetros para cada variável. No entanto, muitos clientes
permitem definir valores comuns para todas as variáveis configuradas numa subscription.
Queue Size deve ser mantido com o valor 1 pois não existe suporte a eventos nesta implementação do servidor OPC UA, e
portanto é desnecessário definir uma fila. Aumentar o valor de Queue Size pode implicar em aumento na banda de comunicação
e processamento da CPU, e isso deve ser evitado.
Discard Oldest deve ser mantido com o valor enable, para que o pacote PublishResponse sempre reporte a mudança de
valor mais recente detectada para cada variável.
Estes parâmetros devem ser mantidos com os seguintes valores fixos, que normalmente são os valores padrão nos clientes:
Filter Type: DataChangeFilter
Deadband Type: none
De acordo com a norma OPC UA, é possível definir estes parâmetros para cada variável. No entanto, muitos clientes
permitem definir valores comuns para todas as variáveis configuradas numa subscription.
O parâmetro Filter Type deve valer DataChangeFilter, indicando que mudanças de valores nas variáveis devem provocar
sua transmissão num pacote PublishResponse.
Deadband Type deve ser mantido em “none” porque não existe implementação de deadbands para variáveis analógicas.
Desta forma, qualquer alteração da variável analógica, por mínima que seja, provoca sua transmissão num pacote PublishRes-
ponse.
Para reduzir consumo de processamento e banda de comunicação Ethernet, o usuário poderá implantar deadbands por sua
conta da seguinte forma:
Não incluir a variável analógica numa subscription;
Ao invés disso, incluir numa subscription uma variável auxiliar vinculada à variável analógica;
Copiar a variável analógica para a variável auxiliar somente quando o deadband gerenciado pelo usuário for extrapolado.
214
5. CONFIGURAÇÃO
Sugere-se que os seguintes parâmetros sejam mantidos com os seguintes valores, que normalmente são os valores padrão
nos clientes:
PublishingEnabled: true
MaxNotificationsPerPublish: 0
Priority: 0
Estes parâmetros devem ser configurados para cada subscription.
PublishingEnable deve valer “true” para que as variáveis da subscription sejam reportadas em caso de mudança de valor.
MaxNotificationsPerPublish indica quantas das variáveis que mudaram de valor podem ser incluídas num mesmo pacote
PublishResponse. O valor especial “0” indica que não existe um limite para isso, e recomenda-se utilizar este valor para que
todas as variáveis que mudaram sejam reportadas num mesmo pacote PublishResponse.
Priority indica a prioridade relativa desta subscription em relação a outras. Caso em determinado momento o servidor
deva enviar múltiplos pacotes PublishResponse de subscriptions diferentes, priorizará aquele com o maior valor de priority. Se
todas as subscriptions tiverem a mesma prioridade, os pacotes PublishResponse serão transmitidos numa sequência fixa.
Após a configuração do Servidor OPC UA os dados disponíveis em todos os CPs podem ser acessados via um Cliente
OPC UA. Na configuração do Cliente OPC UA deve ser selecionado o endereço do Servidor OPC UA correto. Neste caso o
endereço opc.tcp://endereço-ip-do-dispositivo:4840. A figura abaixo exibe a seleção do servidor no driver cliente do software
SCADA BluePlant.
ATENÇÃO:
Da mesma forma que o MasterTool IEC XE, algumas ferramentas precisam ser executa-
das com direitos de administrador no Sistema Operacional para o correto funcionamento
do Cliente OPC UA. Dependendo da versão do Sistema Operacional este direito deve ser
autorizado ao executar o programa. Para essa operação clique com o botão direito sobre o
executável da ferramenta e escolha a opção Executar como administrador.
215
5. CONFIGURAÇÃO
Uma vez que o Cliente se conecta no Servidor podem ser usados comandos de importação de TAGs. Estes comandos
consultam informações declaradas no CP, retornando uma lista com todos os símbolos disponibilizados por este.
A lista de variáveis selecionadas será incluída na lista de comunicações do Cliente e podem ser utilizadas, por exemplo,
em telas de um sistema SCADA.
A fim de ser possível inserir e configurar dispositivos EtherCAT como objetos na árvore de dispositivos, os dispositivos
Escravos devem ser instalados.
O dispositivo Mestre é instalado automaticamente pela instalação padrão do MasterTool IEC XE. O Mestre EtherCAT
define quais Escravos podem ser inseridos.
Para instalar os dispositivos Escravos deve ser aberto o diálogo Repositório de Dispositivos, utilizar o filtro Arquivo de
Configuração da Descrição do Dispositivo EtherCAT XML (*.xml) e selecionar os arquivos de descrição de dispositivo (Ether-
CAT XML Device Description / ESI EtherCAT Slave Information), fornecido com o hardware. As descrições para os Escravos
estão disponíveis como arquivos XML (tipo de arquivo: *.xml).
216
5. CONFIGURAÇÃO
Um Mestre EtherCAT pode ser adicionado à Árvore de Dispositivos através do comando Acrescentar Dispositivo, através
do menu de contexto dos conectores NET da UCP.
Abaixo de um mestre, um ou mais escravos podem ser inseridos, selecionando um Mestre EtherCAT e executando o
comando Acrescentar Dispositivo (menu de contexto do Mestre EtherCAT) ou executando o comando Procurar Dispositivos.
Além das topologias de linha e de árvore o MasterTool IEC XE também suporta a topologia em estrela de EtherCAT. Para
a configuração de uma topologia em estrela EtherCAT junções especiais EtherCAT são necessárias (no exemplo: Beckhoff
EK1122). Uma estrela EtherCAT modular pode ser realizada utilizando várias junções. Dispositivos individuais ou uma seção
de linha EtherCAT completa podem ser conectados nas portas de junção. Uma junção EtherCAT está marcada com o ícone
ATENÇÃO:
- Permitido apenas uma instância de Mestre EtherCAT por projeto.
- Permitido apenas em CPs modelo NX3020 e NX3030.
- Permitido apenas em conectores NET dos CPs.
- Não pode ser usado quando as NETs estiverem configuradas como redundantes.
- Não pode ser usado quando o projeto tiver redundância de cluster.
- Não podem ser instanciados outros drivers na mesma porta NET que o Mestre EtherCAT.
- Permitido no máximo 128 escravos EtherCAT por projeto.
O comando Procurar Dispositivos, disponível no menu de contexto do Mestre EtherCAT, executa uma busca pelos dispo-
sitivos Escravos instalados fisicamente na rede EtherCAT do CP atualmente conectado. Isso significa que com este comando
é possível detectar e visualizar os componentes de hardware na janela apresentada na figura abaixo, permitindo que o usuário
possa mapeá-los diretamente na Árvore de Dispositivos do projeto.
É importante salientar que, quando o comando Procurar Dispositivos é selecionado, uma conexão com o CP será estabe-
lecida automaticamente antes da busca iniciar e será encerrada quando a busca terminar. Assim, para que este comando seja
executado pela primeira vez, a conexão do Gateway deve ser configurada e deve-se fazer um download do projeto com um
Mestre EtherCAT configurado no CP. No caso de futuras adições de dispositivos Escravos, para executar este comando é ne-
cessário que a rede EtherCAT esteja parada, para isso, colocar em TRUE o bit bStopBus presente nas variáveis de Diagnóstico
do Mestre EtherCAT.
Quando o comando for executado, o campo Dispositivos Mapeados vai conter uma lista de todos os dispositivos e módulos
encontrados durante a última verificação. Para adicioná-los ao projeto, basta clicar no botão Copiar Tudo Para o Projeto. É
217
5. CONFIGURAÇÃO
possível, também, executar uma comparação entre os dispositivos encontrados na busca com os presentes no projeto, selecio-
nando a caixa Mostrar Diferenças Para o Projeto.
Se você adicionar um módulo Mestre EtherCAT ao projeto e utilizar o comando Procurar Dispositivos você terá uma lista
de todos os Escravos EtherCAT disponíveis. Aparecerão entradas escritas em negrito, caso exista mais de um dispositivo com a
mesma descrição. Com um duplo clique sobre esta entrada uma lista será aberta e o dispositivo desejado pode ser selecionado.
Após concluir as modificações na configuração da rede EtherCAT, é necessário executar um novo download do projeto,
para que as modificações sejam aplicadas.
Através da inserção de um Mestre e Escravo EtherCAT é adicionada uma variável de diagnóstico para o dispositivo na GVL
System_Diagnostics. Esta variável fornece informações sobre o estado do dispositivo. Existem dois tipos de variáveis, uma
para o Mestre EtherCAT e outra para os escravos EtherCAT. Cada variável tem informações específicas sobre o dispositivo.
Os diagnósticos e comandos fornecidos estão descritos nas tabelas a seguir.
Variável
Tipo Opções Descrição
DG_EtherCAT_Master.*
Se esta variável é TRUE, a transferência de
todos os parâmetros de configuração foi fi-
tDiag. nalizada com sucesso, sem erros encontra-
BOOL FALSE ou TRUE
bRunning dos e o barramento não foi parado pelo co-
mando de usuário. A comunicação está em
execução.
218
5. CONFIGURAÇÃO
Variável
Tipo Opções Descrição
DG_EtherCAT_Master.*
Esta variável será TRUE se um erro é
detectado durante a inicialização da pilha
EtherCAT ou se durante a operação, a co-
municação com os escravos for interrom-
tDiag. BOOL FALSE ou TRUE pida se mais nenhuma mensagem pode ser
bError recebida (por exemplo devido a uma falha
no cabo). A causa do erro pode ser des-
coberta com o auxílio da lista de logs via
STRING de erro.
As informações a respeito dos valores pos-
tDiag. ETC_LASTERROR - síveis para este diagnóstico, bem como sua
eLastErrorCode descrição são encontrados na Tabela 165.
Se DC é usado, o CP será sincronizado
com o primeiro escravo EtherCAT cuja
configuração DC está ativa. Esta variá-
vel é TRUE logo após esta sincronização
ser finalizada com sucesso. Este sinal,
por exemplo, pode ser usado para inicia-
lizar blocos funcionais de SoftMotion, em
tDiag. BOOL FALSE ou TRUE caso de compatibilidade com o dispositivo,
bDistributedClockInSync depois que o CP está em modo sincroni-
zado, caso contrário pulos na posição po-
dem ocorrer. Na inicialização do CP a va-
riável é FALSE e mudará para TRUE de-
pois de alguns segundos. Se a sincroniza-
ção for perdida devido a qualquer falha, a
variável irá para FALSE.
tDiag.bReserved_00 BOOL - Espaço reservado.
tDiag.bReserved_01 BOOL - Espaço reservado.
byReserved_00 BYTE - Espaço reservado.
Na borda de subida o mestre será reinici-
tCommand. BOOL FALSE ou TRUE ado completamente. Todos os parâmetros
bRestart de configuração serão recarregados.
Quando esta variável é TRUE, a comunica-
ção é parada. Pacotes EtherCAT não serão
tCommand. BOOL FALSE ou TRUE mais enviados. Na maioria dos dispositi-
bStopBus vos uma reinicialização é necessária, por
que eles estão em estado de erro.
Janela de tempo para bDistributedCloc-
kInSync. O jitter tem que estar dentro
tCommand. BOOL 0..65535 desta janela para a variável bDistributed-
wDCInSyncWindow ClockInSync permanecer em TRUE. Valor
padrão: 50 microssegundos.
Este valor define o número de escravos que
são lidos por ciclo para preencher as variá-
tCommand. BOOL 0..128 veis de diagnósticos dos escravos. Valor
bySlaveUpdatedbyCycle 0 significa que nenhum diagnóstico de es-
cravo será atualizado.
tCommand.bReserved_00 BOOL - Espaço reservado.
tCommand.bReserved_01 BOOL - Espaço reservado.
byReserved_01 BYTE - Espaço reservado.
219
5. CONFIGURAÇÃO
Variável
Tipo Opções Descrição
DG_Escravo.*
ETC_SLAVE_BOOT=3
ETC_SLAVE_INIT=1
tDiag. ETC_SLAVE_STATE ETC_SLAVE_PREOPERATIONAL=2 Estado atual do escravo.
wState ETC_SLAVE_SAVEOPERATIONAL=4
ETC_SLAVE_OPERATIONAL=8
Depois da inicialização da
tDiag. pilha EtherCAT, esta variá-
DWORD Faixa DWORD
dwVendorID vel retorna o ID do Fornece-
dor lido do escravo.
Depois da inicialização da
tDiag. pilha EtherCAT, esta variá-
DWORD Faixa DWORD
dwProductID vel retorna o ID do Produto
lido do escravo.
Depois da inicialização da
tDiag. pilha EtherCAT, esta variá-
DWORD Faixa DWORD
dwRevisionID vel retorna o ID da Revisão
lido do escravo.
220
5. CONFIGURAÇÃO
Variável
Tipo Opções Descrição
DG_Escravo.*
Se uma mensagem é rece-
bida então esta informação
é armazenada dentro do es-
cravo e poderá ser lida na
aplicação por esta variável.
tDiag. ETC_CO_Emergency - Em adicional também uma
tLastEmergency mensagem de log é adici-
onada. Mais informações
a respeito deste diagnóstico
são encontradas na Tabela
167.
tDiag. BOOL - Espaço reservado.
bReserved_01
byReserved_00 BYTE - Espaço reservado.
Variável
DG_Escravo.tDiag. Tipo Código em Hexa Descrição
tLastEmergency.*
00XX Erro de Reset ou Sem erro.
10XX Erro genérico.
20XX Corrente.
21XX Corrente, lado de dentro do dispositivo.
22XX Corrente dentro do dispositivo.
23XX Corrente, lado de fora do dispositivo.
30XX Tensão.
31XX Principais Tensões.
32XX Tensão dentro do dispositivo.
33XX Tensão de saída.
40XX Temperatura.
41XX Temperatura Ambiente.
42XX Temperatura do dispositivo.
50XX Hardware do dispositivo.
60XX Software do dispositivo.
wErrorCode WORD 61XX Software Interno.
62XX Software do usuário.
63XX Conjunto de Dados.
70XX Módulos Adicionais.
80XX Monitoração.
81XX Comunicação.
82XX Erro de protocolo.
PDO não processa devido a erro de tama-
8210
nho.
8220 Tamanho do PDO excedido.
90XX Erro Externo.
Transição de PRE-OPERATIONAL para
A000
SAFE-OPERATIONAL sem sucesso.
Transição de SAFE-OPERATIONAL para
A001
OPERATIONAL sem sucesso.
F0XX Funções adicionais.
FFXX Dispositivo Específico.
221
5. CONFIGURAÇÃO
Variável
DG_Escravo.tDiag. Tipo Código em Hexa Descrição
tLastEmergency.*
byErrorRegister BYTE Faixa BYTE Registrador de erro.
tDiag. ARRAY[0..5] 0000-9FFF Campo de erro específico para Fabricante.
tLastEmergency. OF BYTE A000-EFFF Dados de diagnósticos.
abyErrorField F000-FFFF Campo de erro específico para Fabricante.
A seguir são listadas as opções para a execução da configuração de um Mestre EtherCAT, tal como definido no Arquivo de
Descrição do Dispositivo.
A seguir são apresentados os parâmetros gerais encontrados na tela inicial de configuração do Mestre EtherCAT, conforme
figura abaixo.
222
5. CONFIGURAÇÃO
Notas:
Autoconfiguração Mestre/Escravos: Se esta opção estiver ativada, a maior parte da configuração do Mestre e Escravo será
feita automaticamente, baseando-se nos arquivos de descrição e cálculos implícitos. Neste caso, o diálogo de configurações
FMMU / Sync não estará disponível. Se esta estiver desmarcada as opções Endereço Imagem In e Endereço Imagem Out
estarão disponíveis para o usuário.
ATENÇÃO:
O modo Autoconfiguração é ativado por padrão e, geralmente, suficiente e fortemente reco-
mendado para aplicações padrão. Se a opção estiver desativada, todas as definições de confi-
guração para o Mestre e o(s) Escravo(s) terão de ser feitas manualmente e um conhecimento
especializado é necessário. Para a configuração de uma comunicação Escravo-para-Escravo
a opção Autoconfiguração tem de ser desativada.
Tempo de Ciclo: Período de tempo após o qual, um novo telegrama de dados deve ser enviado ao barramento. Se
a funcionalidade Relógio Distribuído estiver ativada, o valor deste parâmetro será transferido para os clocks dos Escravos.
Assim, uma sincronização precisa de troca de dados pode ser alcançada, o que particularmente é importante nos casos em que
os processos distribuídos especialmente exigem ações simultâneas. Então, uma base de tempo muito precisa para toda a rede,
com um jitter significativamente menor do que um microssegundo, pode ser alcançada.
Offset de Sincronização: Este valor permite ajustar o deslocamento da interrupção de sincronização do Escravo EtherCAT
para o ciclo do CP. Normalmente, o ciclo de tarefa do CP começa 20% mais tarde do que a sincronização de interrupção dos
Escravos. Isto significa que a tarefa do CP pode ser atrasada por 80% do tempo de ciclo e nenhuma mensagem será perdida.
Janela de Sincronização: Se a sincronização de todos os Escravos está dentro desta janela de tempo o diagnóstico do Mes-
tre EtherCAT bDistributedClockInSync será definido como TRUE, caso contrário será FALSE. Quando o Relógio Distribuído
é utilizado, é altamente recomendado usar uma tarefa dedicada com alta prioridade como Tarefa Cíclica de Barramento do
mestre EtherCAT. Desta maneira, é necessário utilizar Perfis de Projeto que possibilitem a criação de novas tarefas, criar uma
tarefa cíclica com prioridade 0 (tarefa de tempo real), e atribuir a Tarefa Cíclica de Barramento do mestre para esta nova tarefa
na aba EtherCAT Mestre - Mapeamento de E/S do Mestre EtherCAT. O usuário também poderá alterar o valor da variável
wDCInSyncWindow, configurando qual o jitter máximo permitido na sincronização entre mestre e escravos.
Usar LRW em vez de LWR/LRD: A ativação desta opção habilita a comunicação Escravo-para-Escravo, pois, ao invés
de comandos separados de leitura (LRD) e escrita (LWR), comandos combinados leitura/escrita (LRW) serão utilizados.
Reiniciar Escravos Automaticamente: Habilitando esta opção o Mestre reiniciará os Escravos assim que a comunicação
for abortada, portando, a variável bError nos diagnósticos do Mestre EtherCAT na GVL System_Diagnostics não irá para
TRUE.
223
5. CONFIGURAÇÃO
Endereço Imagem In e Endereço Imagem Out: Estas definições só poderão ser editadas se o modo Autoconfiguração
estiver desativado, caso contrário isto será feito automaticamente e estes parâmetros serão invisíveis.
Mensagem de Diagnóstico: Mostra algumas informações ou mensagens de erro da pilha. As mensagens também são
registradas na guia de Log do CP, acessada pelo ícone Device, na Árvore de Dispositivos. Esta opção só fica visível quando o
Mestre EtherCAT está em modo Online.
Carga do Barramento: Este valor exibe a carga do barramento no adaptador de rede, esta opção só fica visível quando o
Mestre EtherCAT está em modo Online.
Esta guia do editor de configuração do Mestre EtherCAT oferece a possibilidade de atribuir as variáveis de projeto para
respectivas entradas e saídas do EtherCAT. Assim, as variáveis do Mestre EtherCAT podem ser controladas pela Aplicação de
Usuário.
Além disso, podemos escolher a opção de Tarefa Cíclica de Barramento através da lista de seleção, onde podemos alterar a
tarefa que se deseja utilizar. Todas as tarefas adicionadas ao projeto estarão presentes nesta lista. Essa tarefa serve para efetuar
as operações do Mestre EtherCAT. A MainTask é a opção padrão deste campo.
A guia Status do editor de configuração do Mestre EtherCAT fornece informações de estado (por exemplo, ’Executando’,
’Parado’) e mensagens de diagnóstico específicas do dispositivo e do sistema de barramento interno.
A guia Informação, presente no editor de configuração do Mestre EtherCAT, exibe, caso disponíveis, as seguintes informa-
ções gerais para o módulo: Nome, Fornecedor, Tipo, Número de Versão, Categorias, Número de Ordem, Descrição, Imagem.
A seguir são listadas as principais opções de configuração para um Escravo EtherCAT, tal como definido no Arquivo de
Descrição do Dispositivo.
A seguir são apresentados os parâmetros gerais encontrados na tela inicial de configuração do Escravo EtherCAT. Estes
campos estarão disponíveis somente se o modo Autoconfiguração (Mestre) não estiver ativado.
224
5. CONFIGURAÇÃO
225
5. CONFIGURAÇÃO
226
5. CONFIGURAÇÃO
Notas:
Endereço AutoInc: Este endereço é usado apenas durante a inicialização, quando o Mestre está atribuindo os endereços
EtherCAT para os Escravos. Quando para este propósito, o primeiro telegrama percorre os Escravos, cada Escravo de leitura
rápida aumenta seu Endereço AutoInc por 1. O Escravo com o endereço 0, finalmente, vai receber os dados.
Opcional: Se um Escravo é declarado como Opcional nenhuma mensagem de erro será criada caso o dispositivo não exista
no sistema de barramento. Se essa opção for ativada, um endereço de estação deve ser armazenado no dispositivo Escravo.
Assim, um endereço Pseudônimo de Estação deve ser definido e gravado na EEPROM. Esta opção só está disponível se a opção
Autoconfiguração Mestre/Escravos estiver ativada nas configurações do Mestre EtherCAT, e se esta função for suportada pelo
Escravo EtherCAT.
Habilitar Relógio Distribuído: Se a funcionalidade Relógio Distribuído for ativada, o tempo de ciclo de troca de dados,
exibido no campo Unidade de Ciclo Sync(µs) será determinado pelo Tempo de Ciclo do Mestre. Assim, o clock Mestre pode
sincronizar a troca de dados dentro da rede. As definições para manusear a(s) unidade(s) de sincronização dependem do
Escravo.
Habilitar Sync 0: Se essa opção for ativada, a unidade de sincronização Sync0 é utilizada. Uma unidade de sincronização
descreve um conjunto de dados do processo que são trocados de forma síncrona.
Sinc. Unidade de Ciclo Sync 0: Se esta opção estiver ativada, o Tempo de Ciclo do Mestre, multiplicado pelo fator
escolhido será utilizado como tempo de ciclo de sincronização para o Escravo. O campo Tempo de Ciclo(µs) mostra o tempo
de ciclo atualmente definido.
Tempo de Deslocamento: O Tempo de deslocamento descreve o tempo entre os eventos de sincronização (Sync0, Sync1)
e as Outputs Valid ou Input Latch. Valor gravável, se o escravo suporta transferência de Outputs Valid ou Input Latch.
Habilitar Sync 1: Se essa opção for ativada, a unidade de sincronização Sync1 é utilizada. Uma unidade de sincronização
descreve um conjunto de dados do processo que são trocados de forma síncrona.
Sinc. Unidade de Ciclo Sync1: Se essa opção for ativada, o Tempo de Ciclo(µs) do grupo Sync0, multiplicado pelo fator
escolhido será utilizado como tempo de ciclo de sincronização para o Escravo. O campo Tempo de Ciclo(µs) mostra o tempo
de ciclo definido atualmente.
Estado Atual: O estado atual do Escravo é exibido. Valores possíveis: Inicial, Pré-Operacional, Segurança-Operacional,
Operacional. Se o Estado é Operacional, a configuração do Escravo foi encerrada corretamente.
Verificar ID do Fornecedor e Verificar ID do Produto: Por padrão, na inicialização do sistema o ID do Fornecedor
e/ou o ID do Produto serão verificados contra as configurações atuais. Se for detectada alguma diferença, o barramento será
interrompido e nenhuma ação adicional será executada. Isso serve para evitar o download de uma configuração errada. Estas
opções têm a finalidade de desativar esta verificação.
Acesso SDO: Por padrão não há tempo limite definido para a ação de envio de uma lista SDO ao iniciar o sistema. Porém,
se houver a necessidade de verificar se esta ação excede certo tempo, este deve ser especificado neste campo.
I -> P: Por padrão não há tempo limite definido para a ação de troca do modo Inicial para o modo Pré-Operacional. Porém,
se houver a necessidade de verificar se esta ação excede certo tempo, este deve ser especificado neste campo.
P -> S / S-> O: Por padrão não há tempo limite definido para a ação de troca dos modos Pré-Operacional para Segurança-
Operacional e respectivamente de Segurança-Operacional para Operacional. Porém, se houver a necessidade de verificar se
esta ação excede certo tempo, este deve ser especificado neste campo.
Controle da Unidade de Ciclo DC: Escolha a(s) opção(ões) desejada(s), relativa às funções de Relógio Distribuído, a fim
de definir o que deve ser atribuído ao microprocessador local. O controle é feito no registro 0x980 do Escravo EtherCAT. As
configurações possíveis são: Unidade Cíclica, Unidade Latch 0, Unidade Latch 1.
Pseudônimo de Estação: Esta definição só é visível se a opção Opcional estiver ativada ou se o dispositivo Escravo
suportar endereços de pseudônimo (definido no Arquivo de Descrição do Dispositivo).
Habilitar: Se a definição de Opcional não estiver ativada, essa configuração pode ser ativada se for suportada pela descrição
do dispositivo Escravo. Ele permite a atribuição direta de um endereço de pseudônimo, a fim de obter o endereço dos Escravos
independente de sua posição dentro do barramento. Se a opção Opcional estiver ativada, esta caixa de seleção estará desativada.
227
5. CONFIGURAÇÃO
Escrever na EEPROM: Este comando só é visível no modo online. Ele permite escrever o endereço definido na EEPROM
do Escravo. Se não for suportado pelo Escravo, este comando não terá nenhum efeito e o dispositivo não irá funcionar como
Escravo Opcional.
Endereço Atual: Este campo, visível somente no modo online, exibe o endereço real do Escravo. Ele pode ser utilizado
para verificar o sucesso do comando Escrever na EEPROM.
5.6.12.4.2. FMMU/Sync
Este diálogo só será fornecido em uma guia de um editor de configuração Escravo EtherCAT, se o modo Autoconfiguração
no Mestre estiver desativado. Ele mostra os FMMUs e o Gerenciador Sync do Escravo, conforme definido pelo Arquivo
de Descrição do Dispositivo. Essas configurações podem ser retrabalhadas, por exemplo, para configurar uma comunicação
Escravo-para-Escravo.
ATENÇÃO:
Essas são as Configurações Avançadas, que geralmente não são necessárias para aplicações
padrão.
Esta tabela mostra as Unidades do Gerenciador de Memória de Rede de Campo (FMMU - Fieldbus Memory Management
Unit) do Escravo que são utilizadas para o tratamento dos dados do processo. Cada mapeamento do endereço lógico GlobStar-
tAddr em um endereço físico Ph. Endereço Inicial é definido. É possível executar um mapeamento bit a bit. Novas unidades
podem ser adicionadas e as já existentes podem ser editadas pelo diálogo Editar FMMU, que pode ser aberto através dos botões
Acrescentar e Editar....
Esta tabela mostra o(s) Gerenciador(es) de Sincronização do Escravo. Para cada Tipo de Gerenciador disponível (Caixa de
Entrada, Caixa de Saída, Entradas, Saídas) um Endereço Inicial físico, o tipo de Acesso, o Buffer e o Endereço Físico, onde as
Interrupções tem de ser enviadas, são definidos. Novos Gerenciadores de Sincronização podem ser adicionados e os existentes
podem ser abertos através dos botões Acrescentar e Editar....
228
5. CONFIGURAÇÃO
A guia Dados do Processo do editor de configuração do Escravo EtherCAT mostra os dados do processo de entrada e de
saída do Escravo, cada um definido por nome, tipo e índice do arquivo de descrição do dispositivo, como pode ser visto na
figura abaixo.
As entradas selecionadas (a serem lidas) e saídas (a serem escritas) do dispositivo estarão disponíveis no diálogo de Ether-
CAT Escravo - Mapeamento de E/S como saídas e entradas para o CP, no qual as variáveis do projeto podem ser mapeadas.
A fim de modificar a seleção atual, você deve primeiro clicar com o mouse sobre a caixa de seleção dos dados selecionados
no momento, para cancelar a seleção. Depois disso, você pode selecionar outros.
O diálogo Dados de Processo Avançados só será visível no editor de configuração do Escravo EtherCAT se a opção
Habilitar Config. Avançadas do Escravo estiver ativada. Ele fornece uma visão mais detalhada dos dados do processo, além
do que é apresentado na aba Dados do Processo. Além disso, nesta aba é possível habilitar o download da Atribuição PDO e
a Configuração PDO.
ATENÇÃO:
Se o Escravo não aceitar a configuração do PDO, ele ficará em modo pré-operacional e ne-
nhuma troca de dados em tempo real será possível.
229
5. CONFIGURAÇÃO
ATENÇÃO:
Se o Escravo não suportar a configuração PDO, o download desta pode resultar em um erro
de Escravo. Esta função deve ser usada apenas por especialistas.
230
5. CONFIGURAÇÃO
Este diálogo é aberto através do menu de contexto da área Lista PDO, apresentada na Figura 129. Seguem algumas
explicações das opções de configuração presentes neste diálogo.
Nome: Nome da entrada PDO.
Índice: Índice do PDO em edição.
TxPDO (Entrada): Se ativado, o PDO será transferido do Mestre para o Escravo.
RxPDO (Saída): Se ativado, o PDO será transferido do Escravo para o Mestre.
Mandatório: O PDO é necessário e não pode ser desmarcado na área PDO Assignment.
Conteúdo: O conteúdo do PDO é fixo e não pode ser alterado. Não é possível adicionar entradas no painel PDO Content.
PDO Virtual: Reservado para uso futuro.
Excluir PDOs: É possível definir PDOs que podem, ou não, serem selecionados juntos ao PDO em edição na área PDO
Assignment, ou na guia Dados do Processo. Se um PDO é marcado nesta lista este não poderá ser selecionado, ficando
cinza, no ambiente PDO Assignment quando o PDO em edição for selecionado.
SyncUnit: ID do Gerenciador Sync do PDO para o qual deve ser atribuído.
Este diálogo é acessado através do menu de contexto da área PDO Content e o seu conteúdo, além da possibilidade de
acesso desta janela, varia de acordo com o Escravo EtherCAT utilizado.
231
5. CONFIGURAÇÃO
Na guia Parâmetros de Inicialização podem ser definidos parâmetros para o dispositivo, que serão repassados pelos SDOs
(Service Data Objects) ou IDN na inicialização do sistema. As opções presentes neste ambiente, além da possibilidade de
acesso, variam de acordo com o Escravo EtherCAT utilizado e estão presentes no seu Arquivo de Descrição do Dispositivo.
5.6.12.4.9. Online
O diálogo Online só será visível no editor de configuração Escravo EtherCAT, se a opção Habilitar Config. Avançadas do
Escravo estiver ativada e a Aplicação estiver conectada ao dispositivo. Ele fornece uma visão com informações de status dos
Escravos e funções para transferir arquivos para os Escravos sobre EtherCAT (FoE).
232
5. CONFIGURAÇÃO
Estado da Máquina: Os botões Início (Inicial), Pre-Op (Pré-Operacional), Op (Operacional) e Safe-Op (Segurança-
Operacional) podem ser utilizados para o objetivo de debugging, eles fazem com que o Escravo vá para os respectivos
estados.
Acesso de arquivo sobre EtherCAT: Se você quiser transferir arquivos de firmware para o Escravo ou a partir dele, você
tem que clicar no botão Bootstrap para mudar o Escravo para Modo Bootstrap. O Download e Upload de arquivos
do firmware podem ser feitos com os botões correspondentes. Uma caixa de diálogo para salvar ou abrir o arquivo
de firmware será aberta. Nesta caixa serão solicitados usuário e senha para executar a transferência de arquivos. Esta
informação é fornecida pelo dispositivo Escravo e documentada no datasheet do mesmo.
Acesso E2PROM: A configuração Escravo pode ser lida da E2PROM ou escrita na E2PROM. Aqui, tal qual a transferên-
cia de firmware, uma caixa de diálogo, para abrir ou salvar arquivos, será aberta. O comando Escrever E2PROM XML
pode ser usado para escrever a configuração do Escravo diretamente do arquivo XML para o dispositivo. Este comando
só será habilitado se existirem dados de configuração no arquivo XML (seção <ConfigData>).
Esta guia do editor de configuração do Escravo EtherCAT oferece a possibilidade de atribuir as variáveis de projeto para
respectivas entradas e saídas do EtherCAT. Assim, as variáveis do Escravo EtherCAT podem ser controladas pela Aplicação
de Usuário.
A guia Status do editor de configuração do Escravo EtherCAT fornece informações de estado (por exemplo, ’Executando’,
’Parado’) e mensagens de diagnóstico específicas do dispositivo e do sistema de barramento interno.
A guia Informação, presente no editor de configuração do Escravo EtherCAT, exibe, caso disponíveis, as seguintes in-
formações gerais para o módulo: Nome, Fornecedor, Tipo, Número de Versão, Categorias, Número de Ordem, Descrição,
Imagem.
5.6.13. EtherNet/IP
O EtherNet/IP é um protocolo de arquitetura mestre-escravo, o qual consiste de um EtherNet/IP Scanner (o mestre) e
mais um EtherNet/IP Adapter (o escravo). O editor do EtherNet/IP fornece diálogos para configurar parâmetros e mapear
entradas/saídas para variáveis.
O EtherNet/IP é um protocolo baseado na CIP (Common Industrial Protocol), o qual tem dois propósitos primários: O
transporte de dados de controle-orientado associados com dispositivos de E/S e o transporte de outras informações relacionadas
ao sistema sendo controlado, tais como parâmetros de configuração e diagnósticos. O primeiro é realizado por mensagens
implícitas, enquanto o segundo é realizado através de mensagens explicitas.
233
5. CONFIGURAÇÃO
O sistema em execução, das UCPs, pode atuar tanto como Scanner como Adapter. Cada interface NET das UCPs suporta
apenas uma instância EtherNet/IP e ele não pode ser instanciado em um módulo de expansão Ethernet.
Uma UCP suporta até duas instâncias EtherNet/IP Scanner, uma por interface NET, mas no máximo 32 dispositivos Adap-
ters no total, seja sob apenas uma ou sob duas instâncias EtherNet/IP Scanner. E cada um destes dispositivos Adapters não
pode ter mais do que 500 Entradas/Saídas (assemblies).
Uma instância EtherNet/IP Adapter suporta até 64 módulos de entrada ou saída. Estes módulos podem ser do tipo BYTE,
WORD, DWORD ou REAL. O intervalo da MainTask de um dispositivo rodando como Adapter deve ser menor ou igual ao
RPI.
ATENÇÃO:
EtherNet/IP não pode ser usado em conjunto com NIC-Teaming da interface ethernet nem
com redundância de Half-Cluster.
ATENÇÃO:
O EtherNet/IP requer uma MainTask cíclica, o que significa que não pode ser usado com
nenhuma configuração que configure a MainTask como contínua. Como por exemplo, um
projeto de perfil Básico não suporta o EtherNet/IP.
ATENÇÃO:
Para evitar problemas de comunicação, o Ethernet/IP Scanner só pode ter dispositivos Adap-
ters que estejam configurados na mesma sub-rede.
Para adicionar um EtherNet/IP Scanner ou um Adapter é necessário adicionar uma Interface EtherNet/IP abaixo da interface
NET. Isto pode ser feito através do comando Acrescentar Dispositivo. Abaixo desta interface EtherNet/IP é possível adicionar
um Scanner ou um Adapter.
234
5. CONFIGURAÇÃO
O Scanner requer ao menos um Adapter declarado, com o qual ele vai trocar dados. Novos Adapters podem ser instalados
no MasterTool com os arquivos EDS e DCF. As opções de configuração podem divergir dependendo do arquivo de descrição
do dispositivo do Adapter adicionado.
235
5. CONFIGURAÇÃO
5.6.13.2.1. Geral
Depois de abrir o Adapter declarado sob o Scanner é possível configurá-lo como for necessário. A primeira aba é Geral,
nela é possível configurar o Endereço IP e o parâmetro Chave Eletrônica. Esses parâmetros devem ser marcados ou des-
marcados se um Adapter sendo usado está instalado no MasterTool. De outra forma, se o Adapter usado é do tipo Generic,
então os campos Verificar Tipo do Dispositivo, Verificar Código do Fornecedor, Verificar Código do Produto, Verificar Revisão
Principal e Verificar Revisão Secundária devem ser preenchidos com a informação correta e as caixas marcadas tanto quanto
necessário. A verificação pode ser alternada entre Verificar Compatibilidade e Verificar Identidade Estrita.
5.6.13.2.2. Conexões
A área superior da aba Conexões mostra uma lista de todas as conexões configuradas. Quando há uma conexão Exclusive
Owner no arquivo EDS, ela é inserida automaticamente quando o Adapter é adicionado. Os dados de configuração para estas
conexões podem ser mudados mais a baixo nesta janela.
Notas:
Para dois ou mais EtherNet/IP Scanners conectarem no mesmo Adapter remoto:
236
5. CONFIGURAÇÃO
Para Adicionar novas conexões, há o botão Adicionar Conexão... o qual vai abrir a janela Nova Conexão. Nesta janela é
possível configurar um novo tipo de conexão daquelas predefinidas no EDS do Adapter ou uma conexão genérica do zero.
237
5. CONFIGURAÇÃO
5.6.13.2.3. Assemblies
A área superior da aba Assemblies lista todas as conexões configuradas. Quando uma conexão está selecionada, as entradas
e saídas associadas são mostradas na área inferior da aba.
Configuração Descrição
Abre a caixa de diálogo
Adicionar
“Adicionar Entrada/Saída”
Deleta todas as Entradas/-
Deletar
Saídas Selecionadas.
Movimenta pela lista a En-
Mover Para Cima
trada/Saída selecionada.
A ordem na lista determina
Mover Para Baixo a ordem no Mapeamento de
E/S.
238
5. CONFIGURAÇÃO
Configuração Descrição
Estes valores podem ser al-
Nome terados clicando duas vezes
no campo de texto.
Texto de Ajuda
Este valor NÃO deve ser al-
Bit Length
terado.
Configuração Descrição
Nome da Entrada/Saída a ser
Nome
inserida.
Tipo de Entrada/Saída a ser
inserida. Este tipo também
Datatype
define seu tamanho em bits
(bitlength).
Aba Mapeamento de E/S mostra, na coluna Variável, o nome das instâncias de Adapter, automaticamente geradas, abaixo
de Objetos IEC. Desta forma, a instância pode ser acessada pela aplicação. Aqui as variáveis do projeto são mapeadas para as
entradas e saídas do adapter. A opção Sempre Atualizar Variáveis deve ser mantida com o valor padrão Ativado 1.
O Adapter EtherNet/IP requer módulos EtherNet/IP. Os módulos vão prover mapeamentos de E/S que podem ser manipu-
lados pela aplicação do usuário pelos endereços %I ou %Q de acordo com sua configuração (INPUT BYTE, OUTPUT BYTE,
etc).
239
5. CONFIGURAÇÃO
Existem 18 módulos diferentes, os quais podem ser adicionados abaixo do Adapter. Nove de entradas e nove de saídas.
Eles são do tipo BYTE, WORD, DWORD, REAL, SINT, INT, DINT e BIG. Estes tipos podem ser escolhidos na aba Geral
do módulo.
Aba Mapeamento de E/S mostra, na coluna Variável, o nome das instâncias de Adapter, automaticamente geradas, abaixo
de Objetos IEC. Desta forma, a instância pode ser acessada pela aplicação do usuário. A opção Sempre Atualizar Variáveis
deve ser mantida com o valor padrão Ativado 1.
A tabela abaixo mostra o tipo de variável suportada pelas UCPs da Série Nexto para cada um dos tipos de dados do
protocolo IEC 60870-5-104.
240
5. CONFIGURAÇÃO
Notas:
Regulating Step Command: Os estados Lower e Higher do objeto C_RC_NA estão associados respectivamente aos
estados OFF e ON do tipo interno DBP.
Step Position Information: Conforme definido no item 7.3.1.5 da norma IEC 60870-5-101 essa variável de 8 bits é
composta por dois campos: valor (definido pelos 7 bits menos significativos da variável) e transiente (definido como o bit mais
significativo, o qual indica quando o dispositivo medido está transicionando).
Abaixo, exemplo de código para manipulação dos campos em uma variável do tipo USINT. Atenção, pois este código não
consiste se o valor de entrada está dentro da faixa, portanto esta consistência fica a cargo do usuário.
1 PROGRAM UserPrg
2 VAR
3 usiVTI: USINT; // Valor com indicação de estado transiente, mapeado para o
Cliente
4 siValue: SINT; // Valor a ser convertido para VTI. Deve estar entre -64 e
+63
5 bTransient: BOOL; // Transiente a ser convertido para VTI
6 END_VAR
7
8 usiVTI := SINT_TO_USINT(siValue) AND 16#3F;
9 IF siValue < 0 THEN
10 usiVTI := usiVTI OR 16#40;
11 END_IF
12 IF bTransient THEN
13 usiVTI := usiVTI OR 16#80;
14 END_IF
241
5. CONFIGURAÇÃO
PROFIBUS: Com exceção dos objetos digitais, os tipos de dados de objetos analógicos e contadores do protocolo IEC
60870-5-104 são diferentes dos tipos de dados dos módulos analógicos e contadores PROFIBUS, não sendo possível mapear
tais tipos de variáveis PROFIBUS diretamente para os clientes IEC 60870-5-104.
Nestes casos é necessário criar uma variável intermediária, a ser mapeada no cliente IEC 60870-5-104, e converter os tipos
adequadamente, como pode ser observado no código exemplo a seguir.
1 PROGRAM UserPrg
2 VAR
3 iAnalogIn: INT;
4 iAnalogOut: INT;
5 diCounter: DINT;
6 END_VAR
7
8 // Conversão da entrada analógica de WORD (PROFIBUS) para INT (IEC104)
9 iAnalogIn:= WORD_TO_INT(wNX6000in00);
10
11 // Conversão da saída analógica de INT (IEC104) para WORD (PROFIBUS)
12 wNX6100out00:= INT_TO_WORD(iAnalogOut);
13
14 // Conversão do contador de WORDs high+low (PROFIBUS) para DINT (IEC104)
15 diCounter:= DWORD_TO_DINT(ROL(WORD_TO_DWORD(wNX1005cnt00H), 16) OR
wNX1005cnt00L);
Os pontos digitais duplos são utilizados para indicar a posição de equipamentos como válvulas, disjuntores e seccionadoras,
onde a transição entre os estados aberto e fechado demandam um determinado tempo, podendo assim indicar um estado
intermediário de transição entre os dois estados finais.
Pontos digitais duplos também são utilizados como saídas e, de uma forma análoga, é necessário manter uma das saídas
acionada por determinado tempo para a transição ser completada. Tal acionamento é realizado através de pulsos, também
conhecido por comandos trip/close, com determinada duração (suficiente para o chaveamento do dispositivo sob controle).
Consultar a seção Pontos Duplos do manual de utilização, para informações sobre a representação de pontos digitais duplos
através dos tipos de dados DBP.
Uma vez que os módulos de entrada e saída digital da Série Nexto não suportam o mapeamento de pontos DBP, são
necessárias algumas artimanhas de aplicação para tornar isto possível. Lembrando que também não é possível a utilização da
função PulsedCommand, definido na biblioteca LibRtuStandard, para acionamento dos pontos digitais duplos na Série Nexto.
Para módulos de entrada digital será necessária a declaração de duas variáveis auxiliares, a serem mapeadas no módulo de
entrada digital, além do ponto duplo que se deseja mapear no servidor:
a variável de valor do ponto duplo: tipo DBP
a variável de valor do ponto simples OFF/TRIP: tipo BOOL
a variável de valor do ponto simples ON/CLOSE: tipo BOOL
242
5. CONFIGURAÇÃO
Feita a declaração das variáveis, é necessário criar um vínculo entre a variável de valor e a qualidade do módulo de entrada
digital, através da aba de Pontos Internos da UCP:
Figura 144: Atribuição das Variáveis de Ponto Duplo aos Pontos Internos
A variável de valor do ponto duplo deve ser mapeada no driver servidor IEC 60870-5-104, e as duas variáveis simples no
módulo de entrada digital da Série Nexto (neste exemplo, um NX1001). Tipicamente, o estado OFF (TRIP) é mapeado na
entrada par e o estado ON (CLOSE) na entrada ímpar.
Figura 145: Mapeamento das variáveis de Ponto Duplo no Cliente IEC 60870-5-104
Por último, o usuário deve inserir duas linhas de código em sua aplicação, a serem executadas ciclicamente, para atribuição
dos valores das variáveis simples ao ponto duplo:
variável de valor DBP, índice ON, recebe o valor do ponto simples ON
variável de valor DBP, índice OFF, recebe o valor do ponto simples OFF
243
5. CONFIGURAÇÃO
Para módulos de saída digital deverá ser utilizado o bloco função CommandReceiver para a interceptação dos comandos
de acionamento de pontos duplos oriundos dos clientes IEC 60870-5-104. Consultar a seção Interceptação de Comandos
Oriundos do Centro de Controle para maiores informações.
O código exemplo abaixo, POU CmdRcv, trata comandos pulsados recebidos de clientes para um ponto digital duplo,
mapeado num módulo NX2020. Além do código ST a seguir, é necessário mapear o ponto DBP no servidor IEC 60870-5-104
do Nexto.
Figura 148: Mapeamento das variáveis de Pontos Duplos de Saída Digital no Cliente IEC 60870-5-104
1 PROGRAM CmdRcv
2 VAR
3 CmdReceive: CommandReceiver; // Instância do Interceptador
4 fbPulsedCmd: PulsedCommandNexto; // Instância do comando pulsado
5 byResult: BYTE; // Resultado do comando pulsado
6 dbpIEC104: DBP; // Variável mapeada no servidor IEC 104
7 bSetup: BOOL:= TRUE; // Configuração inicial do interceptador
8 END_VAR
9
10 // Executa a configuração da função no primeiro ciclo
11 IF bSetup THEN
12 CmdReceive.dwVariableAddr:= ADR(dbpIEC104);
13 CmdReceive.bExec:= TRUE;
14 CmdReceive.eCommandResult:= COMMAND_RESULT.NONE;
15 CmdReceive.dwTimeout:= 256 * 10;
16 bSetup:= FALSE;
17 END_IF
18
19 // Caso um comando seja capturado:
20 IF CmdReceive.bCommandAvailable THEN
21
22 // Trata cada um dos comandos possíveis de serem interceptados
23 CASE CmdReceive.sCommand.eCommand OF
24
25 COMMAND_TYPE.NO_COMMAND:
26
27 // Informar que existe um comando inválido.
28 // Não faz nada. Deve sair por timeout.
244
5. CONFIGURAÇÃO
29
30 COMMAND_TYPE.SELECT:
31
32 // Trata apenas comandos para pontos duplos
33 IF CmdReceive.sCommand.sSelectParameters.sValue.eParamType =
DOUBLE_POINT_COMMAND THEN
34 // Retorna comando finalizado com sucesso
35 // (controlado pelo protocolo IEC104)
36 byResult:= 7;
37 ELSE
38 // Retorna comando não suportado
39 byResult:= 1;
40 END_IF
41
42 COMMAND_TYPE.OPERATE:
43
44 // Trata apenas comandos para pontos duplos
45 IF CmdReceive.sCommand.sOperateParameters.sValue.eParamType =
DOUBLE_POINT_COMMAND THEN
46 // Geração do pulso nas saídas
47 IF CmdReceive.sCommand.sOperateParameters.sValue.sDoublePoint.bValue
THEN
48 // Executa a função de TRIP
49 fbPulsedCmd(
50 byCmdType:= 101,
51 byPulseTime:= DWORD_TO_BYTE(CmdReceive.sCommand.sOperateParameters.
52 sValue.sDoublePoint.sPulseConfig.dwOnDuration/10),
53 ptDbpVarAdr:= ADR(dbpIEC104),
54 stQuality:= IOQualities.QUALITY_NX2020[4],
55 byStatus=> byResult);
56 ELSE
57 // Executa a função de CLOSE
58 fbPulsedCmd(
59 byCmdType:= 102,
60 byPulseTime:= DWORD_TO_BYTE(CmdReceive.sCommand.sOperateParameters.
61 sValue.sDoublePoint.sPulseConfig.dwOffDuration/10),
62 ptDbpVarAdr:= ADR(dbpIEC104),
63 stQuality:= IOQualities.QUALITY_NX2020[5],
64 byStatus=> byResult);
65 END_IF
66 ELSE
67 // Retorna comando não suportado
68 byResult:= 1;
69 END_IF
70
71 COMMAND_TYPE.CANCEL:
72
73 // Retorna comando finalizado com sucesso
74 // (controlado pelo protocolo IEC104)
75 byResult:= 7;
76
245
5. CONFIGURAÇÃO
77 END_CASE
78
79 // Trata o resultado da função de comando pulsado
80 // e gera a resposta para o comando interceptado
81 CASE byResult OF
82 1: // Tipo inválido de comando
83 CmdReceive.eCommandResult:= COMMAND_RESULT.NOT_SUPPORTED;
84 CmdReceive.bDone:= TRUE;
85 2: // Parâmetros de entrada inválidos
86 CmdReceive.eCommandResult:= COMMAND_RESULT.INCONSISTENT_PARAMETERS;
87 CmdReceive.bDone:= TRUE;
88 3: // Mudança de parâmetro em execução
89 CmdReceive.eCommandResult:= COMMAND_RESULT.PARAMETER_CHANGE_IN_EXECUTION;
90 CmdReceive.bDone:= TRUE;
91 4: // Módulo não respondeu ao comando (ausente)
92 CmdReceive.eCommandResult:= COMMAND_RESULT.HARDWARE_ERROR;
93 CmdReceive.bDone:= TRUE;
94 5: // Comando iniciado e em execução (não retorna nada)
95 6: // Outro comando já foi enviado para este ponto e está em execução
96 CmdReceive.eCommandResult:= COMMAND_RESULT.LOCKED_BY_OTHER_CLIENT;
97 CmdReceive.bDone:= TRUE;
98 7: // Comando finalizado com sucesso
99 CmdReceive.eCommandResult:= COMMAND_RESULT.SUCCESS;
100 CmdReceive.bDone:= TRUE;
101 END_CASE
102
103 END_IF
104
105 CmdReceive();
106
107 IF CmdReceive.bDone THEN
108 CmdReceive.bDone:= FALSE;
109 END_IF
Como pode ser observado no código anterior, para auxiliar na geração de pulsos em saídas digitais duplas no Nexto, foi
criado e utilizado um bloco função equivalente à função PulsedCommand da biblioteca LibRtuStandard. O bloco função
PulsedCommandNexto() aparece codificado em linguagem ST.
1 FUNCTION_BLOCK PulsedCommandNexto
2 VAR_INPUT
3 byCmdType: BYTE; // Tipo comando:
4 // 100 = status
5 // 101 = close/on
6 // 102 = trip/off
7 byPulseTime: BYTE; // Duração do pulso (em centésimos de segundo)
8 ptDbpVarAdr: POINTER TO DBP; // Endereço variável DBP (pode ser a mapeada)
9 stQuality: QUALITY; // Qualidade do ponto DBP (do módulo digital)
10 END_VAR
11 VAR_OUTPUT
12 bON: BOOL; // Saída ímpar mapeada no módulo DO Nexto
246
5. CONFIGURAÇÃO
247
5. CONFIGURAÇÃO
64 ELSE
65 // Liga saída TRIP
66 ptDbpVarAdr^.ON:= FALSE;
67 ptDbpVarAdr^.OFF:= TRUE;
68 // Próximo estado: executar pulse OFF
69 byState:= byCmdType;
70 // Retorna comando iniciado
71 byStatus:= 5;
72 END_IF
73 ELSE
74 // Retorna pulso fora da faixa
75 byStatus:= 2;
76 END_IF
77 ELSE
78 // Retorna comando inválido
79 byStatus:= 1;
80 END_CASE
81
82 // Memoriza instante de término do pulso
83 udiPulseEnd:= SysTimeGetMs() + BYTE_TO_UDINT(byPulseTime) * 10;
84
85 101, 102:// Continua execução do pulso ON/OFF
86 // A princípio retorna que comando está em execução
87 byStatus:= 5;
88 // Verifica mudança de parâmetro em execução
89 IF byCmdType <> 100 AND byCmdType <> byState THEN
90 // Retorna mudança de parâmetro em execução
91 byStatus:= 3;
92 END_IF
93 // Verifica término do pulso
94 IF SysTimeGetMs() >= udiPulseEnd THEN
95 // Desliga saídas TRIP e CLOSE
96 ptDbpVarAdr^.ON:= FALSE;
97 ptDbpVarAdr^.OFF:= FALSE;
98 // Retorna comando finalizado, apenas se comando não mudou
99 IF byCmdType = 100 OR byCmdType = byState THEN
100 byStatus:= 7;
101 END_IF
102 // Próximo estado: inicial
103 byState:= 0;
104 END_IF
105
106 END_CASE
107
108 // Verifica qualidade do módulo digital (do ponto DBP)
109 IF stQuality.VALIDITY <> QUALITY_VALIDITY.VALIDITY_GOOD THEN
110 // Desliga saídas TRIP e CLOSE
111 ptDbpVarAdr^.ON:= FALSE;
112 ptDbpVarAdr^.OFF:= FALSE;
113 // Retorna que módulo está ausente
114 byStatus:= 4;
248
5. CONFIGURAÇÃO
Para as configurações dos Parâmetros Gerais de um Servidor 60870-5-104 conforme a figura abaixo seguem os parâmetros
da tabela abaixo apresentadas a seguir:
Para a configuração das relações de dados do Servidor IEC60870-5-104, visualizadas na figura abaixo, seguem os parâme-
tros descritos na tabela abaixo:
249
5. CONFIGURAÇÃO
Notas:
250
5. CONFIGURAÇÃO
Variável de Valor: Nome da variável simbólica a ser mapeada. Quando um comando de leitura é enviado, o retorno
enviado na resposta está armazenado nesta variável. Quando for um comando de escrita, o valor escrito será armazenado nesta
variável. A variável pode ser simples, array ou elemento de array e pode estar em estruturas.
Variável de Contador: Este campo se aplica somente no mapeamento de objetos do tipo Integrated Totals, sendo esta
a variável contadora, a ser manipulada no processo. Ela deve ter o mesmo tipo e tamanho da variável mapeada na coluna
Variável de Valor, cujo valor será lido pelo cliente ou reportado ao cliente em caso de eventos.
ATENÇÃO:
Quando Variável de Contador tem associada uma variável de qualidade, para que esta qua-
lidade seja transferida para a variável congelada no comando de freeze, deve ser associada
uma variável de qualidade à variável congelada. Este procedimento pode ser feito através
da aba Pontos Internos.
Variável de Banda Morta: Este campo se aplica somente à mapeamento de variáveis analógicas de entrada (objetos tipo
Measured Value). Ela deve ter o mesmo tipo e tamanho da variável mapeada na coluna Variável de Valor. Novos valores da
variável de banda morta serão considerados somente quando a variável analógica de entrada mudar de valor.
Tipo da Banda Morta: Os tipos de configuração da Banda Morta disponíveis são os seguintes:
Tabela 176: Tipos de Banda Morta dos Mapeamentos do Servidor IEC 60870-5-104
Pulso Curto e Pulso Longo: Ao definir o tempo de duração dos pulsos curtos e longos deve se levar em consideração os
limites suportados pelo dispositivo que irá tratar o comando. Por exemplo, caso o destino seja um cartão de saída, o que não
é suportado de forma nativa pela Série Nexto, deve se verificar na CT do módulo quais os tempos mínimos e máximos, bem
como a resolução, para a execução de comandos pulsados.
Para a configuração dos parâmetros da camada de enlace do Servidor IEC 60870-5-104, visualizada na figura abaixo,
seguem os parâmetros descritos na tabela abaixo:
251
5. CONFIGURAÇÃO
Nota:
Os campos Time-out t1 (s), Time-out t2 (s) e Time-out t3 (s) são dependentes entre si e devem ser configurados de tal forma
que Time-out t1 (s) seja maior do que Time-out t2 (s) e Time-out t3 (s) seja maior do que "Time-out t1 (s)". Se alguma destas
regras não for respeitada, mensagens de erro serão exibidas na compilação do projeto.
Para a configuração da camada de aplicação do Servidor IEC 60870-5-104, visualizada na figura abaixo, seguem os parâ-
metros descritos na tabela abaixo:
253
5. CONFIGURAÇÃO
Notas:
Habilitar Sincronismo: Uma vez habilitado, permite o Servidor IEC 60870-5-104 ajustar o relógio da UCP quando
recebido um comando de sincronização.
Comando de Sincronismo Recebido em Horário Local: Quando habilitado, o IEC 60870-5-104 Servidor ajusta o re-
lógio da UCP tratando o horário recebido no comando de sincronização como horário local. Caso contrário esse horário é
considerado UTC.
Usar Horário Local ao invés do Horário UTC: Uma vez habilitado, a estampa de tempo dos eventos gerados pelo IEC
60870-5-104 Servidor será enviada conforme o horário local da UCP.
Modo de Transmissão de Eventos de Entrada Analógica: Os modos de transmissão dos eventos de entradas analógicas
disponíveis são os seguintes:
Tabela 179: Modos de Transmissão dos Eventos de Entradas Analógicas do Servidor IEC 60870-5-104
Modo de Transmissão: Os modos de transmissão dos contadores congelados (integrated totals) disponíveis são os se-
guintes:
254
5. CONFIGURAÇÃO
Tabela 180: Modos de Transmissão dos Contadores Congelados do Servidor IEC 60870-5-104
ATENÇÃO:
A norma IEC 60870-5-104, seção Transmission control using Start/Stop, prevê a utilização
de comandos STARTDT e STOPDT para controle do tráfego de dados entre o cliente e o
servidor, utilizando conexões simples ou múltiplas conexões. Apesar do Nexto suportar tais
comandos, a utilização dos mesmos não é recomendada para controlar a transmissão dos
dados, principalmente com CPs redundantes, pois tais comandos não são sincronizados en-
tre os dois CPs. Em vez de utilizar múltiplas conexões entre o cliente e o servidor Nexto,
sugere-se a utilização do recurso de NIC Teaming para prover canais Ethernet (fisicamente)
redundantes e preservar os recursos da UCP (centros de controle por UCP).
Os diagnósticos do protocolo Servidor IEC 60870-5-104, são armazenados em variáveis do tipo T_DIAG_IEC104_SERVER_1
as quais estão descritas na tabela abaixo:
255
5. CONFIGURAÇÃO
A norma IEC 60870-5-104 prevê quatro diferentes qualificadores de comandos para os objetos Single Command, Double
Command e Regulating Step Command, todos suportados pelo Servidor do Nexto.
Cada tipo de objeto tem um comportamento específico para cada qualificador de comando, como pode ser observado na
tabela apresentada a seguir.
Nota:
Interceptação do comando: Para maiores informações sobre a interceptação de comandos de clientes IEC 60870-5-104,
consultar a seção Interceptação de Comandos Oriundos do Centro de Controle, implementada através do bloco de função
CommandReceiver.
256
5. CONFIGURAÇÃO
Para um dispositivo MODBUS Ethernet Servidor, podemos afirmar que ele é capaz de responder a um número x de
requisições por segundo, ou seja, será capaz de transferir n bytes por segundo, dependendo do tamanho de cada requisição.
Quanto menor for o ciclo da tarefa do Servidor MODBUS, maior será o impacto do número de conexões em sua taxa de
resposta. Porém, para tempos de ciclo menores que 20 ms este impacto não é linear, devendo ser consultada a tabela abaixo
para informações.
A tabela abaixo exemplifica o número de requisições respondidas por um Servidor MODBUS inserido em uma interface
local da UCP, em função do tempo de ciclo configurado para a tarefa e do número de conexões ativas efetuando requisições:
257
5. CONFIGURAÇÃO
Já para tempos de ciclo iguais ou maiores do que 20 ms, o crescimento da taxa de respostas é linear, podendo ser calculada
através da fórmula:
N =- C x (Z – (Z / (T x 1000)))
Z=1/T
Onde N é o número médio de respostas por segundo, C é o número de conexões e T é igual ao tempo de ciclo da tarefa
MODBUS (em segundos).
Tomando como exemplo um Servidor MODBUS com uma conexão e um tempo de ciclo de 50 ms temos:
C = 1; T = 0,05 s; Z = 1 / 0,05 = 20;
N = 1 x (20 – (20 / (0,05 x 1000))) = 1 x (20 – ( 20 / 50)) = 1 x (20 – 0,4) = 1 x 19,6
N = 19,6
Ou seja, nesta configuração o Servidor MODBUS será capaz de responder, em média, 19 requisições por segundo.
Caso este valor obtido seja multiplicado pelo número de bytes em cada requisição, será obtida uma taxa de transferência
de n bytes por segundo.
O desempenho de um dispositivo MODBUS Servidor em uma interface Ethernet remota é parecido com o desempenho
nas interfaces locais da UCP.
Porém, devido ao tempo de comunicação entre a UCP e os módulos, o máximo desempenho será limitado. Para apenas
uma conexão aberta, o número de respostas é limitado em, no máximo, 18 respostas por segundo. Com mais conexões abertas,
o número de respostas aumentará linearmente, exatamente conforme para as interfaces locais, porém sendo limitado a, no
máximo, 90 respostas por segundo. Portanto, para uma interface Ethernet remota teremos as seguintes formas para calcular
seu desempenho:
Para T ≤ 55 ms usa-se:
N = C x (18,18 – (18,18 / (0,055 x 1000)))
E para T ≥ 55 ms usa-se:
N = C x (Z – (Z / (T x 1000)))
Onde N é o número médio de respostas por segundo, C é o número de conexões e T é igual ao tempo de ciclo da tarefa
MODBUS (em segundos).
Deve-se prestar atenção ao fato de que o desempenho máximo de um dispositivo MODBUS Servidor em uma interface
Ethernet remota será de 90 respostas de requisições por segundo.
Tabela 185: Taxa de Comunicação de um Servidor OPC UA para NX3004 , NX3005, NX3010, NX3020 e NX3030
A tabela abaixo mostra o intervalo entre comunicações (cujo valor deveria ser 1000 ms de acordo com o Publishing Interval
configurado) considerando a UCP NX3003 (observar que na última linha foram utilizadas apenas 3000 variáveis INT, pois não
suporta mais do que isso):
ATENÇÃO:
A nota de aplicação NAP153 analisa o desempenho da comunicação OPC UA com maiores
detalhes, inclusive abordando o consumo de banda de comunicação Ethernet. Esta nota de
aplicação também aborda conceitos sobre o funcionamento do protocolo OPC UA.
259
5. CONFIGURAÇÃO
ATENÇÃO:
Para tempos de ciclo muito altos (tipicamente tempos maiores que 300 ms), mesmo que o
percentual de 80% seja respeitado, pode haver uma diminuição no tempo de resposta do
visor e da tecla de diagnóstico. Caso o percentual de 80% não seja respeitado e o tempo de
execução da tarefa de usuário se aproxime ou exceda o intervalo configurado da MainTask, o
visor e a tecla de diagnóstico podem não responder, uma vez que sua prioridade na execução
do sistema é menor do que as tarefas de usuário. Caso uma aplicação com erros seja carre-
gada na UCP, pode ser necessário reinicializá-la sem carregar esta aplicação, como descrito
na seção Log de Sistema.
ATENÇÃO:
Os logs de sistema das UCPs da série Nexto, a partir da versão de firmware 1.4.0.33 são
recarregados no caso de uma reinicialização da UCP ou por uma reinicialização do Runtime
System, isto é, será possível visualizar os logs mais antigos quando uma dessas condições
ocorrer.
Em projetos que utilizem E/S remotas, como, por exemplo, utilizando o módulo Mestre PROFIBUS DP NX5001, o manual
260
5. CONFIGURAÇÃO
do respectivo módulo deve ser consultado para informações sobre desempenho e influências do módulo na execução das tarefas
de usuário.
ATENÇÃO:
Blocos funcionais para Leitura e Escrita do RTC, disponíveis em versões anteriores a 2.00 do
MasterTool IEC XE tornaram-se obsoletos da versão 2.00 em diante, os blocos que ficaram
obsoletos são:
NextoGetDateAndTime, NextoGetDateAndTimeMs, NextoGetTimeZone, NextoSetDateAnd-
Time, NextoSetDateAndTimeMs e NextoSetTimeZone.
261
5. CONFIGURAÇÃO
ATENÇÃO:
Os blocos funcionais obsoletos para leitura e escrita do RTC (NextoGetDateAndTime, Nexto-
GetDateAndTimeMs, NextoSetDateAndTime e NextoSetDateAndTimeMs) não podem ser uti-
lizados na área de dados redundantes em projetos redundantes. Os mesmos devem ser uti-
lizados em POUs não redundantes, como a POU NonSkippedPrg. Mais detalhes sobre o
funcionamento da POU NonSkippedPrg podem ser encontrados em Programa NonSkipped-
Prg.
5.9.1.1.1. GetDateAndTime
1 PROGRAM UserPrg
2 VAR
3 Result : RTC_STATUS;
4 DATEANDTIME : EXTENDED_DATE_AND_TIME;
5 xEnable : BOOL;
6 END_VAR
7 --------------------------------------------------------------------------
8 IF xEnable = TRUE THEN
9 Result := GetDateAndTime(DATEANDTIME);
10 xEnable := FALSE;
11 END_IF
262
5. CONFIGURAÇÃO
5.9.1.1.2. GetTimeZone
A função a seguir faz a leitura das configurações de fuso horário, esta função está diretamente relacionada com o tempo de
fuso horário configurado no serviço de sincronismo do SNTP:
1 PROGRAM UserPrg
2 VAR
3 GetTimeZone_Status : RTC_STATUS;
4 TimeZone : TIMEZONESETTINGS;
5 xEnable : BOOL;
6 END_VAR
7 --------------------------------------------------------------------------
8 IF xEnable = TRUE THEN
9 GetTimeZone_Status := GetTimeZone(TimeZone);
10 xEnable := FALSE;
11 END_IF
5.9.1.1.3. GetDayOfWeek
263
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR
3 DayOfWeek : DAYS_OF_WEEK;
4 END_VAR
5 --------------------------------------------------------------------------
6 DayOfWeek := GetDayOfWeek();
As configurações de relógio são feitas através das funções e blocos funcionais a seguir:
5.9.1.2.1. SetDateAndTime
264
5. CONFIGURAÇÃO
Quando ocorrer uma borda de subida na entrada REQUEST, o bloco funcional irá escrever o novo valor DATEANDTIME
no relógio. Caso a escrita seja realizada com sucesso, a saída DONE será igual a TRUE. Caso contrário, a saída ERROR será
igual a TRUE e o erro será apresentado na variável STATUS.
Exemplo de utilização em Linguagem ST:
1 PROGRAM UserPrg
2 VAR
3 SetDateAndTime : SetDateAndTime;
4 xRequest : BOOL;
5 DateAndTime : EXTENDED_DATE_AND_TIME;
6 xDone : BOOL;
7 xExec : BOOL;
8 xError : BOOL;
9 Status : RTC_STATUS;
10 xWrite : BOOL;
11 END_VAR
12 --------------------------------------------------------------------------
13 IF (xWrite = TRUE) THEN
14 SetDateAndTime(
15 request := xRequest,
16 done := xDone,
17 exec := xExec,
18 error := xError,
19 status := Status,
20 DateAndTime := DateAndTime);
21 xWrite := FALSE;
22 END_IF
ATENÇÃO:
Se o usuário tentar escrever valores de hora fora do intervalo do RTC, os valores serão
convertidos para valores válidos, desde que não ultrapasse a faixa válida de 01/01/2000 até
31/12/2035. Por exemplo, se o usuário tentar escrever o valor 2000 ms, o mesmo será conver-
tido para 2 segundos, se escrever o valor 100 segundos, o mesmo será convertido para 1 min
e 40 segundos. Se escrever o valor de 30 horas, o mesmo será convertido para 1 dia e 6 horas,
e assim por diante.
5.9.1.2.2. SetTimeZone
265
5. CONFIGURAÇÃO
Quando chamada, a função, irá configurar o valor de TIMEZONE como a nova configuração de fuso horário do sistema. O
resultado da configuração é retornado pela função.
Exemplo de utilização em Linguagem ST:
1 PROGRAM UserPrg
2 VAR
3 Status : RTC_STATUS;
4 TimeZone : TIMEZONESETTINGS;
5 xWrite : BOOL;
6 END_VAR
7 --------------------------------------------------------------------------
8 //FB SetTimeZone
9 IF (xWrite = TRUE) THEN
10 Status := SetTimeZone(TimeZone);
11 xWrite := FALSE;
12 END_IF
ATENÇÃO:
Para realizar o acerto do relógio, devem-se utilizar valores de hora e datas dentro da seguinte
faixa válida: 00:00:00 horas de 01/01/2000 até 23:59:59 horas de 31/12/2035, caso contrário,
será reportado um erro através do parâmetro de saída STATUS. Para maiores detalhes do
parâmetro de saída STATUS, consultar a seção RTC_STATUS.
266
5. CONFIGURAÇÃO
5.9.2.1. EXTENDED_DATE_AND_TIME
Esta estrutura é utilizada para armazenar a data do RTC quando utilizados os blocos funcionais para leitura/configuração
da data com precisão de milissegundos e é descrita na tabela abaixo:
5.9.2.2. DAYS_OF_WEEK
Esta estrutura é utilizada para armazenar o dia da semana quando utilizada a função para leitura do dia da semana:
5.9.2.3. RTC_STATUS
Este enumerador é utilizado para retornar o tipo de erro na configuração ou leitura do RTC e é descrito na tabela abaixo:
267
5. CONFIGURAÇÃO
5.9.2.4. TIMEZONESETTINGS
Esta estrutura é utilizada para armazenar o valor do fuso horário nas requisições de leitura/configuração dos blocos funci-
onais do RTC e é descrita na tabela abaixo:
Nota:
Blocos funcionais de escrita e leitura de data e hora: Bibliotecas diferentes da NextoStandard, que tenham blocos
funcionais ou funções que possam fazer acesso de leitura e escrita da data e hora no sistema, não são indicadas. A biblioteca
NextoStandard possui as interfaces adequadas para escrever e ler a data e hora do sistema adequadamente e informar os
diagnósticos corretos.
268
5. CONFIGURAÇÃO
Após atualizar a coluna de arquivos da UCP, será exibido o diretório raiz de arquivos armazenados na UCP e poderá ser
selecionada a pasta para onde os arquivos serão transferidos. A pasta “InternalMemory” é uma pasta padrão, a ser utilizada
para armazenar arquivos na memória interna da UCP, uma vez que não é possível transferir arquivos para o diretório raiz.
Caso seja necessário, podem ser criadas outras pastas no diretório raiz ou subpastas dentro da pasta “InternalMemory”. Já a
pasta “MemoryCard” é o diretório onde o cartão de memória estará montado, caso o mesmo esteja inserido na UCP. Arquivos
transferidos para a pasta “MemoryCard” estarão sendo transferidos diretamente para dentro do cartão de memória. Conforme
novas funcionalidades forem sendo adicionadas ao produto, algumas pastas podem aparecer e que devem ser ignoradas pelo
usuário.
ATENÇÃO:
No caso em que o cartão de memória seja inserido após a inicialização da UCP, será requi-
sitado um usuário e senha para realizar o acesso e/ou transferências de arquivos do Mas-
terTool IEC XE para o cartão de memória ou vice-versa. O usuário padrão com privilégios
para acesso à UCP é “Owner” e a senha padrão desse usuário é “Owner”.
Para realizar a transferência de algum arquivo do microcomputador para a UCP, basta selecionar o arquivo desejado na
coluna da esquerda e pressionar o botão “»”, localizado no centro da tela, conforme figura abaixo. O tempo de transferência
irá variar de acordo com o tamanho do arquivo e com o tempo de ciclo (execução) da aplicação atual da UCP, podendo levar
vários minutos.
O usuário não precisa estar em Modo Run ou conectado à UCP para realizar as transferências, pois ela possui a capacidade
de se conectar automaticamente quando o usuário realizar a transferência.
269
5. CONFIGURAÇÃO
ATENÇÃO:
Os arquivos contidos dentro da pasta de um projeto criado pela ferramenta MasterTool IEC
XE possuem nomes especiais reservados pelo sistema, desta forma não podem ser transferi-
dos através da aba Arquivos. Caso o usuário deseje transferir um projeto para a memória de
usuário, será necessário compactar a pasta e então transferir o arquivo compactado (*.zip
por exemplo).
Caso seja necessário transferir documentos da UCP para o microcomputador em que está instalado o software MasterTool
IEC XE o usuário deve realizar um procedimento muito semelhante ao anterior, ou seja, selecionando o arquivo na coluna da
direita e pressionar o botão “«”, localizado no centro da tela.
Além disso, o usuário possui algumas opções de operação da área de armazenamento de arquivos, são elas:
Novo diretório : permite a criação de uma nova pasta na área de memória de usuário.
Excluir item : permite a exclusão de arquivos nos diretórios da área de memória de usuário.
Atualizar : permite atualizar, na tela do MasterTool IEC XE, os arquivos presentes na memória de usuário e no
microcomputador.
270
5. CONFIGURAÇÃO
ATENÇÃO:
Para uma UCP em Modo Stop ou sem nenhuma aplicação, a taxa de transferência para a
memória interna é de aproximadamente 150 Kbytes/s.
ATENÇÃO:
Caso a UCP não tenha aplicação carregada, o Menu “Cartão de Memória” estará disponível
para permitir a realização da transferência do projeto do cartão para a UCP sem que seja
necessário realizar qualquer tipo de preparação prévia da UCP.
271
5. CONFIGURAÇÃO
Executados esses passos, o MasterTool IEC XE irá enviar todos os arquivos necessários para realizar as operações de
envio e recebimento de projetos via cartão de memória. Caso o cartão esteja montado, a senha será gravada no mesmo. Caso
contrário, a senha configurada no MasterTool será solicitada se o usuário tentar transferir o projeto da UCP para o cartão.
ATENÇÃO:
O envio do projeto para o cartão de memória, deve ser realizado apenas usando a tecla de
diagnósticos da UCP.
Após, será solicitada a senha, caso o usuário tenha configurado durante a configuração da aplicação. Então, com um
pressionamento curto na tecla de diagnósticos, os dígitos são incrementados e com um pressionamento longo são confirmados.
No sexto dígito confirmado, a UCP irá consistir a senha e iniciará o processo.
Após a transferência do cartão de memória para a UCP, caso haja uma aplicação em RUN ela será mantida em STOP por
motivos de segurança. Para colocar a UCP em RUN, ela deve ser reinicializada.
Quando as senhas, tanto da aplicação que está na UCP quanto da aplicação que está no cartão de memória, forem iguais,
não é requisitado a inserção das senhas no menu da UCP para realizar as transferências das aplicações. Maiores informações
sobre a utilização da tecla de diagnósticos, consultar a seção One Touch Diag.
Para remover o cartão de memória, basta pressionar a tecla MS com um pressionamento longo, e aguardar até que o ícone
do cartão desapareça da tela de status do visor gráfico.
ATENÇÃO:
Caso o cartão de memória seja removido sem ser desmontado via menu da UCP, durante a
transferência de arquivos, este processo pode acarretar na perda de dados no cartão, bem
como corromper os arquivos nele contidos. Este processo pode implicar na necessidade de
uma nova formatação do cartão quando inserido novamente à UCP.
272
5. CONFIGURAÇÃO
ATENÇÃO:
Caso exista algum arquivo na raiz do cartão de memória nomeado “NextoMemCard” ou
“Backup”, o mesmo será excluído para a criação das pastas de mesmo nome, utilizadas pela
UCP para armazenamento do projeto de aplicação e do Project archive. Pastas com estes
nomes não serão sobrescritas.
ATENÇÃO:
O tempo de transferência de arquivos depende da diferença do tempo de intervalo menos
o tempo de execução médio da(s) tarefa(s) em execução (tempo disponível até o próximo
ciclo da tarefa), isto é, quanto maior for essa diferença para cada tarefa em uma aplicação,
mais rápida deverá ser a transferência de um dado a partir do cartão de memória para a
UCP/MasterTool IEC XE ou vice-versa.
A transferência de arquivos para o cartão de memória será mais lenta que a transferência
para a memória interna da UCP. Para uma UCP em Modo Stop ou sem nenhuma aplicação,
a taxa de transferência se aproxima de 100 Kbytes/s.
273
5. CONFIGURAÇÃO
Notas:
Cartão de Memória: O cartão de memória somente estará disponível no menu caso o mesmo esteja inserido na UCP
Nexto.
Processador Auxiliar: O item “PROC. AUX.” não está disponível na UCP NX3003.
Rede: Os itens correspondentes à interface NET 2 somente estão disponíveis nas UCPs NX3020 e NX3030.
Redundância: O menu “REDUNDANCIA” somente estará disponível caso a UCP NX3030 esteja identificada como Re-
dundante.
Senha: A senha para acesso aos dados do cartão de memória somente será necessária caso ela seja configurada no software
MasterTool IEC XE. Não é possível editar a senha via menu.
Temperatura: O item “TEMPERATURA” não está disponível na UCP NX3003.
Entradas e Saídas: Os submenus de hardware "ENTRADAS"e "SAIDAS"só estão disponíveis nas UCPs Nexto que supor-
tam E/S integradas.
Conforme já mostrou a Tabela 201, entre as opções disponíveis para visualização e alteração, encontram-se os principais
dados necessários ao usuário, como:
Informações sobre os recursos de hardware:
• TEMPERATURA – Temperatura interna da UCP (Ex.: 36 C 97 F)
• CONTRASTE – Ajuste do contraste do visor frontal da UCP
• DATA E HORA – Data e hora configuradas na UCP (Ex.: 2001.01.31 00:00)
• ENTRADAS: Estado das entradas digitais integradas (true ou false)
• SAÍDAS: Estado das saídas digitais integradas (true ou false)
Alteração do idioma do menu da UCP:
• PORTUGUES – Altera o idioma para Português
• ENGLISH – Altera o idioma para Inglês
• ESPANOL – Altera o idioma para Espanhol
Visualização de informações sobre a rede configurada no dispositivo:
• END. IP NET 1 – Endereço IP (Ex.: 192.168.0.1)
274
5. CONFIGURAÇÃO
Além do menu das UCPs Nexto ser encerrado através de um pressionamento longo na tecla de diagnósticos na tela VOLTAR
do nível 1, também existem outras condições de saída, as quais estão descritas abaixo:
275
5. CONFIGURAÇÃO
Toque curto, em qualquer momento, em um outro módulo existente no barramento, faz com que o menu passe a descrever
o diagnóstico dele.
Toque curto, quando nos submenus ENTRADAS e SAÍDAS.
Tempo de inatividade, em qualquer nível, superior a 5 s.
276
5. CONFIGURAÇÃO
277
5. CONFIGURAÇÃO
278
5. CONFIGURAÇÃO
279
5. CONFIGURAÇÃO
5.13.1.1. SERIAL_CFG
Esse bloco funcional é utilizado para configurar e inicializar a porta serial desejada. Após a chamada do bloco, todas as
filas RX e TX associadas à porta serial e os FIFOs RX e TX, são reiniciados.
280
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca Nexto Serial ter sido inserida no projeto:
1 PROGRAM UserPrg
2 VAR
3 Config: SERIAL_CFG;
4 Port: SERIAL_PORT := COM1;
5 Parameters: SERIAL_PARAMETERS := (BAUDRATE := BAUD9600,
6 DATABITS := DATABITS_8,
7 STOPBITS := STOPBITS_1,
8 PARITY := PARITY_NONE,
9 HANDSHAKE := RS232_RTS,
10 UART_RX_THRESHOLD := 8,
11 MODE :=NORMAL_MODE,
12 ENABLE_RX_ON_TX := FALSE,
13 ENABLE_DCD_EVENT := FALSE,
14 ENABLE_CTS_EVENT := FALSE);
281
5. CONFIGURAÇÃO
15 Status: SERIAL_STATUS;
16 END_VAR
17 //ENTRADAS:
18 Config.REQUEST := TRUE;
19 Config.PORT := Port;
20 Config.PARAMETERS := Parameters;
21 //FUNÇÃO:
22 Config();
23 //SAÍDAS:
24 Config.DONE;
25 Config.EXEC;
26 Config.ERROR;
27 Status := Config.STATUS; //Caso seja necessário tratar o erro.
5.13.1.2. SERIAL_GET_CFG
Esse bloco funcional é utilizado para capturar as configurações da porta serial desejada.
282
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR
3 GetConfig: SERIAL_GET_CFG;
4 Port: SERIAL_PORT := COM1;
5 Parameters: SERIAL_PARAMETERS;
6 Status: SERIAL_STATUS;
7 END_VAR
8 //ENTRADAS:
9 GetConfig.REQUEST := TRUE;
10 GetConfig.PORT := Port;
11 //FUNÇÃO:
12 GetConfig();
13 //SAÍDAS:
14 GetConfig.DONE;
15 GetConfig.EXEC;
16 GetConfig.ERROR;
17 Status := GetConfig.STATUS; //Caso seja necessário tratar o erro.
18 Parameters := GetConfig.PARAMETERS; //Recebe os parâmetros da porta serial
desejada.
5.13.1.3. SERIAL_GET_CTRL
Esse bloco funcional é utilizado para ler os sinais de controle CTS, DSR e DCD, caso eles estejam disponíveis na porta
serial. Será retornado um valor falso quando os sinais de controle não existirem.
283
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
284
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR
3 Get_Control: SERIAL_GET_CTRL;
4 Port: SERIAL_PORT := COM1;
5 Status: SERIAL_STATUS;
6 END_VAR
7 //ENTRADAS:
8 Get_Control.REQUEST := TRUE;
9 Get_Control.PORT := Port;
10 //FUNÇÃO:
11 Get_Control();
12 //SAÍDAS:
13 Get_Control.DONE;
14 Get_Control.EXEC;
15 Get_Control.ERROR;
16 Status := Get_Control.STATUS; //Caso seja necessário tratar o erro.
17 Get_Control.CTS_VALUE;
18 Get_Control.DSR_VALUE;
19 Get_Control.DCD_VALUE;
5.13.1.4. SERIAL_GET_RX_QUEUE_STATUS
Esse bloco funcional é utilizado para ler algumas informações de status sobre a fila RX, sendo especialmente desenvolvido
para o modo normal, mas pode também ser utilizado no modo estendido.
285
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
1 PROGRAM UserPrg
2 VAR
3 Get_Status: SERIAL_GET_RX_QUEUE_STATUS;
4 Port: SERIAL_PORT := COM1;
5 Status: SERIAL_STATUS;
6 Status_RX: SERIAL_RX_QUEUE_STATUS;
7 END_VAR
8 //ENTRADAS:
9 Get_Status.REQUEST := TRUE;
10 Get_Status.PORT := Port;
11 //FUNÇÃO:
12 Get_Status();
13 //SAÍDAS:
14 Get_Status.DONE;
15 Get_Status.EXEC;
16 Get_Status.ERROR;
17 Status := Get_Status.STATUS; //Caso seja necessário tratar o erro.
18 Status_RX := Get_Status.RXQ_STATUS; //Caso seja necessário tratar o erro da
fila RX.
5.13.1.5. SERIAL_PURGE_RX_QUEUE
Esse bloco funcional é utilizado para limpar a fila RX, local e remota, da porta serial. A UART RX FIFO também é
reiniciada.
286
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
1 PROGRAM UserPrg
2 VAR
3 Purge_Queue: SERIAL_PURGE_RX_QUEUE;
4 Port: SERIAL_PORT := COM1;
5 Status: SERIAL_STATUS;
6 END_VAR
7 //ENTRADAS:
287
5. CONFIGURAÇÃO
8 Purge_Queue.REQUEST := TRUE;
9 Purge_Queue.PORT := Port;
10 //FUNÇÃO:
11 Purge_Queue();
12 //SAÍDAS:
13 Purge_Queue.DONE;
14 Purge_Queue.EXEC;
15 Purge_Queue.ERROR;
16 Status := Purge_Queue.STATUS; //Caso seja necessário tratar o erro.
5.13.1.6. SERIAL_RX
Esse bloco funcional é utilizado para receber um buffer da porta serial utilizando o modo normal da fila RX. Neste modo,
cada caractere na fila RX ocupa um único byte que contém o dado recebido, ou seja, armazena 5, 6, 7 ou 8 bits, de acordo com
a configuração da interface serial.
288
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
1 PROGRAM UserPrg
2 VAR
3 Receive: SERIAL_RX;
4 Port: SERIAL_PORT := COM1;
5 Buffer_Pointer: ARRAY [0..1023] OF BYTE; //Tamanho máximo.
6 Status: SERIAL_STATUS;
7 END_VAR
8 //ENTRADAS:
9 Receive.REQUEST := TRUE;
10 Receive.PORT := Port;
11 Receive.RX_BUFFER_POINTER := ADR(Buffer_Pointer);
12 Receive.RX_BUFFER_LENGTH := 1024; //Tamanho máximo.
13 Receive.RX_TIMEOUT := 10000;
289
5. CONFIGURAÇÃO
14 //FUNÇÃO:
15 Receive();
16 //SAÍDAS:
17 Receive.DONE;
18 Receive.EXEC;
19 Receive.ERROR;
20 Status := Receive.STATUS; //Caso seja necessário tratar o erro.
21 Receive.RX_RECEIVED;
22 Receive.RX_REMAINING;
5.13.1.7. SERIAL_RX_EXTENDED
Esse bloco funcional é utilizado para receber um buffer da porta serial utilizando o modo estendido da fila RX, conforme
detalhado na seção Configuração das Interfaces Seriais.
290
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
1 PROGRAM UserPrg
2 VAR
3 Receive_Ex: SERIAL_RX_EXTENDED;
291
5. CONFIGURAÇÃO
5.13.1.8. SERIAL_SET_CTRL
Esse bloco funcional é utilizado para escrever nos sinais de controle (RTS e DTR), quando estes estiverem disponíveis na
porta serial. Também pode determinar uma condição de ocupado para a transmissão, através do parâmetro BREAK, sendo que
somente pode ser utilizado se o sinal de modem estiver configurado para RS232_MANUAL.
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
1 PROGRAM UserPrg
2 VAR
3 Set_Control: SERIAL_SET_CTRL;
4 Port: SERIAL_PORT := COM1;
5 Status: SERIAL_STATUS;
6 END_VAR
7
8 //ENTRADAS:
9 Set_Control.REQUEST := TRUE;
10 Set_Control.PORT := Port;
11 Set_Control.RTS_VALUE := FALSE;
12 Set_Control.RTS_EN := FALSE;
13 Set_Control.DTR_VALUE := FALSE;
14 Set_Control.DTR_EN := FALSE;
15 Set_Control.BREAK := FALSE;
16 //FUNÇÃO:
17 Set_Control();
18 //SAÍDAS:
19 Set_Control.DONE;
20 Set_Control.EXEC;
21 Set_Control.ERROR;
22 Status := Set_Control.STATUS; //Caso seja necessário tratar o erro.
293
5. CONFIGURAÇÃO
5.13.1.9. SERIAL_TX
Esse bloco funcional é utilizado para transmitir um buffer de dados pela porta serial, sendo que o mesmo somente é
finalizado depois de todos os bytes serem transmitidos ou após o time-out (gera alguns erros).
294
5. CONFIGURAÇÃO
Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:
1 PROGRAM UserPrg
2 VAR
3 Transmit: SERIAL_TX;
4 Port: SERIAL_PORT := COM1;
5 Buffer_Pointer: ARRAY [0..9] OF BYTE := [0,1,2,3,4,5,6,7,8,9];
6 Status: SERIAL_STATUS;
7 END_VAR
8
9 //ENTRADAS:
10 Transmit.REQUEST := TRUE;
11 Transmit.PORT := Port;
12 Transmit.TX_BUFFER_POINTER := ADR(Buffer_Pointer);
13 Transmit.TX_BUFFER_LENGTH := 10;
14 Transmit.TX_TIMEOUT := 10000;
15 Transmit.DELAY_BEFORE_TX := 1000;
16 Transmit.CLEAR_RX_BEFORE_TX := TRUE;
17 //FUNÇÃO:
18 Transmit();
19 //SAÍDAS:
295
5. CONFIGURAÇÃO
20 Transmit.DONE;
21 Transmit.EXEC;
22 Transmit.ERROR;
23 Status := Transmit.STATUS; //Caso seja necessário tratar o erro.
24 Transmit.TX_TRANSMITTED;
ATENÇÃO:
Na inicialização de uma UCP da série Nexto, as entradas e saídas somente estarão atuali-
zadas para leitura e preparadas para escrita quando a MainTask for executada. Todas as
demais tarefas do sistema que executarem antes da MainTask estarão com as entradas e as
saídas inválidas.
5.13.2.1. REFRESH_INPUT
Essa função é utilizada para atualizar as entradas do módulo especificado, sem aguardar o ciclo ser completado. É impor-
tante ressaltar que os filtros, configurados no MasterTool IEC XE, e o tempo de atualização das entradas do módulo, deverão
ser considerados no tempo efetivo de atualização das entradas na aplicação desenvolvida pelo usuário.
ATENÇÃO:
A função de REFRESH_INPUT deve ser utilizada somente na tarefa MainTask.
Para executar a atualização de entradas em outras tarefas, a opção Habilita atualização de
E/S por tarefa deve ser selecionada, mais informações a respeito desta opção podem ser obti-
das na Tabela 50.
ATENÇÃO:
A função de REFRESH_INPUT não suporta a atualização de entradas que tenham sido ma-
peadas para variáveis simbólicas. Para o correto funcionamento é necessário que a entrada
esteja mapeada para uma variável dentro da memória de variáveis de entrada de represen-
tação direta (%I).
Possíveis ERRORCODE:
NoError: Execução com sucesso.
IOModuleAbsent: O módulo está ausente.
296
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR
3 Info: ERRORCODE;
4 byRackNumber: BYTE;
5 bySlotNumber: BYTE;
6 END_VAR
7 //ENTRADAS:
8 byRackNumber := 0;
9 bySlotNumber := 10;
10 //FUNÇÃO:
11 Info := REFRESH_INPUT (byRackNumber, bySlotNumber); //Chamada da função.
12 //Variável Info recebe possíveis erros da função.
5.13.2.2. REFRESH_OUTPUT
Essa função é utilizada para atualizar as saídas do módulo especificado, sem aguardar o ciclo ser completado. É importante
ressaltar que o tempo de atualização das saídas do módulo deverá ser considerado no tempo efetivo de atualização das saídas
na aplicação desenvolvida pelo usuário.
ATENÇÃO:
A função de REFRESH_OUTPUT deve ser utilizada somente na tarefa MainTask.
Para executar a atualização de saídas em outras tarefas, a opção Habilita atualização de E/S
por tarefa deve ser selecionada, mais informações a respeito desta opção podem ser obtidas
na Tabela 50.
ATENÇÃO:
A função de REFRESH_OUTPUT não suporta a atualização de saídas que tiverem sido ma-
peadas para variáveis simbólicas. Para o correto funcionamento é necessário que a saída
esteja mapeada para uma variável dentro da memória de variáveis de saída de representa-
ção direta (%Q).
Possíveis ERRORCODE:
NoError: Execução com sucesso.
IOModuleAbsent: O módulo foi configurado, porém está ausente.
IOModuleNotConfigured: O módulo não foi configurado.
ParameterMismatch: Esse erro é retornado caso a função seja chamada para um módulo que possua somente entradas,
ou também caso a opção Sempre atualizar variáveis (localizada na tela de configuração do módulo, aba Mapeamento de
E/S) não esteja marcada.
OutputWriteFail: Falha crítica interna no módulo (o frame transmitido pela função não foi retornado dentro do time-out
estipulado).
FrameTransmitError: Falha crítica interna no módulo (erro na transmissão do frame da função).
BusBusy: Falha crítica interna no módulo (o barramento não está habilitado para transmitir o frame da função).
Exemplo de utilização em Linguagem ST:
1 PROGRAM UserPrg
2 VAR
3 Info: ERRORCODE;
4 byRackNumber: BYTE;
5 bySlotNumber: BYTE;
6 END_VAR
7 //ENTRADAS:
8 byRackNumber := 0;
9 bySlotNumber := 10;
10 //FUNÇÃO:
11 //Chamada da função.
12 Info := REFRESH_OUTPUT (byRackNumber, bySlotNumber);
13 //Variável Info recebe possíveis erros da função.
5.13.2.3. RefreshIntegratedIoInputs
Esta função permite atualizar instantaneamente todas as entradas integradas à UCP do controlador. A função não possui
parâmetros de entrada e somente finaliza a execução após atualizar todas as entradas integradas.
5.13.2.4. RefreshIntegratedIoOutputs
Esta função permite atualizar instantaneamente todas as saídas integradas à UCP do controlador. A função não possui
parâmetros de entrada e somente finaliza a execução após atualizar todas as saídas integradas.
298
5. CONFIGURAÇÃO
ATENÇÃO:
O bloco funcional PID descrito até a revisão anterior O deste manual tornou-se obsoleto e
foi removido deste manual.
Os blocos funcionais PID, PID_INT e PID_REAL descritos até a revisão D do MP399048,
também tornaram-se obsoletos e foram também removidos a partir das versões mais recen-
tes desse manual. Usuários que precisam da descrição desses blocos funcionais obsoletos
devido a motivos de manutenção devem utilizar a revisão D do MP399048.
Os blocos funcionais PID, PID_INT e PID_REAL não devem ser utilizados em novos pro-
jetos. Esses blocos funcionais foram substituídos por novos blocos funcionais com recursos
adicionais, como ajuste automático e suporte à controles em cascata, sobreposição e feed-
forward. Esses novos blocos funcionais são descritos no MU214603, e estão disponíveis após
a versão 1.1.0.0 da biblioteca NextoPID.
ATENÇÃO:
É importante destacar que, para o correto funcionamento dos blocos funcionais do Tem-
porizador Retentivo, as variáveis de controle devem ser declaradas como retentivas (VAR
RETAIN). Também é importante ressaltar que em modo simulação os blocos funcionais do
Temporizador Retentivo não são executados adequadamente em virtude de necessitarem da
UCP Nexto para o correto comportamento.
Abaixo, são descritos os três tipos de blocos disponíveis na biblioteca NextoStandard do software MasterTool IEC XE
(para realizar o procedimento de inserção de uma biblioteca, consultar o Manual de Programação IEC 61131 – MP399048,
capítulo Bibliotecas).
5.13.4.1. TOF_RET
O bloco funcional TOF_RET implementa um tempo de atraso para desabilitar uma saída. Quando a entrada IN tem
seu estado alterado de verdadeiro (TRUE) para falso (FALSE), ou seja, uma borda de descida, o tempo especificado PT irá
transcorrer até que a saída Q também seja falsa (FALSE). Quando a entrada IN tem nível lógico 1 (TRUE), a saída Q também
permanecerá no mesmo estado (TRUE), mesmo que isso aconteça no meio de uma contagem. O tempo PT pode ser alterado
durante a contagem, pois o bloco funcional assumirá o novo valor, desde que a contagem não tenha chegado ao final. A Figura
178 representa o bloco TOF_RET e a Figura 179 mostra o comportamento gráfico do mesmo.
299
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR RETAIN
3 bStart : BOOL := TRUE;
4 TOF_RET : TOF_RET;
5 END_VAR
6
7 // Quando bStart=FALSE inicia contagem
8 TOF_RET( IN := bStart,
9 PT := T#20S);
10
11 // Executa ações ao final da contagem
12 IF (TOF_RET.Q = FALSE) THEN
13 bStart := TRUE;
14 END_IF
5.13.4.2. TON_RET
O bloco funcional TON_RET implementa um tempo de atraso para habilitar uma saída. Quando a entrada IN tem seu estado
alterado de falso (FALSE) para verdadeiro (TRUE), ou seja, uma borda de subida, o tempo especificado PT irá transcorrer
até que a saída Q também seja verdadeira (TRUE). Quando a entrada IN tem nível lógico 0 (FALSE), a saída Q também
permanecerá no mesmo estado (FALSE), mesmo que isso aconteça no meio de uma contagem. O tempo PT pode ser alterado
durante a contagem, pois o bloco funcional assumirá o novo valor, desde que a contagem não tenha chegado ao final. A Figura
180 representa o bloco TON_RET e a Figura 181 mostra o comportamento gráfico do mesmo.
300
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR RETAIN
3 bStart : BOOL;
4 TON_RET : TON_RET;
5 END_VAR
6
7 // Quando bStart=TRUE inicia contagem
8 TON_RET( IN := bStart,
9 PT := T#20S);
10
301
5. CONFIGURAÇÃO
5.13.4.3. TP_RET
O bloco funcional TP_RET trabalha como um trigger. O temporizador, que inicia quando a entrada IN tem seu estado
alterado de falso (FALSE) para verdadeiro (TRUE), ou seja, uma borda de subida, é incrementado até que o limite de tempo
PT seja atingido. Durante a contagem, a saída Q é verdadeira (TRUE), caso contrário ela é falsa (FALSE). O tempo PT pode
ser alterado durante a contagem, pois o bloco assumirá o novo valor, desde que a contagem não tenha chegado ao final. A
Figura 182 representa o bloco TP_RET e a Figura 183 mostra o comportamento gráfico do mesmo.
302
5. CONFIGURAÇÃO
1 PROGRAM UserPrg
2 VAR RETAIN
3 bStart : BOOL;
4 TP_RET : TP_RET;
5 END_VAR
6
7 // Configura TP_RET
8 TP_RET( IN := bStart,
9 PT := T#20S);
10
11 bStart := FALSE;
12
13 // Ações durante a contagem
14 IF (TP_RET.Q = TRUE) THEN
15 // Executa enquanto o contador estiver ativado
16 ELSE
17 // Executa somente quando o contador estiver desativado
18 END_IF
5.13.5.1. TOF_NR
O bloco funcional TOF_NR implementa um tempo de atraso para desabilitar uma saída e tem o funcionamento e configu-
ração parecidos com o bloco funcional TOF_RET, se diferenciando apenas por não ser redundante e nem retentivo.
1 PROGRAM NonSkippedPrg
2 VAR
3 bStart : BOOL := TRUE;
4 TOF_NR : TOF_NR;
5 END_VAR
6
7 // Quando bStart=FALSE inicia contagem
8 TOF_NR( IN := bStart,
303
5. CONFIGURAÇÃO
9 PT := T#20S);
10
11 // Executa ações ao final da contagem
12 IF (TOF_NR.Q = FALSE) THEN
13 bStart := TRUE;
14 END_IF
5.13.5.2. TON_NR
O bloco funcional TON_NR implementa um tempo de atraso para habilitar uma saída e tem o funcionamento e configuração
parecidos com o bloco funcional TON_RET, se diferenciando apenas por não ser redundante e nem retentivo.
1 PROGRAM NonSkippedPrg
2 VAR
3 bStart : BOOL;
4 TON_NR : TON_NR;
5 END_VAR
6
7 // Quando bStart=TRUE inicia contagem
8 TON_NR( IN := bStart,
9 PT := T#20S);
10
11 // Executa ações ao final da contagem
12 IF (TON_NR.Q = TRUE) THEN
13 bStart := FALSE;
14 END_IF
5.13.5.3. TP_NR
O bloco funcional TP_NR trabalha como um trigger e tem o funcionamento e configuração parecidos com o bloco funcional
TP_RET, se diferenciando apenas por não ser redundante e nem retentivo.
304
5. CONFIGURAÇÃO
1 PROGRAM NonSkippedPrg
2 VAR
3 bStart : BOOL;
4 TP_NR : TP_NR;
5 END_VAR
6
7 // Configura TP_NR
8 TP_NR( IN := bStart,
9 PT := T#20S);
10
11 bStart := FALSE;
12
13 // Ações durante a contagem
14 IF (TP_NR.Q = TRUE) THEN
15 // Executa enquanto o contador estiver ativado
16 ELSE
17 // Executa somente quando o contador estiver desativado
18 END_IF
305
5. CONFIGURAÇÃO
A seguir, são descritas as duas funções disponíveis na biblioteca LibLogs no MasterTool IEC XE. Para realizar o procedi-
mento de inserção de uma biblioteca, consultar o Manual de Programação IEC 61131 – MP399048, capítulo Bibliotecas.
ATENÇÃO:
Os Logs de Usuário estão disponíveis apenas a partir da versão 1.3.0.20 das UCPs da Série
Nexto. Da mesma forma, para utilizar esta funcionalidade é necessária a versão 1.40 ou
superior do MasterTool IEC XE.
5.13.6.1. UserLogAdd
Essa função é utilizada para adicionar uma nova mensagem de log do usuário, acrescentando em uma nova linha ao arquivo
de log no cartão de memória. A mensagem deve ter um tamanho máximo de 150 caracteres e o tipo de evento da mensagem.
Variáveis da aplicação podem ser registradas utilizando conversão para string e concatenação com a mensagem principal.
É adicionada automaticamente na mensagem a informação de data e hora em UTC (estampa de tempo) com resolução de
milissegundos em que o evento foi registrado. A informação de data e hora também é utilizada na formação dos nomes dos
arquivos de log.
A função UserLogAdd pode ser utilizada para inserir várias mensagens dentro de uma mesma tarefa e também em tarefas
diferentes da aplicação. Porém independente de cada execução da função na aplicação, sendo ela na mesma tarefa ou em tarefas
diferentes, todas utilizam o mesmo recurso para gravar as mensagens desejadas. Por esse motivo é recomendado que a adição
de mensagens utilizando a função UserLogAdd na aplicação seja realizada a cada 50 ms para evitar retorno de buffer cheio.
Caso a função seja executada em períodos menores que o indicado, mas respeite o tempo médio de 50 ms entre cada adição
de mensagem ao término do intervalo da tarefa, também evita o retorno de buffer cheio. Para que os logs sejam adicionados
corretamente, é importante respeitar os limites de tempo quando o cartão é inserido e na inicialização da UCP, mencionados
na seção Cartão de Memória. Após a operação a função retorna as opções para o tipo de dado USER_LOG_ERROR_CODES,
conforme a Tabela 229. Quando o retorno da função for diferente de USER_LOG_OK, a mensagem não foi registrada, devendo
ser executada novamente a função UserLogAdd com a mensagem desejada. Em caso de retorno de falhas consecutivas de
escrita, o cartão de memória pode estar danificado. A substituição por um cartão de memória íntegro garante que as últimas
mensagens registradas serão gravadas no cartão que não está danificado, desde que a UCP não seja reiniciada.
A figura abaixo representa a função UserLogAdd e a tabela abaixo os parâmetros de entrada:
306
5. CONFIGURAÇÃO
Os arquivos de log são gerados e organizados no cartão de memória em um caminho de diretórios específico que depende
do número de série da UCP e da versão de firmware instalada. Por exemplo, para uma UCP com número de série 445627 e
versão de firmware 1.4.0.4, o local onde os arquivos de log devem ser gravados no cartão de memória é MemoryCard/User-
Log/445627/1.4.0.4/.
Os nomes dos arquivos de log são formados pela data e hora (estampa de tempo) da primeira mensagem. Exceto quando
há algum problema para utilizar esse nome, como por exemplo, outro arquivo existente com o mesmo nome, nessa situação
são utilizadas a data e hora instantâneas. O nome do arquivo segue o seguinte padrão: ano/mês/dia/hora/minuto/segundo/mi-
lissegundo.CSV. Caso um arquivo apresente problema de acesso por setor defeituoso e não seja possível continuar com escrita,
será adicionado ao nome desse arquivo a extensão “corrupted” e um novo arquivo será criado. A quantidade de logs por
arquivo não é fixa, variando em função do tamanho das mensagens. A quantidade de arquivos criados é limitada em 1024 com
tamanho máximo de 1 MB cada, portanto o cartão de memória necessita de 1 GB de espaço livre. Quando atingir o limite de
1024 arquivos criados no cartão de memória, durante a operação da UCP, os arquivos mais antigos são removidos para que os
arquivos com logs mais recentes sejam preservados, mesmo nos casos de remoção manual parcial dos arquivos no diretório
onde os arquivos estão sendo gravados.
A visualização dos arquivos de log pode ser realizada através de planilhas ou editores de texto convencionais. As infor-
mações concatenadas, para melhor visualização, podem utilizar ponto e vírgula entre as strings da mensagem para separá-las.
Deve-se ter o cuidado na formatação de células com valores em ponto flutuante.
Exemplo de utilização em Linguagem ST:
1 PROGRAM UserPrg
2 VAR
3 eLogError : USER_LOG_ERROR_CODES;
4 sMessage :USER_LOG_MESSAGE;
5 END_VAR
6
7 IF (m_rTemperature > MAX_TEMPERATURE_ACCEPT) THEN
8 sMessage := 'Temperatura acima do esperado: ';
9 sMessage := concat(sMessage, REAL_TO_STRING(m_rTemperature));
10 sMessage := concat(sMessage, ' º ');
11 eLogError := UserLogAdd(USER_LOG_EVENT_WARN, sMessage);
12 //Variável eLogError recebe possíveis erros da função.
13 END_IF
1 Model; NX3030
2 Serial number; 445627
3 Firmware version; 1.4.0.4
4
5 27/08/2013 15:06:24.5738; WARN; Temperatura acima do esperado: 25 º
6 27/08/2013 16:37:45.3476; WARN; Temperatura acima do esperado: 25 º
307
5. CONFIGURAÇÃO
5.13.6.2. UserLogDeleteAll
A função UserLogDeleteAll realiza a exclusão dos arquivos de log presentes no diretório criado especificamente para a
UCP em que está inserido o cartão de memória, ou seja, são excluídos apenas os logs contidos no diretório nomeado com
a versão de firmware da UCP que existe dentro do diretório com a versão de série da UCP. Os arquivos de log excluídos
são apenas os arquivos existentes no momento da montagem do cartão de memória e os gerados pela função UserLogAdd.
Registros de outras UCPs e arquivos adicionados manualmente pelo usuário durante a execução não são apagados. A figura
abaixo representa a função UserLogDeleteAll.
1 PROGRAM UserPrg
2 VAR
3 eLogError : USER_LOG_ERROR_CODES;
4 END_VAR
5
6 IF (m_DeleteLogs = TRUE) THEN
7 eLogError := UserLogDeleteAll();m_DeleteLogs := FALSE;
8 //Variável eLogError recebe possíveis erros da função.
9 END_IF
ATENÇÃO:
O retorno da função UserLogDeleteAll não indica operação concluída, apenas confirmação
de execução que pode levar um período de tempo grande caso existam centenas de arquivos
de log no diretório. A função para registro de novos logs de usuário estará indisponível
nesse momento, retornando a opção USER_LOG_PROCESSING para qualquer operação.
O resultado da operação também pode ser verificado no log de sistema.
5.13.7. ClearRtuDiagnostic
Esta função não é suportada por esta série de UCPs.
5.13.8. ClearEventQueue
A função ClearEventQueue disponibilizada pela biblioteca LibRtuStandard pode ser utilizada quando for necessário limpar
a fila de eventos da UCP e de todos os drivers instanciados.
ATENÇÃO:
A função ClearEventQueue não se aplica à limpeza da fila de serviço de Registro de Eventos
(SOE), descrito na seção Configuração do SOE. A função limpa apenas as filas de eventos
dos drivers configurados sob as interfaces de comunicação (COMs e NETs) da UCP.
Conforme a tabela abaixo, o resultado de execução da função será mostrado na sua variável de saída.
308
5. CONFIGURAÇÃO
Exemplo de utilização em linguagem ST, onde a chamada da função irá limpar a fila de eventos e, consequentemente, zerar
os diagnósticos de uso das filas de eventos dos drivers de comunicação T_DIAG_DNP_SERVER_1.tClient_*.tQueueDiags.wUsage:
1 PROGRAM UserPrg
2 VAR
3 ClearEventQueueStatus : TYPE_RESULT;
4 END_VAR
5
6 ClearEventQueueStatus := ClearEventQueue();
5.14. SNMP
5.14.1. Introdução
SNMP (Simple Network Management Protocol) é um protocolo muito utilizado por administradores de redes por fornecer
importantes informações e diagnósticos de equipamentos presentes em determinada rede Ethernet.
Este protocolo usa o conceito de agente e gerente, no qual o gerente envia requisições de leitura ou escrita de determinados
objetos para o agente. Através de uma MIB (Management Information Base) o gerente tem conhecimento dos objetos existentes
no agente, e dessa forma poderá fazer requisições desses objetos, respeitando as permissões de leitura ou escrita dos mesmos.
MIB é uma coleção de informações organizadas hierarquicamente, onde cada objeto desta árvore é chamado de OID (Object
Identifier).
Para todos os equipamentos com SNMP, é obrigatório o suporte a MIB-II. Nesta MIB estão descritas as principais infor-
mações para gerenciamento de redes Ethernet.
309
5. CONFIGURAÇÃO
Por padrão, o agente SNMP está ativado, ou seja, o serviço é inicializado no momento em que a UCP é iniciada. O acesso
às informações do agente se dá através das interfaces Ethernet NET 1 e NET 2 das UCPs da Série Nexto na porta UDP 161.
Portanto quando o serviço estiver ativo, as informações do agente poderão ser acessadas através de qualquer uma das duas
interfaces Ethernet, conforme a disponibilidade da UCP em uso. Não é possível disponibilizar informações do agente através
de interfaces Ethernet dos módulos NX5000. Na figura abaixo é mostrado um exemplo de gerente SNMP, no qual são lidos
alguns valores.
Para SNMPv3, na qual existe autenticação de usuário e senha para requisições via protocolo SNMP, é fornecido um usuário
310
5. CONFIGURAÇÃO
Efetuado o login com sucesso, poderá ser visualizado o estado atual do serviço (ativado ou desativado), assim como as
informações de usuário SNMPv3 e comunidades para SNMPv1/v2c.
O usuário poderá ativar ou desativar o serviço através de um checkbox na parte superior da tela.
É possível também alterar as informações de SNMPv3, clicando no botão Alterar logo abaixo das informações de usuário.
Abrirá um formulário onde é necessário preencher o usuário e senha antigos, e o novo usuário e senha. As demais informações
de usuário SNMPv3 não podem ser alteradas.
Para alterar os dados das comunidades SNMPv1/v2c, o processo é parecido, basta clicar no botão Alterar abaixo das
informações das comunidades. Uma nova tela será aberta onde serão inseridos os novos dados para os campos rocommunity
e rwcommunity. Caso o usuário deixe qualquer um dos campos em branco, a respectiva comunidade será desativada. Dessa
forma, se o usuário deixar os 2 campos em branco, o acesso ao agente SNMP será possível somente através do SNMPv3.
Caso o usuário deseje retornar para as configurações padrão, será necessário reconfigurar manualmente as mesmas de
acordo com a seção Usuário e Comunidades SNMP. Portanto, todas as configurações SNMP atuais serão mantidas no processo
de atualização de firmware. Estas opções podem ser visualizadas na figura abaixo.
311
5. CONFIGURAÇÃO
ATENÇÃO:
Caso as telas apresentadas forem diferentes das visualizadas no navegador, será necessária
uma limpeza de cache do navegador.
ATENÇÃO:
O usuário e senha para login na página web das Configurações SNMP e para acessar o agente
via protocolo SNMP são iguais.
É possível efetuar acesso ao SNMPv3 através do usuário padrão conforme tabela abaixo.
Para todas as configurações de comunidades, usuário e senha existem limites que devem ser observados na tabela abaixo.
312
5. CONFIGURAÇÃO
313
6. REDUNDÂNCIA COM UCP NX3030
314
6. REDUNDÂNCIA COM UCP NX3030
315
6. REDUNDÂNCIA COM UCP NX3030
316
6. REDUNDÂNCIA COM UCP NX3030
É possível inserir até quatro módulos NX5001 para a utilização de redes PROFIBUS em um CP redundante. Cada uma
destas redes pode ser simples ou redundante. Caso a rede PROFIBUS “n” (sendo “n” um número de 1 a 4) seja redundante, as
duas redes que a compõem são nomeadas PROFIBUS “n” A e PROFIBUS “n” B. Caso a rede PROFIBUS “n” seja simples, a
rede que a compõe é nomeada PROFIBUS “n” A.
Para criar uma rede PROFIBUS redundante, é necessário inserir dois módulos NX5001 em cada half-cluster. Para criar
uma rede PROFIBUS simples, basta inserir um módulo NX5001 em cada half-cluster. Sendo assim, é possível configurar até
quatro redes simples, ou duas redes redundantes, ou uma redundante e duas simples. Nos demais casos, menos do que quatro
módulos NX5001 serão necessários em cada half-cluster. Mais informações sobre redes PROFIBUS são fornecidas na seção
Configurações de Redes PROFIBUS.
No exemplo da Figura 192, existe apenas uma rede PROFIBUS (PROFIBUS 1), e a mesma é redundante (PROFIBUS 1 A
e PROFIBUS 1 B). Neste exemplo, portanto, foram inseridos dois módulos NX5001 em cada half-cluster.
É possível inserir até seis módulos NX5000 em cada half-cluster, provendo seis canais Ethernet adicionais, além dos dois
canais Ethernet já existentes na UCP NX3030.
Os canais Ethernet podem ser usados de forma individual, ou organizados em pares NIC Teaming. Pares NIC Teaming
são utilizados para prover canais Ethernet redundantes e serão descritos com maiores detalhes na seção Redes Ethernet
Redundantes com NIC Teaming.
Uma aplicação típica para o módulo NX5000 pode ser construir uma HSDN (High Speed Deterministic Network), para
comunicação entre diversos CPs redundantes. Através desta rede, diversos CPs redundantes podem trocar mensagens em uma
rede totalmente segregada, para garantir determinismo e uma comunicação rápida. Além disso, configurando esta rede como
redundante com pares NIC Teaming, pode-se obter excelente disponibilidade. Para construir uma HSDN redundante, deve-se
inserir dois módulos NX5000 em cada half-cluster. A Figura 192 mostra um exemplo de HSDN redundante, utilizando dois
módulos NX5000 em cada half-cluster.
Aplicações nas quais os módulos de entradas e saídas estejam conectados a redes Ethernet podem necessitar interfaces
extras de módulos NX5000 para se conectar a estas redes. Nestes casos, a rede que conecta os módulos de entradas e saídas
pode ser uma rede simples ou redundante. Além disso, as interfaces podem ser configuradas com a opção de gerar falha vital.
Neste caso, uma falha na rede provocará um switch-over.
A Figura 192 também mostra um exemplo com um módulo NX5000 usado de forma isolada (sem redundância NIC
Teaming), inserido à direita dos demais módulos em cada bastidor.
317
6. REDUNDÂNCIA COM UCP NX3030
318
6. REDUNDÂNCIA COM UCP NX3030
319
6. REDUNDÂNCIA COM UCP NX3030
320
6. REDUNDÂNCIA COM UCP NX3030
321
6. REDUNDÂNCIA COM UCP NX3030
322
6. REDUNDÂNCIA COM UCP NX3030
323
6. REDUNDÂNCIA COM UCP NX3030
324
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
Pode-se instalar até quatro módulos PROFIBUS em cada CP redundante. Isto significa que
podemos configurar até quatro redes PROFIBUS simples ou duas redes PROFIBUS redun-
dantes.
ATENÇÃO:
O registro de Identificação do CP não faz parte do projeto do CP redundante, e portanto não
é salvo como parte deste projeto no computador onde o MasterTool IEC XE é executado. O
registro é salvo apenas na memória não volátil da UCP.
325
6. REDUNDÂNCIA COM UCP NX3030
O projeto de um CP redundante possui uma única tarefa, denominada MainTask, que é cíclica. O usuário pode ajustar o
intervalo da tarefa.
A tarefa MainTask está associada a uma única POU do tipo programa, denominada MainPrg. O programa MainPrg é criado
automaticamente.
O código do programa MainPrg é o seguinte, em linguagem ST:
1 SpecialVariablesPrg();
2 IF isFirstCycle THEN
3 StartPrg();
4 isFirstCycle := FALSE;
5 ELSE
6 fbRedundancyManagement();
7 IF fbRedundancyManagement.m_fbDiagnosticsLocal.eRedState =
REDUNDANCY_STATE.ACTIVE THEN
8 SpecialVariablesRedundantPrg();
9 END_IF;
10 NonSkippedPrg();
11
12 IF fbRedundancyManagement.m_fbDiagnosticsLocal.eRedState =
REDUNDANCY_STATE.ACTIVE THEN
13 ActivePrg();
14 END_IF;
15 END_IF;
MainPrg chama outras duas POUs do tipo programa, denominadas NonSkippedPrg e ActivePrg. NonSkippedPrg sempre
é chamada, pois é executada tanto no CP Ativo quanto no Não-Ativo. Já a POU ActivePrg só é chamada quando a condição
“RedDgnLoc.sGeneral.Diag.eRedState = Active” é verdadeira, ou seja, quando o CP se encontra em estado Ativo.
Portanto, o programa NonSkippedPrg será sempre executado em ambos os CPs (CPA e CPB), independente do estado de
redundância deste CP. Por outro lado, o programa ActivePrg será executado somente no CP que se encontra em estado Ativo.
Ao contrário do programa MainPrg, que não deve ser modificado, o usuário pode modificar os programas NonSkippedPrg
e ActivePrg. Inicialmente, quando o projeto redundante é criado a partir do Redundancy Template, estes dois programas são
criados “vazios”, mas o usuário poderá inserir código nos mesmos.
ATENÇÃO:
Quando a opção de comunicação OPC DA for habilitada durante a criação do projeto, o
programa NonSkippedPrg não será criado vazio. Para maiores informações, consultar a
seção Uso de Comunicação OPC DA com Projetos Redundantes.
326
6. REDUNDÂNCIA COM UCP NX3030
O principal objetivo deste programa, que é executado somente no CP Ativo, é controlar o processo do usuário final.
Este programa normalmente atua sobre as variáveis redundantes, entre as quais encontram-se as variáveis de representação
direta %I e %Q associadas ao sistema de E/S remotas. Para maiores informações, consultar a seção Programação de um CP
Redundante - Configurações da MainTask - Programa ActivePrg.
ATENÇÃO:
Havendo sucesso ou não na compilação, o MasterTool informa se a folga é respeitada e o
cálculo do overhead de redundância na janela de mensagens.
Este programa, que é executado em ambos os CPs (CPA e CPB) independente do estado de redundância, é tipicamente
utilizado para funções como:
Organizar diagnósticos não-redundantes para reportar a um sistema SCADA.
Receber e executar comandos não-redundantes a partir de um sistema SCADA.
Gerenciar condições de switch-over normalmente não contempladas automaticamente pelo CP redundante, que podem
variar de usuário para usuário. Por exemplo, determinado usuário poderá executar um switch-over para o CP Reserva se
o CP Ativo não estiver se comunicando com o sistema SCADA, enquanto outro usuário pode não desejar um switch-over
nesta situação.
Habilitar ou desabilitar drivers de E/S em função do estado de redundância, por exemplo, desabilitar um mestre MOD-
BUS RS-485 no CP Não-Ativo.
Detectar falhas em drivers de E/S em um CP Não-Ativo para evitar falhas ocultas. Alguns drivers de E/S não contemplam
detecção automática de tais falhas. Outros drivers de E/S, como o PROFIBUS, o fazem automaticamente.
Outras atividades que, por algum motivo, precisam ser executadas tanto no CP Ativo como no CP Reserva.
Para maiores informações, consultar a seção Programação de um CP Redundante - Configurações da MainTask - Pro-
grama NonSkippedPrg.
As variáveis de um CP redundante podem ser classificadas entre redundantes e não-redundantes. Variáveis redundantes são
copiadas do CP Ativo para o CP Não-Ativo, no início de cada ciclo da MainTask, através dos canais de sincronismo NETA e
NETB. Por outro lado, variáveis não-redundantes não são copiadas entre half-clusters e, portanto, podem ter valores diferentes
nos CPs A e B.
As variáveis não-redundantes são utilizadas para armazenar informações privativas de cada half-cluster (CPA ou CPB), tais
como diagnósticos de um módulo dentro deste half-cluster, incluindo os diagnósticos da redundância (estado da redundância
deste half-cluster, etc...).
As variáveis redundantes dizem respeito às informações compartilhadas e relativas ao controle do processo. As variáveis
associadas aos módulos de E/S são exemplos típicos de variáveis redundantes.
327
6. REDUNDÂNCIA COM UCP NX3030
A UCP NX3030 aloca 96 Kbytes de variáveis %Q (%QB0 ... %QB98303). Os primeiros 80 Kbytes podem ser redundantes
(%QB0 ... %QB81919). Os últimos 16 Kbytes sempre são não-redundantes (%QB81920 ... %QB98303).
A área de 80 Kbytes que pode ser redundante é dividida em duas seções:
Os primeiros bytes são reservados para saídas que podem ser redundantes, e tipicamente alocadas para um sistema de
E/S remotas (PROFIBUS, MODBUS, etc...). O tamanho dessa seção é configurável, e seu valor padrão é 16384. Ela
engloba %QB0 ... %QB16383, podendo ser configurada para até 64 Kbytes (%QB0 ... %QB65535).
Os próximos bytes são reservados para diagnósticos que podem ser redundantes, por exemplo, do sistema de E/S (diag-
nósticos de módulos de E/S, de interfaces de comunicação escravos PROFIBUS, etc...). Ao contrário dos diagnósticos
rápidos (alocados em %I), tais diagnósticos alocados em %Q podem levar mais do que um ciclo da MainTask para serem
atualizados. Por padrão, esta seção engloba 16 Kbytes (%QB65536 ... %QB81919).
A área não-redundante (%QB81920 ... %QB98303) tipicamente é alocada para diagnósticos e comandos privados de um
half-cluster, e também para os LEDs e relé do painel de comando de redundância PX2612.
O usuário pode reduzir a quantidade de variáveis %Q redundantes em cada uma das duas seções que podem ser redundantes:
Na primeira seção, o tamanho da área redundante pode ser configurado entre 0 bytes e 65535 bytes, em múltiplos
de 1 byte (o valor padrão é 16384 bytes). A configuração adequada da quantidade de %Q redundantes nesta seção é
importante para reduzir o tempo necessário para sincronizar variáveis redundantes (reduzir o overhead da redundância).
Por exemplo, se a aplicação real aloca apenas %Q0 ... %Q1499 para saídas redundantes, pode-se definir o tamanho desta
seção redundante de %Q em 1500 bytes.
Na segunda seção, o tamanho da área redundante pode ser configurado entre 0 bytes e 81919 bytes, em múltiplos de
1 byte (o valor padrão é 16384 bytes). A configuração adequada da quantidade de %Q redundantes nesta seção é
importante para reduzir o tempo necessário para sincronizar variáveis redundantes (reduzir o overhead da redundância).
Por exemplo, se a aplicação real aloca apenas %QB65536 ... %QB66999 para diagnósticos redundantes, pode-se definir
o tamanho desta seção redundante de %Q em 1464 bytes.
A figura seguinte ilustra a alocação de variáveis de representação direta %Q redundantes e não-redundantes, onde RQS
é a quantidade de saídas %Q configuradas como redundantes na primeira seção, e RQD é a quantidade de diagnósticos %Q
configurados como redundantes na segunda seção.
328
6. REDUNDÂNCIA COM UCP NX3030
Além das variáveis de representação direta (%I, %Q e %M) que são alocadas automaticamente, o usuário pode declarar
explicitamente variáveis simbólicas, dentro de POUs ou GVLs. O tamanho máximo permitido para alocação de variáveis
simbólicas redundantes é de 512 Kbytes.
ATENÇÃO:
Não se deve confundir variáveis simbólicas com variáveis simbólicas endereçadas através da
diretiva AT. Variáveis simbólicas que utilizam a diretiva AT são nomes simbólicos atribuídos
a variáveis de representação direta (%I, %Q e %M). Portanto, variáveis que utilizam a
diretiva AT não alocam nenhuma memória de variáveis simbólicas.
329
6. REDUNDÂNCIA COM UCP NX3030
Quando declaradas em POUs do tipo “função”. Observar que tais tipos de POUs normalmente deveriam alocar variáveis
apenas na pilha (não estáticas), que consequentemente não precisam ser redundantes. Mesmo sabendo que o usuário
pode declarar variáveis estáticas (VAR STATIC) dentro de POUs do tipo “função”, isto é considerado uma má prática
de programação. Tais variáveis estáticas, caso sejam criadas, serão consideradas não-redundantes
Quando declaradas em POUs do tipo “bloco funcional”. Observar que a mera declaração de um “bloco funcional” não
aloca memória (o que aloca memória é instanciar um Bloco Funcional)
Deve-se observar que instâncias de blocos funcionais, declaradas dentro de POUs do tipo programa ou dentro de GVLs,
comportam-se como variáveis simbólicas, ou seja, alocam memória redundante. Da mesma maneira que variáveis simbólicas,
quando instâncias de bloco funcional são declaradas no programa NonSkippedPrg ou quando a GVL não é marcada como
redundante, tais instâncias são não-redundantes.
1 VAR
2 var_comando_StandBy_relacao_Ethernet : BOOL;
3 var_comando_StandBy_relacao_Serial : BOOL;
4 var_comando_Inactive_relacao_Ethernet : BOOL;
5 var_comando_Inactive_relacao_Serial : BOOL;
6 var_comando_TurnOn_relacao_Ethernet : BOOL;
7 var_comando_Turn_relacao_Serial : BOOL;
8 END_VAR
9
10 //Lógica para colocar o CP Local em Reserva
11 IF var_comando_StandBy_relacao_Ethernet = TRUE THEN
12 DG_NX4010.tRedundancy.RedCmdLoc.bStandbyLocal:=TRUE;
13 var_comando_StandBy_relacao_Ethernet:=FALSE;
14 END_IF
15 IF var_comando_StandBy_relacao_Serial = TRUE THEN
16 DG_NX4010.tRedundancy.RedCmdLoc.bStandbyLocal:=TRUE;
17 var_comando_StandBy_relacao_Serial:=FALSE;
18 END_IF
19 //Lógica para colocar o CP Local em Inativo
20 IF var_comando_Inactive_relacao_Ethernet = TRUE THEN
21 DG_NX4010.tRedundancy.RedCmdLoc.bInactiveLocal:=TRUE;
22 var_comando_Inactive_relacao_Ethernet:=FALSE;
23 END_IF
24 IF var_comando_Inactive_relacao_Serial = TRUE THEN
25 DG_NX4010.tRedundancy.RedCmdLoc.bInactiveLocal:=TRUE;
26 var_comando_Inactive_relacao_Serial:=FALSE;
27 END_IF
28 //Lógica para religar o CP Local desligado pelo PX2612
29 IF var_comando_TurnOn_relacao_Ethernet = TRUE THEN
30 DG_NX4010.tRedundancy.RedCmdLoc.bTurnOnLocal:=TRUE;
31 var_comando_TurnOn_relacao_Ethernet:=FALSE;
32 END_IF
330
6. REDUNDÂNCIA COM UCP NX3030
Acima temos um exemplo de uma lógica em linguagem ST, onde o comando da redundância pode ser feito por duas
variáveis, que provêm de portas de comunicação diferentes. No exemplo, realizamos três comandos diferentes (StandBy,
Inactive e TurnOn).
Onde:
var_comando_StandBy_relacao_Ethernet: variável do tipo Bool atribuída a um Coil da comunicação Ethernet que
realizará o comando para colocar o Half-Cluster Local em Reserva.
var_comando_StandBy_relacao_Serial: variável do tipo Bool atribuída a um Coil da comunicação Serial que realizará
o comando para colocar o Half-Cluster Local em Reserva.
DG_NX4010.tRedundancy.RedCmdLoc.bStandbyLocal: este comando produz uma ação equivalente ao botão STAND-
BY do PX2612, no CP local.
var_comando_Inactive_relacao_Ethernet: variável do tipo Bool atribuída a um Coil da comunicação Ethernet que rea-
lizará o comando para colocar o Half-Cluster Local em Inativo.
var_comando_Inactive_relacao_Serial: variável do tipo Bool atribuída a um Coil da comunicação Serial que realizará o
comando para colocar o Half-Cluster Local em Inativo.
DG_NX4010.tRedundancy.RedCmdLoc.bInactiveLocal: este comando produz uma ação equivalente ao botão INAC-
TIVE do PX2612, no CP local.
var_comando_TurnOn_relacao_Ethernet: variável do tipo Bool atribuída a um Coil da comunicação Ethernet que
realizará o comando para religar o Half-Cluster Local depois que o relé do PX2612 o desligou.
var_comando_Turn_relacao_Serial: variável do tipo Bool atribuída a um Coil da comunicação Serial que realizará o
comando para religar o Half-Cluster Local depois que o relé do PX2612 o desligou.
DG_NX4010.tRedundancy.RedCmdLoc.bTurnOnLocal: este comando produz uma ação equivalente ao botão TURN
ON PLC do PX2612, no CP local.
331
6. REDUNDÂNCIA COM UCP NX3030
Este serviço é responsável pelo intercâmbio das seguintes estruturas de dados, em cada ciclo da MainTask:
Copiar RedDgnLoc do CPA para RedDgnRem do CPB
Copiar RedCmdLoc do CPA para RedCmdRem do CPB
Copiar RedUsrLoc do CPA para RedUsrRem do CPB
Copiar RedDgnLoc do CPB para RedDgnRem do CPA
Copiar RedCmdLoc do CPB para RedCmdRem do CPA
Copiar RedUsrLoc do CPB para RedUsrRem do CPA
O serviço será executado utilizando apenas um dos canais de sincronismo (NETA ou NETB). Desta maneira, o serviço
pode ser completado mesmo que um dos canais esteja com problemas.
Este serviço é responsável pela transferência de variáveis redundantes, do CP Ativo para o CP Não-Ativo. Conforme visto
anteriormente, existem variáveis redundantes simbólicas e também variáveis redundantes de representação direta (%I, %M e
%Q).
Para que este serviço seja executado, diversas condições devem ser satisfeitas:
O serviço de sincronização anterior deste ciclo da MainTask (Troca de Diagnósticos e Comando) deve ter completado
com sucesso.
Caso este CP esteja em estado Ativo, o outro deve estar em estado Não-Ativo. Por outro lado, caso este CP esteja em
estado Não-Ativo, o outro deve estar em estado Ativo.
Os projetos dos 2 CPs devem estar idênticos, exceto quando a sincronização automática de projetos estiver desabilitada
(ver seção Desabilitação da Sincronização de Projetos).
Necessário pelo menos um canal de sincronismo (NETA e/ou NETB) em estado operacional. Se ambos os canais
estiverem em operação, a comunicação é distribuída entre ambos (balanceamento de carga) para reduzir o tempo da
sincronização. Caso apenas um canal estiver em operação, o sincronismo continuará sendo realizado somente por este
canal, garantindo assim a sincronização dos dados redundantes.
Este serviço é responsável pela transferência da lista de forçamentos redundantes do CP Ativo para o CP Não-Ativo.
Para que este serviço seja executado, diversas condições devem ser satisfeitas:
Os dois serviços de sincronização anteriores deste ciclo (Troca de Diagnósticos e Comando, Sincronização de Dados
Redundantes) devem ter completado com sucesso
Caso este CP esteja em estado Ativo, o outro deve estar em estado Não-Ativo. Por outro lado, caso este CP esteja em
estado Não-Ativo, o outro deve estar em estado Ativo
Os projetos dos dois CPs devem estar idênticos, exceto quando a sincronização automática de projetos estiver desabili-
tada (ver seção Desabilitação da Sincronização de Projetos)
Necessário pelo menos um canal de sincronismo (NETA e/ou NETB) em estado operacional. Se ambos os canais
estiverem em operação, a comunicação é distribuída entre ambos (balanceamento de carga) para reduzir o tempo da
sincronização. Caso apenas um canal estiver em operação, o sincronismo continuará sendo realizado somente por este
canal, garantindo assim a sincronização dos dados redundantes
ATENÇÃO:
A lista de forçamentos redundantes contém apenas forçamentos sobre variáveis redundantes.
Em cada um dos CPs (CPA e CPB), pode existir uma lista diferente de forçamentos sobre
variáveis não-redundantes.
332
6. REDUNDÂNCIA COM UCP NX3030
Este serviço é responsável por manter sincronizados os projetos dos CPs Ativo e Não-Ativo. Isto ocorre apenas quando os
projetos estão diferentes e a sincronização automática de projetos está habilitada em ambos os CPs.
A sincronização é sempre no sentido do CP Ativo para o Não-Ativo e basta que um dos canais de sincronismo (NETA ou
NETB) esteja operacional para que este serviço seja executado.
Quando a sincronização estiver habilitada, serão sincronizados os seguintes arquivos e serviços:
Projeto de aplicação (código executável)
Project archive (código fonte)
Usuários e grupos
Direitos de acesso
Trace
O serviço de sincronização irá iniciar em até trinta segundos, após um dos CPs entrar no modo Ativo, e, após seu início,
irá checar o CRC dos projetos a cada cinco segundos.
Quando uma sincronização for iniciada, o CP Não-Ativo irá para o modo Stop, no estado de Não Configurado. Após a
transferência de todos os arquivos necessários, o CP Não-Ativo irá para Run, no estado de Inicializando. Caso a transferência
falhe, o CP voltará para o estado Não-Configurado.
O tempo que a sincronização levará para ser efetuada dependerá do tamanho do projeto. Em média, a taxa de transferência
entre os canais de sincronismo é de aproximadamente 500 Kbytes/s.
Caso a sincronização seja interrompida (perda da comunicação entre os canais de sincronismo) durante a transferência dos
arquivos do CP Ativo para o Não-Ativo, o procedimento será abortado e reinicializado quando a comunicação for restaurada.
Somente após a conclusão de todo o procedimento o CP Não-Ativo irá para o modo Run.
Além de manter sincronizados os projetos, a Sincronização do Projeto também irá impedir que o CP Não-Ativo assuma
estados superiores a Inicializando caso o CRC esteja diferente ou alguma Alteração Online esteja pendente no CP Ativo.
ATENÇÃO:
Uma sincronização de projeto terá os mesmos efeitos de um download no CP Não-Ativo.
Este serviço não é executado se a sincronização automática de projetos estiver desabilitada,
conforme descreve-se na seção Desabilitação da Sincronização de Projetos.
Nenhum serviço de sincronização entre o CPA e o CPB irá funcionar caso sejam invertidos
os cabos dos canais de sincronismo. Por exemplo, conectar o canal NETA do CPA no NETB
do CPB e o canal NETB do CPA no NETA do CPB.
ATENÇÃO:
Na atualização da versão 1.20 para versões superiores do software MasterTool IEC XE houve
uma modificação no protocolo de comunicação dos canais de sincronismo. Portanto, não
será possível efetuar a sincronização de dados entre dois CPs quando uma das aplicações
tiver sido criada em uma versão anterior à 1.21 e outra em uma versão igual ou superior.
Para voltar a efetuar o sincronismo, deve-se Não Carregar a Aplicação na Inicialização do
CP com um projeto mais antigo e deixar que a aplicação seja sincronizada automaticamente,
quando este CP for para o estado Não-Configurado, durante a sua inicialização.
ATENÇÃO:
Antes da versão 2.01 do MasterTool IEC XE, ao enviar o código fonte para o CP Ativo, o CP
Reserva passava para o estado Não-Configurado para sincronização do mesmo. Contudo, ao
concluir a operação de sincronização, o CP permanecia no estado Não-Configurado, sendo
necessário passar o CP para o estado Reserva através do botão STAND-BY do PX2612 ou
de comando equivalente. A partir da versão 2.01 o CP que está em Reserva irá alterar seu
estado para Não-Configurado durante o processo de sincronização, mas irá voltar automati-
camente quando os códigos fonte forem iguais entre os dois Half-Clusters.
333
6. REDUNDÂNCIA COM UCP NX3030
procedimento para atingir este objetivo é descrito na seção Explorando a Redundância para Carga Offline de Modificações
sem Interrupção do Controle do Processo.
Neste procedimento, é necessário desabilitar temporariamente as sincronizações de projeto, permitindo que, por algum
tempo, um dos CPs opere com a nova versão do projeto, enquanto o outro CP ainda opera com a versão antiga do projeto.
Uma UCP NX3030 possui um registro de Desabilitação da Sincronização de Projetos, não volátil, que permite desabilitar
os serviços para sincronização do projeto de aplicação e do project archive. Este registro pode ser ajustado com o programador
MasterTool. Basta desabilitar a sincronização de projetos em um dos dois CPs para que ela não mais ocorra.
Para desabilitar a sincronização de projetos, deve-se, primeiramente, conectar-se no CP desejado com o software Master-
Tool (ver seção Conexão do MasterTool com uma UCP NX3030 de um CP Redundante).
A seguir, no menu Comunicação / Configuração de Redundância, abre-se a combo-box “Sincronização do Projeto”, que
permite selecionar uma das duas seguintes opções:
Habilitar
Desabilitar
Deve-se selecionar a opção “Desabilitar” e depois pressionar o botão “Escrever”, ao lado desta combo-box. Uma mensa-
gem informará se a operação teve sucesso ou não.
A configuração da desabilitação de sincronismo de projetos não faz parte do projeto redundante desenvolvido com o
MasterTool. Tal configuração reside apenas em uma área de memória não-volátil da UCP, que pode ser lida ou gravada usando
o MasterTool. O MasterTool não salva esta configuração em nenhum arquivo.
Esta configuração é copiada a cada ciclo da MainTask, da memória não volátil para o diagnóstico DG_NX4010.tRedundancy.RedDgnLo
O usuário pode verificar este diagnóstico no CP para conferir se o comando teve sucesso, desde que o mesmo esteja em modo
Run (DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag. bProjectSyncDisable deve valer 1). Caso o CP não esteja em
modo Run, é possível verificar esta configuração diretamente no visor da UCP NX3030 (ver seção Diagnósticos da Redun-
dância no Visor Gráfico da UCP NX3030).
O diagnóstico DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bProjectSyncDisable do CP pode ser observado tam-
bém no outro half-cluster, através do diagnóstico DG_NX4010.tRedundancy.RedDgnRem.sGeneral_Diag.bProjectSyncDisable
(desde que o CP Não-Ativo esteja em modo Run). Determinado CP (Ativo ou Não-Ativo) suspenderá o serviço de sincroniza-
ção de projetos sempre que qualquer um dos seguintes bits estiver ligado:
DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bProjectSyncDisable
• Bit local, deste CP. Este CP está com a sincronização de projetos desabilitada
DG_NX4010.tRedundancy.RedDgnRem.sGeneral_Diag.bProjectSyncDisable
• Bit remoto, do outro CP. O outro CP está com a sincronização de projetos desabilitada
ATENÇÃO:
O registro de Desabilitação da Sincronização de Projetos não faz parte do projeto do CP re-
dundante, e portanto não é salvo como parte deste projeto no computador onde o MasterTool
executa. O registro é salvo apenas na memória não volátil da UCP.
É possível instalar até quatro módulos Mestre PROFIBUS NX5001 em cada half-cluster. Portanto, pode-se configurar até
duas redes PROFIBUS redundantes, denominadas PROFIBUS 1 e PROFIBUS 2, ou até quatro redes simples, denominadas
PROFIBUS 1, PROFIBUS 2, PROFIBUS 3 e PROFIBUS 4, ou ainda uma rede redundante e duas simples, denominadas
PROFIBUS 1, PROFIBUS 2 e PROFIBUS 3.
Cada uma das redes PROFIBUS pode ser redundante ou não-redundante. Por exemplo, se a rede PROFIBUS 1 for redun-
dante, ela se dividirá em redes PROFIBUS 1 A e PROFIBUS 1 B. Caso não seja redundante, existirá apenas a rede PROFIBUS
1 A. O mesmo vale para a PROFIBUS 2.
A Figura 192 mostra um exemplo com uma única rede PROFIBUS (PROFIBUS 1), que é redundante (PROFIBUS 1 A e
PROFIBUS 1 B).
Somente alguns tipos de remotas podem ser conectadas diretamente a este tipo de rede PROFIBUS redundante:
PO5063V5: escravo PROFIBUS DP-V0 para remotas da Série Ponto
PO5065: escravo PROFIBUS DP-V1 com Hart, para remotas da Série Ponto
AL-3416: escravo PROFIBUS DP-V0 para CP AL-2004
NX5210: escravo PROFIBUS DP-V0 para remotas da Série Nexto
A Figura 192 também mostra a possibilidade de conectar remotas não-redundantes a este tipo de rede PROFIBUS redun-
dante, através do módulo AL-2433 (ProfiSwitch). Tais remotas PROFIBUS não-redundantes podem ser de qualquer marca ou
modelo.
334
6. REDUNDÂNCIA COM UCP NX3030
Cada uma das redes PROFIBUS pode ser configurada em dois modos diferentes:
Falha vital: caso esta rede falhe completamente, esta falha poderá determinar uma transição de estado de redundância
no CP redundante (switch-over). No caso de uma rede PROFIBUS redundante, uma falha completa consiste na falha
das duas redes que a compõem.
Falha não vital: mesmo que esta rede falhe completamente, esta falha não determinará uma transição de estado de
redundância no CP redundante (switch-over).
ATENÇÃO:
Caso dois módulos consecutivos, ou portas Ethernet, formem um par redundante NIC Tea-
ming, a configuração dos parâmetros básicos e adição de dispositivos MODBUS apenas será
possível na primeira interface, a seguinte, terá seus parâmetros bloqueados.
Um conjunto de duas portas Ethernet formando um par NIC Teaming possui um único endereço IP, vinculado ao par de
portas. Desta forma, um cliente como um SCADA ou MasterTool, conectado a um servidor no CP, não precisa se preocupar
em trocar o endereço IP caso haja falha em alguma das portas do par NIC Teaming.
Além disso, cada uma das interfaces que formam um par NIC Teaming possui diagnósticos separados, com o intuito de
facilitar a depuração de falhas que eventualmente possam surgir.
Maiores detalhes sobre configuração e diagnósticos de portas NIC Teaming são fornecidos nas seções:
Configurações das Portas Ethernet da UCP NX3030 (NET 1 e NET 2)
Configuração dos Módulos NX5000
6.3.11.1. IP Fixo
É o método mais simples de endereçamento IP e pode ser configurado nas interfaces Ethernet dos módulos Ethernet
NX5000. Nesse método, somente relacionamos os endereços de IP do CPA e do CPB. Independente do estado da redundância,
CP Ativo ou Não-Ativo, o CPA sempre responderá pelo IP configurado, assim como o CPB.
335
6. REDUNDÂNCIA COM UCP NX3030
A Troca Automática de IP pode ser configurada nas interfaces Ethernet dos módulos Ethernet NX5000. Nesse método,
o IP do half-cluster irá depender do estado do CP (Ativo ou Não-Ativo). A cada switch-over ocorre a troca de IPs entre os
half-clusters para que eles assumam o endereço IP do novo estado da redundância.
Observação: para este método de endereçamento, as portas Ethernet de ambos os CPs (CPA e CPB) irão assumir o mesmo
endereço IP enquanto os dois CPs estiverem no estado não-ativo, provocando conflito de endereçamento na rede. Considerando
que essa é uma situação incomum, onde nenhum CP está controlando o sistema, isso não chega a ser um problema grave, mas
deve ser considerado.
336
6. REDUNDÂNCIA COM UCP NX3030
6.3.11.3. IP Ativo
Esse método é o utilizado nas NETs da UCP NX3030 redundante e também é possível ser configurado nos módulos
NX5000. Nesse método há um IP para o half-cluster Ativo e mais dois IPs, um para o CPA e outro para o CPB. Nas NETs
da UCP NX3030 redundante, o Endereço de IP Ativo será adicionado à interface do CP Ativo, podendo ser utilizados tanto o
Endereço de IP Ativo, quanto o Endereço de IP do CPX para comunicar com o CP. Já para os módulos Ethernet NX5000, o
Endereço de IP Ativo irá substituir o Endereço de IP do CPX Não Ativo, quando o CP estiver em modo Ativo.
Parâmetros que devem ser configurados no método de IP Ativo para as NETs de uma UCP NX3030 Redundante:
Endereço de IP Ativo: Endereço de IP adicionado à interface quando o CP estiver em estado Ativo
Endereço de IP do CPA: Endereço para comunicação com o CPA, independente do seu estado atual
Endereço de IP do CPB: Endereço para comunicação com o CPB, independente do seu estado atual
Máscara de Subrede
Endereço do Gateway
Parâmetros que devem ser configurados no método de IP Ativo para módulos Ethernet NX5000:
Endereço de IP Ativo: Endereço para comunicação com o CP Ativo. Substitui o Endereço de IP do CPX Não Ativo
Endereço de IP do CPA Não Ativo: Endereço para comunicação com o CPA, quando em estado Não-Ativo
Endereço de IP do CPB Não Ativo: Endereço para comunicação com o CPB, quando em estado Não-Ativo
Máscara de Subrede
Endereço do Gateway
337
6. REDUNDÂNCIA COM UCP NX3030
O método de Múltiplos IPs pode ser configurado nas interfaces Ethernet dos módulos Ethernet NX5000. Nesse método,
há um IP para cada half-cluster e para cada estado do CP. O CPA irá assumir um endereço IP quando estiver em Ativo e outro
endereço IP quando estiver em Não-Ativo. O mesmo ocorre para o CPB em função do seu estado (Ativo e Não-Ativo).
338
6. REDUNDÂNCIA COM UCP NX3030
e EtherCAT Master não geram falha vital. Desta forma, se uma porta Ethernet tem um driver MODBUS Cliente configurado
e ocorre uma falha na porta Ethernet, será gerado um switch-over se a opção de falha vital estiver habilitada. Se o driver
configurado na porta Ethernet for um MODBUS Servidor, mesmo que ocorra falha na porta, isso não irá gerar uma falha vital
que causa um switch-over.
Para que uma falha seja considera falha vital em uma porta Ethernet de um MODBUS Cliente, todos os servidores con-
figurados no driver devem estar em falha. Ou seja, caso exista mais de um driver MODBUS Cliente configurado na mesma
porta Ethernet, será considerada falha vital quando todos os servidores de ambos os Clientes estiverem em falha.
Quando a porta Ethernet estiver configurada para operar com NIC Teaming, a falha vital será considerada apenas quando
as duas portas do par falharem.
Um switch-over pode ser gerado devido a falha na interface Ethernet, por exemplo uma perda de link. A perda de link
pode ser ocasionada, por exemplo, pelo rompimento de um cabo ou falha em um switch na rede Ethernet. Nestas condições,
é necessário que, além de estar configurado para gerar falha vital, exista uma instância MODBUS Cliente configurada na
interface Ethernet.
Quando o intervalo da MainTask for maior ou igual a 100 ms, após a falha ser detectada o switch-over irá acontecer em até
dois ciclos da MainTask. Quando o intervalo da MainTask for menor que 100 ms o switch-over ocorrerá em até 100 ms mais
o tempo da MainTask após a detecção da falha.
O tempo para detectar a falha em uma remota MODBUS Servidor depende das configurações de time-out configuradas
em cada MODBUS Cliente. Quando é detectada a falha em todos os Servidores, o diagnóstico bAllDevicesCommFailure (ver
seção Diagnósticos MODBUS utilizados na Redundância) muda seu estado para TRUE. Quando isso acontece, o switch-over
irá acontecer 3 segundos após esta transição.
ATENÇÃO:
Frequentemente este manual utilizará a designação “Não-Ativo” para qualquer estado di-
ferente de Ativo, ou seja, para designar qualquer um dos outros quatro estados (Reserva,
Inativo, Não-Configurado e Inicializando).
A seguir, estes cinco estados são descritos brevemente. Maiores detalhes sobre os estados de um CP redundante serão
abordados na seção Transições entre Estados de Redundância, ao descrever a máquina de estados e as causas das transições
entre os mesmos.
339
6. REDUNDÂNCIA COM UCP NX3030
Caso ocorra uma reinicialização através de um comando como Reset a Quente, Reset a Frio ou Reset Origem
Caso a MainTask esteja executando no estado Não-Configurado, as seguintes tarefas são executadas:
Os mestres PROFIBUS estão desabilitados
Os serviços de sincronização cíclicos são executados (ver seção Serviços de Sincronização Cíclicos através de NETA e
NETB), desde que as condições para sua execução estejam presentes
Os serviços de sincronização esporádicos também podem ser executados (ver seção Serviços de Sincronização Esporá-
dicos através de NETA e NETB)
O CP ficará bloqueado no estado Não-Configurado se o outro CP estiver em estado Ativo, e o projeto deste CP for diferente
do projeto do CP Ativo (exceto se a sincronização automática de projetos estiver desabilitada – ver seção Desabilitação da
Sincronização de Projetos). Caso esta situação não ocorra, ocorre uma transição do estado Não-Configurado para o estado
Inicializando assim que chegar uma requisição de configuração.
Algumas vezes, o CP entra no estado Não-Configurado já tendo recebido uma requisição de configuração automática, não
sendo necessária uma nova requisição para mudar para o estado Inicializando. Isto ocorre, por exemplo, na energização do CP.
Outras vezes, o usuário deverá requisitar manualmente esta configuração, por exemplo, pressionando um botão do painel
de comando de redundância PX2612 ou utilizando um comando na estrutura de diagnósticos. Requisições de configuração
manuais tipicamente são necessárias quando alguma manutenção por parte do usuário é necessária antes de sair do estado
Não-Configurado, por exemplo, se o CP atingiu o estado Não-Configurado devido a alguma falha.
Depois de sair do estado Não-Configurado, o CP pode voltar a este estado, devido a eventos tais como:
Reinicialização (Reset a Quente, Reset a Frio ou Reset Origem)
Desligamento do CP
Diferença de projeto entre este CP e o CP Ativo
Diferente de todos os outros quatro estados que podem ter duração indeterminada, o estado Inicializando é temporário,
durando poucos segundos. Este estado é sempre alcançado a partir do estado Não-Configurado, através de uma requisição de
configuração.
Ao entrar no estado Inicializando, diversas ações, testes e verificações são executados, para decidir qual será o próximo
estado:
Mestres PROFIBUS são habilitados em estado passivo. O modo passivo serve para testar os circuitos de transmissão e
recepção PROFIBUS e o meio físico, para evitar a ocorrência de uma falha oculta
Verificar se a identificação do CP está correta (deve ser CPA ou CPB)
Verificar se há problemas nos parâmetros de configuração extraídos do projeto MasterTool
Verificar a integridade do módulo NX4010
Os serviços de sincronização cíclicos são executados (ver seção Serviços de Sincronização Cíclicos através de NETA e
NETB), desde que as condições para sua execução estejam presentes
Verificar compatibilidade de versões de firmware entre os dois CPs
Verificar igualdade de projetos entre os dois CPs, se a sincronização automática de projetos estiver habilitada (ver seção
Desabilitação da Sincronização de Projetos)
Caso o outro CP esteja em estado Ativo, verificar a possibilidade de estabelecer comunicação PROFIBUS passiva com o
mesmo. O modo passivo serve para testar os circuitos de transmissão e recepção PROFIBUS e o meio físico, para evitar
a ocorrência de uma falha oculta
Caso o outro CP esteja em estado desconhecido devido a falhas em NETA e NETB, verificar a possibilidade de esta-
belecer comunicação PROFIBUS passiva com o mesmo; caso não exista rede PROFIBUS no projeto e o mesmo não
faça uso do Painel PX2612, verificar se a NET1/NET2 da UCP estão recebendo pacotes de Keep Alive da UCP do outro
half-cluster.
Dependendo do resultado destas verificações e testes, o CP pode ir do estado Inicializando para qualquer um dos outros
quatro estados.
Neste estado, o CP controla o processo automatizado, usando o programa ActivePrg, executado somente neste estado. O
CP Ativo também atualiza o sistema de E/S remotas PROFIBUS, colocando seus mestres PROFIBUS em modo ativo. O modo
ativo serve para estabelecer comunicação com as remotas (escravos) PROFIBUS.
O CP Ativo também verifica seus diagnósticos internos e requisições de switch-over do usuário para determinar se um
switch-over é necessário. O CP normalmente só sairá do estado Ativo se souber que o outro CP está em estado Reserva, e apto
para assumir como Ativo.
No entanto, existem algumas situações em que o CP Ativo poderá sair do estado Ativo mesmo sem ter certeza de que o
outro CP está em estado Reserva (por exemplo, se este CP for desligado).
340
6. REDUNDÂNCIA COM UCP NX3030
Neste estado, o CP está pronto para chavear para o estado Ativo, caso haja uma demanda para isso, tal como uma falha no
CP Ativo.
O CP Reserva também verifica seus próprios diagnósticos, e poderá chavear para o estado Não-Configurado ou Inativo em
função de algumas falhas.
Mestres PROFIBUS são habilitados em estado passivo. O modo passivo serve para testar os circuitos de transmissão
e recepção PROFIBUS e o meio físico, para evitar a ocorrência de uma falha oculta. Falhas totais em redes PROFIBUS
configuradas como vitais causam um chaveamento para o estado Inativo. Uma falha total em uma rede PROFIBUS atinge as
duas redes que a compõem (rede PROFIBUS redundante) ou a única rede que a compõe (rede PROFIBUS não-redundante).
Se estiverem sendo usadas as interfaces ethernet com a opção de falha vital habilitada, os clientes são habilitados em estado
passivo. Falhas totais em redes ethernet configuradas como vitais causam um chaveamento para o estado Inativo. Uma falha
total em uma rede Ethernet atinge as duas redes que a compõem (opção de Redundância de Comunicação habilitada) ou a
única rede que a compõe (opção de Redundância de Comunicação desabilitada).
Este estado normalmente é alcançado depois de alguns tipos de falhas, ou devido a alguma solicitação manual antes de
uma manutenção programada.
Mestres PROFIBUS são habilitados em estado passivo. O modo passivo serve para testar os circuitos de transmissão e
recepção PROFIBUS e o meio físico, para evitar a ocorrência de uma falha oculta.
Antes de deixar este estado, primeiro deve-se corrigir as falhas diagnosticadas ou executar as manutenções programadas,
que causaram a transição para o estado Inativo. Depois, deve-se causar uma transição para o estado Não-Configurado já
solicitando uma configuração, para logo em seguida chavear para o estado Inicializando. Depois do estado Inicializando, o CP
pode:
Retornar ao estado Inativo se determinados tipos de falhas persistem
Retornar ao estado Não-Configurado para outros tipos de falhas
Ir para o estado Reserva se o outro CP está no estado Ativo
Ir para o estado Ativo se o outro CP não está no estado Ativo
341
6. REDUNDÂNCIA COM UCP NX3030
Solicitar um chaveamento do estado Inativo para o estado Não-Configurado já solicitando uma configuração. Isto
ocorre tipicamente depois de corrigir falhas que provocaram a transição para o estado Inativo. Depois do estado Não-
Configurado, a configuração já deve levar ao estado Inicializando. Depois do estado Inicializando, normalmente espera-
se que o CP vá para o estado Reserva (ou Ativo, se o outro CP não estiver no estado Ativo)
O botão INACTIVE solicita um chaveamento do estado Reserva para o estado Inativo, o que pode ser útil para executar
alguma manutenção programada no CP Reserva. Depois desta manutenção, pode-se utilizar o botão STAND-BY para tentar
voltar ao estado Reserva, passando pelos estados Não-Configurado e Inicializando (ver descrição anterior das funções do botão
STAND-BY).
O botão TURN ON PLCx (x = B para CPA, ou x = A para CPB) serve para provocar um religamento do outro CP, caso
este CP o tenha desligado anteriormente. Conforme será visto na seção Transições entre Estados de Redundância.
Existem situações excepcionais em que um CP desliga o outro ao assumir como Ativo, para evitar que haja a possibilidade
de ambos os CPs assumirem simultaneamente o estado Ativo.
ATENÇÃO:
Para que um pressionamento de botão seja considerado, deve-se mantê-lo pressionado no
mínimo por 1 segundo. Durante esse segundo, somente esse botão deve estar pressionado (os
outros 2 botões devem estar liberados).
ATENÇÃO:
Existem maneiras alternativas de gerar os mesmos efeitos dos botões STAND-BY, INAC-
TIVE e TURN ON PLCx. Pode-se utilizar comandos gerados por este CP ou pelo CP remoto,
conforme descrito preliminarmente na seção Estruturas de Dados de Diagnósticos, Coman-
dos e Usuário. Uma descrição mais detalhada destes comandos pode ser encontrada na seção
Comandos da Redundância.
Os LEDs do PX2612 servem para informar o estado de redundância, conforme mostra a tabela abaixo:
Cada LED pode estar apagado, aceso ou piscando. Caso esteja piscando, fica aceso por 0,5 segundos, e apagado por 0,5
segundos.
Observa-se que existem quatro animações diferentes para o estado Ativo, devido às duas seguintes características:
Nos dois primeiros segundos em estado Ativo o LED ACTIVE pisca, e depois permanece aceso. Esta animação foi
criada porque, nestes primeiros instantes em estado Ativo, normalmente o CP não aceitará comandos que o façam sair
do estado Ativo. Maiores detalhes sobre este comportamento do CP Ativo serão fornecidos na seção Transições entre
Estados de Redundância e na seção Primeiros Instantes em Estado Ativo
Caso este CP esteja desligando o outro CP através do seu relé do PX2612, o LED STAND-BY pisca, e do contrário
permanece apagado
O PX2612 possui dois relés NA. O CPA pode controlar RL B, para comandar o desligamento do CPB. O CPB pode
controlar RL A, para comandar o desligamento do CPA.
Tais situações de desligamento ocorrem em situações excepcionais, descritas na seção Transições entre Estados de Redun-
dância.
342
6. REDUNDÂNCIA COM UCP NX3030
As seguintes subseções descreverão todas estas transições, e as causas que podem dispará-las. Para interpretar corretamente
o funcionamento desta máquina de estados, é preciso estabelecer algumas regras e sequências:
Transições que se originam do mesmo estado devem ser avaliadas na sequência dada pelo número da transição. Por
exemplo, as transições 2, 3, 4 e 5 se originam do estado Inicializando. Neste exemplo, avalia-se primeiro a transição 2,
depois a 3, depois a 4 e finalmente a 5. Caso a transição 2 seja disparada, as transições 3, 4 e 5 nem serão avaliadas
Dentro de uma subseção específica que descreve uma transição, diversas condições podem disparar esta transição. Estas
condições devem ser avaliadas na ordem que aparecem na subseção. Qualquer uma destas condições que se tornar
verdadeira pode causar a transição. Se uma condição causar a transição, as próximas condições não serão avaliadas
Transições só podem ser disparadas se o CP estiver energizado e a MainTask estiver executando. Do contrário, assume-se
que o CP esteja no estado Não-Configurado
Em diversos casos, mencionam-se transições causadas por botões do painel PX2612. Deve-se lembrar que existem
alternativas para estes botões, que são comandos internos provenientes deste CP ou do outro CP (via NETA / NETB). Tais
comandos foram mencionados preliminarmente na seção Estruturas de Dados de Diagnósticos, Comandos e Usuário,
e serão melhor detalhados na seção Comandos da Redundância. Nas subseções seguintes, por simplicidade, estes
comandos alternativos não serão citados, mas deve-se ter consciência que eles podem causar as mesmas transições do
botão equivalente no PX2612
ATENÇÃO:
As condições desta subseção não devem ser avaliadas caso o outro CP esteja em estado Ativo
e os projetos estejam diferentes. Este CP deve permanecer no estado Não-Configurado en-
quanto seu projeto estiver diferente do projeto do outro CP, se o outro CP estiver em estado
Ativo. Esta nota não é válida se a sincronização automática de projetos estiver desabilitada
(ver seção Desabilitação da Sincronização de Projetos), pois neste caso admite-se diferenças
de projetos entre os CPs.
Um pedido de configuração já existia ao entrar no estado Não-Configurado. Isto ocorre na energização do CP, e também
em outras situações, descritas nas próximas subseções
343
6. REDUNDÂNCIA COM UCP NX3030
O botão STAND-BY foi pressionado ou o comando de ir para Reserva foi executado nos diagnósticos da redundância
durante o estado Não-Configurado. Isto causa um pedido de configuração manual. O usuário tipicamente aperta STAND-
BY ou executa o comando para ir para Reserva depois de reparar falhas que anteriormente levaram este CP ao estado
Não-Configurado
344
6. REDUNDÂNCIA COM UCP NX3030
345
6. REDUNDÂNCIA COM UCP NX3030
Falta de alimentação no CP Ativo. É importante que os dois CPs tenham sistemas de alimentação redundantes, para que
uma falha comum na alimentação não afete também o CP Reserva
Falha na fonte de alimentação NX8000 do CP Ativo
Falha no barramento do bastidor (NX9000, NX9001, NX9002 ou NX9003) do CP Ativo
Falhas na UCP NX3030 do CP Ativo, tais como:
• Cão-de-guarda
• Reinicialização (Reset a Quente, Reset a Frio ou Reset Origem)
• Parada (Stop)
• Falha nas interfaces de barramento em um ou ambos os canais de sincronismo NETA e NETB
Falhas no NX4010 do CP Ativo, tais como:
• Módulo não reconhecido no barramento pela UCP NX3030
• Falha no microprocessador do NX4010, que impede atualização dos diagnósticos internos de NETA / NETB e do
painel de controle PX2612 (botões, LEDs e relé)
• Falha internas que afetam um ou ambos os canais de sincronismo NETA e NETB
Falha total de uma rede PROFIBUS no CP Ativo, caso esta rede esteja configurada em modo vital. Caso a rede PROFI-
BUS seja redundante, ambas as redes que a compõem devem estar em falha (falha dupla)
Falha total de uma rede Ethernet no CP Ativo, caso esta rede esteja configurada com vital. Caso a rede Ethernet seja
redundante , ambas as redes que a compõem devem estar em falha (falha dupla)
346
6. REDUNDÂNCIA COM UCP NX3030
Através de estruturas de dados como aquelas citadas na seção Estruturas de Dados de Diagnósticos, Comandos e Usuário,
é possível trocar diagnósticos e comandos entre os half-clusters via NETA e NETB e, desta maneira, o usuário pode executar
gerenciamentos especiais de redundância, para falhas que normalmente não causariam switch-overs. Maiores detalhes sobre
estas estruturas de dados serão fornecidos nas seções:
Estrutura de Diagnósticos da Redundância
Comandos da Redundância
Informações do Usuário Trocadas entre CPA e CPB
Abaixo é exemplificado como o usuário pode gerenciar falhas e executar um switch-over devido a um erro nas interfaces
Ethernet do CP Ativo (o código deve ser utilizado na POU ActivePrg):
ATENÇÃO:
Quando duas interfaces formarem um par NIC Teaming, a interface inativa sempre terá
o endereço de IP 0.0.0.0. Este não é um endereço de IP válido e não é possível configurar
manualmente uma interface com este endereço.
347
6. REDUNDÂNCIA COM UCP NX3030
Também é importante que componentes não-redundantes tenham ampla cobertura de diagnósticos, pois muitas vezes o
sistema pode continuar funcionando mesmo com a falha de um componente não-redundante. O componente pode não
estar sendo solicitado. Por exemplo, um relé com contato aberto, que raramente tem sua bobina acionada, não tem sua
falha detectada até o momento em que o sistema solicitar seu fechamento
Baixo tempo de reparo de componentes não-redundantes. A falha de um componente não-redundante pode comprometer
o sistema, e durante o reparo, o sistema estará indisponível
Possibilidade de reparar ou substituir um componente redundante sem parar o sistema. Se esta possibilidade existe,
obtém-se um grande aumento de disponibilidade. Do contrário, deve-se programar uma parada do sistema para substituir
o componente, e o tempo de reparo conta como tempo indisponível
Baixo tempo de reparo de componentes redundantes. A falha de um componente redundante não compromete o sistema,
mas durante seu reparo, eventualmente pode ocorrer uma falha em seu par redundante. Por este motivo, é importante
que a falha seja reparada brevemente, após diagnosticada. Quanto maior o tempo de reparo, maior a probabilidade de
acontecer uma segunda falha no componente redundante durante o reparo da primeira falha, o que comprometeria o
sistema. Portanto, quanto maior o tempo de reparo, menor a disponibilidade do sistema
Programar testes offline periódicos em componentes para detectar falhas não diagnosticáveis automaticamente pelo
sistema. O objetivo é detectar falhas ocultas, especialmente em componentes redundantes ou componentes simples que
não estejam sendo solicitados (por exemplo, um relé de segurança). Testes offline às vezes implicam em paradas no
sistema, o que diminui a disponibilidade. Normalmente aproveita-se ocasiões especiais, tais como paradas programadas
de manutenção da planta. Quanto maior o período entre testes offline, maior o tempo em que uma falha pode permanecer
oculta, e portanto maior a probabilidade de uma falha comprometer o sistema, ou seja, menor a disponibilidade do
sistema
Estes princípios foram considerados no projeto de CPs redundantes com UCP NX3030.
As próximas subseções analisam diversos tipos de falhas e como são toleradas ou não toleradas, e se existem switch-overs
associados às falhas toleradas.
Alguns componentes, por não serem duplicados, não toleram nem sequer falha simples sem causar algum tipo de indispo-
nibilidade. Em um CP redundante com UCP NX3030, trata-se dos seguintes componentes:
Remotas (escravos) PROFIBUS em uma rede PROFIBUS não-redundante
Remotas (escravos) Ethernet em uma rede Ethernet não redundante
Módulos de E/S
A intolerância a falhas de uma rede PROFIBUS não-redundante pode ser resolvida optando-se por uma rede PROFIBUS
redundante, que é aconselhada em sistemas que demandam alta tolerância a falhas. A Figura 192 mostra um exemplo de arqui-
tetura com uma rede PROFIBUS redundante. Da mesma forma a intolerância a falhas de uma rede Ethernet não redundante
pode ser resolvida usando-se uma rede Ethernet redundante com a configuração de NIC Teaming.
Quanto à indisponibilidade de um módulo de E/S, deve-se observar que a mesma não se constitui em uma indisponibilidade
total do sistema. Ela se constitui em uma indisponibilidade parcial, somente das malhas de controle que utilizam este módulo
de E/S.
Embora não haja previsão de redundância de módulos de E/S, a aplicação do usuário pode gerenciá-la em casos especiais.
Por exemplo, o usuário pode inserir três módulos de entradas analógicas em três remotas PROFIBUS diferentes, e implementar
um esquema de votação entre triplas entradas analógicas, para algum sistema crítico. No entanto, tais soluções, como foi
enfatizado, devem ser gerenciadas pelo usuário. Não existe nenhum suporte automático para as mesmas. Tais soluções, em
geral, também implicam na redundância de transdutores e atuadores no campo.
Alguns componentes redundantes toleram falhas simples sem causar indisponibilidade, mas causam switch-over:
Bastidores (NX9000, NX9001, NX9002 ou NX9003)
Fontes de alimentação (NX8000)
UCPs (NX3030)
Módulo NX4010
Módulos NX5001 (mestres PROFIBUS) em configuração de rede PROFIBUS não-redundante
Módulos NX5000 (Ethernet) em configurações sem NIC Teaming
Interface escravo PROFIBUS de uma remota redundante (PO5063V5, PO5065, NX5210 ou AL-3416). Neste caso,
diferente dos anteriores, o switch-over acontece dentro da remota, entre as redes PROFIBUS A e B.
ATENÇÃO:
No caso de falha da UCP NX3030 ou do módulo NX4010 em arquiteturas onde não é utilizado
painel PX2612 nem rede PROFIBUS, o CP irá permanecer no estado atual. Neste caso, se a
falha acontece no half-cluster Ativo, ocorre indisponibilidade do sistema.
348
6. REDUNDÂNCIA COM UCP NX3030
Alguns componentes são duplicados em cada half-cluster, desta maneira, antes de causar um switch-over, é necessário que
ambos falhem:
Módulos NX5001 (mestres PROFIBUS) em configuração redundante, configurados em modo de falha vital.
Módulos NX5000 (Ethernet) em configurações com NIC Teaming (redundância gerenciada pelo usuário).
ATENÇÃO:
O overhead calculado pelo MasterTool considera uma lista de forçamentos de variáveis re-
dundantes vazia.
ATENÇÃO:
Dependendo do alinhamento de memória, o número de bytes utilizados no cálculo do
overhead de redundância poderá ser maior do que o total de bytes declarados nas variá-
veis.
349
6. REDUNDÂNCIA COM UCP NX3030
A seguir, o Assistente que gera o projeto de redundância realiza alguns questionamentos ao usuário quanto à configuração
desejada, os quais devem ser respondidos sucessivamente.
O primeiro ponto a ser definido é a configuração inicial de hardware do half-cluster:
Selecionar o modelo da UCP: Como a redundância está implementada somente na NX3030, a mesma deve ser selecio-
nada pelo usuário
Selecionar o modelo do bastidor: Existem quatro opções de bastidores disponíveis e a escolha do mesmo dependerá
da quantidade de módulos utilizados na redundância. O MasterTool consiste o tamanho do bastidor de acordo com a
quantidade de redes configuradas (próximo item do Assistente)
Selecionar o modelo da fonte de alimentação
Selecionar a configuração da redundância. Para um projeto redundante é necessário escolher a opção Com Redundância
Selecionar o modo de operação da redundância. Neste caso as opções são operação com painel de redundância (PX2612)
ou sem ele
Selecionar se a opção de comunicação OPC DA estará habilitada ou não
Selecionar se será usada redundância na expansão de barramento
350
6. REDUNDÂNCIA COM UCP NX3030
351
6. REDUNDÂNCIA COM UCP NX3030
Então, deve ser selecionado o perfil de projeto e a linguagem padrão para a criação dos programas:
Selecionar o perfil do projeto: Somente é possível utilizar o perfil de projeto simples para a redundância, logo a opção
de seleção está desabilitada
Selecionar a linguagem padrão para todos os programas: A linguagem selecionada pelo usuário será a padrão para todas
os programas, porém pode optar por utilizar qualquer outra para uma POU específica
Para finalizar, o usuário deve selecionar a linguagem de programas comuns e associados à redundância:
Programa associado à MainTask (MainPrg): Deverá ser, obrigatoriamente, em linguagem ST, sendo que o MasterTool
desabilita as outras opções
352
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
As POUs ActivePrg e NonSkippedPrg são criadas automaticamente, vazias, na linguagem
selecionada nas perguntas anteriores. Em POUs criadas manualmente pelo usuário, poderá
ser utilizada qualquer uma das linguagens disponíveis, exceto em POUs redundantes, que
não podem ser escritas na linguagem SFC, pois esta utiliza o temporizador IEC em segundo
plano. Para mais informações, ver a seção Limitações na Programação de um CP Redun-
dante.
ATENÇÃO:
A POU MainPrg será sempre gerada automaticamente em linguagem ST, e não pode ser
alterada pelo usuário. Esta POU chama as POUs ActivePrg (somente no CP Ativo) e NonS-
kippedPrg (em ambos os CPs).
Depois de obter respostas para as perguntas anteriores, o Assistente gera o projeto inicial, definindo um half-cluster com a
seguinte configuração inicial de hardware:
Bastidor selecionado
Fonte de alimentação (posições 0 e 1)
UCP NX3030 (posições 2 e 3)
Módulo NX4010 (posições 4 e 5) e Painel PX2612, caso tenha sido selecionado.
Após o módulo NX4010, são inseridos os módulos NX5001 necessários para implementar a rede PROFIBUS com as
características definidas anteriormente pelo usuário
Após os módulos NX5001, são inseridos os módulos NX5000 necessários para implementar a rede Ethernet com as
características definidas anteriormente pelo usuário
353
6. REDUNDÂNCIA COM UCP NX3030
Nas posições 0 a 5 do bastidor selecionado sempre devem estar instalados os seguintes módulos:
Fonte de alimentação (posição 0)
UCP NX3030 (posição 2)
Módulo NX4010 (posição 4)
Estes módulos não devem ser removidos do projeto original gerado pelo Assistente.
Qualquer configuração diferente nestas posições resultará em um erro notificado pelo MasterTool na compilação do projeto.
A figura abaixo mostra as configurações da porta NET 1 da UCP NX3030 (a tela para configuração da porta NET 2 contém
um sub-conjunto destes parâmetros). Para abrir esta tela, deve-se dar um duplo clique sobre NET 1 ou NET 2, abaixo da UCP
NX3030 na árvore de dispositivos.
A seguir devem ser editados os parâmetros básicos para as interfaces NET 1 e NET 2. O endereçamento será de acordo
com o método de troca IP Ativo, conforme está descrito em Princípios de Funcionamento - Métodos de Troca de IP - IP
Ativo.
ATENÇÃO:
Os dois endereços IP das interfaces NET 1 e NET 2, bem como o Endereço do Gateway,
devem pertencer à mesma subrede.
ATENÇÃO:
A tela de configuração de NET 2 possui a mesma estrutura da tela de configuração da NET
1, porém não contém a opção de configurações avançadas, ou seja, os parâmetros do NIC
Teaming e Falha Ethernet.
A opção Avançado, na tela de configuração da interface NET 1, abre uma nova tela de configuração, a qual define se NET 1
será redundante. Caso o checkbox de Redundância de Comunicação seja marcado, as interfaces NET 1 e NET 2 formarão um
par redundante com NIC Teaming, conforme descrito na seção Princípios de Funcionamento - Redes Ethernet Redundantes
com NIC Teaming. Automaticamente, outros parâmetros serão habilitados e deverão ser configurados:
Período de Teste da Redundância (ms): Período de envio do frame de teste de comunicação entre as duas NETs. Pode
ser configurado com valores entre 100 e 9900
354
6. REDUNDÂNCIA COM UCP NX3030
Número de Retentativas do Teste da Redundância: Número máximo de vezes que a NET que enviou o frame irá esperar
pela resposta. Pode ser configurado com valores entre 1 e 100
Período para Chaveamento (s): Tempo máximo que a NET Ativa irá esperar por um pacote qualquer. Pode ser configu-
rado com valores entre 1 e 25
Caso o tempo de resposta do Teste da Redundância atinja Período de Teste vezes o Número de Retentativas e a interface
ativa permaneça por um tempo maior que o Período para Chaveamento sem receber nenhum pacote, ocorrerá um switch-over,
tornando ativa a interface que até então estava inativa. É importante ressaltar que há um atraso entre a detecção da falha e
ativação da interface inativa devido ao tempo necessário para sua configuração. Tal atraso pode chegar a algumas dezenas de
milissegundos.
Quando uma das NETs estiver ativa, esta assumirá o endereço de IP configurado, permanecendo a NET inativa com seus
parâmetros de Endereço de IP, Máscara de Subrede e Endereço do Gateway em branco nos diagnósticos da UCP.
ATENÇÃO:
Quando um comando de Reset Origem for executado em uma UCP configurada com NIC
Teaming nas interfaces frontais NET1 e NET2, apenas a interface que estava ativa antes do
comando continuará acessível. Após o comando, a interface acessível poderá ser visualizada
no Menu Informativo e de Configuração da UCP.
A opção Avançado, na tela de configuração das interfaces NET 1 e NET2, abre uma tela de configuração onde além de
habilitar a redundância de comunicação também é possível configurar se a interface irá gerar um switch-over em caso de falha
na interface, conforme está descrito em Princípios de Funcionamento - Uso de Interfaces Ethernet com Indicação de Falha
Vital.
Quando configurado em conjunto com a redundância NIC Teaming, a falha vital será considerada quando ocorrer falha nas
interfaces NET1 e NET2.
Pode-se inserir ou remover módulos NX5001 no bastidor do half-cluster. Para executar esta operação de forma correta,
deve-se ter consciência das seguintes regras:
O número de módulos NX5001 em cada half-cluster pode variar entre zero e quatro
Pode-se definir até quatro redes PROFIBUS simples ou duas redes redundantes, respeitando o limite de módulos em
cada half-cluster
355
6. REDUNDÂNCIA COM UCP NX3030
Quando uma rede PROFIBUS é simples, ela necessita de um único módulo NX5001 em cada half-cluster. Quando é
redundante, ela necessita de 2 módulos NX5001 em cada half-cluster
Dois módulos NX5001 utilizados para compor uma rede PROFIBUS redundante devem ocupar posições vizinhas no
bastidor
A quantidade de módulos NX5001 no bastidor deve ser compatível com o número de redes PROFIBUS existentes, e
com o atributo de redundância de cada rede, ou seja:
• 0 x NX5001: Nenhuma rede PROFIBUS
• 1 x NX5001: Uma rede PROFIBUS simples
• 2 x NX5001: Neste caso há duas opções:
◦ Duas redes PROFIBUS simples
◦ Uma rede PROFIBUS redundante
• 3 x NX5001: Neste caso há duas opções:
◦ Três redes PROFIBUS simples
◦ Uma rede PROFIBUS simples e uma rede PROFIBUS redundante
• 4 x NX5001: Neste caso há três opções:
◦ Quatro redes PROFIBUS simples
◦ Duas redes PROFIBUS simples e uma rede PROFIBUS redundante
◦ Duas redes PROFIBUS redundantes
Depois de inserir ou remover módulos NX5001, deve-se revisar a configuração dos módulos NX5001 que restaram no
bastidor.
Cada módulo NX5001 utilizado em uma rede PROFIBUS simples, ou cada par redundante de NX5001 utilizado em uma
rede PROFIBUS redundante, possui os seguintes parâmetros que devem ser ajustados.
356
6. REDUNDÂNCIA COM UCP NX3030
Para agrupar dois módulos NX5001 em uma rede PROFIBUS redundante, deve-se dar um duplo clique em um módulo
NX5001 desagrupado que tenha outro módulo NX5001 também desagrupado à sua direita no bastidor. A seguir deve-se marcar
como verdadeiro (TRUE) o parâmetro “Redundância de Rede” disponível na aba “Parâmetros do Módulo”, conforme mostra
Figura 213. Para desagrupá-los, basta seguir o mesmo procedimento, porém marcando o parâmetro como falso (FALSE). Se
este parâmetro estiver marcado como verdadeiro (TRUE), os parâmetros DP e parâmetros do módulo NX5001 à sua direita
estarão bloqueados para edição.
ATENÇÃO:
No caso de redes redundantes, deve-se ajustar apenas os parâmetros do NX5001 presente
mais a esquerda no barramento, enquanto os parâmetros do NX5001 da direita permane-
cem bloqueados para edição. Alguns parâmetros de uma rede são idênticos aos da outra, en-
quanto outros são calculados automaticamente a partir dos parâmetros da rede do NX5001
da esquerda.
É aconselhável que o endereço configurado para um mestre NX5001 em um CP redundante seja 2, pois o endereço do
mestre NX5001 no CP Não-Ativo é decrementado em um, portanto o endereço do mestre NX5001 ficaria 1.
Além disso, lembra-se que:
Os endereços de 3 a 125 são geralmente utilizados para escravos PROFIBUS
O endereço 0 é frequentemente utilizado para configuração e diagnóstico dos dispositivos
O endereço 1, em especial, é reservado para ser assumido, dinamicamente, pelo mestre PROFIBUS no CP Não-Ativo
(mestre PROFIBUS em modo passivo)
O endereço 126 é muito utilizado por dispositivos escravos quando saem de fábrica
O endereço 127 é utilizado para enviar frames em broadcast
Na próxima compilação do projeto, o MasterTool verificará possíveis erros que o usuário possa ter cometido ao inserir ou
remover módulos NX5001 manualmente.
Importante salientar que, durante a execução de um projeto redundante configurado com módulos NX5001, o bit 0 de
Comandos (Canal Enable Interface %QXn.0 na aba Bus: Mapeamento de E/S) é manipulado pela aplicação redundante. As
interfaces devem permanecer habilitadas durante toda a execução do programa. Desta forma, um comando executado pelo
usuário para desabilitar uma interface não será executado da forma que pode se esperar. Por exemplo: se uma interface tiver o
estado deste bit alterado de TRUE para FALSE em um CP Ativo, isso não será interpretado como uma falha que levaria o CP
Ativo para o estado Inativo. Neste caso, o CP Ativo permanecerá Ativo e o outro CP que irá para o estado Inativo. Por estas
razões, este bit de comando não deve ser manipulado pelo usuário em uma aplicação redundante.
Maiores detalhes sobre a configuração de redes PROFIBUS são obtidos no Manual de utilização Mestre PROFIBUS DP
NX5001.
Para configurar remotas PROFIBUS abaixo de um mestre NX5001, deve-se consultar, além do Manual de Utilização
Mestre PROFIBUS DP NX5001, os seguintes manuais:
Manual de Utilização da Série Ponto
Manual de Utilização Cabeça PROFIBUS PO5063V1 e Cabeça Redundante PROFIBUS PO5063V5
Manual de Utilização Cabeça PROFIBUS PO5064 e Cabeça Redundante PROFIBUS PO5065
Manual de Utilização Rede HART sobre PROFIBUS
Para um sistema redundante deve-se atentar à configuração do parâmetro de cão-de-guarda da remota. Caso, na tela de
configuração de remota, esteja habilitado o checkbox “Controle de Cão-de-Guarda”, o campo “Tempo” deverá ser configurado
corretamente. Existem duas opções de configuração e o tempo utilizado deve ser o maior tempo entre:
WT ≥ I x 2 + 500ms; e
WT ≥ I x 3;
Onde WT é o tempo de cão-de-guarda e I é o intervalo configurado da MainTask.
357
6. REDUNDÂNCIA COM UCP NX3030
Pode-se inserir ou remover módulos Ethernet NX5000 no bastidor do half-cluster. Para executar esta operação de forma
correta, deve-se ter consciência de que o número de módulos NX5000 em cada half-cluster pode variar entre zero e seis. Deve-
se atentar também ao fato de que módulos que formarão um par redundante NIC Teaming devem ser inseridos em posições
vizinhas no bastidor.
Na próxima compilação do projeto, o MasterTool verificará possíveis erros que o usuário possa ter cometido ao inserir ou
remover módulos NX5000 manualmente. Por exemplo, se o usuário inseriu mais do que 6 módulos NX5000, haverá um erro.
A interface de cada módulo será identificada como NET 1, assim como são identificadas na mecânica do produto. Caso o
usuário acrescente manualmente módulos NX5000 no barramento, a identificação ocorre da mesma forma que no Assistente.
Depois de inserir ou remover módulos NX5000, deve-se revisar a configuração dos módulos NX5000 que restaram no
bastidor.
Para cada módulo NX5000 em um CP redundante, devem ser ajustados os parâmetros de endereço, conforme descrito na
seção Princípios de Funcionamento - Métodos de Troca de IP, os quais podem ser acessados através de um duplo clique sobre
a interface NET 1, abaixo de cada módulo NX5000 localizado na árvore de dispositivos.
ATENÇÃO:
Caso dois módulos consecutivos formem um par redundante NIC Teaming, configura-se os
parâmetros básicos somente do NX5000 da esquerda, e a edição dos parâmetros do NX5000
da direita estará bloqueada.
Os módulos NX5000, assim como a interface NET 1 das UCPs NX3020 e NX3030, apresentam uma tela de configurações
avançadas, que definirá se o módulo formará um par NIC Teaming Redundante com o módulo a sua direita. A configuração é
feita conforme já descrito na seção NIC Teaming entre NET 1 e NET 2.
Para agrupar dois módulos NX5000 como um par redundante, a seguinte condição deve existir:
Estes dois módulos NX5000 devem ocupar posições vizinhas no bastidor.
Ao fazer isto, o módulo à direita tem a edição de seus parâmetros bloqueada e os parâmetros editados no módulo à esquerda
passam a ser comuns para os dois módulos. Desmarcando o checkbox “Redundância de Comunicação” do módulo à esquerda,
provoca-se a separação dos módulos, que voltam a se comportar como módulos individuais sem redundância NIC Teaming.
Os módulos NX5000, assim como as interfaces NET 1 e NET 2 permitem configurar se a interface irá gerar um switch-
over em caso de falha na interface, conforme está descrito em Princípios de Funcionamento - Uso de Interfaces Ethernet com
Indicação de Falha Vital.
Quando configurado em conjunto com a redundância NIC Teaming a falha vital será considerada quando ocorrer falha nas
dois módulos do par redundante.
358
6. REDUNDÂNCIA COM UCP NX3030
359
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
Um erro de compilação pode ser gerado caso a folga mínima não seja respeitada. Desde que
esteja configurado nos Parâmetros do Projeto da UCP.
ATENÇÃO:
Havendo sucesso ou não na compilação, o MasterTool informa se a folga é respeitada e o
cálculo do overhead de redundância na janela de mensagens.
Nesta POU o usuário deve criar a aplicação principal, responsável pelo controle de seu processo. Esta POU é chamada
pela POU principal (MainPrg), sendo executada apenas no CP Ativo.
O usuário pode também criar POUs adicionais (programa, funções ou bloco funcional), e chamá-las ou instanciá-las den-
tro da POU ActivePrg, para fins de estruturação de seu programa. Também é possível chamar funções e instanciar blocos
funcionais definidos em bibliotecas.
Deve-se lembrar que todas as variáveis simbólicas definidas na POU ActivePrg, assim como instâncias de blocos funcio-
nais definidas, serão variáveis redundantes. Variáveis simbólicas definidas em POUs adicionais do tipo programa que forem
chamadas dentro de ActivePrg também serão variáveis redundantes.
ATENÇÃO:
Variáveis do tipo VAR_TEMP não devem ser utilizadas no programa redundante.
Esta POU é destinada para controles que devem ser executados em ambos os CPs (CPA e CPB), independente do seu estado
de redundância. Esta POU também é chamada pela POU principal (MainPrg).
Deve-se lembrar que todas as variáveis simbólicas definidas na POU NonSkippedPrg, assim como instâncias de blocos
funcionais definidas, serão variáveis não-redundantes. O usuário pode também criar POUs adicionais (programa, funções ou
bloco funcional), e chamá-las ou instanciá-las dentro da POU NonSkippedPrg, para fins de estruturação de seu programa.
Também é possível chamar funções e instanciar blocos funcionais definidos em bibliotecas.
ATENÇÃO:
Quando chamar POUs adicionais do tipo programa dentro de NonSkippedPrg, desmarque
as mesmas na janela Configuração de Redundância do MasterTool. Por padrão as variáveis
simbólicas declaradas dentro destas POUs serão redundantes e, dentro da NonSkippedPrg,
normalmente deseja-se variáveis não-redundantes. Normalmente o código de NonSkipped-
Prg é pequeno, dispensando a chamada de POUs adicionais do tipo programa para sua es-
truturação, mas, caso a sua estruturação seja necessária o mais recomendável é utilizar bloco
funcional ou funções.
360
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
Não recomenda-se utilizar os blocos funcionais TOF_RET, TON_RET, TOF e TON no pro-
grama NonSkippedPrg. Ver seção Limitações na Programação de um CP Redundante
ATENÇÃO:
Os objetos PV, PIDControl e PidRetainGVL não podem ser marcados individualmente. Caso
seja necessário que estes sejam alterados, deve ser marcada a opção Selecionar Todos.
ATENÇÃO:
Por boa prática, é recomendado evitar a utilização da diretiva AT em GVLs que contenham
declarações de variáveis simbólicas redundantes, para evitar o mapeamento de variáveis em
áreas não-redundantes.
ATENÇÃO:
Por boa prática, é recomendado evitar a utilização da diretiva AT em POUs que sejam re-
dundantes, a fim de evitar o mapeamento de variáveis em áreas não-redundantes.
361
6. REDUNDÂNCIA COM UCP NX3030
1 VAR
2 eRedStateLocal : REDUNDANCY_STATE;
3 eRedStateLocal_old : REDUNDANCY_STATE;
4 END_VAR
5
6 // Leitura do estado atual do CP local
7 eRedStateLocal := DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.eRedState;
8
9 // O estado do CP local mudou?
10 IF eRedStateLocal <> eRedStateLocal_old THEN
11 IF eRedStateLocal = REDUNDANCY_STATE.ACTIVE THEN
12 // CP local entrou em estado Ativo
13 Diagnostics.DG_MODBUS_RTU_Slave.tCommand.bRestart := TRUE;
14 Diagnostics.DG_MODBUS_RTU_Master.tCommand.bRestart := TRUE;
15 Diagnostics.DG_MODBUS_Server.tCommand.bRestart := TRUE;
16 ELSE
17 // CP local entrou em um estado Não Ativo
18 Diagnostics.DG_MODBUS_RTU_Slave.tCommand.bStop := TRUE;
19 Diagnostics.DG_MODBUS_RTU_Master.tCommand.bStop := TRUE;
20 Diagnostics.DG_MODBUS_Server.tCommand.bStop := TRUE;
21 END_IF
22 // Salva o último estado do CP local
23 eRedStateLocal_old:= eRedStateLocal;
24 END_IF
Em uma GVL ou em uma POU do tipo programa que sejam redundantes, as seguintes limitações devem ser respeitadas
para um correto funcionamento dos half-clusters:
Não utilizar variáveis do tipo VAR_TEMP
Não misturar tipos de variáveis (VAR, VAR RETAIN, VAR PERSISTENT, etc...), devendo ser utilizado somente um
dos tipos em cada GVL ou POU
362
6. REDUNDÂNCIA COM UCP NX3030
Não misturar declaração de variáveis simbólicas com ATs nas GVLs. Devem ser criadas GVLs separadas, declarando
em uma as variáveis do tipo AT e em outra as variáveis simbólicas
Não armazenar o endereço de uma variável em uma variável redundante (fazer de uma variável redundante um ponteiro
para um endereço), pois os endereços das variáveis podem ser diferentes no CPA e no CPB
Não utilizar blocos funcionais de escrita e leitura ao relógio RTC em POUs redundantes. Mais detalhes podem ser
encontrados na seção Relógio RTC
Em uma POU do tipo programa que não seja redundante, no caso, a POU NonSkippedPrg, as seguintes limitações devem
ser respeitadas para um correto funcionamento dos half-clusters:
Não podem ser utilizados os blocos funcionais TON e TOF tradicionais, pois os mesmos utilizam o temporizador IEC.
Quando o CP Reserva entrar em estado ativo (com o outro half-cluster saindo do estado Ativo), o temporizador IEC será
sincronizado, causando uma descontinuidade no valor do temporizador. Deve-se optar pelos blocos funcionais TON_NR
e TOF_NR disponibilizados na biblioteca NextoStandard. Ver seção Temporizador Não-Redundante
Não podem ser utilizadas POUs do tipo programa escritas na linguagem SFC (Sequenciamento Gráfico de Funções),
pois estas utilizam o temporizador IEC para temporizar as transições
Não misturar declaração de variáveis simbólicas com ATs nas GVLs. Devem ser criadas GVLs separadas, declarando
em uma as variáveis do tipo AT e em outra as variáveis simbólicas
1 VAR
2 eRedStateLocal : REDUNDANCY_STATE;
3 END_VAR
4
5 eRedStateLocal := DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.eRedState;
Deste modo, o usuário poderá fazer o controle de lógicas que dependam do estado redundante do CP.
1 PROGRAM NonSkippedPrg
2 VAR
3 TON_DiagEnable : TON_NR;
4 bDiagEnable : BOOL;
5 bIsActiveState : BOOL;
6 bIsActiveState_old : BOOL;
7 END_VAR
8
9 bIsActiveState := (DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.eRedState
= REDUNDANCY_STATE.ACTIVE);
363
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
Os passos seguintes devem ser executados para os dois half-clusters (CPA e CPB) que com-
põem um CP redundante. Primeiro deve-se executar todos os passos para um dos CPs, e
depois para o outro.
O primeiro é descobrir o endereço IP do canal NET 1 desta UCP, para conexão ao MasterTool.
Isto deve ser feito através do visor e a tecla da UCP NX3030, conforme descrito em Menu Informativo e de Configuração
da UCP. O menu REDE informa os endereços IPs que podem ser utilizados para conexão via MasterTool.
Antes de executar o próximo passo, deve-se ter certeza de que não existe, na rede, outro equipamento com o mesmo
endereço IP descoberto no primeiro passo. Isso pode ser descoberto, por exemplo, desconectando o CP da rede e executando
um comando “ping” no seu endereço IP. Como o CP está desconectado, espera-se que este “ping” falhe. Se o “ping” funcionar,
existe outro equipamento com o mesmo endereço IP.
Caso o endereço IP já esteja em uso por outro equipamento na rede, deve-se executar o terceiro passo, e também alguns
passos seguintes, utilizando um cabo de crossover para conectar diretamente o PC com o software MasterTool IEC XE ao
CP, evitando assim conflitos de endereços IP. Em um dos passos seguintes, ao carregar o projeto no CP, serão atualizados os
endereços IP definitivos do CP (ver seção Configurações das Portas Ethernet da UCP NX3030 (NET 1 e NET 2)).
O terceiro passo consiste em dar um duplo clique sobre o Device (NX3030) na árvore de dispositivos, entrar na aba
“Configurações de Comunicação”, clicar sobre o Gateway, e pressionar o botão “Mapear Rede” para listar todos os CPs
detectados pelo MasterTool na rede.
Neste momento, espera-se encontrar uma lista de CPs cuja identificação contém o endereço IP descoberto no primeiro
passo e o tipo da UCP (NX3030). Caso o usuário tenha trocado anteriormente o nome da UCP na rede, este nome será o
364
6. REDUNDÂNCIA COM UCP NX3030
visualizado neste momento. A seção Conexão do MasterTool com uma UCP NX3030 de um CP Redundante descreve com
maiores detalhes as possíveis identificações que podem ser observadas nesta lista. De qualquer maneira, todas as possíveis
identificações possuem um campo que mostra o endereço IP ou parte dele. Por exemplo, os bytes que estão entre colchetes
formam o endereço da UCP. O byte que está a direita, entre os bytes que estão entre colchetes, indica o final do endereço IP
em hexadecimal. Se os bytes formarem o seguinte endereço [0010], isto significa que o byte com o valor 10 indica que o
final do endereço IP dessa UCP é xxx.xxx.xxx.16. A seguir, deve-se clicar sobre este CP na lista e pressionar o botão “Definir
Caminho Ativo”. Feito isso, o CP selecionado deve aparecer em negrito na lista, o que indica que o MasterTool está preparado
para conectar-se a este CP.
O quarto passo consiste em identificar o half-cluster, como CPA ou CPB. Isto é feito através do menu Comunicação /
Configuração de Redundância:
A seguir, a combo-box “Identificação do CP” permite selecionar uma das três seguintes opções:
CPA
CPB
Não-Redundante
No caso de um CP redundante, o usuário deve selecionar CPA ou CPB. Depois de selecionar a opção desejada, o botão
“Escrever” ao lado desta combo-box deve ser pressionado. O MasterTool retornará um aviso de que a UCP será reinicializada
e se o usuário deseja confirmar a ação. Após, irá aparecer uma mensagem indicando sucesso ou falha do comando e, em caso
de sucesso, a UCP será reinicializada.
ATENÇÃO:
A UCP NX3030 não pode estar em modo Run quando este comando é executado. Antes de
executar o comando, o usuário deve colocar a UCP em Modo Stop. Caso a UCP esteja em
modo Run, o comando não é executado e o MasterTool avisa que o comando falhou.
Logo depois de executar o comando de identificação com sucesso, observa-se que a identificação selecionada aparece nos
Diagnósticos da Redundância no Visor Gráfico da UCP NX3030.
A identificação do CP também estará disponível em um diagnóstico interno (DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag
.ePLC_ID). Este diagnóstico é atualizado a partir da memória não-volátil a cada ciclo da MainTask, portanto é necessário que
o CP volte ao modo Run para que o mesmo seja atualizado. Abaixo, estão relacionados os códigos retornados pelo diagnóstico
e suas respectivas descrições:
365
6. REDUNDÂNCIA COM UCP NX3030
Não-Redundante: 0
CPA: 2
CPB: 3
A identificação de um CP não faz parte do projeto redundante desenvolvido com o MasterTool. Tal identificação reside
apenas em uma área de memória não-volátil da UCP, que pode ser modificada usando o MasterTool.
CUIDADO:
A redundância não funcionará adequadamente caso uma das UCPs não seja identificada
como CPA e a outra UCP não seja identificada como CPB, podendo ocasionar interrupção
do controle do processo. Caso uma UCP NX3030 deva ser substituída (ex: após um dano),
a nova UCP deve ser previamente identificada com a mesma identificação daquela UCP que
está sendo substituída. Deve-se usar o visor da UCP para verificar se os dois CPs foram
corretamente identificados.
Este passo descreve a carga do projeto redundante no CP. Este projeto deve ser preparado conforme descrito na seção
Programação de um CP Redundante.
Um projeto simples (básico) pode ser preparado seguindo, no mínimo, as seguintes subseções desta seção:
Assistente para Criação de um Novo Projeto Redundante
Configurações das Portas Ethernet da UCP NX3030 (NET 1 e NET 2)
Obviamente, também é possível fazer um projeto completo e só depois carregá-lo no CPA e CPB, por exemplo, caso o
hardware destes CPs não esteja disponível durante o desenvolvimento do projeto com o MasterTool.
A primeira carga de um projeto redundante em uma UCP, previamente identificada como CPA ou CPB, ainda deve ser
feita utilizando aquele endereço IP descoberto no primeiro passo deste procedimento, e selecionado no terceiro passo deste
procedimento. A carga do projeto é feita através do menu Comunicação / Login.
ATENÇÃO:
Dentro do projeto desenvolvido com o MasterTool IEC XE e carregado no CP neste passo,
foram definidos novos endereços IP para a interface NET 1 do CPA e CPB (Endereço de IP
do CPA e Endereço de IP do CPB), assim como um endereço IP para a interface NET 1 do
CP Ativo (Endereço de IP Ativo) – ver seção Configurações das Portas Ethernet da UCP
NX3030 (NET 1 e NET 2).
Portanto, depois desta carga inicial, aquele endereço IP descoberto no primeiro passo deste
procedimento normalmente não será mais válido. Esta mudança do endereço IP em NET 1
ou NET2 provocará uma perda da conexão do MasterTool com o CP, que será notificada.
Para maiores detalhes sobre como reconectar o MasterTool, ver seção Conexão do Master-
Tool com uma UCP NX3030 de um CP Redundante.
366
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
Carregar um projeto no CP Não-Ativo normalmente é inútil, pois a sincronização automá-
tica de projetos (do CP Ativo para o CP Não-Ativo) cancelaria o efeito desta carga. Entre-
tanto, há situações especiais em que a sincronização de projetos pode ser desabilitada tem-
porariamente, sendo possível e útil carregar um projeto diferente no CP Não-Ativo. Estas
situações especiais são discutidas na seção Explorando a Redundância para Carga Offline
de Modificações sem Interrupção do Controle do Processo.
6.5.4.1. Modificações que Demandam Carga Offline com Interrupção do Controle do Processo
As seguintes modificações em um projeto farão com o que o mesmo se torne impossível de ser carregado num sistema
redundante sem a interrupção do controle do processo:
Modificações nas áreas de memória redundantes (alteração dos Parâmetros de Redundância do módulo NX4010)
ATENÇÃO:
Não será possível alterar o tamanho das áreas de memória redundantes sem interromper o
controle do processo. Portanto estas áreas devem ser cuidadosamente planejadas e configu-
radas previamente.
367
6. REDUNDÂNCIA COM UCP NX3030
Em princípio, as modificações não citadas nas seções Modificações que Demandam Carga Offline com Interrupção do
Controle do Processo e Modificações que Demandam Carga Offline, permitem carga online.
Mesmo assim, a seguir serão citadas as principais modificações que permitem carga online no CP onde o MasterTool está
conectado. As modificações citadas abaixo valem para variáveis, POUs e GVLs, redundantes ou não.
Adicionar POUs do tipo programa, desde que estas POUs não precisem ser associadas à alguma tarefa
Remover POUs do tipo programa, desde que estas POUs não estejam associadas à alguma tarefa.
Adicionar ou remover POUs do tipo função ou bloco funcional
Modificar o código de quaisquer tipos de POU (programa, função ou bloco funcional)
Adicionar ou remover variáveis simbólicas em quaisquer tipos de POU (programa, função ou bloco funcional, sendo
elas redundantes ou não)
Adicionar ou remover instâncias de bloco funcional em POUs do tipo programa ou bloco funcional
Adicionar ou remover GVLs
Adicionar ou remover variáveis simbólicas ou instâncias de bloco funcional em GVLs
ATENÇÃO:
É importante lembrar que modificações online, sem que a opção mencionada anteriormente
seja selecionada, serão perdidas no caso de um Reset a Quente ou a UCP ser desligada.
ATENÇÃO:
Uma alteração online na declaração de variáveis retentivas da aplicação (inclusão ou remo-
ção de variáveis) seguida de uma queda da alimentação do CP antes de “Criar Aplicação de
Inicialização”, irá corromper a memória retentiva, pois o valor das variáveis retentivas que
foram salvas não corresponde às variáveis da aplicação recuperadas na memória restaurada.
Quando o CP Não-Ativo percebe que possui um projeto diferente do CP Ativo, ele executa as seguintes ações:
Negocia uma sincronização automática de projeto com o CP Ativo
Caso esteja no estado Reserva ou Inicializando, chaveia para o estado Não-Configurado, e permanece neste estado até
que os projetos estejam novamente sincronizados. Depois disso, volta automaticamente ao estado Reserva
Caso esteja no estado Não-Configurado ou Inativo, o botão STAND-BY do painel PX2612 deve ser pressionado, ou
comando equivalente a este botão deve ser executado. Desta forma, depois da sincronização do projeto, sairá do estado
Não-Configurado e poderá ir ao estado Reserva, ou voltar para o estado Inativo se ocorrer alguma falha
368
6. REDUNDÂNCIA COM UCP NX3030
Ao pressionar o botão Sim o projeto é enviado. Quando uma carga offline é executada, o controle do processo é interrom-
pido, pois o envio do projeto deve ser feito para o CP Ativo que sairá do modo de execução (Run), e portanto estará no estado
Não-Configurado.
Outro ponto importante é que se o outro CP estiver em estado Reserva, deve-se passá-lo para o estado Inativo, por exemplo,
apertando o botão INACTIVE do PX2612 para este CP, ou comando equivalente nos diagnósticos da redundância. Desta forma,
evita-se que o outro CP desligue este CP e assuma como Ativo.
ATENÇÃO:
Quando o CP Ativo sai do modo Run e vai para o estado Não-Configurado, se o outro CP
foi esquecido em estado Reserva, o outro CP assumirá como Ativo e desligará o CP que
passou de Ativo para Não-Configurado. Neste caso, portanto, a carga offline não poderá ser
completada porque o CP conectado ao MasterTool foi desligado.
Quando a carga offline terminar, é possível reiniciar a execução do programa no CP onde a aplicação foi carregada (colocar
no modo Run novamente). Depois de alguns segundos, este CP reassume o estado Ativo.
Depois que este CP reassume o estado Ativo, pode-se tirar o outro CP do estado Inativo, por exemplo, apertando o botão
STAND-BY do PX2612 para este CP. Isso provocará a transição deste CP para o estado Não-Configurado. Este CP permane-
cerá no estado Não-Configurado até que o processo automático de sincronização de projetos termine. Depois disso, este CP
passa para o estado Inicializando e depois voltará para o estado Reserva.
6.5.7. Planejamento Prévio para Modificações Offline sem Interrupção do Controle do Processo
A subseção seguinte – Planejamento Prévio para Modificações a Quente em Redes PROFIBUS Redundantes – descreve
um procedimento muito importante que permite fazer cargas offline de modificações sem interromper o controle do processo.
Embora este procedimento não se aplique à quaisquer modificações que demandem carga offline, ele se aplica àquelas modifi-
cações realizadas com maior frequência.
No entanto, para que o procedimento seja aplicável, os projetos devem ser desenvolvidos com algum planejamento pré-
vio, particularmente para modificações que afetam a rede PROFIBUS. As seguintes subseções descrevem tais planejamentos
prévios para modificações que afetam a rede PROFIBUS, e também para outras modificações.
Entre as modificações que afetam uma rede PROFIBUS e demandam carga offline, as seguintes são suportadas pelo proce-
dimento que permite fazer cargas offline de modificações sem interromper o controle do processo, desde que a rede PROFIBUS
seja redundante:
Inserir uma nova rede PROFIBUS
Inserir uma nova remota da série Ponto
369
6. REDUNDÂNCIA COM UCP NX3030
ATENÇÃO:
É possível inserir remotas não-redundantes abaixo de uma rede PROFIBUS redundante uti-
lizando o módulo AL-2433 (ProfiSwitch), conforme exemplo mostrado na Figura 192. No
entanto, tais remotas não-redundantes sofrerão descontinuidades (desligamento de saídas)
quando forem carregadas modificações offline.
A seguir, descreve-se as etapas de um planejamento que deve iniciar no momento da criação de uma nova rede PROFIBUS
redundante.
6.5.7.1.1. Etapa 1 – Planejar Expansão Futura das Remotas Inseridas na Versão Inicial da Rede PROFIBUS
Em primeiro lugar, deve-se fazer uma lista dos módulos de E/S que constituirão cada remota PROFIBUS redundante da
Série Ponto, na versão inicial da rede PROFIBUS. Na lista, deve constar a posição onde cada módulo de E/S será inserido no
bastidor da remota.
A seguir, deve-se planejar como cada uma destas remotas poderá ser expandida no futuro. Para tanto, deve-se fazer uma
lista complementar com módulos de E/S que poderão ser inseridos futuramente. Na lista complementar, deve constar a posição
onde cada módulo de E/S será inserido futuramente no bastidor de cada remota.
ATENÇÃO:
Na construção física destas remotas (painéis elétricos), é altamente recomendável inserir ba-
ses compatíveis com os módulos de E/S futuros nas respectivas posições. Desta maneira,
quando for necessário inserir o módulo de E/S nesta remota, não será necessário desligar
a mesma para inserir a base. Caso este detalhe não seja observado, será necessário desli-
gar esta remota específica, pois não é possível inserir uma base à quente em uma remota.
Observa-se que a parada de uma remota específica em alguns casos pode ser tolerável, mas
em outros casos pode não ser.
ATENÇÃO:
Deve-se colocar os módulos de E/S originais nas primeiras posições do bastidor da remota, e
os módulos de E/S futuros nas últimas posições do bastidor da remota.
ATENÇÃO:
Considerar as limitações das remotas redundantes da Série Ponto ao elaborar esta lista, con-
forme o Manual de Utilização Cabeça PROFIBUS PO5063V1 e Cabeça Redundante PRO-
FIBUS PO5063V5, e o Manual de Utilização Cabeça PROFIBUS PO5064 e Cabeça Redun-
dante PROFIBUS PO5065. Existem limites quanto ao número de módulos por remota, nú-
mero de bytes de E/S por remota, consumo de corrente por fonte, etc. Estes limites podem
ser verificados automaticamente utilizando o ProPonto. Para maiores informações, consulte
o Manual de Utilização MT6000 MasterTool ProPonto – MU299040.
Para inserir a versão inicial de rede PROFIBUS redundante no Projeto, inicialmente deve-se inserir os dois módulos
NX5001 redundantes no bastidor, ou utilizar aqueles já inseridos pelo Assistente da redundância.
Em seguida, deve-se inserir cada uma das remotas na árvore de dispositivos abaixo do primeiro NX5001 do par redundante
na árvore de dispositivos, bem como os módulos de E/S abaixo de cada remota.
Quanto aos módulos de E/S inseridos, existem duas categorias que devem ser tratadas de maneira diferente:
Aqueles que fazem parte da versão inicial da rede PROFIBUS, e serão instalados imediatamente
Aqueles que serão utilizados para expansão futura
No caso daqueles que fazem parte da versão inicial da rede PROFIBUS, deve-se inserir o próprio módulo na árvore de
dispositivos, na posição planejada da remota correspondente.
No caso daqueles que serão utilizados para expansão futura, deve-se inserir um módulo virtual correspondente na posição
planejada. Um módulo virtual simula um módulo real e precisa alocar o mesmo número de bytes de E/S que o módulo real.
A inserção de um módulo virtual no lugar de um módulo real impede que diagnósticos de ausência do módulo real sejam
produzidos.
A tabela abaixo exemplifica alguns módulos reais e seus respectivos módulos virtuais correspondentes:
370
6. REDUNDÂNCIA COM UCP NX3030
6.5.7.1.3. Etapa 3 – Alocar Áreas de Variáveis %I e %Q para a Rede PROFIBUS considerando Expansão para Remotas
Futuras
Na medida que os NX5001, remotas e módulos de E/S foram sendo inseridos na árvore de dispositivos na etapa 2 anterior,
foram alocadas variáveis %I e %Q em três áreas diferentes:
371
6. REDUNDÂNCIA COM UCP NX3030
Nota:
Alocação de Variáveis: Mais informações sobre o tamanho e o tipo de memória alocado para cada módulo podem ser
encontradas no Manual de utilização Mestre PROFIBUS DP NX5001.
Depois de executar o planejamento das três áreas (endereços inicial e final de cada área), deve-se introduzir os endereços
iniciais no projeto iniciado na etapa 2.
Em primeiro lugar, deve-se modificar o parâmetro “Endereço Inicial de Diagnósticos do Módulo em %Q” do primeiro
módulo NX5001. Deve-se utilizar o endereço inicial planejado para a área de variáveis %Q para diagnósticos.
Em segundo lugar, deve-se procurar o primeiro módulo de E/S da rede, a partir dos NX5001, que aloque variáveis %I para
entradas. Ao encontrá-lo, deve-se alterar o parâmetro “Endereço” correspondente.
Em terceiro lugar, deve-se procurar o primeiro módulo de E/S da rede, a partir dos NX5001, que aloque variáveis %Q para
saídas. Ao encontrá-lo, deve-se alterar o parâmetro “Endereço” correspondente.
ATENÇÃO:
Neste momento, é aconselhável verificar a faixa de endereços alocados para as três áreas de
variáveis, verificando se os endereços finais de cada área estão dentro da faixa planejada, e
se existe uma boa expansão livre para novas remotas a serem inseridas futuramente.
Existem outras modificações, que embora não afetem uma rede PROFIBUS, também demandam carga offline. A seguir,
são mostrados alguns exemplos de modificações deste tipo suportadas pelo procedimento que permite fazer cargas offline de
modificações sem interromper o controle do processo:
Inserção de módulos NX5000 (Ethernet)
Inserção de drivers de E/S de comunicação Ethernet ou Serial
Inserção de novos mapeamentos em drivers de E/S de comunicação Ethernet ou Serial
Por outro lado, as demais modificações exemplificadas anteriormente nesta seção envolvem a alocação de variáveis de
representação direta %I e %Q para diagnósticos, entradas e saídas, de maneira similar ao que se discutiu na etapa 3 do
planejamento prévio para modificações a quente que afetam a rede PROFIBUS (ver seção Etapa 3 – Alocar Áreas de Variáveis
%I e %Q para a Rede PROFIBUS considerando Expansão para Remotas Futuras).
Desta forma, ao inserir um módulo NX5000, ou ao inserir um driver de E/S Ethernet ou Serial, deve-se planejar a alocação
das 3 seguintes áreas para o dispositivo inserido:
A seção Etapa 3 – Alocar Áreas de Variáveis %I e %Q para a Rede PROFIBUS considerando Expansão para Remotas
Futuras mostra um exemplo de alocação conjunta destas áreas, envolvendo redes PROFIBUS e um driver de E/S (Servidor
MODBUS TCP).
Caso as áreas a serem utilizadas futuramente não sejam planejadas corretamente, as áreas de memória redundante podem
ter que ser alteradas, gerando, assim, uma incompatibilidade entre as aplicações. Isto irá implicar em apenas um CP manter-se
no estado Ativo, com o outro CP permanecendo Inativo, sem a possibilidade de sincronizar dados redundantes ou a aplicação
entre os dois CPs.
Esta incompatibilidade é informada pelo diagnóstico da redundância:
DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bApplicationIncompatible.
Este diagnóstico é ativo quando o download de uma nova aplicação é feito para um dos CPs, geralmente o Não-Ativo, com
uma das seguintes alterações:
Modificação das áreas de dados redundantes, configuradas nos parâmetros do módulo NX4010
Alteração (criar ou remover) de variáveis simbólicas redundantes, declaradas em POUs ou GVLs redundantes
É importante observar que, para a alteração de variáveis simbólicas redundantes, o problema de incompatibilidade ocorre
somente com um novo download para um dos CPs. Caso a modificação das variáveis simbólicas redundantes, e todas as outras
alterações feitas no projeto, se enquadrem no grupo de Modificações que Permitem Carga Online, é possível fazer uma Carga
Online de Modificações e não gerar nenhuma incompatibilidade entre as aplicações dos CPs.
372
6. REDUNDÂNCIA COM UCP NX3030
A ferramenta de programação MasterTool IEC XE passa por um constante processo de melhoria, aprimorando suas carac-
terísticas e adicionando novas. Quando é necessária a atualização da ferramenta em um sistema redundante o projeto utilizado
precisa ser atualizado. Esta atualização é realizada através do menu Projeto/Atualização de Projeto disponível na ferramenta.
Após atualizar o projeto, o procedimento de carga Offline sem Interrupção do Controle do Processo pode ser realizado.
6.5.7.4.1. Atualização de Projetos de Versões Inferiores a 2.00 para versão 2.00 ou Superior
Dentre as trocas entre versões do software MasterTool IEC XE existe um caso especial que deve ser planejado com maior
cautela para evitar a parada do processo. A atualização de projeto criado com versão inferior a 2.00 do MasterTool IEC XE para
a versão 2.00 ou superior causa uma reconfiguração na área alocada para o objeto Variáveis Persistentes. Esta reconfiguração
foi implementada visando uma otimização na alocação desta área. Contudo, se este objeto estiver presente e marcado como
redundante em um projeto, esta reorganização não permitirá que os dados sejam sincronizados entre os dois projetos, colocando
sempre um dos Half-Clusters em estado Inativo.
Desta forma, se esta situação ocorrer, o software da UCP NX3030 consegue detectar a situação e para a sincronização
de dados do objeto Variáveis Persistentes até que os projetos nos dois Half-Clusters sejam iguais e por conseguinte estejam
utilizando um projeto com a versão atualizada do MasterTool IEC XE. Esta situação não irá parar o controle do processo, porém
se não for seguida uma sequência correta de atualização, os dados do objeto Variáveis Persistentes podem ser reinicializados.
Nestes casos a seguinte sequência de Carga Offline deve ser realizada:
Alterar o projeto do Half-Cluster em estado Ativo desmarcando o objeto PersistentVars dentro do objeto Configuração
de Redundância. Esta carga deve ser realizada como uma carga Online e para que possa ser feita se faz necessária mais
uma alteração no projeto, por exemplo, declarando uma variável dentro da POU NonSkippedPrg
Ao final da Carga Online será necessário executar o comando Criar Aplicação de Inicialização quando estiver Online
no CP que se encontra no estado Ativo. Isto é necessário para que a aplicação seja sincronizada com o Half-Cluster que
passou para o estado Não-Configurado após a carga
Atualizar o projeto da versão inferior à 2.00 para versão 2.00 ou superior através do menu Projeto/Atualização de Projeto
do MasterTool IEC XE
Desabilitar o sincronismo de projeto através do menu Comunicação/Configuração de Redundância
Executar a carga de projeto atualizado no Half-Cluster que se encontra no estado Reserva. Aparecerá uma mensagem
indicando a reorganização das áreas de memória do objeto PersistentVars. O procedimento deve continuar e ao final da
carga de projeto o Half-Cluster permanecerá em STOP com estado de redundância como Não Configurado
Passar a UCP para RUN. O Half-Cluster irá transicionar para estado Inicializando e depois para o estado Reserva. O
Half-Cluster irá sincronizar seus dados com o outro que está no estado Ativo
Os dados do objeto PersistentVars devem ser copiados manualmente do Half-Cluster Ativo para o Reserva ou deve se
utilizar o recurso de receitas para copiar os dados de um Half-Cluster para o outro
Colocar o Half-Cluster do estado Ativo no estado Reserva. Com esta ação, o estado do outro Half-Cluster passará para
Ativo
Habilitar o sincronismo de projeto através do menu Comunicação/Configuração de Redundância. Após este processo o
Half-Cluster que estava no estado Reserva irá para o estado Não-Configurado e receberá o projeto do Half-Cluster em
estado Ativo. Ao final deste processo o estado do Half-Cluster mudará para Inicializando e por fim de volta à Reserva
Alterar o projeto do Half-Cluster em estado Ativo marcando o objeto PersistentVars dentro do objeto Configuração de
Redundância. Esta carga deve ser realizada como uma carga Online e para que possa ser feita se faz necessária mais uma
alteração no projeto, por exemplo, removendo uma variável dentro da POU NonSkippedPrg (por exemplo a declarada
no início deste procedimento)
Após este processo o Half-Cluster que estava no estado Reserva irá para o estado Não-Configurado e receberá o projeto
do Half-Cluster em estado Ativo. Ao final deste processo o estado do Half-Cluster mudará para Inicializando e por fim
de volta à Reserva
6.5.8. Explorando a Redundância para Carga Offline de Modificações sem Interrupção do Controle do Processo
Na seção Carga de Modificações Offline e Online, informou-se que algumas modificações demandam carga offline no
CP onde tais modificações devem ser carregadas. Nestes casos, o usuário tem a opção de interromper o controle do processo,
conforme procedimento definido na seção Carga Offline de Modificações com Interrupção do Controle do Processo. Para
tanto, geralmente é necessário programar previamente uma parada do processo, o que nem sempre é possível no momento em
que é necessária uma modificação urgente.
Graças à redundância dos CPs e, em alguns casos, graças à redundância da rede PROFIBUS, é possível realizar cargas
offline sem interromper o controle do processo para a maior parte das modificações usualmente necessárias. Para atingir este
objetivo, é necessário seguir atentamente um procedimento, cujas etapas são descritas nas subseções seguintes.
373
6. REDUNDÂNCIA COM UCP NX3030
Para que sejam possíveis cargas offline sem interromper o controle do processo, os seguintes requisitos básicos devem ser
atendidos:
O projeto original deve ter sido elaborado em conformidade com as recomendações dadas na seção Planejamento Prévio
para Modificações Offline sem Interrupção do Controle do Processo
O CP deve ser redundante
Caso a modificação afete uma rede PROFIBUS, é necessário que esta rede PROFIBUS seja redundante. Tais modifica-
ções podem ser:
• Inserção de novas remotas
• Inserção de módulos de E/S em remotas existentes, em posições previamente reservadas por módulos virtuais
correspondentes. Para que a remota não tenha de ser desligada, além disso, deve-se ter uma base compatível com
o novo módulo de E/S na posição reservada para o mesmo
• Modificação de parâmetros em remotas ou módulos de E/S existentes
Os projetos de ambos os CPs devem estar sincronizados (iguais), e os serviços Sincronização de Dados Redundantes e
Sincronização da Lista de Forçamentos Redundantes devem estar funcionando corretamente sem nenhum diagnóstico
de falha. Estas condições estão satisfeitas quando existe um CP em estado Ativo e outro em estado Reserva. Caso o CP
Não-Ativo não esteja em estado Reserva, pode-se observar seus diagnósticos:
• DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bRedDataSync = TRUE, indica sucesso no serviço Sincro-
nização de Dados Redundantes
• DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bRedForceSync = TRUE, indica sucesso no serviço Sin-
cronização da Lista de Forçamentos Redundantes
• DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.dwApplicationCRC = DG_NX4010.tRedundancy.RedDgnRem
.dwApplicationCRC, indica que os projetos são iguais nos 2 CPs
6.5.8.2. Etapa 2 – Não Carregar em Conjunto Modificações que podem ser Carregadas Online
Modificações que podem ser carregadas online não devem ser carregadas junto com modificações que devem ser carregadas
offline sem interrupção do controle do processo. Sempre que for necessário fazer estes dois tipos de modificações, deve-se
executá-las e carregá-las separadamente.
Para que o presente procedimento tenha sucesso, é absolutamente necessário que as modificações realizadas não alterem a
estrutura das variáveis redundantes trocadas entre CP Ativo e Não-Ativo, através dos serviços Sincronização de Dados Redun-
dantes e Sincronização da Lista de Forçamentos Redundantes. Estes dois serviços devem continuar funcionando corretamente
mesmo enquanto houver diferenças temporárias entre os projetos dos dois CPs. As modificações que devem ser carregadas
offline, e suportadas por este procedimento, não afetam a estrutura das variáveis redundantes.
No entanto, algumas modificações que podem ser carregadas online podem alterar a estrutura das variáveis redundantes,
por exemplo:
Inserção de variáveis simbólicas (redundantes ou não), dentro de uma POU ou GVL existente, ou em uma nova POU ou
GVL
Remoção de variáveis simbólicas (redundantes ou não), dentro de uma POU ou GVL existente. A remoção de uma POU
ou GVL também pode implicar na remoção de variáveis simbólicas
Modificação de tamanho/estrutura de variáveis simbólicas (redundantes ou não) em uma POU ou GVL existente
Antes de editar as modificações que devem ser carregadas offline sem interromper o processo, por segurança, deve-se
realizar um backup da versão anterior do projeto. Poderá ser necessário reinstalar a versão anterior caso algum erro seja
cometido durante a execução deste procedimento.
ATENÇÃO:
A recomendação de ter um backup de todas as versões que foram carregadas nos CPs não
deve ser seguida somente para este procedimento específico. Deve ser uma prática usual.
374
6. REDUNDÂNCIA COM UCP NX3030
Nos procedimentos descritos nas seções Carga Online de Modificações e Carga Offline de Modificações com Interrupção
do Controle do Processo, o projeto é sincronizado automaticamente, do CP Ativo para o CP Não-Ativo.
No entanto, durante o procedimento de carga offline sem interrupção do controle do processo, o sincronismo de projetos
deve ser temporariamente desabilitado. Este processo é explicado na seção Desabilitação da Sincronização de Projetos, e a
desabilitação deve ser executada no CP Não-Ativo.
Em primeiro lugar, o MasterTool deve estar conectado ao CP Não-Ativo (ver seção Conexão do MasterTool com uma
UCP NX3030 de um CP Redundante).
A seguir, deve-se carregar as modificações offline. Ao carregá-las, a aplicação do CP Não-Ativo será automaticamente
interrompida (sairá do modo Run).
375
6. REDUNDÂNCIA COM UCP NX3030
6.5.8.8. Etapa 8 – Voltar o CP Não-Ativo ao Modo Run para que volte ao Estado Reserva
Deve-se executar switch-over entre os CPs, por exemplo, apertando o botão STAND-BY do CP Ativo, ou executando o
comando equivalente. O CP Reserva, que possui o projeto novo com as modificações, assume como Ativo. O CP Ativo, que
possui o projeto antigo, assume como Reserva.
Na etapa 5, o sincronismo de projetos foi desabilitado no CP que estava em estado Não-Ativo. Observa-se que agora este
CP está em estado Ativo.
Nesta etapa, deve-se habilitar novamente o sincronismo de projetos neste CP. A tela e metodologia utilizada para isto é a
mesma descrita na seção Desabilitação da Sincronização de Projetos, bastando desta vez selecionar a opção “Habilitar” da
combo-box. Desta vez, o MasterTool deve estar conectado ao CP Ativo (ver seção Conexão do MasterTool com uma UCP
NX3030 de um CP Redundante).
Depois de habilitar o sincronismo de projetos no CP Ativo, o usuário deve conferir se este comando teve sucesso, verifi-
cando se DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bProjectSyncDisable = 0, no CP Ativo.
Assim que o sincronismo de projetos for novamente habilitado, a seguinte sequência de ações é esperada:
O CP Não-Ativo (em estado Reserva), que já sabia da diferença entre os projetos, sai do estado Reserva para o estado
Não-Configurado
O projeto modificado (novo) é copiado do CP Ativo para o outro CP, temporariamente em estado Não-Configurado
Assim que os projetos estiverem novamente sincronizados, o CP Não-Configurado passa para o estado Inicializando e,
depois, espera-se que volte ao estado Reserva
No final do procedimento, por questões de padronização ou organização, o usuário poderá fazer um switch-over para que
o CPA assuma como Ativo, e para que todas as cabeças remotas PROFIBUS em estado ativo estejam na rede A.
376
6. REDUNDÂNCIA COM UCP NX3030
O MasterTool não permitirá a carga de um projeto redundante, a menos que a UCP seja NX3030, e que esta UCP esteja
identificada como CPA ou CPB (ver seção Identificação de uma UCP NX3030).
O MasterTool também não permitirá a carga de um projeto não-redundante em uma UCP NX3030 identificada como CPA
ou CPB.
Caso ocorra uma tentativa de executar alguma destas ações ilegais, o MasterTool advertirá com uma mensagem apropriada.
Em circunstâncias normais, não é usual o MasterTool logar-se ao CP Não-Ativo, portanto, quando houver uma tentativa de
execução de um comando deste tipo, o MasterTool emite o seguinte aviso:
"Você está executando um comando de Login em um CP Não-Ativo e isso não é usual. Você tem certeza que deseja executar
esse comando?"
Por outro lado, há circunstâncias (não muito usuais) em que é necessário logar-se ao CP Não-Ativo, e nestes casos o usuário
deve autorizar o login. Tais circunstâncias podem ocorrer, por exemplo:
Para configurações iniciais, conforme descrito na seção Carga Inicial de um Projeto Redundante
Para carregar offline um projeto diferente no CP Não-Ativo, conforme descrito na seção Explorando a Redundância
para Carga Offline de Modificações sem Interrupção do Controle do Processo
Para monitorar ou forçar variáveis não-redundantes no CP Não-Ativo
O estado de redundância do CP, descrito em Estados de um CP Redundante, é visto nos três caracteres iniciais da segunda
linha da tela principal, conforme mostra a seção Visor Gráfico. A tela do visor é apresentada na inicialização, e volta a ser
apresentada alguns segundos depois de terminada a navegação (sem apertar a tecla da UCP NX3030).
Existe um menu denominado REDUNDANCIA, abaixo do qual existem diversas telas. A descrição e o acesso às telas de
redundância estão disponíveis na seção Configuração – Menu Informativo e de Configuração da UCP.
377
6. REDUNDÂNCIA COM UCP NX3030
É importante ressaltar que as estruturas de diagnósticos da redundância do CP remoto são atualizadas somente quando
ocorre, com sucesso, uma sincronização de dados. Portanto, enquanto uma nova sincronização não ocorrer, os diagnósticos
irão permanecer com o valor lido na última troca de dados.
Além disso, as estruturas do CP remoto são somente para leitura, isto é, valores escritos nestas estruturas serão sobre-
escritos, sem serem considerados, na próxima sincronização. Sendo assim, não é possível utilizar a estrutura RedCmdRem
para executar um comando no CP remoto. A estrutura utilizada para executar comandos deve ser sempre RedCmdLoc.
ATENÇÃO:
O diagnóstico DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bExchangeSync (defi-
nido logo a seguir) deve ser testado para verificar se a estrutura de dados RedDgnRem foi
lida com sucesso do CP remoto no último ciclo da MainTask. Caso o valor deste diagnóstico
seja FALSE, isso significa que a estrutura de dados RedDgnRem não foi lida com sucesso do
CP remoto e, portanto, os valores de RedDgnRem podem ser inválidos ou obsoletos.
Como RedDgnRem é uma cópia de RedDgnLoc do outro CP, as duas estruturas têm o mesmo formato. Estas ainda são
divididas em quatro sub-estruturas:
sGeneral_Diag: Diagnósticos gerais da redundância
sNETA_Diag: Diagnósticos do canal de sincronismo NETA
sNETB_Diag: Diagnósticos do canal de sincronismo NETB
sNET_Stat: Estatísticas comuns para os canais de sincronismo NETA e NETB, para contagem de sucessos e falhas dos
serviços de sincronização
sGeneral_DiagExt: Diagnósticos gerais da redundância, parte estendida (continuação de sGeneral_Diag)
A sub-estrutura “sGeneral_Diag” possui os seguintes campos para diagnósticos gerais da redundância:
378
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
TRUE – O processo de configuração, exe-
0 bConfigDone cutado no estado Não-Configurado, termi-
nou.
FALSE – O processo de configuração, exe-
cutado no estado Não-Configurado, ainda
não terminou ou não foi executado.
TRUE – O processo de configuração, exe-
cutado no estado Não-Configurado, termi-
nou com erros. Trata-se de um erro de
sistema, normalmente não esperado. En-
1 bConfigError
tre em contato com o suporte da Altus para
reportá-lo. Informe também o valor do di-
agnóstico ConfigErrorCode para o suporte
da Altus.
FALSE – O processo de configuração ocor-
reu com sucesso ou não foi realizado.
TRUE – O número de áreas redundan-
tes excedeu o número máximo permitido.
2 bTooManyRedAreas Trata-se de um erro de sistema, normal-
mente não esperado. Entre em contato com
o suporte da Altus para reportá-lo.
FALSE – O número de áreas redundantes
está dentro do esperado.
TRUE – Estrutura de dados intermediária
com tamanho insuficiente. Trata-se de um
%QB(n+4) 3 bTemporaryBufferTooSmall erro de sistema, normalmente não espe-
rado. Entre em contato com o suporte da
Altus para reportá-lo.
FALSE – O tamanho da estrutura de dados
está dentro do esperado.
TRUE – O serviço de sincronização Troca
4 bExchangeSync de Diagnósticos e Comandos foi executado
com sucesso neste ciclo da MainTask.
FALSE – A estrutura RedDgnRem tem va-
lores obsoletos ou inválidos, pois não foi
lida do outro CP (remota) neste ciclo da
MainTask.
TRUE – O serviço Sincronização de Da-
5 bRedDataSync dos Redundantes foi executado com su-
cesso neste ciclo da MainTask.
FALSE – O serviço Sincronização de Da-
dos Redundantes não foi executado com
sucesso neste ciclo da MainTask.
TRUE – O serviço Sincronização da Lista
6 bRedForceSync de Forçamentos Redundantes foi execu-
tado com sucesso neste ciclo da MainTask.
FALSE – O serviço Sincronização da Lista
de Forçamentos Redundantes não foi exe-
cutado com sucesso neste ciclo da Main-
Task.
379
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
TRUE – A aplicação não é compatível en-
tre os dois CPs. Foi efetuado o download
de uma nova aplicação para um dos CPs
com uma das seguintes alterações:
7 bApplicationIncompatible Modificação da área de dados redundan-
tes;
Modificação de variáveis simbólicas re-
dundantes.
Enquanto este diagnóstico estiver ligado,
um dos CPs ficará em estado Inativo até
que a mesma aplicação esteja presente nos
dois CPs. Isto implica em recarregar a
aplicação antiga nos dois CPs ou atuali-
zar os dois CPs com a nova aplicação.
Para mais informações sobre como proce-
der, consultar capítulo Carga de Progra-
mas em um CP Redundante.
FALSE – A aplicação é compatível entre
os dois CPs.
0 Reservado Bit reservado.
TRUE – Não será efetuado o sincronismo
do projeto de aplicação e do Project ar-
chive entre os dois CPs. Trata-se de
uma cópia da variável não volátil utilizada
para desabilitar a sincronização de proje-
tos, conforme descrito na seção Desabili-
tação da Sincronização de Projetos. A sin-
1 bProjectSyncDisable cronização de projetos pode ser desabili-
tada tanto no CP local como no remoto, ou
seja, basta executar o comando de desabi-
litação em um dos CPs para que a sincro-
nização de projetos seja desabilitada. Os
comandos de desabilitação do sincronismo
de projetos são descritos na seção Desabi-
litação da Sincronização de Projetos.
FALSE – Será efetuado o sincronismo do
projeto de aplicação e do Project archive
entre os dois CPs
TRUE – A versão de firmware é incompa-
2 bIncompatibleFirmware
tível entre este CP e o CP remoto.
FALSE – A versão de firmware é compatí-
vel entre este CP e o CP remoto.
TRUE – O projeto de aplicação deste CP é
%QB(n+5) 3 bApplicationProjectDiff
diferente do presente no CP remoto.
FALSE – O projeto de aplicação deste CP
é igual ao do CP remoto.
TRUE – O Project archive deste CP é dife-
4 bProjectArchiveDiff
rente do presente no CP remoto.
FALSE – O Project archive deste CP é
igual ao do CP remoto.
TRUE – Foi realizada alguma alteração on-
5 bOnlineChangeApply line na aplicação e esta ainda não foi sin-
cronizada com o CP reserva.
380
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
FALSE – Não foram realizadas alterações
online na aplicação ou estas já foram sin-
cronizadas com o CP reserva.
TRUE – Falha no módulo NX4010. A
UCP NX3030 não consegue comunicar-se
6 bFailedRED com este módulo através do barramento,
ou existe uma falha no microprocessador
do NX4010.
FALSE – O módulo NX4010 está em cor-
reto funcionamento.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 1 A. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
7 bFailedPBUS1A municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 1 A.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 1 B. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
0 bFailedPBUS1B municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 1 B.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 1. Caso a rede
PROFIBUS 1 seja redundante, FailurePro-
1 bFailureProfibus_1
fibus_1 resulta de um “E lógico” entre Fai-
ledPBUS1A e FailedPBUS1B. Caso a rede
PROFIBUS 1 não seja redundante, Failure-
Profibus_1 é uma cópia de FailedPBUS1A.
FALSE – Não existem falhas na rede PRO-
FIBUS 1.
381
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 2 A. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
%QB(n+6) 2 bFailedPBUS2A municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 2 A.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 2 B. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
3 bFailedPBUS2B municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 2 B.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 2. Caso a rede
PROFIBUS 2 seja redundante, FailurePro-
4 bFailureProfibus_2
fibus_2 resulta de um “E lógico” entre Fai-
ledPBUS2A e FailedPBUS2B. Caso a rede
PROFIBUS 2 não seja redundante, Failure-
Profibus_2 é uma cópia de FailedPBUS2A.
FALSE – Não existem falhas na rede PRO-
FIBUS 2.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
5 bProfibusVitalFailureAny sivo) com pelo menos uma das redes PRO-
FIBUS configuradas em modo de falha vi-
tal.
FALSE – Não existem falhas nas redes
PROFIBUS configuradas em modo de fa-
lha vital.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
6 bProfibusVitalFailureAll
sivo) com todas as redes PROFIBUS con-
figuradas em modo de falha vital.
FALSE – Não existem falhas nas redes
PROFIBUS configuradas em modo de fa-
lha vital.
382
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
TRUE – Este CP está fechando o relé do
PX2612 para manter o outro CP desligado
7 bTurnOffOtherPLC_Normal
em condições normais, e não devido ao
modo teste do painel PX2612.
FALSE – O relé do PX2612 está ligado
(bTurnOffOtherPLC_TestMode) ou desli-
gado.
TRUE – Este CP está fechando o relé do
0 bTurnOffOtherPLC_TestMode PX2612 para manter o outro CP desligado
devido ao modo teste do painel PX2612.
FALSE – O relé do PX2612 está ligado
(bTurnOffOtherPLC_Normal) ou desli-
gado.
TRUE – O LED ACTIVE do PX2612 está
1 bActiveLED
ligado.
FALSE – O LED ACTIVE do PX2612
está piscando (bBlinkActiveLED) ou des-
ligado.
TRUE – O LED ACTIVE do PX2612 está
2 bBlinkActiveLED
piscando.
FALSE – O LED ACTIVE do PX2612 está
ligado (bActiveLED) ou desligado.
TRUE – O LED STAND-BY do PX2612
%QB(n+7) 3 bStandbyLED
está ligado.
FALSE – O LED STAND-BY do PX2612
está piscando (bBlinkStandbyLED) ou
desligado.
TRUE – O LED STAND-BY do PX2612
4 bBlinkStandbyLED
está piscando.
FALSE – O LED STAND-BY do PX2612
está ligado (bStandbyLED) ou desligado.
TRUE – O LED INACTIVE do PX2612
5 bInactiveLED
está ligado.
FALSE – O LED INACTIVE do PX2612
está desligado ou piscando (bBlinkInacti-
veLED).
TRUE – O LED INACTIVE do PX2612
6 bBlinkInactiveLED
está piscando.
FALSE – O LED INACTIVE do PX2612
está ligado (bInactiveLED) ou desligado.
TRUE – O painel PX2612 está em modo
7 bRedPanelTestMode
teste.
FALSE – O painel PX2612 está em modo
normal.
383
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
Este diagnóstico informa a identificação
deste CP:
- 0 = não-redundante
%QB(n+8) - ePLC_ID - 2 = CPA
- 3 = CPB
Trata-se de uma cópia da variável não-
volátil utilizada para identificar o CP, con-
forme descrito na seção Identificação de
uma UCP NX3030. Na seção Carga Ini-
cial de um Projeto Redundante descreve-
se o comando do MasterTool utilizado
para escrever sobre esta variável não-
volátil.
Informa o estado de redundância deste
CP:
%QB(n+9) - eRedState
- Não-Configurado = 0
- Inicializando = 2
- Reserva = 3
- Ativo = 4
- Inativo = 5
Valor que o diagnóstico RedState possuía
%QB(n+10) - ePreviousRedState
antes da última transição de estados.
Mede há quanto tempo (milissegundos) o
estado de redundância atual foi assumido.
%QW(n+11) - wRedStateDuration
Este tempo para de incrementar quanto
atinge 65535 ms.
Código de erro descoberto durante o pro-
cesso de configuração no estado Não-
%QW(n+13) - wConfigErrorCode
Configurado. Ver diagnóstico ConfigError
descrito anteriormente.
CRC de 32 bits da aplicação, utilizado para
%QD(n+15) - dwApplicationCRC detectar diferenças entre as aplicações dos
2 CPs.
CRC de 32 bits do project archive, utili-
%QD(n+19) - dwArchiveCRC zado para detectar diferenças entre os pro-
ject archives dos 2 CPs.
Versão de firmware deste CP, utilizada para
%QD(n+23) - dwFirmwareVersion verificar compatibilidade entre firmware
dos 2 CPs.
A sincronização do Temporizador IEC é
necessária para operação sem colisões de
alguns blocos de função como TON e TOF.
Através deste diagnóstico o Temporizador
IEC do CP Ativo é recebido e atualizado no
%QD(n+27) - dwIECTimer CP Não-Ativo, desde que o serviço Troca
de Diagnósticos e Comandos tenha sido
executado com sucesso. Sua contagem ini-
cia em 0 e incrementa até 4294967295.
Após estouro de contagem, reinicia com
valor 0.
384
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sGeneral_Diag.*
Variável Bit
Contador de 16 bits utilizado como infor-
mação auxiliar de sequência nos Logs de
Eventos da Redundância. No CP Ativo,
é incrementado a cada ciclo da MainTask.
No CP Não-Ativo, recebe uma cópia do
%QW(n+31) - wCycleCounter valor existente no CP Ativo, desde que o
serviço Troca de Diagnósticos e Coman-
dos tenha sido executado com sucesso. Sua
contagem inicia em 0 e incrementa até
65535. Após estouro de contagem, reini-
cia com valor 0.
Notas:
Visualização das Estruturas de Diagnóstico: As Estruturas de Diagnóstico adicionadas ao projeto podem ser visualizadas
acessando o item “Library Manager” na árvore de dispositivos da janela do MasterTool IEC XE. Com isso, é possível visualizar
todos os tipos de dados definidos na estrutura.
Variável de representação direta: O “n” representa o valor configurado no módulo NX4010, através do software Mas-
terTool IEC XE, como Endereço Inicial de Diagnósticos do Módulo em %Q. Esta definição vale para todas as estruturas de
diagnóstico.
Diretiva AT: A diretiva AT é uma palavra reservada no software programador, que se relaciona a um endereço de uma
variável. No caso do módulo NX4010 a variável DG_NX4010 está relacionada ao endereço inicial de diagnósticos do módulo.
A sub-estrutura “sNETA_Diag” possui os seguintes campos para diagnósticos dos canais de sincronismo NETA:
DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bExchangeSync: Quando esta variável de diagnóstico estiver
com o valor igual a FALSE não é possível definir o estado de alguns outros diagnósticos, como por exemplo bIncompati-
bleFirmware, bApplicationProjectDiff e bProjectArchiveDiff. Não irão representar o valor correto pois dependem do correto
funcionamento da comunicação entre os dois CPs para que a informação possa ser corretamente gerada.
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sNETA_Diag.*
Variável Bit
TRUE – O canal de sincronismo possui al-
0 bGeneralFailure gum tipo de falha. Os 3 próximos diagnós-
ticos indicarão a falha específica.
FALSE – O canal de sincronismo está em
correto funcionamento.
TRUE – A falha detectada tem sua causa
1 bInternalFailure localizada dentro deste CP. Tais falhas são
tratadas de forma diferenciada.
FALSE – O módulo NX4010 está em cor-
reto funcionamento.
TRUE – O cabo AL-2319A está desconec-
%QB(n+33) 2 bLinkDownFailure tado do módulo NX4010 ou rompido, em
um dos 2 CPs.
FALSE – O cabo AL-2319A está conec-
tado ao módulo NX4010.
TRUE – Esta falha é reportada caso um
serviço de sincronização não tenha termi-
nado com sucesso até um time-out espe-
3 bTimeoutFailure
cificado, e não tenham sido encontradas
falhas do tipo bInternalFailure ou bLink-
DownFailure que justificassem isso.
385
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sNETA_Diag.*
Variável Bit
FALSE – O módulo NX4010 está em cor-
reto funcionamento.
4 .. 7 bReserved[4..7] Reservados.
A sub-estrutura “sNETB_Diag” possui os seguintes campos para diagnósticos dos canais de sincronismo NETB:
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedDgnLoc.sNETB_Diag.*
Variável Bit
TRUE – O canal de sincronismo possui al-
0 bGeneralFailure gum tipo de falha. Os 3 próximos diagnós-
ticos indicarão a falha específica.
FALSE – O canal de sincronismo está em
correto funcionamento.
TRUE – A falha detectada tem sua causa
1 bInternalFailure localizada dentro deste CP. Tais falhas são
tratadas de forma diferenciada.
FALSE – O módulo NX4010 está em cor-
reto funcionamento.
TRUE – O cabo AL-2319B está desconec-
%QB(n+34) 2 bLinkDownFailure tado do módulo NX4010 ou rompido, em
um dos 2 CPs.
FALSE – O cabo AL-2319B está conec-
tado ao módulo NX4010.
TRUE – Esta falha é reportada caso um
serviço de sincronização não tenha termi-
nado com sucesso até um time-out espe-
3 bTimeoutFailure
cificado, e não tenham sido encontradas
falhas do tipo bInternalFailure ou bLink-
DownFailure que justificassem isso.
FALSE – O módulo NX4010 está em cor-
reto funcionamento.
4 .. 7 bReserved[4..7] Reservados.
A sub-estrutura “sNET_Stat” contém estatísticas de falhas e sucessos dos serviços. As estatísticas dos CPs local e remoto
podem ser reiniciadas através dos comandos:
1 //CP Local
2 DG_NX4010.tRedundancy.RedCmdLoc.bResetNETStatisticsLocal := TRUE;
3 //CP Remoto
4 DG_NX4010.tRedundancy.RedCmdLoc.bResetNETStatisticsRemote := TRUE;
386
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Di-
DG_NX4010.tRedundancy. Descrição
reta
RedDgnLoc.sNET_Stat.*
Contagem de sucessos do serviço Troca de
%QW(n+35) wSuccessExchDgCmdSync
Diagnósticos e Comandos. (0 a 65535)
Contagem de falhas do serviço Troca de
%QW(n+37) wFailedExchDgCmdSync
Diagnósticos e Comandos. (0 a 65535)
Contagem de sucessos do serviço Sincroni-
%QW(n+39) wSuccessRedDataSync
zação de Dados Redundantes. (0 a 65535)
Contagem de falhas do serviço Sincroniza-
%QW(n+41) wFailedRedDataSync
ção de Dados Redundantes. (0 a 65535)
Contagem de sucessos do serviço Sincroni-
%QW(n+43) wSuccessRedForceSync zação de Lista de Forçamentos Redundan-
tes. (0 a 65535)
Contagem de falhas do serviço Sincroniza-
%QW(n+45) wFailedRedForceSync ção de Lista de Forçamentos Redundantes.
(0 a 65535)
Nota:
Contadores: Todos os contadores retornam a zero quando o seu valor limite é ultrapassado.
A sub-estrutura “sGeneral_DiagExt” possui os seguintes campos para diagnósticos gerais da redundância:
Variável AT
Variável Direta Descrição
DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_DiagExt.*
Variável Bit
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 3 A. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
0 bFailedPBUS3A municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 3 A.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 3 B. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
1 bFailedPBUS3B municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 3 B.
387
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta Descrição
DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_DiagExt.*
Variável Bit
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 3. Caso a rede
PROFIBUS 3 seja redundante, FailurePro-
2 bFailureProfibus_3
fibus_3 resulta de um “E lógico” entre Fai-
ledPBUS3A e FailedPBUS3B. Caso a rede
PROFIBUS 3 não seja redundante, Failure-
Profibus_3 é uma cópia de FailedPBUS3A.
FALSE – Não existem falhas na rede PRO-
FIBUS 3.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 4 A. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
%QB(n+47) 3 bFailedPBUS4A municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 4 A.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 4 B. O modo
ativo (comunicando com escravos) é assu-
mido pelo CP Ativo. O modo passivo (co-
4 bFailedPBUS4B municando com o mestre em modo ativo)
é assumido pelo CP Não-Ativo. Esta falha
também pode ser indicada caso o módulo
NX5001 tenha falha em seu microproces-
sador, ou caso não consiga se comunicar
com a UCP NX3030 via barramento.
FALSE – Não existem falhas na rede PRO-
FIBUS 4 B.
TRUE – Este CP não consegue comunicar-
se no papel de mestre (modo ativo ou pas-
sivo) na rede PROFIBUS 4. Caso a rede
PROFIBUS 4 seja redundante, FailurePro-
5 bFailureProfibus_4
fibus_4 resulta de um “E lógico” entre Fai-
ledPBUS4A e FailedPBUS4B. Caso a rede
PROFIBUS 4 não seja redundante, Failure-
Profibus_4 é uma cópia de FailedPBUS4A.
FALSE – Não existem falhas na rede PRO-
FIBUS 4.
TRUE – Existe falha em alguma rede de
campo de comunicação, como por exem-
6 bFailureCommBusAny
plo, uma porta ethernet com protocolo
Modbus configurada para falha vital.
FALSE – Nenhuma rede de campo apre-
senta falha.
388
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta Descrição
DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_DiagExt.*
Variável Bit
TRUE – Existe falha em todas as redes
de campo de comunicação. Por exemplo,
7 bFailureCommBusAll
NET1 e NET2 são configuradas para vital
e ambas estão em falha.
FALSE – há pelo menos uma rede de
campo de comunicação funcionando sem
falhas.
Quantidade de redes de campo de comuni-
%QB(n+48) - byFailedCommBusCount
cação reportando falhas.
TRUE – A UCP NX3030 está recebendo
pacotes de Keep Alive da UCP do outro
half-cluster, através da NET1. Os pacotes
0 bRemCpuKeepAliveNet1
de Keep Alive só são enviados em projetos
que não utilizam painel PX2612 e que não
têm nenhuma rede PROFIBUS.
FALSE – Pacotes de Keep Alive não estão
sendo recebidos.
TRUE – A UCP NX3030 está recebendo
%QB(n+49) 1 bRemCpuKeepAliveNet2 pacotes de Keep Alive da UCP do outro
half-cluster, através da NET2.
FALSE – Pacotes de Keep Alive não estão
sendo recebidos.
Bits reservados para uso futuro. Não apa-
2..7 (bits ocultos reservados)
recem na estrutura simbólica (ocultos).
5 Bytes reservados para uso futuro. Não
%QB(n+50) - abyReservedBytes[1..5]
aparecem na estrutura simbólica (ocultos).
Os campos de comandos das estruturas RedCmdLoc e RedCmdRem possuem sempre um sufixo que pode ser Local ou
Remote. Por exemplo, existem os campos de comando StandbyLocal e StandbyRemote, que têm efeito equivalente ao botão
STAND-BY do painel PX2612.
Um comando com sufixo Local gerado em RedCmdLoc será executado no próprio CP (local). Por outro lado, um comando
com sufixo Remote gerado em RedCmdLoc será executado no outro CP (remoto). Isto funciona da seguinte maneira:
O CP remoto, a cada ciclo da MainTask, recebe uma cópia de RedCmdLoc do CP local via NETA / NETB, e esta cópia
é chamada de RedCmdRem no CP remoto
O CP remoto somente executa comandos de RedCmdRem que tenham o sufixo Remote
Exemplo 1: se o CP local estiver em estado Ativo, e deseja-se chaveá-lo para o estado Reserva, pode-se ligar o bit
DG_NX4010.tRedundancy.RedCmdLoc.bStandbyLocal no CP local.
Exemplo 2: se o CP remoto estiver em estado Ativo, e deseja-se chaveá-lo para o estado Reserva, pode-se ligar o bit
DG_NX4010.tRedundancy.RedCmdLoc.bStandbyRemote no CP local. Isto pode ser útil, por exemplo, se a comunicação de
um sistema SCADA não está disponível temporariamente com o CP remoto. Neste caso, o comando é escrito pelo SCADA no
CP local, que o repassa para o CP remoto via NETA / NETB.
ATENÇÃO:
Se o diagnóstico DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag.bExchangeSync es-
tiver indicando falha no serviço Troca de Diagnósticos e Comandos, um comando com sufixo
Remote não poderá ser repassado para o CP remoto, e portanto não será executado.
Para disparar um comando, deve-se sempre ligar o bit correspondente em RedCmdLoc. Isto pode ser feito por um sistema
SCADA, fazendo uma escrita via MasterTool, ou até mesmo ligando o bit dentro de uma POU como ActivePrg ou NonSkip-
pedPrg.
O usuário não precisa se preocupar com o desligamento do bit de comando, que será feito automaticamente pelo gerencia-
dor de redundância:
389
6. REDUNDÂNCIA COM UCP NX3030
No caso de comandos executados no CP local (RedCmdLoc + comando com sufixo Local), o bit é desligado assim que
o comando for percebido e executado
No caso de comandos executados no CP remoto (RedCmdRem + comando com sufixo Remote):
• no CP remoto, o comando é executado quando o gerenciador de redundância percebe uma borda de subida no bit
de comando
• no CP local onde o comando foi gerado, o bit é desligado automaticamente no próximo ciclo da MainTask
ATENÇÃO:
Existem dois bits de comando que normalmente devem ser desligados
pelo usuário: DG_NX4010.tRedundancy.RedCmdLoc.bTestModeLocal e
DG_NX4010.tRedundancy.RedCmdLoc.bTestRelayLocal. Ver maiores detalhes sobre
estes comandos adiante nesta seção. Caso o usuário esqueça de desligá-los, existem
mecanismos automáticos previstos para desligá-los.
É importante salientar que quaisquer ligamentos ou desligamentos de comandos serão registrados nos logs de eventos da
redundância, o que é importante para avaliação histórica, por exemplo, para determinar as causas de um switch-over.
A seguir, são definidos os campos das estruturas RedCmdLoc e RedCmdRem:
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedCmdLoc.*
Variável Bit
TRUE – Trata-se de uma cópia processada
do botão TURN ON PLCx lido do painel
PX2612. Este bit só é ligado um segundo
depois do pressionamento do botão, e des-
ligado imediatamente ao liberar o botão.
0 bButtonTurnOnLocal
É importante ressaltar que esse bit será li-
gado quando o botão TURN ON do CP
remoto estiver pressionado, visto que esse
tipo de comando sempre é enviado do CP
remoto.
FALSE – O botão TURN ON PLCx não
está pressionado.
TRUE – Trata-se de uma cópia proces-
sada do botão STAND-BY lido do painel
1 bButtonStandbyLocal PX2612. Este bit só é ligado um segundo
depois do pressionamento do botão, e des-
ligado imediatamente ao liberar o botão.
FALSE – O botão STAND-BY não está
pressionado.
TRUE – Trata-se de uma cópia proces-
sada do botão INACTIVE lido do painel
2 bButtonInactiveLocal PX2612. Este bit só é ligado um segundo
depois do pressionamento do botão, e des-
ligado imediatamente ao liberar o botão.
FALSE – O botão INACTIVE não está
pressionado.
TRUE – Este diagnóstico informa uma
solicitação de configuração automática,
%QB(n+55) 3 bAutoConfigLocal
necessária para deixar o estado Não-
Configurado em algumas situações.
FALSE – Solicitação de configuração au-
tomática desabilitada.
TRUE – Este comando produz uma ação
4 bTurnOnLocal equivalente ao botão TURN ON PLCX do
PX2612, no CP local.
390
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedCmdLoc.*
Variável Bit
FALSE – O botão TURN ON PLCx do CP
local não está pressionado.
TRUE – Este comando produz uma
5 bStandbyLocal ação equivalente ao botão STAND-BY do
PX2612, no CP local.
FALSE – O botão STAND-BY do CP local
não está pressionado.
TRUE – Este comando produz uma
6 bInactiveLocal ação equivalente ao botão INACTIVE do
PX2612, no CP local.
FALSE – O botão INACTIVE do CP local
não está pressionado.
TRUE – Este comando reseta as estatísti-
cas de NETA / NETB (veja sub-estrutura
SNET_Stat em RedDgnLoc e RedDgn-
7 bResetNETStatisticsLocal
Rem). Tais estatísticas são contadores de
falhas e sucessos em serviços de sincroni-
zação.
FALSE – O comando de reset das estatísti-
cas de NETA / NETB no CP local não foi
acionado.
TRUE – Este comando coloca o painel
PX2612 em modo teste, permitindo que
seus componentes sejam testados (LEDs,
relés e botões), conforme explica-se na
seção Teste do Painel PX2612. O
modo teste do PX2612 só é efetiva-
mente aceito quando este bit é ligado
nos dois CPs. Ou seja, para que o
PX2612 esteja em modo teste, o CP veri-
fica se RedCmdLoc.bTestModeLocal e se
0 bTestModeLocal
RedCmdRem.bTestModeLocal estão am-
bos ligados. O diagnóstico RedDgn-
Loc.bRedPanelTestMode é ligado para in-
formar que o PX2612 está realmente em
modo teste. Normalmente, o usuário deve
desligar o bit bTestModeLocal nos 2 CPs
assim que concluir os testes do PX2612,
mas caso esqueça de fazer isto, o bit será
desligado automaticamente 15 minutos de-
pois de ser ligado.
FALSE – O comando que coloca o painel
PX2612 em modo teste está desativado.
391
6. REDUNDÂNCIA COM UCP NX3030
Variável AT
Variável Direta DG_NX4010.tRedundancy. Descrição
RedCmdLoc.*
Variável Bit
TRUE – Este comando é usado para tes-
tar o relé NA do PX2612, e consequente-
mente também o relé NF externo, usados
para um eventual desligamento do outro
CP. Este comando só é aceito enquanto o
PX2612 está em modo teste, sendo auto-
maticamente desligado e ignorado caso o
PX2612 não esteja em modo teste. Nor-
1 bTestRelayLocal
malmente, o usuário deve desligar o bit
bTestRelayLocal assim que concluir o teste
do relé, mas caso esqueça de fazer isto, o
bit será desligado assim que o modo teste
for encerrado. É importante também sali-
entar que este comando só é aceito no CP
Ativo, para evitar que o CP Não-Ativo des-
ligue o CP Ativo.
FALSE – O comando utilizado para testar
o relé NA do PX2612 está desativado.
TRUE – Este comando produz uma
%QB(n+56) 2 bStandbyRemote ação equivalente ao botão STAND-BY do
PX2612, no CP remoto.
FALSE – O botão STAND-BY do CP re-
moto não está pressionado.
TRUE – Este comando produz uma
3 bInactiveRemote ação equivalente ao botão INACTIVE do
PX2612, no CP remoto.
FALSE – O botão INACTIVE do CP local
não está pressionado.
TRUE – Produz uma ação equivalente ao
4 bResetNETStatisticsRemote comando ResetNETStatisticsLocal, porém
desta vez no CP remoto.
FALSE – O comando de reset das estatís-
ticas de NETA / NETB no CP remoto não
foi acionado.
5..7 bReserved[5..7] Reservados.
O serviço de sincronização Troca de Diagnósticos e Comando, troca as seguintes estruturas de dados entre os dois CPs em
cada ciclo da MainTask, usando os canais de sincronismo NETA / NETB:
Diagnósticos de Redundância (RedDgnLoc e RedDgnRem), já discutidos na seção Estrutura de Diagnósticos da Re-
dundância
Comandos de Redundância (RedCmdLoc e RedCmdRem), já discutidos na seção Comandos da Redundância
Informações do Usuário Trocadas entre CPA e CPB (RedUsrLoc e RedUsrRem), que serão discutidas nesta seção
As estruturas RedUsrLoc e RedUsrRem são simplesmente um array de 128 bytes, cuja utilização pode ser livremente
definida pelo usuário. Elas permitem que o usuário transfira, a cada ciclo, 128 bytes de informação do CPA para o CPB, e
outros 128 bytes do CPB para o CPA.
RedUsrRem é uma cópia de RedUsrLoc do outro CP, recebida via NETA / NETB. Determinado CP escreve informações
em RedUsrLoc, que serão lidas no outro CP em RedUsrRem.
Estas estruturas de dados podem ter diversas utilidades. Por exemplo, supondo que o sistema SCADA se conecte somente
ao CP Ativo, e que deseja-se visualizar algumas informações do CP Não-Ativo, o CP Não-Ativo pode colocar estas informações
392
6. REDUNDÂNCIA COM UCP NX3030
nesta estrutura de dados. Entre tais informações, por exemplo, podem constar alguns diagnósticos que não estejam mapeados
em RedDgnLoc e RedDgnRem.
Para verificar se existe falha em todos os MODBUS Servidores configurados em uma instância MODBUS Cliente, existe
um diagnóstico específico em cada instância MODBUS Cliente configurada. Na tabela abaixo, é exibido o diagnóstico para
este tipo de falha em uma instância MODBUS Cliente chamada MODBUS_Symbol_Client.
Variável
DG_MODBUS_Symbol_ Descrição
Client.tDiag.*
TRUE – Todos os Servidores configurados
bAllDevicesCommFailure
neste Cliente estão apresentando erro.
FALSE – Existe pelo menos um Servi-
dor configurado neste Cliente que não está
apresentando erro.
Quando configurado com falha vital Ethernet, este diagnóstico é consultado e 3 segundos após a alteração do seu estado de
FALSE para TRUE, ocorre um switch-over caso as outras condições para este evento estejam satisfeitas.
O MasterTool permite observar diversos logs para um CP Nexto, entre os quais encontra-se os Log de Eventos da Redun-
dância. Estas mensagens, específicas para a redundância, registram no Log de Sistema modificações relevantes em campos das
estruturas de dados de diagnósticos e comandos de redundância..
Cada linha mostrada no log possui as seguintes colunas:
Marca de Tempo: data e hora do evento, com resolução de milissegundos
Severidade: informação, advertência, erro ou exceção
Descrição: texto que descreve o evento
Componente: componente que gerou o evento, que no caso do Log de Eventos da Redundância, será o “Redundancy
Management”
O texto na coluna “Descrição” contém informações sobre o evento que ocorreu.
Um exemplo da coluna Descrição poderia ser o seguinte:
Redundancy new state (local): Starting
Para acessar esta tela, deve-se dar um duplo clique sobre o dispositivo (NX3030) na árvore de dispositivos, e depois
selecionar a aba “Log”. Existe um filtro que permite selecionar somente o componente “Redundancy Management”, para
exibir somente os eventos de redundância.
ATENÇÃO:
Alguns diagnósticos podem apontar possíveis falhas durante a inicialização do sistema re-
dundante e nos primeiro ciclos das tarefas. Mas, em um correto funcionamento do sistema,
estes diagnósticos voltam a indicar a ausência de erros logo após a inicialização do sistema.
393
6. REDUNDÂNCIA COM UCP NX3030
O primeiro passo para testar o PX2612 é colocá-lo em modo teste. Isto é feito ligando o bit de comando DG_NX4010.tRedundancy
.RedCmdLoc.bTestModeLocal nos dois CPs.
Determinado CP perceberá que está em modo teste sempre que os dois seguintes bits estiverem ligados:
DG_NX4010.tRedundancy.RedCmdLoc.bTestModeLocal (RedCmdLoc.bTestModeLocal ligado neste CP)
DG_NX4010.tRedundancy.RedCmdRem.bTestModeLocal (RedCmdLoc.bTestModeLocal ligado no outro CP)
Quando estes dois bits estão ligados, o CP liga o bit de diagnóstico DG_NX4010.tRedundancy.RedDgnLoc.sGeneral_Diag
.bRedPanelTestMode, para informar que o PX2612 está em modo teste.
Durante o modo teste, os seis LEDs devem piscar, perdendo sua utilidade normal, que é mostrar o estado da redundância.
Ao pressionar um botão no modo teste, um LED correspondente irá parar de piscar, e ficará aceso. A tabela abaixo mostra
a correspondência entre o botão pressionado e o LED que permanecerá aceso.
Observa-se que, normalmente, o LED fica ao lado do botão pressionado, exceto para os botões TURN ON PLCx.
Antes de o LED permanecer aceso, é necessário manter o botão pressionado por, no mínimo, um segundo. O LED volta a
piscar assim que o botão for liberado.
Durante o modo teste, os botões não permitem executar as funções que executariam fora do modo teste, tais como provocar
uma mudança de estado de redundância.
Para testar os relés, foi criado o bit de comando DG_NX4010.tRedundancy.RedCmdLoc.bTestRelayLocal. Ao ligar este
bit, se este CP estiver em modo teste, e além disso estiver em estado Ativo, ele acionará o relé, o que deverá provocar o des-
ligamento do outro CP (Não-Ativo). Desligando DG_NX4010.tRedundancy.RedCmdLoc.bTestRelayLocal, o relé é liberado,
permitindo o religamento do outro CP.
O comando não tem efeito no CP Não-Ativo, para evitar que o mesmo desligue o CP Ativo.
O usuário deverá provocar um switch-over entre CPs (Ativo X Não-Ativo), para testar o relé nos dois CPs.
Quando o CP que foi desligado é religado e reinicializado, ele volta com DG_NX4010.tRedundancy.RedCmdLoc.bTestModeLocal
desligado, portanto, o modo teste está cancelado. Deve-se ligar novamente o bit DG_NX4010.tRedundancy.RedCmdLoc.bTestModeLocal
neste CP, e passá-lo para o estado Ativo, antes de testar o seu relé.
394
6. REDUNDÂNCIA COM UCP NX3030
395
7. MANUTENÇÃO
7. Manutenção
Uma das características da Série Nexto é a geração de diagnósticos de comportamentos atípicos, sejam eles falhas, erros
ou modos de operação, possibilitando ao operador identificar e solucionar problemas que venham a ocorrer com o sistema com
grande facilidade.
As UCPs Nexto proporcionam diversas maneiras de se visualizar os diagnósticos gerados pelo sistema, são elas:
One Touch Diag
Diagnósticos via LED
Diagnósticos via WEB
Diagnósticos via Variáveis
Diagnósticos via Blocos Funcionais
O primeiro deles é uma característica inovadora da Série Nexto, a qual possibilita um rápido acesso às condições anormais
da aplicação. O segundo é puramente visual, gerado através de dois LEDs presentes no painel (DG e WD) e também dos LEDs
presentes no conector RJ45 (exclusivos para a conexão Ethernet). A próxima característica é a visualização gráfica em uma
página WEB do bastidor e os respectivos módulos configurados, sendo permitido o acesso individual do estado de operação
e os diagnósticos ativos. Os diagnósticos também são armazenados diretamente em variáveis da UCP, tanto de representação
direta (%Q), como as simbólicas mapeadas através da diretiva AT, e podem ser utilizados pela aplicação do usuário, por
exemplo, sendo apresentados em um sistema de supervisão. Os últimos apresentam condições específicas de funcionamento
do sistema.
A função destes diagnósticos é apontar possíveis problemas de instalação ou configuração do sistema, e de problemas ou
deficiências das redes de comunicação. O capítulo de Manutenção deve ser consultado pelo usuário sempre que necessário.
396
7. MANUTENÇÃO
Com apenas um pressionamento curto, a UCP começa a mostrar os diagnósticos do barramento (quando ativos, caso
contrário exibe a mensagem "SEM DIAG"). Inicialmente, será visualizada a Tag (configurada nas propriedades do módulo no
software MasterTool IEC XE, seguindo a IEC 61131-3), ou seja, o nome atribuído à UCP, em seguida, serão mostrados todos
os diagnósticos, através de mensagens no visor da UCP. Esse processo será executado por duas vezes no visor. Tudo ocorre de
forma automática, sendo que o usuário somente deverá executar o pressionamento curto inicial e a UCP será responsável por
exibir os diagnósticos. Os diagnósticos de outros módulos presentes no barramento também serão exibidos no visor gráfico
da UCP, através de um pressionamento curto na tecla de diagnóstico dos mesmos, no mesmo modelo da apresentação dos
diagnósticos da UCP.
A figura abaixo mostra todo o processo a partir do pressionamento curto, sendo a condição e os tempos da UCP repre-
sentados nos retângulos menores. É importante salientar que os diagnósticos poderão ter mais de uma tela, ou seja, o tempo
especificado no fluxograma abaixo é válido para cada uma delas.
397
7. MANUTENÇÃO
Para finalizar, antes de todo o processo de visualização ser efetuado, basta dar um pressionamento curto na tecla de diag-
nóstico, em qualquer momento, ou pressionar a tecla diagnóstico de algum módulo de E/S presente no barramento. Também,
é importante notar que o One Touch Diag só estará disponível quando o módulo estiver em modo operacional.
Caso seja efetuado um pressionamento longo, a UCP entrará no menu de navegação, o qual está descrito no capítulo
Configuração – Menu Informativo e de Configuração da UCP.
A tabela abaixo mostra a diferença entre os tempos do pressionamento curto, pressionamento longo e tecla presa.
398
7. MANUTENÇÃO
As mensagens exibidas no visor gráfico das UCPs Nexto, correspondentes aos diagnósticos, estão descritas na seção
Diagnósticos via Variáveis, na Tabela 254.
Caso ocorra uma situação de tecla presa de algum módulo de E/S presente no barramento, a tecla de diagnóstico deste
deixará de indicar diagnósticos no visor gráfico da UCP quando for pressionada, neste caso a UCP irá indicar que há módulos
com diagnóstico ativo. Para que seja possível eliminar este diagnóstico da UCP, será necessário realizar uma troca a quente do
módulo com o diagnóstico ativo.
Para mais detalhes sobre o procedimento de visualização dos diagnósticos da UCP ou de outros módulos do barramento,
ver descrição no Manual de Utilização Série Nexto – MU214000.
7.1.2.1. DG (Diagnóstico)
7.1.2.2. WD (Cão-de-guarda)
399
7. MANUTENÇÃO
Notas:
Cão-de-guarda de software: Para remover a indicação de cão-de-guarda, deve-se efetuar um reset da aplicação ou desligar
e ligar novamente a UCP. Esse cão-de-guarda ocorre quando o tempo de execução da aplicação de usuário for maior que o
tempo de cão-de-guarda configurado.
O diagnóstico pode ser verificado no operando Exception.wExceptionCode, ver Tabela 258.
Cão-de-guarda de hardware: Para limpar qualquer indicação de cão-de-guarda, como no LED WD ou no operando
Reset.bWatchdogReset, o módulo deve ser desconectado da fonte de alimentação.
Para verificar as condições da aplicação na reinicialização do módulo, ver configurações na Tabela 50.
Os dois LEDs presentes nos conectores RJ45 (no caso da NX3010 um conector somente), identificados por NET 1 e NET
2, auxiliam o usuário na detecção de problemas na rede física instalada, indicando a velocidade do link de rede e a existência
de tráfego de comunicação com a interface. O significado dos LEDs é apresentado na tabela abaixo.
400
7. MANUTENÇÃO
Também existe a aba “Informações do Sistema”, a qual pode ser visualizada através do Bastidor ou da lista dos módulos
presentes (opção do lado direito da tela). Quando não houver nenhuma aplicação na UCP, será exibida nesta página uma
configuração com o maior Bastidor disponível e uma fonte de alimentação padrão, juntamente com a UCP conectada. Quando
a visualização pelo Bastidor é utilizada, os módulos que têm diagnóstico ficam piscando e assumem a cor vermelha, conforme
mostra a Figura 220. Caso contrário será exibida uma lista com os módulos presentes no sistema, Tags correspondentes e
número de diagnósticos ativos:
Ao clicar no módulo com diagnóstico, no mesmo instante são mostrados os diagnósticos ativos do módulo, conforme
mostra a Figura 221:
401
7. MANUTENÇÃO
ATENÇÃO:
Quando uma UCP for reiniciada e a aplicação entrar em exceção na partida do sistema, os
diagnósticos não estarão válidos. É necessário corrigir o problema que gera a exceção da
aplicação para que os diagnósticos sejam atualizados.
Caso a aba Status seja selecionada, o estado de todos os diagnósticos detalhados é exibido na tela, conforme mostra a
Figura 222:
Além disso, o usuário pode optar por três opções de idioma: Português, Inglês e Espanhol. Basta alterar o menu superior
direito para o idioma desejado. Na aba Gerenciamento da UCP, existem outros recursos como Atualização de Firmware e
SNMP.
402
7. MANUTENÇÃO
A aba Atualização de Firmware é restrita ao usuário, ou seja, apenas para uso interno da Altus. Em casos onde a atualização
é realizada remotamente (através de uma conexão de rádio ou satélite por exemplo, a velocidade mínima deste link deve ser de
128Kbps).
- Clicando com o botão direito do mouse sobre o módulo, e selecionando “Diagnósticos”, o Diagnostic Explorer será
aberto, direcionando para a página de status do respectivo módulo.
Byte Descrição
0a3 Diagnósticos resumidos da UCP.
4 a 560 Diagnósticos detalhados da UCP (NX3003)
4 a 558 Diagnósticos detalhados da UCP (NX3004, NX3005 e NX3010).
4 a 693 Diagnósticos detalhados da UCP (NX3020 e NX3030).
403
7. MANUTENÇÃO
A tabela abaixo mostra o significado de cada bit dos diagnósticos resumidos da UCP:
404
7. MANUTENÇÃO
405
7. MANUTENÇÃO
Notas:
Variável de representação direta: O “n” representa o valor configurado na UCP, através do software MasterTool IEC XE,
como endereço inicial de diagnósticos.
Diretiva AT: Na descrição das variáveis simbólicas que utilizam a diretiva AT para fazer o mapeamento em variáveis de
endereçamento direto, a sintaxe que deve ser colocada antes do diagnóstico resumido desejado é DG_Modulo.tSummarized.,
sendo a palavra Modulo substituída pela UCP utilizada. Por exemplo, para o diagnóstico de configuração incompatível basta
utilizar a seguinte variável, DG_NX3010.tSummarized.bConfigMismatch. A diretiva AT é uma palavra reservada no software
programador, sendo que algumas variáveis simbólicas que utilizam essa diretiva servem para indicar os diagnósticos.
Configuração incompatível: O diagnóstico de configuração incompatível é gerado caso um ou mais módulos do bar-
ramento não conferirem com o que foi declarado, ou seja, nas condições de módulos ausentes ou diferentes. Os módulos
inseridos no barramento que não foram declarados no projeto não são considerados.
Módulos trocados: Se somente dois módulos estiverem trocados entre si no respectivo barramento, então o diagnóstico
de troca pode ser identificado. Caso contrário, o problema será tratado como “Configuração Incompatível”.
Módulos com erro fatal: Caso o diagnóstico de Módulos com Erro Fatal seja verdadeiro, verificar qual é o módulo que
está com problema no barramento e encaminhar para a Assistência Técnica da Altus, pois o mesmo está apresentando falha do
hardware.
Módulos com erro de parametrização: Caso o diagnóstico de Módulo com Erro de Parametrização seja verdadeiro,
verificar se os módulos do barramento estão configurados corretamente e se as versões de firmware e do software MasterTool
IEC XE estão adequadas. Se o problema ocorrer ao inserir um módulo no barramento, verifique se esse módulo suporta troca
à quente.
Erro no barramento: Considerado um erro fatal, interrompendo o acesso aos módulos do barramento. Caso o diagnóstico
de erro no barramento seja verdadeiro, talvez haja um problema de hardware nas linhas de comunicação do barramento, sendo
assim, deve-se entrar em contato com a Assistência Técnica da Altus.
Falha de hardware: Caso o diagnóstico de Falha de Hardware seja verdadeiro, encaminhar a UCP para Assistência
Técnica da Altus, pois a mesma apresenta problemas no RTC, processador auxiliar, ou outros recursos de hardware.
Exceção no software: Caso o diagnóstico de exceção no software seja verdadeiro, o usuário deverá verificar a sua aplicação
406
7. MANUTENÇÃO
para garantir que a mesma não esteja acessando indevidamente a memória. Se o problema persistir, o setor de Suporte da Altus
deverá ser consultado. Os códigos de exceção no software estão descritos após a tabela de diagnósticos detalhados da UCP.
Erro do cartão de memória: Os diagnósticos referentes ao cartão de Memória estão disponíveis somente para as UCPs
NX3010, NX3020 e NX3030.
Mensagem de Diagnóstico: As mensagens de diagnóstico podem ser visualizadas através do visor gráfico da UCP através
da tecla OTD ou através da WEB na página de diagnósticos da UCP.
Interfaces Seriais: Os diagnósticos referentes à interface COM 2 estão disponíveis somente para as UCPs NX3010,
NX3020 e NX3030.
Interfaces Ethernet: Os diagnósticos referentes à interface NET 2 estão disponíveis somente para as UCPs NX3020 e
NX3030.
UCP na Posição Incorreta: Este diagnóstico só está disponível para as UCPs que possuem fonte de alimentação integrada:
NX3003, NX3004 e NX3005.
Erro de Retentividade: Este diagnóstico só está disponível para a NX3003. Ao contrário de outras UCPs, que gravam
dados na memória retentiva durante a desenergização, a NX3003 grava dados na memória retentiva a cada 5 segundos em
execução. Quando este bit é TRUE, a causa raiz mais provável é um erro de hardware na memória retentiva. Neste caso,
a UCP deve ser enviada para a Assistência Técnica da Altus. Os comandos Reset a Frio e Reset Origem acionados pelo
MasterTool não causam a indicação deste diagnóstico.
As tabelas a seguir mostram os diagnósticos detalhados das UCPs da série Nexto, para sua consulta é importante verificar
as observações abaixo:
Visualização das Estruturas de Diagnóstico: As Estruturas de Diagnóstico adicionadas ao projeto podem ser visua-
lizadas acessando o item “Library Manager” na árvore de dispositivos da janela do MasterTool IEC XE. Com isso, é
possível visualizar todos os tipos de dados definidos na estrutura.
Contadores: Todos os contadores dos diagnósticos da UCP retornam à zero quando o seu valor limite é ultrapassado.
Variável de representação direta: O “n” representa o valor configurado na UCP, através do software MasterTool IEC
XE, como endereço inicial de diagnósticos.
Diretiva AT: Na descrição das variáveis simbólicas que utilizam a diretiva AT para fazer o mapeamento em variáveis de
endereçamento direto, a sintaxe que deve ser colocada antes do diagnóstico detalhado desejado é DG_Modulo.tDetailed.,
sendo a palavra Modulo substituída pela UCP utilizada. A diretiva AT é uma palavra reservada no software programador,
sendo que algumas variáveis simbólicas que utilizam essa diretiva servem para indicar os diagnósticos.
407
7. MANUTENÇÃO
Nota:
Código de exceção: O código de exceção gerado pelo RTS (Runtime System) pode ser consultado abaixo:
408
7. MANUTENÇÃO
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
Quantidade de cli-
NA %QB(n+24) NA BYTE WebVisualization. entes conectados ao
byConnectedClients WebVisualization.
409
7. MANUTENÇÃO
Nota:
Reset por Brownout: O diagnóstico de reset por brownout somente será verdadeiro quando a alimentação da fonte exceder
o limite mínimo exigido nas características técnicas da mesma, mantendo-se com tensão baixa, ou seja, sem sofrer uma
interrupção. A UCP irá identificar a queda da alimentação e indicará o diagnóstico de falha na alimentação. Quando a tensão
for restabelecida, a UCP será reinicializada automaticamente e indicará o diagnóstico de reset por brownout.
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
Alarme gerado devido à
%QX(n+37).0 Thermometer. temperatura interna es-
BIT tar em 85 ◦ C ou acima
bOverTemperatureAlarm 1
de 85 ◦ C.
Alarme gerado devido à
%QX(n+37).1 Thermometer. temperatura interna es-
BIT tar em 0 ◦ C ou abaixo
bUnderTemperatureAlarm 1
de 0 ◦ C.
Thermometer. Temperatura lida no
%QD(n+38) DINT sensor interno da UCP.
diTemperature 1
Nota:
Temperatura: Para a visualização da temperatura diretamente no endereço de memória, deve-se realizar uma conversão,
pois o tamanho do dado é DINT e a monitoração é realizada em 4 bytes. Por isso, indica-se a utilização da variável simbólica
associada, pois a mesma já fornece o valor final da temperatura.
410
7. MANUTENÇÃO
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
Protocolo selecionado
na COM 1:
%QB(n+42) BYTE Serial.COM1.
00: Sem protocolo
byProtocol
01: MODBUS RTU
Master
02: MODBUS RTU
Slave
03: Outro protocolo
Contador de caracte-
Serial.COM1. res recebidos através
%QD(n+43) DWORD da COM 1 (0 a
dwRXBytes
4294967295).
Contador de caracte-
Serial.COM1. res transmitidos atra-
%QD(n+47) DWORD vés da COM 1 (0 a
dwTXBytes
4294967295).
Número de caracteres
Serial.COM1. pendentes no buffer de
%QW(n+51) WORD leitura na COM 1 (0 a
wRXPendingBytes
65535).
Número de caracteres
Serial.COM1. pendentes no buffer de
%QW(n+53) WORD transmissão na COM 1
wTXPendingBytes
(0 a 65535).
Contadores de erro da
COM 1 (0 a 65535).
%QW(n+55) WORD Serial.COM1. Esses contadores serão
wBreakErrorCounter reiniciados nas seguin-
tes condições:
%QW(n+57) WORD Serial.COM1. Energização
wParityErrorCounter
%QW(n+59) Serial.COM1. Configuração da porta
WORD serial COM 1
wFrameErrorCounter
%QW(n+61) Serial.COM1. Remoção das filas RX e
WORD TX
wRXOverrunCounter
%QW(n+63) WORD Serial.COM1. Reservado.
wReserved_0
%QW(n+65) WORD Serial.COM1. Reservado.
wReserved_1
Nota:
Contador de erro de paridade: Quando a paridade da interface serial COM 1 estiver configurada como Sem Paridade,
este contador de erros não será incrementado ao receber uma mensagem com paridade diferente. Nesse caso, será indicado
erro de frame.
411
7. MANUTENÇÃO
Nota:
Contador de erro de paridade: Quando a paridade da interface serial COM 2 estiver configurada como Sem Paridade,
este contador de erros não será incrementado ao receber uma mensagem com paridade diferente. Nesse caso, será indicado
erro de frame.
412
7. MANUTENÇÃO
413
7. MANUTENÇÃO
414
7. MANUTENÇÃO
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
Indica se a memória uti-
lizada para gravar ar-
%QB(n+219) %QB(n+346) BYTE UserFiles. quivos de usuário está
byMounted apta para receber os da-
dos.
Espaço livre da memó-
%QD(n+220) %QD(n+347) DWORD UserFiles. ria de arquivos de usuá-
dwFreeSpacekB rio em Kbytes.
Capacidade de armaze-
%QD(n+224) %QD(n+351) UserFiles. namento da memória de
DWORD arquivos de usuário em
dwTotalSizekB
Kbytes.
%QB(n+228) %QB(n+355) BYTE UserFiles. Reservado.
byReserved_0
415
7. MANUTENÇÃO
Nota:
Partição de Usuário: A partição de usuário é uma área da memória reservada para o armazenamento de dados na UCP.
Por exemplo: arquivos com extensão PDF, arquivos com extensão DOC e demais dados.
416
7. MANUTENÇÃO
Notas:
Diagnóstico de erro dos módulos do barramento: Cada DWORD do Array deste diagnóstico representa um bastidor,
cujas posições são representadas pelos bits destas DWORDs. Logo, o Bit-0 da DWORD-0 equivale a posição zero do bastidor
com endereço zero. Cada um desses Bits é o resultado de uma operação lógica OU entre os diagnósticos de configuração
incompatível (bConfigMismatch), módulos ausentes (bAbsentModules), módulos trocados (bSwappedModules), módulos com
erro fatal (bModuleFatalError) e o estado operacional do módulo de uma determinada posição.
Status de presença de módulos: Cada DWORD do Array deste diagnóstico representa um bastidor, cujas posições são
representadas pelos bits destas DWORDs. Logo, o Bit-0 da DWORD-0 equivale a posição zero do bastidor com endereço
zero. Então, se o módulo estiver presente, este bit será verdadeiro. É importante ressaltar que esse diagnóstico é válido para
todos os módulos, exceto fontes de alimentação e UCPs, ou seja, não apresentam a presença no barramento em suas respectivas
posições (bit permanece em falso).
Situações que ocasionam parada da aplicação: Os códigos das possíveis situações que ocasionam parada da aplicação
podem ser consultados abaixo:
417
7. MANUTENÇÃO
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
Informa o estado de
%QB(n+504) %QB(n+631) BYTE Application. operação da UCP:
byCPUState 01: Aplicação em exe-
cução (Modo Run)
03: Aplicação parada
(Modo Stop)
%QX(n+505).0 %QX(n+632).0 Application. Existem um ou mais
BIT pontos de E/S forçados.
bForcedIOs
418
7. MANUTENÇÃO
419
7. MANUTENÇÃO
Notas:
Sincronismo dos diagnósticos do grupo SOE em sistema operando com redundância de Half-Cluster: Quando um
projeto é configurado com redundância de Half-Cluster os diagnósticos do grupo SOE não são sincronizados entre os dois
Half-Clusters.
Atualização dos diagnósticos do grupo SOE na transição para o estado ativo: Quando um Half-Cluster passa do estado
Reserva para o estado Ativo os diagnósticos do grupo SOE passam a ser atualizados a partir do terceiro ciclo.
420
7. MANUTENÇÃO
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
CRC de 32 bits da apli-
cação. Quando a apli-
%QD(n+520) %QD(n+681) DWORD ApplicationInfo. cação é modificada e
dwApplicationCRC enviada para a UCP, um
novo CRC é calculado.
%QD(n+524) %QD(n+685) DWORD ApplicationInfo. Reservado.
dwReserved_0
%QD(n+528) %QD(n+689) DWORD ApplicationInfo. Reservado.
dwReserved_1
Variável AT
Variável de Representação Direta UCP Tamanho DG_Modulo.tDetailed.* Descrição
NX3003 NX3004 NX3005 NX3010 NX3020 NX3030
Status da fonte de ali-
mentação externa das
%QX IntegratedIo. E/S Integradas:
NA BIT
(n+558).2 bPowerFailure TRUE - Não há fonte
de alimentação para ali-
mentar as E/S integra-
das.
FALSE - As E/S in-
tegradas estão devida-
mente alimentadas.
7.1.6.1. GetTaskInfo
Essa função retorna informações sobre uma tarefa de uma determinada aplicação.
Abaixo, são descritos os parâmetros que devem ser repassados à função para que ela retorne as informações da aplicação.
421
7. MANUTENÇÃO
Os dados que a função retorna, através do ponteiro informado nos parâmetros de entrada, são os descritos na tabela abaixo.
Possíveis ERRORCODE:
NoError: execução com sucesso;
TaskNotPresent: a tarefa desejada não existe.
Exemplo de utilização em Linguagem ST:
1 PROGRAM UserPrg
2 VAR
3 sAppName : STRING;
4 psAppName : POINTER TO STRING;
5 sTaskName : STRING;
6 psTaskName : POINTER TO STRING;
7 pstTaskInfo : POINTER TO stTaskInfo;
8 TaskInfo : stTaskInfo;
9 Info : ERRORCODE;
10 END_VAR
11 //ENTRADAS:
12 sAppName := 'Application'; //Variável recebe o nome da aplicação.
13 psAppName := ADR(sAppName); //Ponteiro com o nome da aplicação.
14 sTaskName := 'MainTask'; //Variável recebe o nome da tarefa.
15 psTaskName := ADR(sTaskName); //Ponteiro com o nome da tarefa.
16 pstTaskInfo := ADR(TaskInfo); //Ponteiro que irá receber as informações da
tarefa.
17 //FUNÇÃO:
18 //Chamada da função.
19 Info := GetTaskInfo (psAppName, psTaskName, pstTaskInfo);
20 //Variável Info recebe possíveis erros da função.
422
7. MANUTENÇÃO
Legenda:
1. Indicação do estado de operação da UCP. Caso a aplicação da UCP esteja em execução, o estado será RUN. Caso a
aplicação da UCP esteja parada, o estado será STOP e quando estiver parada em marcas de depuração da aplicação o
estado será BRKP. Para maiores detalhes, consultar a seção Estados de Operação da UCP.
2. Indicação da presença do Cartão de Memória. Para maiores detalhes sobre a instalação do cartão, consultar a seção
Instalação do Cartão de Memória.
3. Indicação de Tráfego na COM 1. A seta para cima (N) indica transmissão de dados e a seta para baixo (H) indica
recepção de dados. Para maiores informações sobre a interface COM 1, consultar seção Interfaces Seriais.
4. Indicação de Tráfego na COM 2. A seta para cima (N) indica transmissão de dados e a seta para baixo (H) indica
recepção de dados. Para maiores informações sobre a interface COM 2, consultar seção Interfaces Seriais.
5. Indicação da quantidade de diagnósticos ativos na UCP. Caso o número mostrado seja diferente de 0 (zero), existem
diagnósticos ativos na UCP. Para maiores detalhes sobre a visualização dos mesmos no visor gráfico da UCP, através da
tecla de diagnósticos, consultar seção One Touch Diag.
6. Indicação de variáveis forçadas na UCP. Caso o caractere F esteja exibido no visor gráfico, alguma variável está sendo
forçada pelo usuário, seja ela variável simbólica ou variável de representação direta mapeada em uma variável simbólica.
Para maiores detalhes sobre forçamento de variáveis, consultar seção Modo Run.
7. Identificação do estado da redundância na UCP (mensagem válida somente na NX3030 em modo redundante). Caso
a UCP seja o CP Ativo, a informação ACT será apresentada. Os demais estados possíveis são NCF (Não Configurado),
STR (Inicializando), INA (Inativo) e SBY (Reserva).
8. Indicação de que está sendo executada a sincronização de projeto. A seta para cima (N) indica transmissão de dados do
projeto e a seta para baixo (H) indica recepção de dados de um projeto. Para maiores informações sobre a sincronização
de projetos, consultar seção Sincronização de Projetos.
Além dos caracteres descritos acima, as UCPs Nexto poderão apresentar algumas mensagens no visor gráfico, correspon-
dentes a algum processo que está sendo executado no momento.
A tabela abaixo mostra as mensagens e suas respectivas descrições:
Mensagem Descrição
FORMATANDO... Indica que a UCP está formatando o cartão de memória.
Indica que ocorreu um erro durante a formatação do cartão de
ERRO NA FORMATACAO
memória pela UCP.
FORMATO INCORR. Indica que o formato do cartão de memória está incorreto.
Indica que a senha digitada não confere com a senha configu-
SENHA INCORRETA
rada.
TRANSFERINDO... Indica que o projeto está sendo transferido.
Indica que ocorreu um erro na transferência do projeto, ocasio-
ERRO NA TRANSFER. nado por algum problema no cartão de memória ou a remoção
do mesmo durante a transferência.
423
7. MANUTENÇÃO
Mensagem Descrição
TRANSFER. COMPLETA Indica que a transferência foi completada com êxito.
Indica que ocorreu um time-out (expirou tempo de comunica-
TIMEOUT TRANSFER.
ção) durante a transferência do projeto.
Indica que o modelo da UCP é diferente do configurado no pro-
MODELO UCP INVALIDO
jeto que está no cartão de memória.
Indica que a versão da UCP é diferente do configurado no projeto
VERSAO UCP INVALIDA
que está no cartão de memória.
Indica que a aplicação que está no cartão de memória está cor-
APLICACAO CORROMPIDA
rompida.
Indica que não existe aplicação dentro do cartão de memória para
APLICACAO INEXISTENTE
ser transferida à UCP.
CRC INEXISTENTE Indica que o CRC da aplicação não existe.
Indica que não existe o arquivo MCF dentro do cartão de memó-
MCF INEXISTENTE
ria.
SEM TAG Não existe Tag configurada para a UCP no MasterTool IEC XE.
Não existe Descrição configurada para a UCP no MasterTool
SEM DESC
IEC XE.
Indica que há erro(s) na(s) mensagem(s) de diagnóstico(s) do(s)
ERRO MSG.
módulo(s) requisitado(s).
Indica que o produto apresentou um problema inesperado. Entre
SEM ASSINATURA
em contato com o setor de Suporte da Altus.
Indica que ocorreu um erro na aplicação e o Runtime está reini-
ERRO NA APL. REINICIANDO
ciando a aplicação.
APL. NAO CARREGADA Indica que o Runtime não irá carregar a aplicação.
CARREGANDO APL. Indica que o Runtime irá carregar a aplicação.
POSICAO INCORRETA Indica que a UCP está em uma posição incorreta no bastidor.
Indica que há problemas graves na inicialização da UCP como
ERRO FATAL por exemplo, as partições da UCP não foram devidamente mon-
tadas. Entre em contado com o setor de suporte da Altus.
Indica que o software e hardware da UCP não são compatíveis
HW-SW INCOMPATIVEL pois o produto apresentou algum problema inesperado. Entre em
contato com o setor de suporte da Altus.
ATUALIZANDO FIRMWARE Indica que o firmware está sendo atualizado na UCP.
Indica que o arquivo de atualização está sendo transferido para a
RECEBENDO FIRMWARE
UCP.
ATUALIZADO Exibe a versão de firmware atualizada na UCP.
Indica que houve algum erro durante a atualização de firmware
ERRO NA ATUALIZACAO da UCP, ocasionado por falha na comunicação ou problemas de
configuração.
Indica que a UCP está sendo reiniciada para que as atualizações
REINICIANDO SISTEMA...
tenham efeito.
424
7. MANUTENÇÃO
. Quando este botão é pressionado os Logs serão exibidos e a atualização deles é feita automaticamente. Quando o botão
não está pressionado os Logs serão mantidos na tela, mas não serão atualizados. Ou seja, este botão tem dois estados, sendo
que um estado mantém os logs sendo atualizados e no outro estado a atualização está desabilitada. Para deixar de exibir os
ATENÇÃO:
Se o horário ou o parâmetro de fuso horário do dispositivo estiverem incorretos, a Marca de
Tempo apresentada pela ferramenta MasterTool não corresponderá ao tempo esperado.
Para maiores informações sobre os Logs de Sistema, favor consultar o Manual de Utilização do MasterTool IEC XE -
MU299048 e os subcapítulos Relógio RTC e Sincronização de Tempo deste manual.
ATENÇÃO:
Os logs de sistema das UCPs da série Nexto, a partir da versão de firmware 1.4.0.33, são
recarregados no caso de uma reinicialização da UCP ou por uma reinicialização do Runtime
System, isto é, será possível visualizar os logs mais antigos quando uma dessas condições
ocorrer.
425
7. MANUTENÇÃO
O usuário pode alterar o valor da variável atribuída à falha na alimentação para FALSE durante a execução da aplicação,
facilitando a verificação e tratamento deste diagnóstico.
O diagnóstico de FALHA NA ALIMENTACAO já está previamente mapeado em uma região específica de memória,
definida como Diagnósticos Detalhados da UCP. Dessa forma, basta utilizá-lo como uma variável global. O nome da variável
está descrita na lista de diagnósticos detalhados da UCP na seção Diagnósticos via Variáveis.
426
7. MANUTENÇÃO
427
8. ANEXO - INTEROPERABILIDADE DNP3
428
8. ANEXO - INTEROPERABILIDADE DNP3
REQUEST RESPONSE
DNP OBJECT GROUP & VARIATION Master may issue Master must parse
Outstation must parse Outstation may issue
Function Function
Group Var Qualifier Codes Qualifier Co-
Description Codes Codes
Num Num (hex) des (hex)
(dec) (dec)
1 0 Binary Input – 1 (read) 00, 01 (start-stop)
Any Variation 06 (no range, or all)
1 1 Binary Input – 1 (read) 00, 01 (start-stop) 129 00, 01
Packed format 06 (no range, or all) (response) (start-stop)
2 0 Binary Input Event – 1 (read) 06 (no range, or all)
Any Variation 07, 08 (limited qty)
2 2 Binary Input Event – 1 (read) 06 (no range, or all) 129 17, 28
With absolute time 07, 08 (limited qty) (response) (index)
60 1 Class Objects – 1 (read) 06 (no range, or all)
Class 0 data
60 2 Class Objects – 1 (read) 06 (no range, or all)
Class 1 data 07, 08 (limited qty)
80 1 Internal Indications - 1 (read) 00, 01 (start-stop) 129 00
Packed format (response) (start-stop)
2 (write) 00 (start-stop)
index=7
429