Manual de Utilizacao Xp3xx (Controlador Compacto Com e S)

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 256

Manual de Utilização

Nexto Xpress
MU216000 Rev. P

14 de fevereiro de 2023
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. Documentos Relacionados a este Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Inspeção Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Suporte Técnico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Mensagens de Advertência Utilizadas neste Manual . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Descrição Técnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Painéis e Conexões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Características do Produto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Características Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2. Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3. Protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.4. RS-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.5. CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.6. USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.7. Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.8. Alimentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.9. Entradas Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.10. Entradas Rápidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.11. Saídas Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.12. Saídas Rápidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.13. Entradas Analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.14. Saídas Analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Compatibilidade com Outros Produtos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4. Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1. Tempo de Intervalo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.2. Tempos da Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.3. Tempo para a Execução de Instruções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4. Tempo de Inicialização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5. Dimensões Físicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6. Dados de Compra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.1. Itens Integrantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.2. Código do Produto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7. Produtos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3. Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1. Instalação Mecânica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.1. Instalando o Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2. Removendo o Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2. Instalação Elétrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

II
SUMÁRIO

3.3. Conexão de Rede Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


3.3.1. Endereço IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.2. ARP Gratuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.3. Instalação do Cabo de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4. Conexão de Rede Serial RS-485 e CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4. Programação Inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1. Organização e Acesso à Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2. Perfis de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.1. Perfil de Máquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3. Configurando a UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4. Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5. Inserindo uma Instância de Protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.1. MODBUS Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6. Localizando o Dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.7. Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.8. Modo Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.9. Modo Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.10. Escrita e Forçamento de Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.11. Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.12. Upload do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.13. Estados de Operação da UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.1. Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.2. Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.3. Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.4. Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.5. Reset a Quente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.6. Reset a Frio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.7. Reset Origem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13.8. Reset Process Command (IEC 60870-5-104) . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.14. Programas (POUs) e Listas de Variáveis Globais (GVLs) . . . . . . . . . . . . . . . . . . . . . . . 45
4.14.1. Programa MainPrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.14.2. Programa StartPrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.14.3. Programa UserPrg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.14.4. GVL IntegratedIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.14.5. GVL System_Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.14.6. GVL Disables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.14.7. GVL Qualities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.14.8. GVL ReqDiagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5. Configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1. UCP do Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.1. Parâmetros Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.2. Sincronização Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.2.1. IEC 60870-5-104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.2.2. SNTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.2.3. Horário de Verão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.3. Pontos Internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.3.1. Conversões de Qualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1.3.1.1. Qualidade Interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

III
SUMÁRIO

5.1.3.1.2. Conversão IEC 60870-5-104 . . . . . . . . . . . . . . . . . . . . . . . . . 59


5.1.3.1.3. Qualidade Interna MODBUS . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2. Interface Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.1. COM 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.2. Configurações Avançadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3. Interface Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.1. NET 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.2. Portas TCP/UDP Reservadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4. Interface CAN (Controller Area Network) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4.1. CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.5. E/S Integradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.5.1. Entradas Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.5.2. Entradas Rápidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.5.2.1. Contadores Rápidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.5.2.1.1. Interrupções do Contador . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.5.2.2. Interrupção Externa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.5.3. Saídas Rápidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5.3.1. VFO/PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.5.3.2. PTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.5.4. Entradas Analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.5.5. Entradas RTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5.6. Saídas Analógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.5.7. Mapeamento de E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.6. Porta USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.6.1. Dispositivos de Armazenamento em Massa . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.6.1.1. Armazenamento Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.6.1.2. Não Carregando a Aplicação na Inicialização . . . . . . . . . . . . . . . . . . . . 89
5.6.1.3. Transferindo uma Aplicação a partir do dispositivo USB . . . . . . . . . . . . . . 90
5.6.2. Conversor USB para RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.6.3. Dispositivos Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.6.4. Adaptadores WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.7. Protocolos de Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.7.1. Comportamento dos Protocolos x Estados da UCP . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.2. Pontos Duplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.3. Fila de Eventos da UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.3.1. Consumidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.3.2. Princípios de Funcionamento da Fila . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.3.2.1. Sinalização de Estouro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.3.3. Produtores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.7.4. Interceptação de Comandos Oriundos do Centro de Controle . . . . . . . . . . . . . . . . . 103
5.7.5. MODBUS MESTRE RTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.7.5.1. Configuração do Protocolo MODBUS Mestre por Mapeamento Simbólico . . . . . 108
5.7.5.1.1. Parâmetros Gerais do Protocolo MODBUS Mestre – Configuração por Ma-
peamento Simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.7.5.1.2. Configuração dos Dispositivos – Configuração por Mapeamento Simbólico 112
5.7.5.1.3. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico 112
5.7.5.1.4. Configuração das Requisições – Configuração por Mapeamento Simbólico . 114
5.7.6. MODBUS ESCRAVO RTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

IV
SUMÁRIO

5.7.6.1. Configuração do Protocolo MODBUS Escravo por Mapeamento Simbólico . . . . 119


5.7.6.1.1. Parâmetros Gerais do Protocolo MODBUS Escravo – Configuração por
Mapeamento Simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.7.6.1.2. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico 124
5.7.7. MODBUS ETHERNET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.7.8. MODBUS Ethernet Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.7.8.1. Configuração do Protocolo MODBUS Ethernet Cliente por Mapeamento Simbólico 127
5.7.8.1.1. Parâmetros Gerais do Protocolo MODBUS Cliente – Configuração por Ma-
peamento Simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.7.8.1.2. Configuração dos Dispositivos – Configuração por Mapeamento Simbólico 129
5.7.8.1.3. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico 131
5.7.8.1.4. Configuração das Requisições – Configuração por Mapeamento Simbólico . 132
5.7.8.2. Disparo de Relações MODBUS Cliente de Forma Acíclica . . . . . . . . . . . . . 137
5.7.9. MODBUS Ethernet Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.7.9.1. Configuração do Protocolo MODBUS Ethernet Servidor por Mapeamento Simbólico137
5.7.9.1.1. Parâmetros Gerais do Protocolo MODBUS Servidor – Configuração por
Mapeamento Simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.7.9.1.2. Diagnósticos MODBUS Servidor – Configuração por Mapeamento Sim-
bólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.7.9.1.3. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico 141
5.7.10. OPC DA Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.7.10.1. Criando um Projeto para Comunicação OPC DA . . . . . . . . . . . . . . . . . . . 144
5.7.10.2. Configurando um CP no Servidor OPC DA . . . . . . . . . . . . . . . . . . . . . 147
5.7.10.2.1. Importando uma Configuração do Projeto . . . . . . . . . . . . . . . . . . 150
5.7.10.3. Variáveis de Status e Qualidade da Comunicação OPC DA . . . . . . . . . . . . . 150
5.7.10.4. Limites da Comunicação com Servidor OPC DA . . . . . . . . . . . . . . . . . . 151
5.7.10.5. Acessando Dados Através de um Cliente OPC DA . . . . . . . . . . . . . . . . . . 152
5.7.11. OPC UA Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.7.11.1. Criando um Projeto para Comunicação OPC UA . . . . . . . . . . . . . . . . . . . 155
5.7.11.2. Tipos de Variáveis Suportadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.7.11.3. Limite de Clientes Conectados no Servidor OPC UA . . . . . . . . . . . . . . . . 157
5.7.11.4. Limite de Variáveis de Comunicação no Servidor OPC UA . . . . . . . . . . . . . 157
5.7.11.5. Configurações de Criptografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.7.11.6. Principais Parâmetros de Comunicação Ajustados em um Cliente OPC UA . . . . . 158
5.7.11.6.1. Endpoint URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.7.11.6.2. Publishing Interval (ms) e Sampling Interval (ms) . . . . . . . . . . . . . . 159
5.7.11.6.3. Lifetime Count e Keep-Alive Count . . . . . . . . . . . . . . . . . . . . . 159
5.7.11.6.4. Queue Size e Discard Oldest . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.7.11.6.5. Filter Type e Deadband Type . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.7.11.6.6. PublishingEnabled, MaxNotificationsPerPublish e Priority . . . . . . . . . 160
5.7.11.7. Acessando Dados Através de um Cliente OPC UA . . . . . . . . . . . . . . . . . . 160
5.7.12. EtherNet/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.7.12.1. Interface EtherNet/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.7.12.2. Configuração do Scanner EtherNet/IP . . . . . . . . . . . . . . . . . . . . . . . . 164
5.7.12.2.1. Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.7.12.2.2. Conexões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.7.12.2.3. Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.7.12.2.4. EtherNet/IP: Mapeamento de E/S . . . . . . . . . . . . . . . . . . . . . . . 168
5.7.12.3. Configuração do Adapter EtherNet/IP . . . . . . . . . . . . . . . . . . . . . . . . 168

V
SUMÁRIO

5.7.12.3.1. Tipo de Módulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168


5.7.12.3.2. EtherNet/IP Module: Mapeamento de E/S . . . . . . . . . . . . . . . . . . 169
5.7.13. IEC 60870-5-104 Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5.7.13.1. Tipos de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5.7.13.2. Pontos Duplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.7.13.2.1. Pontos Duplos de Entrada Digital . . . . . . . . . . . . . . . . . . . . . . . 171
5.7.13.2.2. Pontos Duplos de Saída Digital . . . . . . . . . . . . . . . . . . . . . . . . 173
5.7.13.3. Parâmetros Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
5.7.13.4. Mapeamento dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
5.7.13.5. Camada de Enlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.7.13.6. Camada de Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.7.13.7. Diagnósticos do Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.7.13.8. Qualificador dos Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.7.14. CANOpen Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.7.14.1. Instalando e inserindo dispositivos CANopen . . . . . . . . . . . . . . . . . . . . 187
5.7.14.2. Configuração do CANOpen Manager . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.7.14.3. Configuração de Escravo CANopen . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.8. Modo de E/S Remotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.8.1. Escravo CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.9. Desempenho de Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.9.1. Servidor MODBUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.9.1.1. Interfaces Locais da UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.9.2. Servidor OPC DA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.9.3. Servidor OPC UA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.10. Páginas Web de Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.11. SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.11.1. Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.11.2. SNMP em Controladores Nexto Xpress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
5.11.3. Configuração SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.11.4. Usuário e Comunidades SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
5.12. Relógio RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
5.12.1. Blocos Funcionais e Funções para Leitura e Escrita do RTC . . . . . . . . . . . . . . . . . . 202
5.12.1.1. Funções de Leitura do RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
5.12.1.1.1. GetDateAndTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
5.12.1.1.2. GetTimeZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
5.12.1.1.3. GetDayOfWeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
5.12.1.2. Funções de Escrita do RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.12.1.2.1. SetDateAndTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.12.1.2.2. SetTimeZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.12.2. Estruturas de Dados do RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
5.12.2.1. EXTENDED_DATE_AND_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . 207
5.12.2.2. DAYS_OF_WEEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.12.2.3. RTC_STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.12.2.4. TIMEZONESETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.13. Funções e Blocos Funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.13.1. Blocos Funcionais Especiais para Comunicação Serial . . . . . . . . . . . . . . . . . . . . . 209
5.13.1.1. SERIAL_CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5.13.1.2. SERIAL_GET_CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

VI
SUMÁRIO

5.13.1.3. SERIAL_GET_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


5.13.1.4. SERIAL_GET_RX_QUEUE_STATUS . . . . . . . . . . . . . . . . . . . . . . . 219
5.13.1.5. SERIAL_PURGE_RX_QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5.13.1.6. SERIAL_RX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5.13.1.7. SERIAL_RX_EXTENDED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
5.13.1.8. SERIAL_SET_CTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5.13.1.9. SERIAL_TX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
5.13.2. Atualização de Entradas e Saídas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.13.2.1. RefreshIntegratedIoInputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.13.2.2. RefreshIntegratedIoOutputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.13.3. Temporizador Retentivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.13.3.1. TOF_RET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.13.3.2. TON_RET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
5.13.3.3. TP_RET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
6. Manutenção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
6.1. Diagnósticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
6.1.1. Diagnósticos via LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
6.1.2. Diagnósticos via WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
6.1.3. Diagnósticos via Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
6.1.3.1. Diagnósticos Resumidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
6.1.3.2. Diagnósticos Detalhados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
6.1.4. Diagnósticos via Blocos Funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.1.4.1. GetTaskInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
6.2. Manutenção Preventiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

VII
1. INTRODUÇÃO

1. Introdução
O Nexto Xpress é um poderoso Controlador Programável (CP), pertencente à família de controladores e módulos de E/S da
Série Nexto. O Nexto Xpress fornece poder de processamento de alta velocidade em um design compacto com E/S integradas.
Existem várias opções para escolher, permitindo a melhor solução para aplicações básicas.
Esse portfólio de produtos visa sistemas de controle pequenos, oferecendo modelos contendo desde algumas entradas e
saídas digitais até opções com 43 pontos de E/S concentrados em um único controlador, incluindo entradas e saídas analógicas
com suporte de temperatura (sensores RTD). No caso de necessidades adicionais de E/S, o sistema pode ser facilmente ex-
pandido através dos módulos de expansão (consultar seção Produtos Relacionados). Adicionalmente, a quantidade de pontos
de E/S pode ser ampliada ainda mais através dispositivos de E/S remotos (distribuído) comunicando-se através de protocolos
como CANopen, EtherNet/IP, PROFINET e MODBUS.
O Nexto Xpress é adequado para pequenas aplicações e E/S distribuídas remotamente. Pode ser utilizado em aplicações
verticais como infraestrutura, automação predial, água, efluentes, alimentos, têxteis, automação de fábrica, máquinas e várias
outras soluções OEM, incluindo aplicações de controle de movimento (motion). Além disso, é uma solução ideal para comple-
mentar grandes aplicações junto com o portfólio da Série Nexto, ampliando a gama de aplicações usando a mesma tecnologia
e ambiente de engenharia. Esta é uma grande vantagem para OEMs e integradores de sistemas com necessidades de aplicações
pequenas a grandes.

Figura 1: Nexto Xpress

1
1. INTRODUÇÃO

1.1. Documentos Relacionados a este Manual


Este manual irá focar em informações específicas para os controladores da série Nexto Xpress. Para outras funcionalidades
idênticas em todos os controladores da Série Nexto, este manual apenas apontará para o manual correspondente da Série Nexto
que contém as informações. Esses manuais relacionados estão descritos na tabela a seguir e estão disponíveis em sua última
versão no site www.altus.com.br.

Código Descrição Idioma


CE114000 Nexto Series – Technical Characteristics Inglês
CT114000 Série Nexto – Características Técnicas Português
CS114000 Serie Nexto – Características Técnicas Espanhol
MU216600 Nexto Xpress User Manual Inglês
MU216000 Manual de Utilização Nexto Xpress Português
MU214600 Nexto Series User Manual Inglês
MU214000 Manual de Utilização Série Nexto Português
MU299609 MasterTool IEC XE User Manual Inglês
MU299048 Manual de Utilização MasterTool IEC XE Português
MP399609 MasterTool IEC XE Programming Manual Inglês
MP399048 Manual de Programação MasterTool IEC XE Português
MU214606 MQTT User Manual Inglês
MU223603 IEC 60870-5-104 Server Device Profile Document Inglês
NAP151 Utilização do Tunneller OPC Português
NAP165 Comunicação OPC UA com Controladores ALTUS Português
NAP165_ing OPC UA Communication with ALTUS Controllers Inglês

Tabela 1: Documentos Relacionados

1.2. Inspeção Visual


Antes de proceder à instalação, é recomendável fazer uma inspeção visual cuidadosa dos equipamentos, verificando se não
há danos causados pelo transporte. Verifique se todos os componentes de seu pedido estão em perfeito estado. Em caso de
defeitos, informe a companhia transportadora ou o distribuidor Altus mais próximo.
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.

2
1. INTRODUÇÃO

1.3. Suporte Técnico


Para entrar em contato com o Suporte Técnico da Altus em São Leopoldo, RS, ligue para +55 51 3589-9500. Para conhecer
os centros de Suporte Técnico da Altus existentes em outras localidades, consulte nosso site www.altus.com.br ou envie um
e-mail para [email protected]. Se o equipamento já estiver instalado, tenha em mãos as seguintes informações ao solicitar
assistência:
Os modelos dos equipamentos utilizados e a configuração do sistema instalado
O número de série do produto
A revisão do equipamento e a versão do software executivo, constantes na etiqueta afixada na lateral do produto
Informações sobre o modo de operação da UCP, obtidas através do programador MasterTool
O conteúdo do programa da aplicação, obtido através do programador MasterTool
A versão do programador utilizado

1.4. Mensagens de Advertência Utilizadas neste Manual


Neste manual, as mensagens de advertência apresentarão os seguintes formatos e significados:
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.

3
2. DESCRIÇÃO TÉCNICA

2. Descrição Técnica
Este capítulo apresenta as características técnicas dos controladores Nexto Xpress, abordando as partes integrantes do
sistema, sua arquitetura, características gerais e elétricas.

2.1. Painéis e Conexões


A figura abaixo mostra o painel frontal do XP325:

Figura 2: Painel Frontal do XP325

O painel frontal contém a identificação das interfaces de comunicação e E/S disponíveis nos controladores Nexto Xpress.
As interfaces de E/S digitais têm um LED para cada ponto para indicar o estado lógico, enquanto as interfaces de comunicação
têm um LED cada para indicar atividade. A disponibilidade dessas interfaces em cada modelo é descrita na próxima seção.
Além disso, no lado direito do painel frontal, há 2 LEDs usados para indicar alimentação e diagnósticos. A tabela a seguir
mostra a descrição dos LEDs. Para mais informações sobre o estado e significado dos LEDs, consulte o capítulo Manutenção.

LED Descrição
PWR Estado da alimentação interna de energia
DG Indicação de Diagnóstico
Ixx.x Estado das Entradas Digitais
Qxx.x Estado das Saídas Digitais
D+/- Estado da interface RS-485 (pisca quando em atividade)
H/L Estado da interface CAN (pisca quando em atividade)
USB Estado da porta USB (liga quando um dispositivo está montado)
Estado da interface Ethernet (liga quando conectado, pisca quando em ati-
ETH
vidade)

Tabela 2: Descrição de LEDs

4
2. DESCRIÇÃO TÉCNICA

2.2. Características do Produto


2.2.1. Características Gerais

XP300 XP315 XP325 XP340 XP350


Entradas Digitais 12
Entradas Rápidas 4
Saídas Digitais 12
Saídas Rápidas 4
Número máx. de contadores rápidos 1
Número máx. de interrupções externas 2
Número máx. de saídas PTO 2
Número máx. de saídas VFO/PWM 4
5 até 10 5 até 10 5 até 10 5 até 10
Entradas analógicas V/I (EA) -
Ver Notas Ver Notas Ver Notas Ver Notas
Entradas analógicas RTD (EA) - 2 2 2 2
Saídas analógicas V/I (SA) - - 4 4 -
Interface Ethernet TCP / IP 1
Interface serial RS-485 1
Interface CAN 1
Porta USB Host 1
Páginas web de usuário (Webvisu) Não Não Não Sim Não
Controle de movimento (Motion) Não Não Não Não Sim
Modo E/S Remota Sim Sim Sim Sim Não
FTP Sim
Firewall Sim
VPN Sim
Número Máximo de Tarefas 16
Texto Estruturado (ST)
Diagrama Ladder (LD)
Linguagens de programação Sequenciamento Gráfico de Funções (SFC)
Diagrama de Blocos Funcionais (FBD)
Gráfico Contínuo de Funções (CFC)
Alterações online Sim
Cão de guarda Sim
Sim
Relógio de tempo real (RTC) Resolução de 1 ms, máx. variação de 3 segundos por dia,
tempo de retentividade de 14 dias.
Indicação de estado e diagnóstico LEDs, página da web e memória interna da UCP
Isolação
Terra de proteção para todos 1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
Lógica/RS-485/CAN/USB para todos 1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
Ethernet para todos 1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
Fonte de Alimentação/ E/S Analógicas para
1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
todos
Entradas Digitais para todos 1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
Grupo de entradas digitais I0x para I1x 1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
Saídas digitais para todos 1500 Vdc / 1 minuto (1000 Vac / 1 minuto)
Dissipação máxima de potência 5W

5
2. DESCRIÇÃO TÉCNICA

XP300 XP315 XP325 XP340 XP350


0,5 mm2 (20 AWG) com virola
Área máxima do cabeamento
1,5 mm2 (16 AWG) sem virola
Classificação mínima da temperatura do fio 75 ◦ C
Material do fio Apenas cobre
Índice de proteção IP 20
Revestimento isolante de circuitos eletrônicos Sim
Temperatura de operação -20 a 60 ◦ C
Temperatura de armazenamento -25 a 75 ◦ C
Umidade relativa de operação e armazena-
5% a 96%, sem condensação
mento
7 mm de 5 a 8,4 Hz
Resistência à vibração (IEC 60068-2-6, sinus) 2 G de 8,4 a 500 Hz
10 em cada eixo, 1 oitava por minuto
Resistência ao choque (IEC 60068-2-27, half-
15 G por 11 ms, 6 choques em cada um dos 3 eixos
sine)
IEC 61131-2
CE – 2011/65/EU (RoHS), 2014/35/EU (LVD)
and 2014/30/EU (EMC)
UL/cUL Listed - UL 61010-1 (file E473496)
Normas e Certificações
DNV Type Approval – DNV-CG-0339 (TAA000034G)

Dimensões do produto (L x A x P) 215,5 x 98,8 x 34,0 mm


Dimensões da embalagem (L x A x P) 270,0 x 102,0 x 40,0 mm
Peso 370 g
Peso com embalagem 430 g

Tabela 3: Características Gerais

Notas:
Entradas analógicas V/I (EA): Por padrão, cada entrada analógica é composta por 2 terminais (AIx.V e AIx.I), e ao
selecionar um modo (V, por exemplo), o outro pino (I, por exemplo) fica sem uso. Com a função AnalogInputProbe, fornecida
pela biblioteca LibIntegratedIoExt, é possível utilizar estas entradas livres, permitindo ter até 10 entradas analógicas (5 nos
terminais AIx.V e outros 5 nos terminais AIx.I), com as mesmas características técnicas informadas neste documento. Para
informações adicionais, consulte o Suporte Técnico.
Controle de movimento (motion): Suporte a blocos de função PLCopen Motion Control Part 1 para comando de eixo
único, sincronização de multi eixos, engrenagem eletrônica (CAME), editor especial para planejar movimentos (CAM), entre
outros.
Número Máximo de Tarefas: Este valor representa o número máximo de tarefas do usuário e do sistema. A descrição
detalhada de possíveis tarefas do usuário pode ser encontrada na seção Perfis do projeto no Manual do usuário. Antes do
MasterTool IEC XE v3.30, esse valor era definido como "5".
Isolação: O termo Lógica refere-se às interfaces internas, como processadores, memórias e interfaces de comunicação
USB, Serial e CAN.
Revestimento isolante de circuitos eletrônicos: O revestimento isolante protege os componentes eletrônicos no interior
do produto contra umidade, poeira e outros elementos agressivos para circuitos eletrônicos.
Temperatura de operação: A temperatura mínima de operação é 0°C para unidades com revisão de produto inferior a
AS/AS/AW/AE para XP300/XP315/XP325/XP340, respectivamente.

6
2. DESCRIÇÃO TÉCNICA

2.2.2. Memória

XP300 XP315 XP325 XP340 XP350


Memória de variáveis de entrada de represen-
2 KB
tação direta (%I)
Memória de variáveis de saída de representa-
2 KB
ção direta (%Q)
Memória de variáveis de representação direta
1 KB
(%M)
Memória de variáveis simbólicas 2 MB 2 MB 2 MB 6 MB 2 MB
Memória de programa 3 MB 3 MB 3 MB 8 MB 3 MB
Memória total
Memória de programa (Máx. definido por
modelo) +
64 Mbytes
Memória de código fonte (backup) +
Memória de arquivos de Webvisu
Memória retentiva/persistente 7,5 KB
(Expansível até 64 KB através do uso de Receitas
(configurável pelo usuário) armazenadas na memória de arquivos de usuário
(ver artigo na base de conhecimento))
Memória de arquivos do usuário (backup) 8 MB

Tabela 4: Memória

Notas:
Memória de programa: A partir da versão 3.40 do MasterTool IEC XE, a memória foi ampliada de 2MB para 3MB nos
modelos XP300, XP315 e XP325 e de 6MB para 8MB no modelo XP340.
Memória de variáveis simbólicas Retentivas e Persistentes: Área onde são alocadas as variáveis simbólicas retentivas.
Os dados retentivos mantêm seus respectivos valores mesmo após o ciclo de desligamento e energização de uma UCP. 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 o uso de variáveis persistentes simbólicas devem ser executados exclusiva-


mente por meio do objeto Persistent Vars, que pode ser incluído no projeto por meio da
visualização em árvore em Aplicação -> Adicionar Objeto -> Variáveis Persistentes. Não
deve ser utilizada a expressão VAR PERSISTENT na declaração de variáveis de campo de
POUs.

A lista completa de quando as variáveis persistentes simbólicas mantêm seus valores e quando o valor é perdido pode
ser encontrada na tabela a seguir. Além do tamanho da área persistente mencionado na tabela de características gerais, são
reservados 44 bytes para armazenar informações sobre as variáveis persistentes (não disponíveis para uso).
A tabela a seguir mostra o comportamento de variáveis retentivas e persistentes para diferentes situações em que “-“
significa que o valor é perdido e “X” significa que o valor é mantido.

Comando Variável Simbólica Variável Retentiva Variável Persistente


Reset a quente / Ciclo liga/desliga - X X
Reset a frio - - X
Reset origem - - -
Download - - X
Alteração online X X X
Reiniciar CP - X X

7
2. DESCRIÇÃO TÉCNICA

Comando Variável Simbólica Variável Retentiva Variável Persistente


Limpar tudo - - X
Reset Process (IEC 60870-5-104) - X X

Tabela 5: Comportamento de variável após comando

2.2.3. Protocolos

Interface
Protocolo aberto COM 1 / USB
MODBUS RTU Mestre COM 1
MODBUS RTU Escravo COM 1
MODBUS TCP Cliente NET 1
MODBUS TCP Servidor NET 1
MODBUS RTU via TCP Cliente NET 1
MODBUS RTU via TCP Servidor NET 1
CANopen Mestre CAN
CANopen Escravo CAN
(exceto XP350)
CAN low level CAN
SAE J-1939 CAN
OPC DA Servidor NET 1
OPC UA Servidor NET 1
EtherCAT Mestre NET 1
SNMP Agente NET 1
IEC 60870-5-104 Servidor NET 1
(apenas XP340)
EtherNet/IP Scanner NET 1
EtherNet/IP Adapter NET 1
MQTT Cliente NET 1 / USB
SNTP Cliente (para sincronismo do relógio) NET 1 / USB
PROFINET Controller NET 1
PROFINET Device -
OpenVPN Client NET 1
OpenVPN Server NET 1

Tabela 6: Protocolos

Notas:
USB: Necessário o uso de adaptador Serial, WiFi ou Modem.
PROFINET Controller: Habilitado para uso em rede simples (sem anel) com até 8 dispositivos. Para aplicações maiores,
consultar o suporte técnico.

8
2. DESCRIÇÃO TÉCNICA

2.2.4. RS-485

RS-485
Conector Bloco de terminação de 3 pinos
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)
Taxa de Transmissão 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps

Tabela 7: Característica da Interface Serial RS-485

2.2.5. CAN

CAN
Conector Bloco de terminação de 3 pinos
Interface Física Barramento CAN
Normas Suportadas CAN 2.0A 2.0B (identificadores de 11-bit e 29-bit)
Max. Número de nós 64
Terminação Sim (Configurável)
Taxa de Transmissão 10, 20, 50, 100, 125, 250, 500, 800, 1000 kbit/s

Tabela 8: Característica da Interface CAN

2.2.6. USB

USB
Conector USB A Fêmea
Interface Física USB V2.0
1.5 Mbps (Baixa Velocidade), 12 Mbps (Velocidade Nomi-
Taxa de Transmissão
nal) e 480 Mbps (Velocidade Máxima)
Corrente Máxima 500 mA
Dispositivos Suportados Dispositivo de armazenamento em massa
Conversor serial USB RS-232
Modem USB 3G/4G
Adaptador USB WiFi

Tabela 9: Característica da Interface USB

Notas:
Conversor serial USB RS-232: Consulte a lista de dispositivos suportados na seção Conversor USB para RS-232.
Modem USB 3G/4G: Consulte a lista de dispositivos suportados na seção Dispositivos Modem.
Adaptador USB WiFi: Consulte a lista de dispositivos suportados na seção Adaptadores WiFi.

9
2. DESCRIÇÃO TÉCNICA

2.2.7. Ethernet

Ethernet
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
Camada de Enlace LLC
Camada de Rede IP
Camada de Transporte TCP (Protocolo de Controle de Transmissão)
UDP (Protocolo de Datagrama de Usuário)
Diagnósticos LED (Link/Atividade)

Tabela 10: Característica da Interface Ethernet

2.2.8. Alimentação

Alimentação
Tensão de Entrada Nominal 24 Vdc
Tensão de Entrada 19,2 a 30 Vdc
Máxima Corrente de Entrada (in-rush) 50A / 300 us
Máxima Corrente de Entrada 300 mA

Tabela 11: Característica da Alimentação

2.2.9. Entradas Digitais

Entradas Digitais
Tipo de Entrada Ponto optoisolado tipo 1
Dois grupos isolados de 8 entradas cada
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 Entrada Sim
Tempo de Resposta 0,1 ms
Filtro de Entrada Desabilitado ou 2 ms a 255 ms – por software

Tabela 12: Característica das Entradas Digitais

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.

10
2. DESCRIÇÃO TÉCNICA

2.2.10. Entradas Rápidas

Entradas Rápidas
4 (podem ser usadas como contador rápido, interrupção
Número de entradas rápidas
externa ou entrada normal)
Número max. de contadores rá-
1
pidos
Número max. de interrupções ex-
2
ternas
Configuração dos conectores I00, I01, I02 e I03
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
Modos de 1 entrada:
Entrada digital normal
Interrupção externa
Modo de configuração Modos de 2 entradas:
Contador Up/Down (A conta, B sentido) com zera-
mento (usa I00, I01, I02)
Quadratura 2x (usa I00, I01)
Quadratura 2x com zeramento (usa I00, I01, I02)
Quadratura 4x (usa I00, I01)
Quadratura 4x com zeramento (usa I00, I01, I02)
Controle do sentido de contagem Por software ou hardware
Borda de detecção da entrada de Subida, ativa em nível lógico 1 (exceto para quadratura 4
contagem x, 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 entrada 100 kHz
Largura de pulso mínima
@ 24 Vdc 2 µs

Tabela 13: Característica das Entradas Rápidas

11
2. DESCRIÇÃO TÉCNICA

2.2.11. Saídas Digitais

Saídas Digitais
Tipo de Saída Ponto transistorizado optoisolado
Corrente Máxima de Saída 1,5 A por saída
12 A total
Corrente de fuga 35 µA
Resistência de saída 105 mΩ
Fonte de alimentação externa 19,2 a 30 Vdc
Tempo de comutação 20 µs - transição desligado para ligado @ 24 Vdc
500 µs - transição ligado para desligado @ 24 Vdc
Frequência máxima de comutação 250 Hz
Parâmetros configuráveis Sim
Indicação do estado de saída Sim
Proteções de saída Sim, proteção contra surtos de tensão

Tabela 14: Característica das Saídas Digitais

Nota:
Tempo de comutação: O tempo necessário para se desligar uma saída depende da carga empregada.

12
2. DESCRIÇÃO TÉCNICA

2.2.12. Saídas Rápidas

Saídas Rápidas
Número de saídas 4 (podem ser usadas como:
VFO/PWM, PTO ou saída normal)
Número Máx. de Saídas PTO 2
4 se não usar PTO
Número Máx. de Saídas
2 ao usar 1 PTO
VFO/PWM
0 ao usar 2 PTO
Configuração dos Conectores Q14, Q15, Q16 e Q17
Corrente Máxima 0 a 500 Hz: 1,5A por saída / 6,0A total
500 a 200 KHz: 0,5A por saída / 2,0A total
Tipo de Saída Saída Transistorizada
Máxima Frequência de Geração
200 kHz @ 60 mA
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 operandos reservados estáticos
Proteções Todas saídas rápidas possuem Diodo TVS
Tensão de Operação 19,2 a 30 Vdc
Impedância de Saída 700 mΩ
Saida digital normal
VFO/PWM
Modos de Saída
PTO (somente Q14 e Q16. Saidas adjacentes são forçadas
como saídas normais.)
PTO VFO/PWM
Escrita do valor de frequên-
Funções Executadas por Soft- Escrita do número de pulsos
cia a ser gerado (1 Hz a 200
ware a serem gerados
kHz).
Escrita do número de pulsos
Escrita do duty cycle das saí-
de aceleração e desacelera-
das (1% a 100%)
ção
Início / fim de operação das Início / fim de operação das
saídas saídas
Diagnósticos de saídas rápi- Diagnósticos de saídas rápi-
das das
Monitoração do estado atual
das saídas rápidas

Tabela 15: Característica das Saídas Rápidas

13
2. DESCRIÇÃO TÉCNICA

2.2.13. Entradas Analógicas

Entradas Analógicas
Entrada de tensão ou corrente, terminação única, configurada
Tipo de Entrada
individualmente
Formato dos dados 16 bits em complemento de dois, justificado à esquerda
Resolução do conversor Monotonia de 12 bits garantida, sem códigos perdidos
Tempo de conversão 400 µs (todos os canais V/I e RTD habilitados)
Indicação do estado da En-
Sim
trada
Sim, proteção contra surtos de tensão e inversão de polari-
Proteções de módulo
dade

Tabela 16: Característica das Entradas Analógicas

Entrada Modo Tensão


Faixas de entrada Faixa Escala de Engenharia Resolução
0 a 10 Vdc 0 a 30.000 2,5 mV
Precisão ±0,3 % do fundo de escala @ 25 ◦ C
± 0,010 % do fundo de escala / ◦ C
Sobre escala 3 % do fundo de escala
Tensão máxima de entrada 12 Vdc
Impedância de entrada 21 kΩ
Parâmetros configuráveis Tipo de sinal por entrada
Filtros
Constante de tempo do filtro
100 ms, 1 s, 10 s ou desabilitado
passa baixa

Tabela 17: Característica das Entradas Analógicas Modo Tensão

14
2. DESCRIÇÃO TÉCNICA

Entrada Modo Corrente


Faixas de entrada Faixa Escala de Engenharia Resolução
0 a 20 mA 0 a 30.000 5,12 µA
4 a 20 mA 0 a 30.000 5,12 µA
Precisão ±0,3 % do fundo de escala @ 25 ◦ C
± 0,015 % do fundo de escala / ◦ C
Sobre escala 3 % do fundo de escala
Corrente máxima de entrada 30 mA
Impedância de entrada 119 Ω
Parâmetros configuráveis Tipo de sinal por entrada
Filtros
Canal aberto
Constante de tempo do filtro
100 ms, 1 s, 10 s ou desabilitado
passa baixa

Tabela 18: Característica das Entradas Analógicas Modo Corrente

Nota:
Faixas de entrada: Quando configurado como 4 a 20 mA, os sinais de entrada inferiores a 4 mA resultarão em valores
negativos (-7.500 para 0 mA). A partir da versão 3.16 do MasterTool IEC XE, um novo parâmetro chamado Valor de Circuito
Aberto foi incluído para selecionar o comportamento nesta situação. O valor padrão é Desabilitado (que fornece uma leitura
linear como descrito acima), tendo também a opção de fornecer uma leitura fixa igual aos limites inferior e superior (0 ou
30.000).

Entrada RTD
Precisão ±0,5 % do fundo de escala @ 25 ◦ C
Escalas suportadas Pt100, Pt1000, 0 a 400 Ω, 0 a 4000 Ω
Corrente de excitação 1 mA
Faixa de resistência (escala) 0 a 400 Ω (utilizado para PT100)
0 a 4000 Ω (utilizado para PT1000)
Sobre escala 5 % do fundo de escala
Parâmetros configuráveis Tipo de sinal por entrada
Filtros
Constante de tempo do filtro passa baixa 100 ms, 1 s, 10 s ou desabilitado
Impedância máxima do cabo do sensor
5Ω
(por cabo)

Tabela 19: Característica das Entradas Analógicas Modo RTD

15
2. DESCRIÇÃO TÉCNICA

2.2.14. Saídas Analógicas

Saídas Analógicas
Tipo de saída Saída de tensão ou corrente, configurada individualmente
Formato dos dados 16 bits em complemento de dois, justificado à esquerda
Resolução do conversor Monotonia de 12 bits garantida, sem códigos perdidos
Tempo de conversão 450 µs (todas as saídas habilitadas)
Indicação do estado da saída Sim
Sim, proteção contra surtos de tensão e inversão de polari-
Proteções de módulo
dade

Tabela 20: Característica das Saídas Analógicas

Saída Modo Tensão


Faixas de saída Faixa Escala de Engenharia Resolução
0 a 10 V 0 a 30.000 2,5 mV
Precisão ±0,3 % do fundo de escala @ 25 ◦ C
± 0,025 % do fundo de escala / ◦ C
Tempo de estabilização 4 ms
Valor máximo de saída + 10,3 Vdc
Impedância de carga > 1 kΩ
Parâmetros configuráveis Tipo de sinal por saída

Tabela 21: Características das Saídas Analógicas Modo Tensão

Saída Modo Corrente


Faixas de saída Faixa Escala de Engenharia Resolução
0 a 20 mA 0 a 30.000 5,18 µA
4 a 20 mA 0 a 30.000 5,18 µA
Precisão ±0,3 % do fundo de escala @ 25 ◦ C
± 0,020 % do fundo de escala / ◦ C
Tempo de estabilização 4 ms
Valor máximo de saída + 20,6 mA
Impedância de carga < 600 Ω
Parâmetros configuráveis Tipo de Sinal por Saída

Tabela 22: Característica das Saídas Analógicas Modo Corrente

Nota:
Faixas de Saída: Quando configurada como 4 a 20 mA, a saída pode ser configurada para valores inferiores a 4 mA,
atribuindo valores negativos à variável de saída (-7.500 para 0 mA).

16
2. DESCRIÇÃO TÉCNICA

2.3. Compatibilidade com Outros Produtos


Para desenvolver uma aplicação para controladores Nexto Xpress, é necessário verificar a versão do MasterTool IEC XE. A
tabela a seguir mostra a versão mínima necessária (onde os controladores foram introduzidos) e a respectiva versão de firmware
naquele momento:

Modelo do controlador MasterTool IEC XE Versão de Firmware


XP300, XP315 e XP325 3.10 ou superior 1.7.0.0 ou superior
XP340 3.18 ou superior 1.8.0.0 ou superior
XP350 3.50 ou superior 1.12.5.0 ou superior

Tabela 23: Compatibilidade com Outros Produtos

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 do controlador Nexto Xpress depende de:
Tempo de Intervalo da Aplicação
Tempo da Aplicação do Usuário
Tempo do Sistema Operacional
Número de canais habilitados de E/S integrada

2.4.1. Tempo de Intervalo


A aplicação e a atualização de E/S são executadas em uma tarefa cíclica (periódica) chamada MainTask. O tempo de
intervalo desta tarefa pode ser configurado de 5 a 100 ms. O tempo gasto para essas operações é chamado de Tempo de Ciclo
e sempre deve ser menor que o intervalo, porque o tempo livre é usado para comunicação e outras tarefas de baixa prioridade
do controlador.
Além disso, as E/S integradas podem ser atualizadas de forma assíncrona em qualquer ponto do código de aplicação do
usuário, usando as funções de atualização disponíveis na seção Atualização de Entradas e Saídas.

2.4.2. Tempos da Aplicação


O tempo de execução da aplicação (tempo de ciclo) depende das seguintes variáveis:
Tempo de leitura de entradas integradas
Tempo de execução de tarefa
Tempo de escrita de saídas integradas
O tempo necessário para ler e escrever na E/S integrada depende do número e do tipo de canais de E/S habilitados. Para E/S
digitais, todos os canais estão sempre ativados e o tempo adicionado à MainTask não é relevante. Para E/S analógicas, o tempo
adicionado à MainTask é determinado pelo tempo de conversão (para entradas analógicas) e pelo tempo de atualização (para
saídas analógicas), ambos descritos na tabela Características Gerais.

17
2. DESCRIÇÃO TÉCNICA

2.4.3. Tempo para a Execução de Instruções

A tabela abaixo apresenta o tempo necessário para a execução de diferentes instruções nas UCPs Nexto Xpress.

Instrução Linguagem Variáveis Tempos da Instrução (µs)


1000 Contatos LD BOOL 10
INT 180
ST
REAL 40
1000 Divisões
INT 180
LD
REAL 40
INT 13
ST
REAL 13
1000 Multiplicações
INT 13
LD
REAL 13
INT 13
ST
REAL 13
1000 Somas
INT 13
LD
REAL 13

Tabela 24: Tempos de Instrução

2.4.4. Tempo de Inicialização


O tempo de inicialização do controlador Nexto Xpress é de aproximadamente 40 s.

18
2. DESCRIÇÃO TÉCNICA

2.5. Dimensões Físicas


Dimensões em mm.

Figura 3: Dimensões Físicas do XP3xx

19
2. DESCRIÇÃO TÉCNICA

2.6. Dados de Compra

2.6.1. Itens Integrantes


A embalagem do produto possui os seguintes itens:
Módulo CP Compacto
Conectores

2.6.2. Código do Produto

Os seguintes códigos devem ser usados para compra do produto:

Código Descrição
CP Compacto de alta-velocidade com 16 ED, 16 SD à Transistor, 1
XP300
porta Ethernet, 1 porta serial RS-485 e Mestre CANopen
CP Compacto de alta-velocidade com 16 ED, 16 SD à Transistor, 5 EA
XP315 V/I, 2 EA RTD (3 fios), 1 porta Ethernet, 1 porta serial RS-485 e Mestre
CANopen
CP Compacto de alta-velocidade com 16 ED, 16 SD à Transistor, 5 EA
XP325 V/I, 2 EA RTD (3 fios), 4 SA, 1 porta Ethernet, 1 porta serial RS-485 e
Mestre CANopen
CP compacto de alta velocidade com 16 ED, 16 SD à Transistor, 5 EA
XP340 V/I, 2 EA RTD (3 fios), 4 SA, 1 porta Ethernet, 1 porta serial RS-485,
Mestre CANopen e suporte a páginas web de usuário
CP Compacto de alta-velocidade com suporte a controle de movimento
XP350 (motion), 16 ED, 16 SD à Transistor, 5 EA V/I, 2 EA RTD (3 fios), 1
porta Ethernet, 1 porta serial RS-485 e Mestre CANopen

Tabela 25: Modelos de Controladores Nexto Xpress

2.7. Produtos Relacionados


Os seguintes produtos devem ser adquiridos separadamente quando necessário:

Código Descrição
MT8500 MasterTool IEC XE
NX9202 Cabo RJ45-RJ45 2 m
NX9205 Cabo RJ45-RJ45 5 m
NX9210 Cabo RJ45-RJ45 10 m
AL-2600 Derivador e terminador de rede RS-485
AL-2306 Cabo RS-485 p/ rede MODBUS ou CAN
AL-1766 Cabo CFDB9-borneira
FBS-USB-232M9 Cabo conversor universal USB-Serial / 2m
Adaptador USB TP-Link nano Wireless 150 Mbps TL-WN725N (dis-
XP900
ponível apenas no Brasil)
AMJG0808 Cabo simples RJ45-RJ45 2 m
XP101 Expansão Nexto Xpress, 16 ED 24 Vdc

20
2. DESCRIÇÃO TÉCNICA

Código Descrição
XP106 Expansão Nexto Xpress, 8 ED 24 Vdc e 6 SD Relé
XP201 Expansão Nexto Xpress, 16 SD à Transistor
TLE3-21100 Gateway IoT Industrial

Tabela 26: Produtos Relacionados

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.
NX92xx: Cabo para a programação das UCPs da Série Nexto e Ethernet ponto-a-ponto com outro dispositivo com interface
Ethernet.
AL-2600: Este módulo é utilizado para derivação e terminação de redes RS-485. Para cada nó da rede, deve existir um
AL-2600. Os módulos AL-2600 que estiverem nas extremidades da rede devem ser configurados com terminação, exceto
quando há um dispositivo com terminação interna ativa, o restante deve ser configurado como derivação.
AL-2306: Cabo blindado de dois pares trançados, sem conectores, para ser utilizado em redes RS-485 ou CAN.
AL-1766: Cabo com um conector DB9 fêmea e terminais para comunicação entre as IHM P2 e controladores Nexto
Xpress/NX3003.
FBS-USB-232M9: Cabo para uso como um conversor USB-serial na interface USB dos controladores Xpress.
AMJG0808: Cabo para a programação das UCPs.
XP101 / XP106 / XP201: Módulos de expansão CANopen.

21
3. INSTALAÇÃO

3. Instalação
Este capítulo apresenta os procedimentos necessários para a instalação física dos controladores Nexto Xpress, bem como
os cuidados que devem ser tomados com outra instalação dentro do painel onde o controlador está instalado.
CUIDADO
Se o equipamento for utilizado de maneira não especificada neste manual, a proteção forne-
cida pelo equipamento poderá ser prejudicada.

ATENÇÃO

Para aplicações marítimas, além das instruções padrão descritas neste capítulo, os seguintes
requisitos de instalação devem ser atendidos:
O produto deve ser instalado em um painel metálico.
A porta de alimentação de 24 Vdc deve ser equipada com filtro TDK-Lambda modelo
RSMN-2003 ou equivalente.
Os cabos de todas as portas (alimentação, E/S e comunicação) devem ser
equipados com um par de ferrites de baixa/alta frequência Wurth Electronics
74272221/74271221 ou equivalente.

3.1. Instalação Mecânica


Os controladores Nexto Xpress foram projetados para serem instalados em um trilho DIN padrão. Além disso, o usuário
deve fornecer um painel adequado que atenda aos requisitos de proteção e segurança do sistema. As próximas seções mostram
os procedimentos para instalar e remover o controlador.
CUIDADO
Para obter a especificação de temperatura do controlador, a instalação deve fornecer um
espaço livre ao redor do dispositivo, conforme descrito na seção Projeto do Painel do Manual
de Utilização da Série Nexto Código MU214000.

3.1.1. Instalando o Controlador


Para instalar o controlador no trilho DIN, primeiro configure as duas travas na posição aberta conforme indicado na figura
abaixo:

Figura 4: Movendo as travas para a posição aberta

22
3. INSTALAÇÃO

Em seguida, coloque o controlador no trilho DIN, encaixando o lado superior primeiro e depois o lado inferior, conforme
indicado nas etapas 1 e 2 da figura abaixo:

Figura 5: Posicionando o Controlador no Trilho DIN

Finalmente, mova as duas travas para a posição fechada para travar o controlador no trilho DIN, conforme mostrado na
figura abaixo:

Figura 6: Travando o Controlador no Trilho DIN

23
3. INSTALAÇÃO

3.1.2. Removendo o Controlador


Para remover o controlador do trilho DIN, basta mover as duas travas para a posição aberta, conforme mostrado na figura
abaixo:

Figura 7: Destravando o Controlador no Trilho DIN

24
3. INSTALAÇÃO

3.2. Instalação Elétrica


PERIGO
Ao executar qualquer instalação em um painel elétrico, certifique-se de que a fonte de energia
esteja DESLIGADA.

Figura 8: Diagrama de Instalação Elétrica do XP3xx

25
3. INSTALAÇÃO

Notas do Diagrama:

Conexão típica da saída analógica no modo de tensão / corrente.

Conexão típica de saída digital (tipo fonte).

Fonte de alimentação externa para alimentação das saídas Q00 à Q17, os bornes Q+ devem ser conectados ao
+24 Vdc, e borne Q- deve ser conectado ao 0 Vdc.

Terminais de aterramento de proteção para a fonte de alimentação e portas de comunicação. Ambos devem estar
conectados externamente ao terra.

Conexão típica da interface serial RS-485.

Conexão típica da interface CAN.

Verifique a tabela de características técnicas da porta USB para obter a lista de dispositivos suportados.

Use cabos Ethernet informados na seção Produtos Relacionados.

Conexão típica de entrada digital (tipo sink). C0 e C1 são os pontos comuns para os grupos isolados I0x e I1x
respectivamente.

Conexão típica da entrada analógica de corrente (dispositivo de campo com alimentação fornecida separadamente
do sinal analógico).

Conexão típica da entrada analógica de corrente (dispositivo de campo com alimentação fornecida com o sinal
analógico, 2 fios).

Conexão típica de entrada analógica de tensão.

Conexão típica de entrada analógica RTD (3 fios).

Conexão da fonte de alimentação externa.

Terminal terra de proteção.

26
3. INSTALAÇÃO

3.3. Conexão de Rede Ethernet


A interface de comunicação ETH, identificada como NET 1 no MasterTool IEC XE, permite a conexão com uma rede
Ethernet e a programação com esta ferramenta.
A conexão de rede Ethernet utiliza cabos de par trançado (10/100Base-TX) e a detecção de velocidade é feita automatica-
mente pelo controlador Nexto Xpress. Este cabo deve ter uma de suas extremidades conectadas à interface e outra ao HUB,
switch, microcomputador ou outro ponto de rede Ethernet.

3.3.1. Endereço IP
A interface Ethernet vem com a seguinte configuração de parâmetros padrão:

NET 1
Endereço IP 192.168.15.1
Máscara de sub-rede 255.255.255.0
Endereço do Gateway 192.168.15.253

Tabela 27: Configuração de Parâmetros Padrão para a Interface Ethernet NET 1

Primeiro, a interface NET 1 deve estar conectada a uma rede de PC com a mesma máscara de sub-rede para se comunicar
com o MasterTool IEC XE, onde os parâmetros de rede podem ser modificados. Para mais informações sobre configuração e
modificações de parâmetros, veja a seção Interface Ethernet.

3.3.2. ARP Gratuito


A interface Ethernet NET1 envia prontamente pacotes do tipo ARP na transmissão, informando seu endereço IP e MAC
para todos os dispositivos conectados à rede. Esses pacotes são enviados durante o download de uma nova aplicação pelo
software MasterTool IEC XE e na inicialização do controlador quando a aplicação entra no modo Run.
Cinco comandos ARP são acionados com um intervalo inicial de 200 ms, duplicando o intervalo a cada novo comando
acionado, totalizando 3 s. Exemplo: primeiro disparo ocorre no tempo 0, o segundo em 200 ms e o terceiro em 600 ms e assim
por diante até o quinto disparo no tempo 3 s.

3.3.3. Instalação do Cabo de Rede


A porta Ethernet do Nexto Xpress possui pinagem padrão que é a mesma usada em PCs. O tipo de conector, o tipo de cabo,
o nível físico, entre outros detalhes, são definidos na tabela de Características Gerais. Abaixo está a descrição do conector
fêmea RJ-45, com a identificação e descrição da pinagem válida para os níveis físicos 10Base-T e 100Base-TX.

27
3. INSTALAÇÃO

Figura 9: Conector Fêmea RJ45

Pino Sinal Descrição


1 TXD + Transmissão de dados, positivo
2 TXD - Transmissão de dados, negativo
3 RXD + Recepção de dados, positivo
4 NU Não usado
5 NU Não usado
6 RXD - Recepção de dados, negativo
7 NU Não usado
8 NU Não usado

Tabela 28: Pinagem do Conector Fêmea RJ45

A interface pode ser conectada em uma rede de comunicação através de um hub ou switch, ou diretamente no equipamento
de comunicação. Neste último caso, devido ao recurso Auto Crossover, não há necessidade de um cabo de rede cross-over,
aquele usado para conectar dois PCs ponto-a-ponto via porta Ethernet.
É importante ressaltar que se entende por cabo de rede um par de conectores macho RJ45 conectados por um cabo UTP ou
ScTP, categoria 5, seja em linha reta ou cruzada. É usado para comunicar dois dispositivos através da porta Ethernet.
Esses cabos normalmente possuem uma trava de conexão que garante uma conexão perfeita entre o conector fêmea da
interface e o conector macho do cabo. No momento da instalação, o conector macho deve ser inserido no conector fêmea do
módulo até ouvir um clique, garantindo a ação da trava. Para desconectar o cabo do módulo, a alavanca de trava deve ser usada
para destravar um do outro.

3.4. Conexão de Rede Serial RS-485 e CAN


Conforme ilustrado no diagrama Instalação Elétrica, as interfaces RS-485 e CAN usam dois sinais de comunicação e um
terra. O cabo recomendado é o AL-2306, usando um dos dois pares e a blindagem. Se o controlador for colocado em uma das
extremidades da rede, a terminação interna deverá ser habilitada (consulte as seções de configuração UCP do Controlador e
Interface Serial para CAN e RS-485, respectivamente).

28
4. PROGRAMAÇÃO INICIAL

4. Programação Inicial
O principal objetivo deste capítulo é ajudar na programação e configuração dos controladores Nexto Xpress, possibilitando
ao usuário tomar os primeiros passos antes de começar a programar o dispositivo.
Assim como para os demais dispositivos da Série Nexto, a programação dos controladores Nexto Xpress é feita através da
interface de desenvolvimento do MasterTool IEC XE (IDE), que oferece um completo sistema de programação IEC 61131-
3 com todas as linguagens definidas por este padrão (ST, LD, SFC, FBD, etc.) e uma adicional, o CFC. Essas linguagens
podem ser usadas simultaneamente no mesmo projeto, permitindo que o usuário use os melhores recursos de cada linguagem,
resultando em desenvolvimento de aplicações mais eficiente, para fácil documentação e manutenção futura.
Para mais informações sobre a programação, consulte o Manual de Utilização MasterTool IEC XE - MU299048, Manual
de Programação do MasterTool IEC XE - MU399048 ou o padrão IEC 61131-3.

4.1. Organização e Acesso à Memória


Diferentemente de outros dispositivos da Série Nexto (baseados em UCP big-endian), os controladores Nexto Xpress
são baseados em uma UCP ARM, que utiliza a tradicional organização de memória little-endian (a mesma encontrada nos
processadores x86 e Intel). Nesse tipo de organização de memória, o byte menos significativo é armazenado primeiro e sempre
será o menor endereço (por exemplo, %QB0 sempre será menos significativo que %QB1, conforme mostrado na tabela abaixo,
onde, para CPUNEXTO, a letra O é o byte 0 e a letra C é o byte 7).
Além disso, o acesso à memória deve ser feito com cuidado, pois as variáveis com maior número de bits (WORD, DWORD,
LONG), usam como índice o byte mais significativo, ou seja, o %QD4 sempre terá como byte mais significativo o %QB4.
Portanto, não será necessário fazer cálculos para descobrir quais DWORD correspondem aos bytes definidos. A Tabela 29
mostra as organizações little-endian e big-endian.

MSB ← Little-endian → LSB


BYTE %QB7 %QB6 %QB5 %QB4 %QB3 %QB2 %QB1 %QB0
C P U N E X T O
WORD %QW3 %QW2 %QW1 %QW0
CP UN EX TO
DWORD %QD1 %QD0
CPUN EXTO
LWORD %QL0
CPUNEXTO
MSB ← Big-endian → LSB
BYTE %QB0 %QB1 %QB2 %QB3 %QB4 %QB5 %QB6 %QB7
C P U N E X T O
WORD %QW0 %QW2 %QW4 %QW6
CP UN EX TO
DWORD %QD0 %QD4
CPUN EXTO
LWORD %QL0
CPUNEXTO

Tabela 29: Exemplo Organização e Acesso à Memória

29
4. PROGRAMAÇÃO INICIAL

SIGNIFICÂNCIA SOBREPOSIÇÃO

Bit Byte Word DWord LWord Byte Word DWord

%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

Tabela 30: Organização e Acesso à Memória

30
4. PROGRAMAÇÃO INICIAL

4.2. Perfis de Projeto


Um perfil de projeto no MasterTool IEC XE consiste em um modelo de aplicação combinado com um grupo de regras de
verificação que orienta o desenvolvimento da aplicação, reduzindo a complexidade da programação. Para controladores Nexto
Xpress, existe apenas um perfil de projeto disponível: Perfil de Máquina.
O perfil do projeto é selecionado no assistente de criação do projeto. Cada perfil de projeto define um modelo de nomes
padrão para as tarefas e programas, que são pré-criados de acordo com o perfil do projeto selecionado. Além disso, durante a
compilação do projeto (gerar código), o MasterTool IEC XE verifica todas as regras definidas pelo perfil selecionado.
As seções a seguir detalham as características de cada perfil. É importante notar que a ferramenta de programação permite
a mudança de perfil de um projeto existente (consulte a seção de atualização do projeto no Manual de Utilização do MasterTool
IEC XE - MU299048), mas cabe ao desenvolvedor fazer os ajustes necessários para que o projeto se torne compatível com as
regras do novo perfil selecionado.

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 do MasterTool IEC XE –
MU299048.

4.2.1. Perfil de Máquina


No perfil de Máquina, por padrão, a aplicação possui uma tarefa de usuário do tipo Cíclica denominada MainTask. Esta ta-
refa é responsável pela execução de uma única unidade de programação do tipo Program denominada MainPrg. Este programa
pode chamar outras unidades de programação do tipo Program, Function ou Function Block, mas todo o código do usuário
será executado exclusivamente pela tarefa MainTask.
Este perfil se caracteriza por permitir intervalos menores na tarefa MainTask, permitindo a execução mais rápida do código
do usuário. Este perfil pode adicionalmente incluir uma tarefa de interrupção de tempo, denominada TimeInterruptTask00,
com maior prioridade que a tarefa MainTask e que consequentemente pode interromper a execução dela a qualquer momento.

Tarefa POU Prioridade Tipo Intervalo Evento


MainTask MainPrg 13 Cíclica 20 ms -
TimeInterruptTask00 TimeInterruptPrg00 01 Cíclica 4 ms -

Tabela 31: Tarefas no Perfil de Máquina

Além disso, esse perfil suporta a inclusão de tarefas adicionais associadas às interrupções externas e de contador, resultando
em um máximo de 5 tarefas para a aplicação do usuário.

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.

31
4. PROGRAMAÇÃO INICIAL

4.3. Configurando a UCP


A configuração da UCP do controlador está localizada na árvore de dispositivos, conforme mostrado na figura abaixo, e
pode ser acessada com um clique duplo no objeto correspondente. Nesta aba é possível configurar o comportamento do cão de
guarda, sincronismo do clock, entre outros parâmetros, conforme descrito na seção UCP do Controlador.

Figura 10: Configuração da UCP

Além disso, ao clicar duas vezes no ícone NET 1 do controlador, é possível configurar a interface Ethernet que será utilizada
para comunicação entre o controlador e o software MasterTool IEC XE.

32
4. PROGRAMAÇÃO INICIAL

Figura 11: Configurando a Porta de Comunicação

A configuração definida nesta guia será aplicada ao dispositivo somente ao enviar a aplicação para o dispositivo (download),
que é descrito mais adiante nas seções Localizando o Dispositivo e Login.
Além disso, a árvore de dispositivos também oferece a configuração das E/S integradas disponíveis nos controladores
Nexto Xpress, conforme mostrado na figura abaixo. Nesta aba é possível configurar filtros de entradas digitais, o modo de
cada entrada analógica, entre outros parâmetros.

Figura 12: Configurando as E/S Integradas

33
4. PROGRAMAÇÃO INICIAL

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
informações sobre as bibliotecas disponíveis podem ser encontrados no Manual de Programação IEC 61131 – MP399048.

4.5. Inserindo uma Instância de Protocolo


Os controladores Nexto Xpress, conforme o capítulo Características Gerais, oferecem diversos protocolos de comunicação.
Exceto as comunicações OPC, que possuem um procedimento de configuração diferente, para inserir um protocolo basta clicar
com o botão direito sobre a interface de comunicação desejada, adicionar o dispositivo e finalmente configurar a instância do
protocolo conforme descrito na seção Protocolos de Comunicação. A seguir são apresentados alguns exemplos.

4.5.1. MODBUS Ethernet


O primeiro passo para configurar o MODBUS Ethernet (Servidor neste exemplo) é incluir a instância na NET desejada
(neste caso, NET 1, já que o XP3xx possui apenas uma interface Ethernet). Clique na NET com o botão direito do mouse e
selecione Acrescentar Dispositivo..., como mostrado na Figura 13:

Figura 13: Adicionando a Instância

34
4. PROGRAMAÇÃO INICIAL

Depois disso, a lista de protocolos aparecerá na tela. Basta selecionar o MODBUS Symbol Server conforme descrito na
figura abaixo:

Figura 14: Selecionando o Protocolo

35
4. PROGRAMAÇÃO INICIAL

4.6. Localizando o Dispositivo


Para estabelecer a comunicação do controlador com a ferramenta MasterTool IEC XE, é necessário em primeiro lugar
localizar e selecionar o dispositivo desejado. A configuração desta comunicação está localizada no objeto Device na árvore
de dispositivos, na aba Configurações de Comunicação. Nesta tela, ao selecionar o Gateway e clicar no botão Mapear Rede,
o software MasterTool IEC XE realiza a busca por dispositivos e apresenta os controladores encontrados na rede da interface
Ethernet da estação onde está sendo executada a ferramenta.

Figura 15: Localizando o Dispositivo

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 o controlador desejado e clicar na opção Definir Caminho Ativo. Esta ação seleciona o
dispositivo e informa ao configurador qual controlador deve ser utilizado para comunicar e enviar o projeto.

36
4. PROGRAMAÇÃO INICIAL

Figura 16: Selecionando o Controlador

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 do controlador que se deseja 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.

Figura 17: Easy Connection

Este comando realiza uma comunicação em nível MAC com o dispositivo, permitindo alterar permanentemente a configu-
ração da interface Ethernet do controlador, 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.

37
4. PROGRAMAÇÃO INICIAL

4.7. Login
Após compilar a aplicação e corrigir todos os erros encontrados, é o momento de enviar o projeto para o controlador. 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.

Figura 18: Enviando o Projeto para o controlador

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:

Figura 19: Aviso de configuração IP

Se não houver aplicação rodando no controlador, a seguinte mensagem será apresentada:

Figura 20: Sem aplicação no dispositivo

Caso já exista uma aplicação no controlador, dependendo das diferenças entre os projetos, serão disponibilizadas as se-
guintes opções:
Login com alteração online: executar o Login e enviar o novo projeto sem que a aplicação atual do controlador 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 o controlador parado (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.

38
4. PROGRAMAÇÃO INICIAL

Figura 21: Download de Nova Aplicação

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.

Figura 22: Alteração de Configuração

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:

Figura 23: Download de código fonte

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.

4.8. Modo Run


Logo após enviar o projeto para o controlador, a aplicação não será executada imediatamente (exceto no caso de uma
alteração online). Para que isto aconteça, o comando Iniciar deve ser executado. Desta forma, o usuário pode controlar a

39
4. PROGRAMAÇÃO INICIAL

execução da aplicação enviada para o controlador, permitindo que valores iniciais sejam pré-configurados para que sejam
utilizados no controlador no primeiro ciclo.
Para executar este comando, basta acessar o menu Depurar e clicar em Iniciar, conforme mostra a Figura 24.

Figura 24: Iniciando a Aplicação

A Figura 25 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.

Figura 25: Programa em Execução

40
4. PROGRAMAÇÃO INICIAL

Caso o controlador já tenha uma aplicaçã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.

4.9. Modo Stop


Para interromper a execução da aplicação, o usuário deve executar o comando Parar, disponível no menu Depurar, con-
forme mostra a Figura 26.

Figura 26: Parando a Aplicação

Caso o controlador seja inicializado sem aplicação gravada, ele automaticamente entra em Modo Stop, assim como quando
ocorre uma exceção de software.

4.10. Escrita e Forçamento de Variáveis


Após efetuar um Login em um CP, o usuário poderá escrever ou forçar valores em variáveis do projeto.
O comando de escrita (CTRL + F7) escreve um valor em uma variável, podendo este valor ser sobrescrito pelas instruções
executadas na aplicação.
Já um comando de escrita forçada (F7) irá escrever um valor na variável, sem permitir que este valor seja alterado até que
sejam liberadas as variáveis forçadas.
É importante ressaltar que, quando utilizados os protocolos MODBUS RTU Escravo e MODBUS Ethernet Servidor e a
opção Somente Leitura das relações configuradas não estiver selecionada, o comando de escrita forçada (F7) deve ser realizado
sobre as variáveis disponíveis na janela de monitoração, pois o comando de escrita (CTRL + F7) deixa as variáveis serem
sobrescritas quando realizadas novas leituras.

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.

41
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 o controlador, deve ser utilizado o comando Logout, localizado no menu Comu-
nicação, conforme mostra a Figura 27.

Figura 27: Encerrando a comunicação online com o controlador

4.12. Upload do Projeto


Os controladores Nexto possibilitam o armazenamento do código fonte do projeto na memória interna do dispositivo,
permitindo a futura recuperação completa do projeto(upload) e a realização de modificações na aplicação.
Para realizar a recuperação de um projeto previamente armazenado na memória interna do controlador, deve ser executado
o comando localizado no menu Arquivo conforme mostra a figura abaixo.

42
4. PROGRAMAÇÃO INICIAL

Figura 28: Opção de Upload de Projeto

Após, basta selecionar o controlador desejado e clicar em OK, conforme a Figura 29.

Figura 29: Selecionando o controlador

Para garantir que o projeto carregado do controlador 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.

43
4. PROGRAMAÇÃO INICIAL

ATENÇÃO

O tamanho da área de memória para armazenar um projeto nos controladores Nexto Xpress
está definido na tabela de Características Gerais.

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.

4.13. Estados de Operação da UCP


4.13.1. Run
Quando o controlador está em modo Run, todas as tarefas da aplicação são executadas.

4.13.2. Stop
Quando uma UCP está em modo Stop, todas as tarefas da aplicação estão paradas. Os valores 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.

4.13.5. Reset a Quente


Este comando coloca a UCP em modo Stop e inicializa todas as variáveis das tarefas da aplicação, exceto as variáveis dos
tipos retentiva e persistente. As variáveis inicializadas com um valor específico assumirão exatamente este valor, as demais
variáveis assumirão o valor padrão de inicialização (zero).

4.13.6. Reset a Frio


Este comando coloca a UCP em modo Stop e inicializa todas as variáveis das tarefas da aplicação, exceto as variáveis
do tipo persistente. As variáveis inicializadas com um valor específico assumirão exatamente este valor, as demais variáveis
assumirão o valor padrão de inicialização (zero).

4.13.7. Reset Origem


Este comando remove todas as variáveis das tarefas da aplicação, inclusive as variáveis do tipo persistente, e apaga a
aplicação da UCP.
Notas:

44
4. PROGRAMAÇÃO INICIAL

Reset: Quando um Reset é executado, os breakpoints definidos na aplicação são desabilitados.


Comando: Para executar um comando de Reset a Quente, Reset a Frio ou Reset Origem, é necessário estar com o Master-
Tool em modo Online no controlador.

4.13.8. Reset Process Command (IEC 60870-5-104)


Este comando de reset do processo pode ser solicitado pelos clientes IEC 60870-5-104. Depois de responder ao cliente, a
UCP entra num procedimento de reinicialização, como se estivesse sendo executado um ciclo de energização.
A norma IEC 60870-5-104 prevê a passagem de um valor de qualificação (0..255) com o comando de reset do processo,
mas este parâmetro não é considerado pela UCP.

4.14. Programas (POUs) e Listas de Variáveis Globais (GVLs)


O projeto criado pela ferramenta MasterTool IEC XE contém um conjunto de módulos de programa (POUs) e listas de
variáveis globais que visam facilitar a programação e a utilização do controlador. A seguir são descritos os principais elementos
que fazem parte desta estrutura padrão do projeto.

4.14.1. Programa MainPrg


A tarefa MainTask está associada a uma única POU do tipo programa, denominada MainPrg. O programa MainPrg é criado
automaticamente e não pode ser editado pelo usuário.
O código do programa MainPrg é o seguinte, em linguagem ST:

(*Main POU associated with MainTask that calls StartPrg,


UserPrg/ActivePrg and NonSkippedPrg.
This POU is blocked to edit.*)

PROGRAM MainPrg
VAR
isFirstCycle : BOOL := TRUE;
END_VAR

IF isFirstCycle THEN
StartPrg();
isFirstCycle := FALSE;
ELSE
UserPrg();
END_IF;

MainPrg chama outras duas POUs do tipo programa, denominadas StartPrg e UserPrg. Enquanto a UserPrg sempre é cha-
mada, 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 Wizard, estes dois programas são criados vazios, mas o usuário
poderá inserir código nos mesmos.

4.14.2. Programa StartPrg


Nesta POU o usuário pode criar lógicas, laços, iniciar variáveis, etc. que serão executados somente uma única vez no
primeiro ciclo do CP, antes de executar a POU UserPrg pela primeira vez, não sendo chamado novamente durante a execução
do projeto.
Caso o usuário carregue uma nova aplicação, ou se o CP for desenergizado, bem como em condições de Reset Origem,
Reset a Frio e Reset a Quente, esta POU será executada novamente.

45
4. PROGRAMAÇÃO INICIAL

4.14.3. Programa UserPrg


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).
O usuário pode também criar POUs adicionais (programa, funções ou bloco funcional), e chamá-las ou instanciá-las dentro
da POU UserPrg, para fins de estruturação de seu programa. Também é possível chamar funções e instanciar blocos funcionais
definidos em bibliotecas.

4.14.4. GVL IntegratedIO


A GVL IntegratedIO contém as variáveis correspondentes aos canais físicos integrados de entrada e saída.
A figura seguinte mostra um exemplo da apresentação desta GVL quando em modo Online.

Figura 30: GVL IntegratedIO quando em modo Online

4.14.5. GVL System_Diagnostics


Na GVL System_Diagnostics estão presentes as variáveis de diagnóstico da UCP do controlador, das interfaces de comu-
nicação e E/S. Essa GVL não é editável e as variáveis são declaradas automaticamente com tipo especificado pelo dispositivo
ao qual pertence quando este é adicionado ao projeto.

46
4. PROGRAMAÇÃO INICIAL

ATENÇÃO

Na GVL System_Diagnostics também são declaradas as variáveis de diagnóstico das requi-


sições MODBUS Mestre/Cliente por representação direta.

A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online.

Figura 31: GVL System_Diagnostics em Modo Online

4.14.6. GVL Disables


A GVL Disables contém as variáveis de desabilitação das requisições MODBUS Mestre/Cliente por mapeamento simbó-
lico. Não é obrigatória, mas é recomendada a utilização da geração automática destas variáveis, o que é feito clicando no botão
Gerar Variáveis de Desabilitação na aba de requisições do dispositivo. Essas variáveis são declaradas com o tipo BOOL e
seguem a seguinte estrutura:
Declaração de variável de desabilitação de requisição:
[Nome do Dispositivo]_DISABLE_[Número da Requisição] : BOOL;

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
VAR_GLOBAL
MODBUS_Device_DISABLE_0001 : BOOL;
MODBUS_Device_DISABLE_0002 : BOOL;
MODBUS_Device_DISABLE_0003 : BOOL;
MODBUS_Device_1_DISABLE_0001 : BOOL;
MODBUS_Device_1_DISABLE_0002 : BOOL;
END_VAR

47
4. PROGRAMAÇÃO INICIAL

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.

Figura 32: GVL Disable em Modo Online

4.14.7. GVL Qualities


A GVL Qualities contém as variáveis de qualidade dos mapeamentos de variáveis internas MODBUS Mestre/Cliente de
mapeamento simbólico. Não é obrigatória, mas é recomendada a utilização da geração automática destas variáveis, o que é
feito clicando no botão Gerar Variáveis de Qualidade na aba de mapeamentos do dispositivo. Essas variáveis são declaradas
com o tipo LibDataTypes.QUALITY e seguem a seguinte estrutura:
Declaração de variável de qualidade de mapeamento:
[Nome do Dispositivo]_QUALITY_[Número do Mapeamento]: LibDataTypes.QUALITY;

Onde:
Nome do dispositivo: Nome que aparece na TreeView 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 MOD-
BUS Mestre/Cliente por representação direta, portanto é recomendada a utilização de drivers
MODBUS de mapeamento simbólico.

Exemplo:
Device.Application.Qualities
VAR_GLOBAL
MODBUS_Device_QUALITY_0001: LibDataTypes.QUALITY;
MODBUS_Device_QUALITY_0002: LibDataTypes.QUALITY;
MODBUS_Device_QUALITY_0003: LibDataTypes.QUALITY;
END_VAR

48
4. PROGRAMAÇÃO INICIAL

A GVL Quality é 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
39.

ATENÇÃO

Se uma variável do driver MODBUS Mestre/Cliente de mapeamento simbólico for mape-


ada no driver IEC 60870-5-104 Servidor, é necessário que as variáveis de qualidade dos
mapeamentos 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 MODBUS 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.

49
4. PROGRAMAÇÃO INICIAL

Figura 33: GVL Qualities em Modo Online

50
4. PROGRAMAÇÃO INICIAL

4.14.8. GVL ReqDiagnostics


A GVL ReqDiagnostics contém as variáveis de diagnóstico das requisições MODBUS Mestre/Cliente de mapeamento
simbólico. Não é obrigatória, mas é recomendada a utilização da geração automática destas variáveis, o que é feito clicando
no botão Gerar Variáveis de Diagnóstico na aba de requisições do dispositivo. A declaração destas variáveis segue a seguinte
estrutura:
Declaração de variável de diagnóstico de requisição:

[Nome do Dispositivo]_REQDG_[Número da requisição]: [Tipo da Variável];

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 Master e
NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_ETH_MAPPING_1 para MODBUS Cliente.

ATENÇÃO

As variáveis de diagnóstico das requisições MODBUS Mestre/Cliente por representação


direta são declaradas na GVL System_Diagnostics.

Exemplo:
Device.Application.ReqDiagnostics

VAR_GLOBAL
MODBUS_Device_REQDG_0001 : NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_RTU_MAPPING_1;
MODBUS_Device_REQDG_0002 : NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_RTU_MAPPING_1;
MODBUS_Device_REQDG_0003 : NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_RTU_MAPPING_1;
MODBUS_Device_1_REQDG_0001 : NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_ETH_MAPPING_1;
MODBUS_Device_1_REQDG_0002 : NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_ETH_MAPPING_1;
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.

51
4. PROGRAMAÇÃO INICIAL

Figura 34: GVL ReqDiagnostics em Modo Online

52
5. CONFIGURAÇÃO

5. Configuração
Os controladores Nexto Xpress são configurados e programados através do software MasterTool IEC XE. A configuração
define o comportamento e o uso de periféricos e recursos especiais do controlador. A programação representa a aplicação
desenvolvida pelo usuário, também conhecida como Application.

5.1. UCP do Controlador


5.1.1. Parâmetros Gerais
Os parâmetros relativos à UCP do controlador estão localizados na visualização em árvore sob o item XP3xx, logo abaixo
de Configuration. Cada item deve ser propriamente verificado para a correta execução do projeto. Estes parâmetros estão
descritos abaixo:

Figura 35: Configuração da UCP

Configuração Descrição Padrão Opções


Parâmetros da UCP
Quando habilitado inicia a
aplicação do usuário após
o reset por cão-de-guarda
Iniciar Aplicação de Usuá-
do hardware ou através da Habilitado
rio após Reset por Cão-de- Desabilitado
reinicialização do Runtime, Desabilitado
Guarda
mas mantém a indicação do
diagnóstico via LED DG e
via variáveis
Configuração que permite o Marcado: permite o uso de
Habilita variáveis retenti-
uso de variáveis retentivas e variáveis retentivas e persis-
vas e persistentes em Blo- Desmarcado
persistentes em Blocos Fun- tentes nos Blocos Funcio-
cos Funcionais
cionais nais.
Desmarcado: se isso for
feito com esta opção des-
marcada, pode ocorrer um
erro de exceção na iniciali-
zação.
Quando habilitado, utiliza Marcado: terminação in-
Habilitar terminação in-
terminação interna na inter- Desmarcado terna na interface CAN ha-
terna
face CAN bilitada
Desmarcado: terminação in-
terna na interface CAN de-
sabilitada

Tabela 32: Configuração da UCP

53
5. CONFIGURAÇÃO

5.1.2. Sincronização Temporal


Para sincronização temporal, controladores Nexto Xpress usam o protocolo SNTP (Simple Network Time Protocol) ou o
sincronismo através do IEC 60870-5-104.
Para usar os protocolos de sincronismo, o usuário deve configurar os seguintes parâmetros na aba Sincronismo localizada
dentro da Configuração da UCP, em XP3xx, na visualização em árvore.

Figura 36: Configuração SNTP

Configuração Descrição Padrão Possibilidades


Fuso horário de sua locali-
Fuso Horário (hh:mm) dade. Pode ser inserida a -3:00 -12:59 a +13:59
hora e o minuto.
Serviço SNTP Ativa o serviço SNTP. Desabilitado Habilitado
Desabilitado
Intervalo de tempo das re-
Período de Sincronização
quisições de sincronização 60 1 a 255
do SNTP (x1 seg)
(segundos).
Erro Mínimo Antes da Valor de offset aceitável en-
Atualização do Relógio (x1 tre a hora do servidor e do 100 1 a 65519
ms) cliente (milissegundos).
Endereço IP do 1º Servi- Endereço IP do servidor
192.168.15.10 1.0.0.1 a 223.255.255.254.
dor SNTP SNTP primário.
Endereço IP do 2º Servi- Endereço IP do servidor
192.168.15.11 1.0.0.1 a 223.255.255.254.
dor SNTP SNTP secundário.

Tabela 33: Configurações SNTP

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. Se ambos os campos estiverem vazios, o serviço SNTP permanecerá desabilitado.
Fuso Horário: A configuração de fuso horário é usada para converter a hora local em UTC e vice-versa. Enquanto algumas
fontes de sincronização usam o horário local (Protocolo IEC 60870-5-104, Função SetDateAndTime), outras usam o horário
UTC (SNTP). A hora UTC é geralmente usada para marcar eventos (Protocolo IEC 60870-5-104 e LOG de Dispositivo do
MasterTool), enquanto a hora local é usada por outros recursos da UCP (função GetDateAndTime).
É permitido ativar mais de uma fonte de sincronização no projeto, no entanto, o dispositivo não suporta o sincronismo de
mais de uma fonte de sincronização durante a operação. Portanto, há implicitamente definido um mecanismo de prioridade. O
sincronismo através do SNTP é mais prioritário do que através do protocolo IEC 60870-5-104. Portanto, quando as duas fontes
estiverem ativadas e o servidor SNTP estiver presente, ele será responsável pela sincronização do relógio da UCP e qualquer
comando de sincronização do IEC 60870-5-104 será negado.

54
5. CONFIGURAÇÃO

5.1.2.1. IEC 60870-5-104

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.

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.

5.1.2.2. SNTP

Para o sincronismo via SNTP, o controlador 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. 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.
O controlador envia as requisições de sincronização cíclicas, de acordo com o tempo configurado no campo Período de
Sincronizaçã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 1º Servidor. Caso este não responda, as requisições são direcionadas
para o segundo servidor configurado em Endereço de IP do 2º 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, o controlador tenta se conectar
uma vez em cada servidor, ele 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 do controlador 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 do controlador é
atualizado.
O SNTP usa o horário no formato UTC (Universal Time Coordinated), logo o parâmetro de Fuso Horário deve ser configu-
rado 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, o controlador 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, o controlador 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 segundos para o Período de Sincronização. Caso o servidor primário não responda, o tempo para a sincronização
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 será de, no mínimo, 10 s (aguardo
da resposta dos dois servidores e nova tentativa de conexão com o 1º servidor).

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 o controlador estiver nos modos STOP ou BRE-
AKPOINT, desde que exista uma aplicação no controlador com o cliente SNTP habilitado e
corretamente configurado.

55
5. CONFIGURAÇÃO

5.1.2.3. Horário de Verão

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.

5.1.3. Pontos Internos


Um ponto de comunicação é armazenado na memória do CP sob a forma de duas variáveis distintas. Uma delas representa
o valor do ponto (tipo BOOL, BYTE, WORD, etc...), enquanto a outra representa a sua qualidade (tipo QUALITY). Pontos
Internos são aqueles cujo valor e qualidade são calculados internamente pela aplicação do usuário, isto é, não possuem uma
origem externa como ocorre para pontos associados a IEDs (drivers de comunicação do tipo Mestre/Cliente).
A função desta aba de configuração de Pontos Internos é relacionar a variável que representa o valor de um ponto com a
variável que representa a sua qualidade. Deve ser utilizada para relacionar variáveis de valor e qualidade criadas internamente
no programa do CP (como em uma GVL por exemplo), as quais tipicamente serão mapeadas posteriormente para um driver de
comunicação do tipo Servidor para comunicação com o centro de controle.

ATENÇÃO

Se uma variável de valor não possuir uma variável de qualidade relacionada, será reportada
uma qualidade padrão constante boa (nenhuma indicação significativa) quando a variável de
valor for reportada para um cliente ou centro de controle.

Desta forma, o objetivo desta aba não é criar ou declarar pontos internos. Para realizar isto, basta declarar as variáveis de
valor e/ou qualidade em uma GVL e mapeá-la no driver de comunicação.
A configuração dos pontos internos, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo. É possível
a configuração de até 5120 entradas na tabela de Pontos Internos.

Figura 37: Tela de Configuração dos Pontos Internos

Configuração Descrição Padrão Opções


Aceita variáveis do tipo
BOOL, WORD, DWORD,
LWORD, INT, DINT, LINT,
Variável simbólica que ar-
UINT, UDINT, ULINT,
Variable Name mazena o valor do ponto in- -
REAL, LREAL ou DBP. A
terno.
variável pode ser simples,
array ou elemento de array e
pode estar em estruturas.
Variáveis do tipo QUALITY
Variável simbólica que
(LibRtuStandard), que po-
armazena a qualidade do
Quality - dem ser simples, array ou
ponto interno representado
elemento de array e podem
em "Variable Name".
estar em estruturas.

56
5. CONFIGURAÇÃO

Tabela 34: Configuração dos Pontos Internos

A figura abaixo mostra um exemplo de configuração de dois pontos internos:

Figura 38: Exemplo de Configuração dos Pontos Internos

5.1.3.1. Conversões de Qualidade

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 como 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 armazena-
mento da qualidade, permitindo que sejam realizadas conversões entre protocolos sem que haja perda de informaçã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.

5.1.3.1.1. Qualidade Interna

Esta é a estrutura QUALITY, a tabela abaixo mostra detalhadamente cada um de seus componentes.

57
5. CONFIGURAÇÃO

Bit Nome Tipo Descrição


O identificador de RESTART indica que o
0 FLAG_RESTART BOOL dado não foi atualizado pelo campo desde
o Reset do dispositivo.
Indica que existe uma falha de comunica-
ção no caminho entre o dispositivo onde o
1 FLAG_COMM_FAIL BOOL
dado é originado e o dispositivo de relató-
rios.
Se TRUE, o valor dos dados é substituído
2 FLAG_REMOTE_SUBSTITUTED BOOL
em um dispositivo de comunicação remota.
Se TRUE, o valor do dado é substituído
pelo dispositivo que gerou esse identifica-
dor. Este comportamento pode ter ocor-
3 FLAG_LOCAL_SUBSTITUTED BOOL
rido devido a um funcionamento em diag-
nóstico ou temporário devido à intervenção
humana.
Identificador utilizado para sinalizar e pre-
venir a sobrecarga dos canais de comunica-
4 FLAG_FILTER BOOL
ção de eventos, como oscilações (mudan-
ças rápidas) nas entradas binárias.
Este identificador deve indicar um pro-
blema de qualidade, de que o valor, do atri-
5 FLAG_OVERFLOW BOOL
buto ao qual a qualidade for associada, está
além da capacidade de representação.
Este identificador deve indicar que o valor
6 FLAG_REFERENCE_ERROR BOOL pode não ser um valor correto devido à re-
ferência estar fora de calibração.
Este identificador deve indicar que uma
7 FLAG_INCONSISTENT BOOL função de avaliação detectou uma inconsis-
tência.
Este identificador deve indicar um erro de
qualidade que o atributo ao qual a quali-
8 FLAG_OUT_OF_RANGE BOOL
dade foi associada está além da capacidade
de valores pré-definidos.
Este identificador deve indicar que o valor
9 FLAG_INACCURATE BOOL
não atende a precisão declarada da fonte.
Um valor parece estar desatualizado, caso
10 FLAG_OLD_DATA BOOL uma atualização não ocorra em um período
de tempo especifico.
Este identificador deve indicar que uma
11 FLAG_FAILURE BOOL função de supervisão detectou uma falha
interna ou externa.
12 FLAG_OPERATOR_BLOCKED BOOL Atualização foi bloqueada pelo operador.
Test deve ser um identificador adicional
que pode ser usado para classificar um va-
13 FLAG_TEST BOOL
lor sendo um valor teste e que não será
usado para fins operacionais.
14-15 RESERVED - Reservado

58
5. CONFIGURAÇÃO

Bit Nome Tipo Descrição


0 – Good (Valor confiável, significa que
não há condição anormal)
16-17 VALIDITY QUALITY_VALIDITY
1 – Invalid (Valor não corresponde ao va-
lor no IED)
2 – Reserved (Reservado)
3 – Questionable (Valor presente pode não
ser o mesmo do IED)

Tabela 35: Estrutura QUALITY

5.1.3.1.2. Conversão IEC 60870-5-104

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.

Interno-> IEC 60870-5-104 Digital


Qualidade Interna
Identificadores VALIDITY Qualidade IEC 60870-5-104
FLAG_RESTART ANY NOT TOPICAL
FLAG_COMM_FAIL ANY NOT TOPICAL
FLAG_REMOTE_SUBSTITUTED ANY SUBSTITUTED
FLAG_LOCAL_SUBSTITUTED ANY SUBSTITUTED
FLAG_FILTER ANY -
FLAG_OVERFLOW ANY -
FLAG_REFERENCE_ERROR ANY -
FLAG_INCONSISTENT ANY -
FLAG_OUT_OF_RANGE ANY -
FLAG_INACCURATE ANY -
FLAG_OLD_DATA ANY NOT TOPICAL
FLAG_FAILURE ANY INVALID
FLAG_OPERATOR_BLOCKED ANY BLOCKED
FLAG_TEST ANY -
ANY VALIDITY_INVALID INVALID

Tabela 36: Conversão Interno para IEC 60870-5-104 de Pontos Digitais

Interno-> IEC 60870-5-104 Analógico


Qualidade Interna
Identificadores VALIDITY Qualidade IEC 60870-5-104
FLAG_RESTART ANY NOT TOPICAL
FLAG_COMM_FAIL ANY NOT TOPICAL
FLAG_REMOTE_SUBSTITUTED ANY SUBSTITUTED
FLAG_LOCAL_SUBSTITUTED ANY SUBSTITUTED
FLAG_FILTER ANY -
FLAG_OVERFLOW ANY OVERFLOW
FLAG_REFERENCE_ERROR ANY INVALID
FLAG_INCONSISTENT ANY INVALID

59
5. CONFIGURAÇÃO

Interno-> IEC 60870-5-104 Analógico


Qualidade Interna
Identificadores VALIDITY Qualidade IEC 60870-5-104
FLAG_OUT_OF_RANGE ANY OVERFLOW
FLAG_INACCURATE ANY INVALID
FLAG_OLD_DATA ANY NOT TOPICAL
FLAG_FAILURE ANY INVALID
FLAG_OPERATOR_BLOCKED ANY BLOCKED
FLAG_TEST ANY -
ANY VALIDITY_INVALID INVALID

Tabela 37: Conversão Interno para IEC 60870-5-104 de Pontos Analógicos

Interno-> IEC 60870-5-104 Contadores


Qualidade Interna
Identificadores VALIDITY Qualidade IEC 60870-5-104
FLAG_RESTART ANY -
FLAG_COMM_FAIL ANY -
FLAG_REMOTE_SUBSTITUTED ANY -
FLAG_LOCAL_SUBSTITUTED ANY -
FLAG_FILTER ANY -
FLAG_OVERFLOW ANY OVERFLOW
FLAG_REFERENCE_ERROR ANY -
FLAG_INCONSISTENT ANY -
FLAG_OUT_OF_RANGE ANY -
FLAG_INACCURATE ANY -
FLAG_OLD_DATA ANY -
FLAG_FAILURE ANY INVALID
FLAG_OPERATOR_BLOCKED ANY -
FLAG_TEST ANY -
ANY VALIDITY_INVALID INVALID

Tabela 38: Conversão Interno para IEC 60870-5-104 de Contadores

5.1.3.1.3. Qualidade Interna MODBUS

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.

Qualidade Resultante VALIDITY Resultante Descrição


Valor de inicialização. O
FLAG_RESTART VALIDITY_INVALID
ponto nunca foi atualizado.
Comunicação OK. O ponto
- VALIDITY_GOOD
está atualizado.
FLAG_COMM_FAIL E Erro de comunicação. O
VALIDITY_INVALID
FLAG_RESTART ponto nunca foi atualizado.

60
5. CONFIGURAÇÃO

Qualidade Resultante VALIDITY Resultante Descrição


Um erro ocorreu mas o
FLAG_COMM_FAIL E
VALIDITY_QUESTIONABLE ponto foi atualizado e agora
FLAG_OLD_DATA
possui um valor antigo.
Recebeu uma resposta de
FLAG_FAILURE E
VALIDITY_INVALID exceção, e o ponto ainda está
FLAG_RESTART
com o valor inicial.
Recebeu uma resposta de
FLAG_FAILURE E
VALIDITY_QUESTIONABLE exceção, mas o ponto possui
FLAG_OLD_DATA
um valor antigo válido.
Dispositivo está parado. O
FLAG_RESTART E
VALIDITY_QUESTIONABLE ponto contém um valor an-
FLAG_OLD_DATA
tigo.

Tabela 39: Qualidade MODBUS

5.2. Interface Serial


5.2.1. COM 1
A interface COM 1 é uma interface serial padrão RS-485. Permite comunicação ponto-a-ponto ou por rede nos protocolos
escravo MODBUS RTU ou mestre MODBUS RTU.
Ao utilizar o protocolo mestre/escravo MODBUS, alguns desses parâmetros (como Modo Serial, Bits de Dado, RX Th-
reshold e Eventos Seriais) são ajustados automaticamente pela ferramenta MasterTool, visando o correto funcionamento deste
protocolo.
Os parâmetros que devem ser configurados para o funcionamento adequado da aplicação são descritos abaixo:

Configuração Descrição Padrão Opções


Tipo serial Configuração de canal serial RS-485 RS-485
Configuração da velocidade
2400, 4800, 9600, 19200,
Taxa de Transmissão da porta de comunicação se- 115200
38400, 57600, 115200 bps
rial
Configuração da paridade da
Nenhuma Impar
porta serial
Paridade Par
Sem paridade
Configura a quantidade de
Bits de dado bits de dados em cada carac- 8 6, 7 e 8
tere da comunicação serial
Configura os bits de parada
Bits de parada 1 1e2
da porta serial
- Modo Estendido: modo
de operação prolongado que
Configura o modo de opera- fornece informações relati-
Modo serial Modo Normal
ção da porta serial vas ao quadro de dados re-
cebido (veja a nota na seção
COM 1)
- Modo normal: modo de
operação normal de comuni-
cação serial

Tabela 40: Configuração serial padrão RS-485

61
5. CONFIGURAÇÃO

5.2.2. Configurações Avançadas


A seção de configurações avançadas permite configurar parâmetros adicionais da porta serial conforme descrito abaixo:

Configuração Descrição Padrão Opções


Quantidade de bytes que
deve ser recebida para uma
nova interrupção UART ser
gerada. Valores baixos tor-
nam o TIMESTAMP mais
preciso quando o MODO
Threshold de RX da UART 8 1, 4, 8 e 14
ESTENDIDO é usado e mi-
nimiza os erros de satura-
ção. No entanto, valores
muito baixos podem cau-
sar várias interrupções atra-
sando a UCP.
Ativa a terminação do pa-
drão RS-485 interna. Deve
ser ativado somente se o
Terminação RS-485 controlador estiver fisica- Habilitado Desabilitado ou Habilitado
mente posicionado em uma
das extremidades da rede
RS-485.

Tabela 41: Configurações Avançadas da Comunicação Serial RS-485

5.3. Interface Ethernet


5.3.1. NET 1
A interface NET 1 é composta por um conector de comunicação RJ45 10/100Base-TX padrão. Permite comunicação
ponto-a-ponto ou por rede com vários protocolos, por exemplo: MODBUS, OPC UA, etc.
Os parâmetros que devem ser configurados para o funcionamento adequado da aplicação são descritos abaixo:

Configuração Descrição Padrão Opções


Habilita a funcionalidade do
Obter um endereço IP au- Cliente DHCP no disposi-
Desmarcado Marcado ou Desmarcado
tomaticamente tivo para atribuição automá-
tica de IP
Endereço IP do controlador
Endereço IP 192.168.15.1 1.0.0.1 a 223.255.255.254
no barramento Ethernet
Máscara de sub-rede do
Máscara de Sub-rede controlador no barramento 255.255.255.0 128.0.0.0 a 255.255.255.252
Ethernet
Endereço do gateway do
Endereço do Gateway controlador no barramento 192.168.15.253 1.0.0.1 a 223.255.255.254
Ethernet

Tabela 42: Configuração da NET 1

62
5. CONFIGURAÇÃO

5.3.2. Portas TCP/UDP Reservadas


As seguintes portas TCP/UDP das interfaces Ethernet, tanto locais quanto remotas, são utilizadas por serviços da UCP
(dependem da disponibilidade conforme tabela Protocolos) e, portanto, são reservadas e não devem ser utilizadas pelo usuário.

Serviço TCP UDP


Página Web de diagnósticos 80 -
SNTP - 123
SNMP - 161
MODBUS TCP 502* -
MasterTool MT8500 1217* 1740:1743
SQL Server 1433 -
MQTT 1883* / 8883* -
EtherNet/IP 44818 2222
IEC 60870-5-104 2404* -
OPC UA 4840 -
WEBVISU 8080 -
CODESYS ARTI 11740 -
PROFINET - 34964

Tabela 43: Portas TCP/UDP reservadas

* Porta padrão, mas que pode ser alterada pelo usuário.

5.4. Interface CAN (Controller Area Network)


5.4.1. CAN
A interface CAN permite comunicação ponto-a-ponto ou por rede com outros dispositivos que possuem essa interface
usando o protocolo de aplicação CANOpen.
Os parâmetros da interface CAN que devem ser configurados para o funcionamento correto da aplicação são descritos
abaixo:

Configuração Descrição Padrão Opções


Número de ID da interface
Network 0 0 (fixado)
CAN
Taxa de transmissão do bar-
ramento CAN (kbit/s). Os
10, 20, 50, 100, 125, 250,
Taxa de Transmissão outros dispositivos devem 250
500, 800, 1000
utilizar a mesma taxa de
transmissão.

Tabela 44: Configuração CAN

Os parâmetros relacionados ao protocolo CANOpen estão descritos na seção Protocolos de Comunicação.

5.5. E/S Integradas


Os controladores Nexto Xpress possuem pontos de E/S integrados, o que permite a interface com dispositivos externos
como sensores, atuadores, motores de passo, encoders, etc.
Existem dois objetos na estrutura do projeto relacionados às E/S Integradas, conforme mostrado na figura abaixo:

63
5. CONFIGURAÇÃO

Figura 39: E/S Integradas na árvore de projeto

Um desses 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 IO, que contém a configuração para cada tipo de ponto de E/S. Essas configurações
serão detalhadas nas próximas seções.

64
5. CONFIGURAÇÃO

5.5.1. Entradas Digitais


Os parâmetros relacionados às Entradas Digitais estão localizados na tela abaixo (exemplo do XP325), tanto para entradas
padrão quanto entradas rápidas (quando configuradas como entradas digitais normais):

Figura 40: Parâmetros de Entradas Digitais

A tabela abaixo mostra as configurações possíveis:

Configuração Descrição Padrão Opções


Tempo mínimo que uma en-
trada deve permanecer em
Tempo do Filtro de En-
um determinado estado para 20 ms 2 a 255 ms
trada
confirmar a mudança de es-
tado
Habilita/Desabilita o filtro
Filtro Desabilitado Habilitado
para cada entrada
Desabilitado

Tabela 45: Parâmetros de Entradas Digitais

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.

65
5. CONFIGURAÇÃO

5.5.2. Entradas Rápidas


As entradas rápidas são sinais de entrada especiais que podem ser usados para funções especiais de alta velocidade. Essas
entradas físicas especiais podem ser atribuídas a dois tipos de elementos lógicos: contadores rápidos e interrupção externa.
Cada um desses elementos lógicos consome certa quantidade de sinais de entrada rápida. Para a unidade de contadores rápidos,
depende do modo selecionado (Up / Down, Quadratura, etc. . . ), enquanto cada interrupção externa usa um sinal de entrada
rápida. O número de entradas físicas rápidas, bem como o número máximo de elementos lógicos de contadores rápidos e
interrupções externas designados para essas entradas é descrito em Descrição Técnica.
A tabela a seguir mostra como cada unidade de contador rápido é atribuída aos sinais de entrada rápida:

Contador Rápido Modo do Contador Entradas Rápidas


I00 I01 I02 I03
Up/Down (A conta, B direção) com zeramento B Z A -
Quadratura 2X A B - -
Contador 0 Quadratura 2X com zeramento A B Z -
Quadratura 4X A B - -
Quadratura 4X com zeramento A B Z -

Tabela 46: Alocação de Contadores Rápidos e Entradas

Para cada configuração descrita acima, os sinais de entrada rápida restantes (não usados pelas unidades de contador rápido)
podem ser usados como interrupção externa, respeitando o número máximo deste tipo de elemento lógico especificado no
capítulo Descrição Técnica.
A configuração de contadores rápidos e interrupções está localizada na seguinte tela:

Figura 41: Configuração de Entradas Rápidas

Ao selecionar a função de uma entrada rápida, as seguintes entradas são atribuídas automaticamente (bloqueadas para
edição) de acordo com o modo de contador rápido.
A tabela abaixo mostra os possíveis valores de configuração para cada entrada rápida:

66
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Entrada Digital
Contador 0 (Entrada B): Up/Down (A contagem, B sen-
tido) com zeramento
Entrada Configuração da Entrada Entrada Digital Contador 0 (Entrada A): Quadratura 2X
Rápida I00 Rápida I00 Contador 0 (Entrada A): Quadratura 2X com zeramento
Contador 0 (Entrada A): Quadratura 4X
Contador 0 (Entrada A): Quadratura 4X com zeramento
Entrada Entrada Digital
Rápida I01 Configuração da Entrada Entrada Digital
Obs.: Este campo será configurado automaticamente
Rápida I01 quando a Entrada Rápida I00 estiver configurada como
Contador Up/Down ou Quadratura
Entrada Digital
Entrada Configuração da Entrada Entrada Digital Interrupção (Borda de Subida)
Rápida I02 Rápida I02
Obs.: Este campo será configurado automaticamente
quando a Entrada Rápida I00 estiver configurada como
Contador Up/Down ou Quadratura com zeramento.
Entrada Configuração da Entrada Entrada Digital Entrada Digital
Rápida I03 Rápida I03 Interrupção (Borda de Subida)

Tabela 47: Parâmetros das Entradas Rápidas

Mesmo que uma entrada rápida seja configurada como um contador ou interrupção, seu valor digital ainda pode ser lido
por meio da variável IntegratedIo.DigitalInputs. As próximas subseções fornecem mais detalhes sobre a configuração e pro-
gramação das Entradas Rápidas.

67
5. CONFIGURAÇÃO

5.5.2.1. Contadores Rápidos

Os contadores rápidos possuem vários modos de operação. A tabela a seguir descreve os detalhes de cada um desses
modos:

Modo do Contador Formas de Onda de Contagem

Up/Down (A conta, B sen-


tido) com zeramento

Quadratura 2X

Quadratura 2X com zera-


mento

Quadratura 4X

Quadratura 4X com zera-


mento

Tabela 48: Modos de Contadores Rápidos

68
5. CONFIGURAÇÃO

O comportamento geral é o mesmo para todos os contadores: quando se incrementa o contador e o valor positivo máximo
foi atingido, o próximo valor será o valor negativo mínimo. A mesma coisa acontece para a direção oposta, então quando se
decrementa o contador e o valor negativo mínimo foi atingido, o próximo valor será o valor positivo máximo.
O programa do usuário pode acessar os contadores rápidos através da estrutura simbólica FastInputs, que é criada automa-
ticamente na GVL IntegratedIo. Para cada unidade do contador rápido, existem 3 áreas principais, como mostrado na figura a
seguir:

Figura 42: Estrutura dos contadores

A tabela abaixo descreve a estrutura das variáveis do contador:

Variável Descrição Tipo Valores Permitidos


DISABLED
UP_DOWN_A_COUNT_B_
DIR_WITH_ZERO
Modo configu-
Mode rado do contador ENUM_COUNTER_MODE QUADRATURE_2X
(somente leitura)
QUADRATURE_2X_WITH_ZERO
QUADRATURE_4X
QUADRATURE_4X_WITH_ZERO
Counter Valor do contador DINT -2147483648 a 2147483647
Preset Valor de preset DINT -2147483648 a 2147483647
Hold Valor de hold DINT -2147483648 a 2147483647
Valor menor de com-
Comparer0 paração com o conta- DINT -2147483648 a 2147483647
dor
Valor maior de com-
Comparer1 paração com o conta- DINT -2147483648 a 2147483647
dor
Estrutura de coman-
Command T_COUNTER_ -
dos do contador
COMMAND
Estrutura de estados
Status T_COUNTER_ -
do contador
STATUS

Tabela 49: Estrutura de variáveis do contador

O comando e o estado são estruturas de bits que permitem ao programa do usuário controlar a operação do contador. A
tabela a seguir descreve a estrutura de comando do contador:

69
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


Para o contador, que se mantém pa-
Stop BIT FALSE ou TRUE
rado enquanto o bit está setado
Reset do contador, que se mantém
Reset BIT FALSE ou TRUE
zerado enquanto este bit está setado
Carregamento do valor de preset,
Load que ocorre na borda de subida do BIT FALSE ou TRUE
comando
Amostragem do valor do contador,
que é salvo no campo hold quando
Sample BIT FALSE ou TRUE
ocorrer uma borda de subida neste
comando

Tabela 50: Estrutura de comando do contador

A tabela a seguir descreve a estrutura de estado do contador.

Variável Descrição Tipo Valores Permitidos


Enabled Contador está habilitado BIT FALSE ou TRUE
Direção do contador (TRUE = In-
Direction BIT FALSE ou TRUE
cremento, FALSE = Decremento)
Valor do contador é igual à Compa-
EQComparer0 BIT FALSE ou TRUE
rer0
Valor do contador é menor que
LTComparer0 BIT FALSE ou TRUE
Comparer0
Valor do contador é maior que
GTComparer0 BIT FALSE ou TRUE
Comparer0
Valor do contador é igual à Compa-
EQComparer1 BIT FALSE ou TRUE
rer1
Valor do contador é menor que
LTComparer1 BIT FALSE ou TRUE
Comparer1
Valor do contador é maior que
GTComparer1 BIT FALSE ou TRUE
Comparer1

Tabela 51: Estrutura de estado do contador

Além das variáveis globais IntegratedIo, existe um bloco de funções da biblioteca LibIntegratedIo que permite instanciar o
contador rápido 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 um bloco de funções
instanciado em um programa Ladder.

70
5. CONFIGURAÇÃO

Figura 43: Bloco Funcional LibIntegratedIo.COUNTER

A tabela abaixo descreve as variáveis de entrada e saída do bloco de funções.

Variável Descrição Tipo Valores Permitidos


Habilita a execução
ENABLE BOOL FALSE ou TRUE
do bloco
REFERENCE TO
COUNTER_VAR Variável do contador FastInputs.Counter0
T_COUNTER
STOP Para o contador BOOL FALSE ou TRUE
RESET Reseta o contador BOOL FALSE ou TRUE
Carrega o valor de
LOAD BOOL FALSE ou TRUE
preset no contador
Amostra o valor do
SAMPLE BOOL FALSE ou TRUE
contador em hold
PRESET Valor de preset DINT -2147483648 a 2147483647
Menor valor de com-
COMPARER_0 DINT -2147483648 a 2147483647
paração
Maior valor de com-
COMPARER_1 DINT -2147483648 a 2147483647
paração
Contador está habili-
ENABLED BOOL FALSE ou TRUE
tado
Direção do contador
(TRUE = Incre-
DIRECTION BOOL FALSE ou TRUE
mento, FALSE =
Decremento)
DISABLED
UP_DOWN_A_COUNT_B_DIR
_WITH_ZERO
ENUM_COUNTER
Mode Modo do Contador QUADRATURE_2X
_MODE
QUADRATURE_2X _WITH_ZERO
QUADRATURE_4X
QUADRATURE_4X _WITH_ZERO
COUNTER_VALUE Valor do contador DINT -2147483648 a 2147483647
HOLD Valor de hold DINT -2147483648 a 2147483647

71
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


Valor do contador é
EQ_COMPARER_0 BOOL FALSE ou TRUE
igual à Comparer0
Valor do contador é
LT_COMPARER_0 menor que Compa- BOOL FALSE ou TRUE
rer0
Valor do contador é
GT_COMPARER_0 maior que Compa- BOOL FALSE ou TRUE
rer0
Valor do contador é
EQ_COMPARER_1 BOOL FALSE ou TRUE
igual à Comparer1
Valor do contador é
LT_COMPARER_1 menor que Compa- BOOL FALSE ou TRUE
rer1
Valor do contador é
GT_COMPARER_1 maior que Compa- BOOL FALSE ou TRUE
rer1
Erro ocorreu na
execução do bloco
funcional. Pode
ERROR ser causado por um BOOL FALSE ou TRUE
COUNTER_VAR in-
válido ou o contador
está desabilitado.

Tabela 52: Descrição do bloco funcional LibIntegratedIo.COUNTER

5.5.2.1.1. Interrupções do Contador

Os contadores rápidos têm a capacidade de gerar interrupções por comparação, isto é, quando o contador alcança 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 global correspondente ou Bloco Funcional, 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:

Figura 44: Configurações da interrupção do contador

A tabela abaixo mostra os possíveis valores de configuração para a interrupção do contador:

72
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Desabilitada
Configuração do compara- Counter0InterruptTask:
Contador 0 dor de interrupção do Con- Desabilitada Contador igual ao Compa-
tador 0 rer0

Obs.: Esta configuração está


disponível quando o Conta-
dor 0 está associado a al-
guma entrada rápida.

Tabela 53: Parâmetros da interrupção do contador

A interrupção por comparação irá gerar um evento específico. Esse 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 do usuário
a ser executado.
A figura abaixo mostra este cenário de configuração no MasterTool IEC XE.

Figura 45: Configurações da Interrupção do Contador

5.5.2.2. Interrupção Externa

As entradas rápidas podem ser configuradas no 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 irá gerar um evento específico. Esse evento deve acionar a execução da 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 I02 é
chamado FIN2_EVT. Portanto, uma tarefa de evento externo chamada FastInputI02InterruptTask deve ser configurada para ser
acionada por esse evento e deve chamar uma POU chamada FastInputI02InterruptPrg que conterá o programa do usuário a ser
executado.
A figura abaixo mostra este cenário de configuração no MasterTool IEC XE.

73
5. CONFIGURAÇÃO

Figura 46: Configurações das Interrupções de Entradas Rápidas

ATENÇÃO

A entrada de interrupção externa possui uma janela de tempo de filtragem de 10ms para
proteger o controlador contra transições espúrias no sinal de entrada. Esta janela inicia logo
após a ocorrência da interrupção e, durante este tempo, qualquer outro evento de interrupção
externa será descartado.

ATENÇÃO

A interrupção externa não suporta reentrância. Se outra interrupção ocorrer (após o tempo
de filtro) e a execução do seu programa ainda não tiver sido concluída, esta interrupção será
descartada.

5.5.3. Saídas Rápidas


As saídas rápidas são sinais de saída especiais que podem ser usados para geração de pulsos. Essas saídas físicas especiais
podem ser associadas a dois tipos de elementos lógicos: VFO / PWM (frequência variável / largura de pulso) e PTO (saída
de trem de pulso). Cada um desses elementos lógicos consome um sinal de saída rápida. O número de saídas físicas rápidas,
bem como o número máximo de elementos lógicos VFO / PWM e PTO atribuíveis a essas saídas são descritos no capítulo
Descrição Técnica.
A configuração de saídas rápidas está localizada na tela seguinte:

Figura 47: Parâmetros das Saídas Rápidas

74
5. CONFIGURAÇÃO

A tabela abaixo mostra os possíveis valores de configuração:

Configuração Descrição Padrão Opções


Configuração da Saída Rá-
Saída Digital Saída Digital
pida Q14.
Saída Rápida Q14 VFO/PWM
PTO
Configuração da Saída Rá-
Saída Rápida Q15 Saída Digital Saída Digital
pida Q15.
VFO/PWM
Configuração da Saída Rá-
Saída Digital Saída Digital
pida Q16.
Saída Rápida Q16 VFO/PWM
PTO
Configuração da Saída Rá-
Saída Rápida Q17 Saída Digital Saída Digital
pida Q17.
VFO/PWM

Tabela 54: Parâmetros das Saídas Rápidas

A função PTO pode ser atribuída apenas para Q14 e Q16. Quando a saída é configurada neste modo, a saída adjacente
(Q15 ou Q17) será forçada ao modo de saída digital normal.
Como mostrado na tabela anterior, as saídas rápidas podem ser configuradas como saída digital normal. Nesse caso, seu
valor digital pode ser definido usando a variável global padrão IntegratedIo.DigitalOutputs.
Quando configurado como VFO/PWM ou PTO, o programa do usuário pode controlar as saídas rápidas através da estrutura
simbólica FastOutputs, que é criada automaticamente na GVL IntegratedIo, conforme mostrado na figura a seguir:

Figura 48: Estrutura das Saídas Rápidas

A tabela abaixo descreve a estrutura das variáveis de saída rápida:

Variável Descrição Tipo Valores Permitidos


Modo configurado à saída
Mode ENUM_FAST_ DIGITAL_OUTPUT
rápida (somente leitura)
OUTPUT_MODE PWM

75
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


PTO
Estrutura VFO/PWM. Con-
tém uma estrutura para con-
VFO_PWM trolar a saída rápida quando T_VFO_PWM -
ela é configurada como VFO
/ PWM.
Estrutura do PTO. Contém
uma estrutura para controlar
PTO T_PTO -
a saída rápida quando ela é
configurada como PTO.

Tabela 55: Estrutura de Variáveis das Saídas Rápidas

As próximas subseções fornecem mais detalhes sobre como usar essas funções do gerador de pulsos, descrevendo essas
estruturas para cada modo.

5.5.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
energia 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:

Figura 49: Forma de Onda VFO/PWM

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 do 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:

Variável Descrição Tipo Valores Permitidos


Frequency Frequência em Hertz UDINT 1 a 200000
DutyCycle Duty Cycle em porcentagem USINT 0 a 100
Estrutura de comando do
Command T_VFO_PWM_COMMAND -
VFO/PWM
Estrutura de estado do
Status T_VFO_PWM_STATUS -
VFO/PWM

76
5. CONFIGURAÇÃO

Tabela 56: Estrutura de variáveis do VFO_PWM

A tabela abaixo mostra a estrutura de comandos do VFO_PWM.

Variável Descrição Tipo Valores Permitidos


Enable Habilita a saída VFO/PWM BIT FALSE ou TRUE

Tabela 57: Estrutura de Comando do VFO/PWM

A tabela abaixo mostra a estrutura de estados do VFO_PWM.

Variável Descrição Tipo Valores Permitidos


Valor de frequência é invá-
InvalidFrequency BIT FALSE ou TRUE
lido (fora dos limites)
Valor de Duty Cycle é invá-
InvalidDutyCycle BIT FALSE ou TRUE
lido (fora dos limites)

Tabela 58: Estrutura de Estados do VFO/PWM

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.

Figura 50: Bloco Funcional LibIntegratedIo.PWM

A tabela abaixo descreve as variáveis de entrada e saída do bloco de funções.

Variável Descrição Tipo Valores Permitidos


Habilita a execução
ENABLE BOOL FALSE ou TRUE
do bloco funcional
Variável de Saída Rá- REFERENCE TO
FAST_OUTPUT FastOutputs.Q14
pida T_FAST_OUTPUT
FastOutputs.Q15
FastOutputs.Q16
FastOutputs.Q17
FREQUENCY Frequência em Hertz UDINT 1 a 200000
Duty Cycle em por-
DUTY_CYCLE USINT 0 a 100
centagem
VFO/PWM está
RUNNING BOOL FALSE ou TRUE
sendo executado

77
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


Erro ocorrido na exe-
cução do bloco fun-
cional. As variá-
ERROR BOOL FALSE ou TRUE
veis a seguir forne-
cem informações de-
talhadas.
O valor de frequência
INVALID_FREQUENCY é inválido (fora do in- BOOL FALSE ou TRUE
tervalo)
O valor de Duty Cy-
INVALID_DUTY_CYCLE cle é inválido (fora BOOL FALSE ou TRUE
do intervalo)
FAST_OUTPUT
não foi atribuída ao
INVALID_FAST_OUTPUT bloco ou não foi BOOL FALSE ou TRUE
configurada como
VFO/PWM.

Tabela 59: Descrição do bloco funcional LibIntegratedIo.PWM

5.5.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, 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 pulso mostrado é chamado de perfil trapezoidal, porque as rampas de aceleração e desaceleração produzem
uma forma de trapézio.

Figura 51: PTO com perfil trapezoidal

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.

78
5. CONFIGURAÇÃO

Figura 52: PTO com perfil “S”

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 (step)
do trem de pulso (aceleração, operação, desaceleração) e, mesmo, se a saída está funcionando bem. 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 pulso
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.

Figura 53: Parada suave da PTO no perfil trapezoidal

Figura 54: Parada suave da PTO no perfil S

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:

79
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


StartFrequency Frequência inicial em Hertz UDINT 0 a 200000
Frequência de parada em
StopFrequency UDINT 0 a 200000
Hertz
Frequência máxima em
MaxFrequency UDINT 1 a 200000
Hertz
Perfil de aceleração (FALSE
AccelerationProfile = Trapezoidal, TRUE = per- BOOL FALSE ou TRUE
fil S)
0 a (TotalPulses-
AccelerationPulses Pulsos na aceleração UDINT
DecelerationPulses-1)
0 a (TotalPulses-
DecelerationPulses Pulsos na desaceleração UDINT
AccelerationPulses-1)
TotalPulses Número total de pulsos UDINT 1 a 4294967295
Número de pulsos gerados
PulsesCounter UDINT 0 a 4294967295
para o trem de pulsos atual
Estrutura de comando da
Command T_PTO_COMMAND -
PTO
Status Estrutura de estados da PTO T_PTO_STATUS -

Tabela 60: Estrutura de variáveis da PTO

A tabela abaixo mostra a estrutura de comandos da PTO.

Variável Descrição Tipo Valores Permitidos


Inicia o trem de pulsos
Start quando este bit é setado BIT FALSE ou TRUE
(borda de subida)
Para o trem de pulsos
Stop quando este bit é setado BIT FALSE ou TRUE
(borda de subida)
Para suavemente o trem de
Softstop pulsos quando este bit é se- BIT FALSE ou TRUE
tado (borda de subida)

Tabela 61: Estrutura de comandos da PTO

A tabela abaixo mostra a estrutura de estados da PTO.

Variável Descrição Tipo Valores Permitidos


Trem de pulsos está sendo
Running BIT FALSE ou TRUE
executado
Etapa de aceleração (da
Acceleration StartFrequency a MaxFre- BIT FALSE ou TRUE
quency)
Etapa de desaceleração (da
Deceleration MaxFrequency a StopFre- BIT FALSE ou TRUE
quency)
Etapa de Operação (Max-
Operation BIT FALSE ou TRUE
Frequency)

80
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


Trem de pulsos já foi execu-
Done BIT FALSE ou TRUE
tado
A frequência (inicial, de pa-
InvalidFrequency BIT FALSE ou TRUE
rada ou máxima) é inválida
Número de pulsos (TotalPul-
InvalidPulses ses, Acceleration ou Decele- BIT FALSE ou TRUE
ration) é inválido

Tabela 62: Estrutura de estados da PTO

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.

Figura 55: Bloco Funcional LibIntegratedIo.PTO

81
5. CONFIGURAÇÃO

A tabela abaixo descreve as variáveis de entrada e saída do bloco funcional.

Variável Descrição Tipo Valores Permitidos


Habilita a execução
ENABLE BOOL FALSE ou TRUE
do bloco funcional
Variável de Saída Rá- REFERENCE TO
FAST_OUTPUT FastOutputs.Q14
pida T_FAST_OUTPUT
FastOutputs.Q15
FastOutputs.Q16
FastOutputs.Q17
Inicia o trem de pul-
sos quando este bit é
START BOOL FALSE ou TRUE
setado (borda de su-
bida)
Para o trem de pul-
sos quando este bit é
STOP BOOL FALSE ou TRUE
setado (borda de su-
bida)
Para suavemente
o trem de pulsos
SOFT_STOP quando este bit é BOOL FALSE ou TRUE
setado (borda de
subida)
Frequência inicial
START_FREQUENCY UDINT 1 a 200000
em Hertz
Frequência de parada
STOP_FREQUENCY UDINT 1 a 200000
em Hertz
Frequência máxima
MAX_FREQUENCY UDINT 1 a 200000
em Hertz
Perfil de aceleração
ACCELERATION_PROFILE (FALSE = Trapezoi- BOOL FALSE ou TRUE
dal, TRUE = perfil S)
0 a (TotalPulses-
Pulsos durante a ace-
ACCELERATION_PULSES UDINT DecelerationPulses-
leração
1)
0 a (TotalPulses-
Pulsos durante a de-
DECELERATION_PULSES UDINT AccelerationPulses-
saceleração
1)
Número total de pul-
TOTAL_PULSES UDINT 1 a 4294967295
sos
Trem de pulsos está
RUNNING BOOL FALSE ou TRUE
sendo executado
Número de pulsos
PULSES_COUNTER gerados para o atual UDINT 0 a 4294967295
trem de pulsos
Etapa de aceleração
ACCELERATION (da frequência inicial BOOL FALSE ou TRUE
à máxima)
Etapa de operação
OPERATION BOOL FALSE ou TRUE
(frequência máxima)

82
5. CONFIGURAÇÃO

Variável Descrição Tipo Valores Permitidos


Etapa de desacele-
DECELERATION ração (da frequência BOOL FALSE ou TRUE
máxima à de parada)
Erro ocorrido na exe-
cução do bloco fun-
ERROR cional. As variáveis BOOL FALSE ou TRUE
a seguir detalham o
erro.
Frequência (ini-
INVALID_FREQUENCY cial, de parada ou BOOL FALSE ou TRUE
máxima) é inválida
Número de pulsos
INVALID_PULSES (aceleração ou desa- BOOL FALSE ou TRUE
celeração) é inválido
FAST_OUTPUT não
foi atribuída ao bloco
INVALID_FAST_OUTPUT BOOL FALSE ou TRUE
ou não está configu-
rada como PTO.
Trem de pulsos já foi
DONE BOOL FALSE ou TRUE
executado

Tabela 63: Descrição do bloco funcional LibIntegratedIo.PTO

83
5. CONFIGURAÇÃO

5.5.4. Entradas Analógicas


Os parâmetros relacionados às Entradas Analógicas são mostrados abaixo:

Figura 56: Parâmetros das Entradas Analógicas

A tabela abaixo mostra os possíveis valores de configuração:

Configuração Descrição Padrão Opções


Seleciona o tipo de
Tipo de Entrada Não Configurado Não Configurado
entrada
Tensão 0 - 10 Vdc
Corrente 0 - 20 mA
Corrente 4 - 20 mA
Habilita/desabilita
um filtro digital
Filtro Digital passa-baixa de pri- Desabilitado Desabilitado
meira ordem para
cada entrada
100 ms
1s
10 s
Define o valor
quando em condição
Valor de Cir-
de circuito aberto Desabilitado Desabilitado
cuito Aberto
(válido apenas para
escala de 4 a 20 mA).
0
30000

Tabela 64: Parâmetros das Entradas Analógicas

Notas:
Tipo de Entrada: Certifique-se de usar o pino adequado no bloco terminal correspondente ao tipo selecionado (tensão ou
corrente).
Valor de Circuito Aberto: Determina o comportamento da variável de entrada quando configurada para escala 4 – 20 mA
e corrente inferior a 3 mA.

84
5. CONFIGURAÇÃO

5.5.5. Entradas RTD


Os parâmetros relacionados às entradas do RTD são mostrados abaixo:

Figura 57: Parâmetros das entradas RTD

A tabela abaixo mostra os possíveis valores de configuração:

Configuração Descrição Padrão Opções


Unidade de Seleciona a unidade
Graus Celsius Graus Celsius
Temperatura de temperatura
Graus Fahrenheit
Seleciona o tipo de
Tipo de Entrada Não Configurado Não Configurado
entrada
400 Ω
4000 Ω
Pt100A
Pt100E
Pt1000A
Pt1000E
Habilita / desabilita
um filtro digital
Filtro Digital Desabilitado Desabilitado
passa-baixa para
cada entrada
100 ms
1s
10 s

Tabela 65: Parâmetros das entradas RTD

A tabela a seguir descreve detalhes adicionais sobre cada tipo de entrada:

Coeficiente de Tem-
Tipo de Entrada Banda de Medida Contagem Resolução
peratura (α)
400 Ω - 0 a 400 Ω 0 a 4000 0,1 Ω
4000 Ω - 0 a 4000 Ω 0 a 4000 1Ω
Pt100E, 0,00385 -200 a 850 ◦ C -2000 a 8500 0,3 ◦ C
Pt1000E -328 a 1562 ◦ F -3280 a 15620 0,6 ◦ F
Pt100A, 0,003916 -200 a 630 ◦ C -2000 a 6300 0,3 ◦ C
Pt1000A -328 a 1166 ◦ F -3280 a 11660 0,6 ◦ F

Tabela 66: Tipos de entrada RTD

85
5. CONFIGURAÇÃO

5.5.6. Saídas Analógicas


Os parâmetros relacionados às saídas analógicas são mostrados abaixo:

Figura 58: Parâmetros das Saídas Analógicas

A tabela abaixo mostra os possíveis valores de configuração:

Configuração Descrição Padrão Opções


Seleciona o tipo de
Tipo de Saída Não Configurado Não Configurado
saída
Tensão 0 - 10 Vdc
Corrente 0 - 20 mA
Corrente 4 - 20 mA

Tabela 67: Parâmetros das Saídas Analógicas

5.5.7. Mapeamento de E/S


Na aba Mapeamento de E/S é possível configurar nome e descrição para cada variável de entrada e saída do controlador.

Figura 59: Mapeamento de tags para E/S

86
5. CONFIGURAÇÃO

5.6. Porta USB


A porta Host USB presente nos controladores Nexto Xpress permite ampliar as funcionalidades do controlador utilizando
diversos tipos de dongles USB. Devido à grande variedade de dispositivos USB disponíveis no mercado (unidades flash,
adaptadores Ethernet / Wifi, modem 3G / 4G, etc ...), o suporte para cada dispositivo específico é fornecido por uma atualização
de firmware.
O gerenciamento de dispositivos USB é feito através de uma seção dedicada localizada na guia Gerenciamento do CP da
página web de sistema do controlador, conforme mostrado abaixo:

Figura 60: Seção de dispositivos USB

O conteúdo desta página muda dinamicamente de acordo com o tipo de dispositivo USB conectado. No exemplo acima,
não há nenhum dispositivo conectado. Esta página requer login, semelhante à seção de atualização de firmware. O usuário e a
senha padrão são "admin", sem as aspas, para os dois campos.
As seções a seguir descrevem todos os tipos de dispositivos USB atualmente suportados. Se um dispositivo não suportado
estiver conectado, a página informará que o dispositivo é desconhecido:

87
5. CONFIGURAÇÃO

Figura 61: Dispositivos USB - Desconhecido

5.6.1. Dispositivos de Armazenamento em Massa


5.6.1.1. Armazenamento Geral

Os dispositivos de armazenamento em massa podem ser usados para expandir a memória flash do controlador para arma-
zenar uma grande quantidade de dados, como em aplicações de registrador de dados, por exemplo. Para usar um dispositivo
de armazenamento em massa USB, basta conectá-lo à porta USB. Após alguns segundos, quando o dispositivo for detec-
tado e montado corretamente, o LED USB será ligado e as informações do dispositivo aparecerão na seção Dispositivos USB
localizada na guia Gerenciamento do CP da página web de diagnóstico do controlador, conforme mostrado abaixo:

Figura 62: Informações sobre o dispositivo de armazenamento em massa

88
5. CONFIGURAÇÃO

As informações mostradas na seção de Status desta página também estão disponíveis na estrutura de diagnóstico de variá-
veis simbólicas (consulte a Seção Diagnósticos via Variáveis).

ATENÇÃO

O dispositivo de armazenamento em massa USB deve ser formatado como um volume


FAT32. Outros formatos de sistema de arquivos não são suportados.

O dispositivo pode ser ejetado usando o comando fornecido na área Comandos desta página, conforme indicado na figura
acima.
Depois que o dispositivo for detectado e montado corretamente, uma nova pasta chamada Mass_Storage aparecerá na
memória do controlador, conforme mostrado na figura abaixo:

Figura 63: Pasta de armazenamento em massa USB

5.6.1.2. Não Carregando a Aplicação na Inicialização

O dispositivo de armazenamento em massa USB pode ser usado para impedir que o controlador carregue automaticamente
a aplicação após a energização. Para fazer isso, basta colocar um arquivo de texto vazio chamado dontbootapp.txt na pasta raiz
do dispositivo de armazenamento em massa. A presença desse arquivo é informada no campo Arquivos Especiais na página
web de sistema do controlador, conforme mostrado abaixo.

89
5. CONFIGURAÇÃO

Figura 64: DontBootApp no dispositivo de armazenamento em massa

5.6.1.3. Transferindo uma Aplicação a partir do dispositivo USB

O dispositivo de armazenamento em massa USB também pode ser usado para transferir uma aplicação para o controlador.
Para fazer isso, coloque os dois arquivos Application.app e Application.crc na pasta raiz do dispositivo de armazenamento em
massa (esses arquivos são criados usando o MasterTool IEC XE executando o comando Comunicação -> Criar Aplicação
de Inicialização quando off-line). Após a energização, se o controlador detectar a presença desses arquivos no dispositivo de
armazenamento em massa USB, a seguinte sequência de ações ocorrerá:
O controlador iniciará a cópia da aplicação do dispositivo USB para a memória interna
Depois de terminar o processo de cópia, o dispositivo USB será ejetado (o LED USB será desligado)
A nova aplicação será iniciada (RUN) automaticamente (se dontbootapp.txt não estiver presente)
A presença da aplicação é informada no campo Arquivos Especiais na página web de sistema do controlador, conforme
mostrado abaixo:

90
5. CONFIGURAÇÃO

Figura 65: Aplicação no dispositivo de armazenamento em massa

Observe que é possível ter vários arquivos especiais no mesmo armazenamento em massa. No exemplo acima, o CP
transferirá a nova aplicação para a memória interna, mas não a carregará na inicialização (portanto, não será executada).

5.6.2. Conversor USB para RS-232


O Nexto Xpress permite implementar uma porta RS-232 usando um conversor USB para Serial. Esses conversores são
todos baseados em um chip controlador interno. A tabela abaixo mostra a lista de controladores suportados.

Controlador Fabricante
FT232 FTDI
PL2303 Prolific

Tabela 68: Conversores USB para RS-232 suportados

Essa porta deve ser usada exclusivamente com os blocos funcionais de comunicação serial fornecidos pela biblioteca
NextoSerial, permitindo implementar uma comunicação ponto a ponto com equipamentos que utilizam protocolos simples
(não críticos ao tempo) como Radio modems, leitores de código de barras, leitores RFID, etc ... Além disso, esse tipo de
solução possui as seguintes limitações:
Baud Rate: valores inferiores a 4800 bps não são suportados
Data Bits: o valor “5” não é suportado (apenas 6, 7 ou 8)
Parity: os valores “mark” e “space” não são suportados (apenas Odd, Even e None)
Stop Bits: o valor “1.5” não é suportado (apenas 1 ou 2)
Depois de conectar o conversor à porta USB, o LED USB pode acender indicando que o dispositivo foi detectado e montado
corretamente e as informações do dispositivo aparecerão na seção Dispositivos USB, localizada na guia Gerenciamento do CP
da página web de diagnósticos do controlador como mostrado abaixo:

91
5. CONFIGURAÇÃO

Figura 66: Dispositivos USB - Conversor Serial

As informações mostradas nesta página também estão disponíveis na estrutura de diagnóstico de variáveis simbólicas
(consulte a Seção Diagnósticos via Variáveis).
Essa porta serial adicional será identificada internamente como COM10 e não terá uma representação na visualização da
árvore do projeto. A partir deste ponto, essa porta pode ser usada para comunicação usando as funções NextoSerial semelhan-
tes às portas nativas. Para esse tipo de porta, a configuração do handshake é limitada apenas a RS232_MANUAL (deve ser
considerada ao configurar a porta com a função SERIAL_CFG).

5.6.3. Dispositivos Modem


Um modem USB com chip SIM pode ser usado para conectar o CP à Internet usando a rede de dados celular (serviços
telefônicos, como o envio de SMS, não são implementados). Esse recurso permite usar os controladores Nexto Xpress para
implementar aplicações de telemetria e IoT. Existem basicamente dois tipos de modems: bridge e roteador. A tabela a seguir
mostra a lista de dispositivos suportados:

Modelo Fabricante Tipo Observações


E303 Huawei Bridge -
E3272 Huawei Bridge -
E3276 Huawei Bridge -
O redirecionamento da página da Web de
configuração (botão Abrir Página do Mo-
E8372 Huawei Roteador dem) não é compatível com esse modelo.
A configuração do roteador deve ser feita
externamente em um PC.

Tabela 69: Modems USB suportados

O modem bridge é um dispositivo não gerenciado que implementa uma conexão direta (passagem) à rede de dados móveis,
para que todas as solicitações de conexão provenientes da Internet cheguem ao sistema operacional do controlador. Para esse
tipo de dispositivo, a configuração é realizada na página web do sistema do controlador, conforme descrito mais adiante nesta
seção.
Por outro lado, o modem roteador é um dispositivo gerenciado que implementa um firewall com políticas de rede configu-
ráveis. Para esse tipo de dispositivo, toda a configuração é realizada por meio de uma página da web proprietária incorporada
ao dispositivo. Por padrão, o modem bloqueia qualquer tipo de conexão de entrada (ou seja, não permitirá o acesso remoto).

92
5. CONFIGURAÇÃO

Para permitir isso, o usuário deve configurar o modem através da página da web embutida no dispositivo para abrir a porta TCP
relacionada ao serviço desejado (alguns fabricantes chamam este recurso de Servidor Virtual ou Encaminhamento de Porta).
A tabela a seguir descreve o número da porta TCP associada aos principais serviços do CP.

Porta Serviço
80 Página Web do sistema incorporado
8080 Página Web incorporada do Webvisu
1217 Programação MasterTool

Tabela 70: Portas TCP dos principais serviços do CP

O gerenciamento da funcionalidade do modem USB é feito através da página Dispositivos USB na guia Gerenciamento do
CP da página web de sistema do controlador. Depois que o dispositivo Modem for detectado e montado corretamente, o LED
USB acenderá e as informações do dispositivo aparecerão como mostrado abaixo:

Figura 67: Configuração da Página do Modem USB

Esta área contém basicamente duas seções: Status e Configuração.


A seção Status é onde todos os diagnósticos relacionados ao modem USB são exibidos: estado da configuração (que não
depende do estado do dispositivo), estado da conexão com a Internet e o endereço IP do modem. Esses campos são atualizados
automaticamente sempre que um valor é atualizado (não é necessário recarregar a página manualmente). As mesmas informa-
ções também são fornecidas na estrutura de diagnóstico de variáveis simbólicas (consulte a Seção Diagnósticos via Variáveis),
que também contém a descrição detalhada dos possíveis valores para cada campo.
A seção Configuração é onde o usuário executa a configuração do modem. Para modems em bridge, esta seção é usada
para inserir as informações do chip SIM. Para modems roteadores, esta seção mostrará apenas um botão chamado Abrir Página
do Modem que será redirecionado para a página web interna do modem (verifique na lista de dispositivos compatíveis se o
redirecionamento é suportado; caso contrário, o modem deve ser configurado externamente em um PC). Esta seção contém os
seguintes botões:
Importar: carrega a configuração de um arquivo externo
Exportar: salva a configuração atual em um arquivo externo
Redefinir: apaga a configuração do modem da memória do controlador
Aplicar: escreve a configuração na memória do controlador

93
5. CONFIGURAÇÃO

ATENÇÃO

Os campos APN do provedor e código PIN são obrigatórios para cada chip SIM. Se o for-
necedor informar esses parâmetros, eles deverão ser utilizados. Por outro lado, sabe-se que
vários chips SIM simplesmente não se importam com o conteúdo desses campos, usando
valores predefinidos internos. Nesse caso, esses campos da página da web podem ser deixa-
dos com os valores padrão e a conexão prosseguirá com sucesso. Valores como "zero"para
o código PIN e "vazio"para o APN do provedor não são permitidos.

O princípio de operação da funcionalidade do modem USB é bastante simples. Para dispositivos bridge, depois que o
dispositivo é detectado corretamente e os parâmetros do SIM configurados, o controlador inicia um processo em segundo
plano, que controla continuamente o modem para mantê-lo conectado à Internet. Isso elimina a necessidade de qualquer tipo
de intervenção manual. Portanto, se a conexão for interrompida por algum motivo (má recepção, interrupção da operadora,
etc.), o controlador tentará se reconectar automaticamente. O status desse processo pode ser observado no campo Status da
conexão. Para modems roteadores, o dispositivo contém um processo semelhante executado internamente (independente do
controlador) chamado Auto Connect. Geralmente é ativado por padrão, mas pode ser desativado na página web do modem.
Um aspecto importante a considerar é que, se o modem USB estiver configurado, o sistema do controlador o configurará
como o gateway padrão para toda a comunicação Ethernet. Isso significa que, se o controlador estiver conectado simultanea-
mente a uma rede local (NET1), que também tem acesso à Internet, todas as mensagens Ethernet endereçadas à IPs externos
serão roteadas pelo modem USB (e não pela NET1). A NET1 retorna como o gateway padrão quando o modem USB tiver
sido removido.
A sequência de configuração e operação pode ser resumida nas seguintes etapas:
Conecte o dispositivo na porta USB. Após alguns segundos, o campo Dispositivo irá mostrar "Modem". Caso contrário,
o dispositivo pode não ter suporte ou estar com defeito.
(Para dispositivos bridge) Defina os parâmetros do SIM (APN do provedor - Nome do Ponto de Acesso e o código PIN
do chip) conforme informado pelo fornecedor do chip SIM. Após clicar no botão Aplicar, o processo de conexão será
iniciado. Depois de configurados, não é mais necessário definir essas informações. Elas serão salvas na memória do
controlador.
Assista o status da conexão no campo correspondente. Se tudo correr bem, após alguns segundos, ele informará que o
modem está conectado à Internet e um endereço IP aparecerá em seu campo.
Uma vez conectado à Internet, o controlador pode ser usado para vários tipos de aplicações. Um caso de uso típico é
implementar solução de telemetria usando o Bloco Funcional do Cliente MQTT para publicar dados. Outro caso de uso é
acessar o controlador remotamente. Nesse caso, é necessário conhecer o endereço IP do modem na internet. No entanto, o IP
é dinâmico e será alterado a cada processo de conexão. Uma maneira de solucionar esse problema é publicar o endereço IP
(disponível nas variáveis de diagnóstico do modem) por meio do MQTT.
Com o endereço IP do modem, é possível executar acesso remoto à página da web do sistema do controlador para exibir o
status e os diagnósticos (a atualização de firmware não é suportada). Além disso, permite programar o controlador remotamente
usando o MasterTool IEC XE. Para isso, o gateway deve ser configurado com o endereço IP do modem, como mostrado na
figura a seguir:

94
5. CONFIGURAÇÃO

Figura 68: Configurando o Gateway com Endereço IP do Modem

ATENÇÃO

Para dispositivos em bridge ou roteadores com acesso externo ativado (encaminhamento de


porta), uma vez conectado à Internet, qualquer pessoa que conheça o endereço IP do modem
poderá acessar o controlador remotamente. Portanto, por motivos de segurança, é EXTRE-
MAMENTE importante e recomendado configurar os Direitos do Usuário no controlador
para restringir as operações online do MasterTool IEC XE com login e senha.

5.6.4. Adaptadores WiFi


Um adaptador USB WiFi pode ser usado para conectar o CP a uma rede WiFi existente, criando um segundo adaptador de
rede que pode ser usado para programação e comunicação. A tabela a seguir mostra a lista de chipsets suportados.

Chipset Fabricante Exemplo de produtos comerciais


RTL8188EU Realtek TP-LINK modelo TL-WN725N
LM Technologies modelo LM007
RT28xx Ralink/Mediatek D-Link modelo DWA-125
AR9271 Atheros/Qualcomm TP-LINK modelo TL-WN721N

Tabela 71: Chipsets suportados para adaptadores USB WiFi

O gerenciamento da funcionalidade do adaptador WiFi é feito através da página Dispositivos USB na guia Gerenciamento
do CP da página web do sistema do controlador. Depois que o dispositivo adaptador WiFi for detectado e montado correta-
mente, o LED USB acenderá e as informações do dispositivo aparecerão como mostrado abaixo:

95
5. CONFIGURAÇÃO

Figura 69: Página do adaptador USB WiFi

Esta página contém basicamente duas seções: Status e Configuração.


A seção Status mostra todos os diagnósticos relacionados ao adaptador WiFi: estado de configuração, estado da conexão,
endereço IP, máscara de rede, gateway e endereço MAC. Esses campos são atualizados assim que os valores mudam. Essas
informações também são fornecidas na estrutura de diagnóstico de variáveis simbólicas (consulte a Seção Diagnósticos via
Variáveis).
A seção Configuração é composta pelos seguintes parâmetros:
Modo de Operação: define como o adaptador WiFi funcionará (atualmente, apenas o modo cliente é suportado).
Modo de Descobrimento: define qual é o método para definir a rede WiFi. Se selecionado como "Auto", o botão
"Escanear"deve ser usado para escolher a rede desejada. Se selecionado como "Manual", o nome do SSID e do Tipo de
segurança deve ser digitado manualmente.
SSID da Rede: Quando o modo de descobrimento estiver definido como "Auto", esse campo mostrará as redes disponí-
veis encontradas no processo de verificação, classificadas do melhor ao pior nível de sinal (de cima para baixo). Quando
o modo de descobrimento está definido como "Manual", este campo deve ser preenchido com o SSID da rede desejada.
Tipo de Segurança: Esse campo estará disponível apenas quando o modo de descobrimento estiver definido como
"Manual"(o modo "Auto"seleciona automaticamente o tipo de segurança fornecido pela rede escaneada). Este campo
define o tipo de segurança usada na rede Wi-Fi, que pode ser "Pública"ou "WPA2-Personal".
Senha: é aqui que você precisa digitar a senha da rede WiFi. O campo será bloqueado automaticamente se o Tipo de
segurança estiver definido como "Pública"ou se a rede escaneada escolhida não usar um protocolo de segurança.
Definição de IP: define se o adaptador WiFi definirá o endereço IP dinamicamente (atribuído pelo servidor DHCP da
rede) ou estaticamente (onde o usuário precisará inserir as configurações de IP manualmente).
Endereço IP, Máscara de Rede e Gateway: disponível apenas quando a definição de IP é definida como "Estático".
Esses campos serão usados para configurar os parâmetros de rede do adaptador WiFi.
Gateway Padrão: esse campo define qual interface de rede será usada como gateway para acessar a Internet. É possível
escolher o "Adaptador WiFi"ou a "Ethernet Local"para esta função.

ATENÇÃO

Para uma operação adequada, a rede do adaptador WiFi (definida por IP e Máscara) deve ser
diferente da rede configurada para NET1.

96
5. CONFIGURAÇÃO

Figura 70: Configuração do adaptador USB WiFi

Além disso, a seção Configuração contém os seguintes botões:


Importar: carrega um arquivo de configuração
Exportar: baixa um arquivo com a configuração atual
Redefinir: retorna a configuração padrão
Aplicar: aplica a configuração atual
O princípio de operação do adaptador USB WiFi é semelhante ao modem USB. Depois que o dispositivo for detectado
corretamente e os parâmetros de rede estiverem configurados, o controlador sempre tentará manter-se conectado à rede Wi-Fi.
O status desse processo pode ser observado no campo Status da Conexão.

ATENÇÃO

Se o Gateway Padrão foi definido como "Adaptador WiFi", o Gateway no diagnóstico da


NET1 do MasterTool mostrará zero (0.0.0.0). Caso contrário, se foi definido como "Ethernet
Local", o gateway do adaptador WiFi será zero.

A sequência de configuração e operação pode ser resumida nas seguintes etapas:


Conecte o dispositivo na porta USB. Após alguns segundos, a página Dispositivos USB exibirá o Dispositivo como
"Adaptador WiFi". Caso contrário, o dispositivo pode não ter suporte ou estar com defeito.
Defina a configuração de rede. Depois de clicar no botão Aplicar, o processo de conexão será iniciado. Uma vez
configurada, não é mais necessário definir essas informações. Elas serão salvas na memória do controlador.
Monitore o status da conexão no campo correspondente. Se tudo der certo, após alguns segundos, ele informará que o
adaptador está conectado à rede Wi-Fi.
A imagem a seguir mostra a página de um controlador conectado a uma rede WiFi:

97
5. CONFIGURAÇÃO

Figura 71: Adaptador USB WiFi conectado a uma rede

Uma vez conectado à rede WiFi, esse canal de comunicação pode ser usado para vários propósitos. Para programar o CP
com o MasterTool IEC XE, o gateway deve ser configurado com o endereço IP atribuído ao adaptador WiFi (semelhante ao
modem USB, Figura 68). Esse endereço IP também pode ser usado para acessar a página da web do sistema do controlador,
onde é possível executar uma atualização de firmware, que não está disponível ao usar o modem USB. Além disso, esse canal
de comunicação também pode ser usado com o Bloco de Funções do cliente MQTT para relatar dados para um broker externo
na Internet (nesse caso, o adaptador WiFi como Gateway Padrão).

98
5. CONFIGURAÇÃO

5.7. Protocolos de Comunicação


Os controladores Nexto Xpress oferecem diversos protocolos de comunicação, incluindo MODBUS (exclusivamente sim-
bólico), OPC UA e outros. A tabela a seguir descreve os limites de configuração:

XP300 XP315 XP325 XP340 XP350


Pontos Mapeados 20480
Mapeamentos 5120
Requisições 512
NETs – Instâncias Servidor ou Cliente 4
COM (n) – Instâncias Mestre ou Escravo 1
Centros de Controle - - - 3 -

Tabela 72: Limites dos Protocolos por UCP

Notas:
Pontos Mapeados: Cada variável ou item de um determinado tipo de dado é considerado um mapeamento. O mesmo é
considerado para cada posição do tipo ARRAY. Isso significa que, se uma variável simples for declarada, ela será considerada
um mapeamento e, se um tipo ARRAY for declarado, a contagem será igual ao tamanho do ARRAY declarado. A quantidade de
mapeamentos é incrementada em um quando há um tipo simples de variável sendo declarado independentemente do tamanho
do tipo dado. Então, o mapeamento de uma variável do tipo INT (16-bit) em um Holding Register de drivers MODBUS
simbólicos ou uma variável do tipo LINT (64-bit) em quatro Holding Register de drivers simbólicos MODBUS é contabilizado
como apenas um mapeamento.
Mapeamentos: Um mapeamento é um relacionamento entre uma variável interna da aplicação e um objeto de protocolo
da aplicação. O valor limite para os mapeamentos do projeto corresponde à soma de todos os mapeamentos feitos dentro das
instâncias dos protocolos de comunicação e seus respectivos dispositivos.
Requisições: A soma das requisições dos protocolos de comunicação, declaradas nos dispositivos, não pode ultrapassar a
quantidade máxima de requisições suportadas pela UCP.
Centros de Controle: 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 ou MODBUS Servidor).
As limitações do protocolo MODBUS por mapeamentos simbólicos podem ser visualizadas na tabela abaixo.

MODBUS
MODBUS RTU MODBUS RTU MODBUS
Limitações Ethernet
Mestre Escravo Ethernet Cliente
Servidor
Dispositivos por instância 64 1(1) 64 64(2)
Requisições por dispositivo 32 - 32 -
Requisições simultâneas por ins-
- - 128 64
tância
Requisições simultâneas por dis-
- - 8 64
positivo

Tabela 73: Limites do Protocolo MODBUS por Mapeamentos Simbólicos

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.

99
5. CONFIGURAÇÃO

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.
As limitações do protocolo IEC 60870-5-104 Servidor podem ser visualizadas na tabela abaixo.

Limitações IEC 60870-5-104 Servidor


Dispositivos por instância 3
Requisições simultâneas por instância 3
Requisições simultâneas por dispositivo 1

Tabela 74: Limites do Protocolo IEC 60870-5-104 Servidor

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 72).
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.

100
5. CONFIGURAÇÃO

5.7.1. Comportamento dos Protocolos x Estados da UCP


A tabela abaixo mostra detalhadamente cada comportamento assumido para cada protocolo de comunicação configurável
nas UCPs da série Nexto, em todos seus estados de funcionamento.

Estado operacional da UCP


STOP RUN
Depois do
Depois de a Após um
download Depois de
aplicação ir breakpoint
Protocolo Tipo antes da uma Execução
para STOP na
aplicação exceção
(PAUSE) MainPrg
iniciar
MODBUS Symbol Slave/Server
Master/Client
MODBUS Slave/Server
Master/Client
SOE (DNP3) Outstation
IEC 60870-5-104 Server
EtherCAT Master
OPC DA Server
OPC UA Server
SNTP Client
HTTP Server
SNMP Agent
EtherNet/IP Scanner
Adapter

Tabela 75: Comportamento dos Protocolos x Estados da UCP

Notas:
Símbolo : O protocolo permanece ativo e operando normalmente.
Símbolo : O protocolo está desabilitado.
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. 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”.

5.7.2. Pontos Duplos


A representação de pontos digitais duplos de entrada e saída é realizada através de um tipo de dados especial chamado
DBP (definido na biblioteca LibDataTypes). Este tipo consiste basicamente em uma estrutura de dois elementos do tipo BOOL
chamados OFF e ON (equivalentes a TRIP e CLOSE respectivamente).
No Nexto, variáveis deste tipo não podem ser associadas à módulos digitais de entrada e saída, sendo necessário o mapea-
mento de pontos digitais individuais, tipo BOOL, e o tratamento via aplicação para conversão em pontos duplos.
Maiores informações sobre o mapeamento de pontos duplos nos módulos de entrada e saída digital podem ser obtidas na
seção IEC 60870-5-104 Servidor.

5.7.3. Fila de Eventos da UCP


A UCP possui uma fila de eventos do tipo FIFO (First In, First Out) utilizada para armazenar temporariamente os eventos
relacionados aos pontos de comunicação até que eles sejam transferidos ao seu destino final.

101
5. CONFIGURAÇÃO

Todos os eventos de pontos de comunicação gerados no CP são direcionados e armazenados na fila da UCP. Esta fila possui
as seguintes características:
Tamanho: 1000 eventos
Retentividade: não é retentiva
Política de estouro: mantém os mais recentes

ATENÇÃO

No CP Nexto, a fila de eventos é armazenada em uma área de memória não retentiva (volátil).
Desta forma, os eventos presentes na fila da UCP, que ainda não foram transmitidos ao centro
de controle, serão perdidos em um eventual desligamento do CP.

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:

Figura 72: Fila de Eventos da UCP

102
5. CONFIGURAÇÃO

5.7.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.

5.7.3.2. Princípios de Funcionamento da Fila

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.

5.7.3.2.1. Sinalização de Estouro

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.7.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

5.7.4. Interceptação de Comandos Oriundos do Centro de Controle


O CP Nexto possui um bloco de função que permite que comandos de seleção e operação para pontos de saída recebidos por
drivers servidores (IEC 60870-5-104 Servidor) sejam tratados pela lógica de usuário. Este recurso permite a implementação de
intertravamentos, bem como a manipulação dos dados do comando recebido na lógica do usuário ou ainda o redirecionamento
do comando para diferentes IEDs.
A interceptação de comandos é implementada pelo bloco de função CommandReceiver, definido na biblioteca LibRtuStan-
dard. Os parâmetros de entrada e saída são descritos nas tabelas a seguir:

Parâmetro Tipo Descrição


bExec BOOL Quando TRUE, executa a interceptação do comando
Indica que os dados de saída do comando já foram pro-
bDone BOOL cessados, liberado o bloco de função para recepção de um
novo comando

103
5. CONFIGURAÇÃO

Parâmetro Tipo Descrição


Endereço da variável, mapeado no driver servidor, que
dwVariableAddr DWORD
receberá o comando do cliente
Ação de entrada definida pelo usuário a partir da seguinte
lista:
SUCCESS(0)
NOT_SUPPORTED(1)
BLOCKED_BY_SWITCHING_HIERARCHY(2)
SELECT_FAILED(3)
INVALID_POSITION(4)
POSITION_REACHED(5)
eCommandResult ENUM PARAMETER_CHANGE_IN_EXECUTION(6)
STEP_LIMIT(7)
BLOCKED_BY_MODE(8)
BLOCKED_BY_PROCESS(9)
BLOCKED_BY_INTERLOCKING(10)
BLOCKED_BY_SYNNCHROCHECK(11)
COMMAND_ALREADY_IN_EXECUTION(12)
BLOCKED_BY_HEALTH (13)
ONE_OF_N_CONTROL(14)
ABORTION_BY_CANCEL(15)
TIME_LIMIT_OVER(16)
ABORTION_BY_TRIP(17)
OBJECT_NOT_SELECTED(18)
OBJECT_ALREADY_SELECTED(19)
NO_ACCESS_AUTHORITY(20)
ENDED_WITH_OVERSHOOT(21)
ABORTION_DUE_TO_DEVIATION(22)
ABORTION_BY_COMMUNICATION_LOSS(23)
BLOCKED_BY_COMAND(24)
NONE(25)
INCONSISTENT_PARAMETERS(26)
LOCKED_BY_OTHER_CLIENT(27)
HARDWARE_ERROR(28)
UNKNOWN(29)
dwTimeout DWORD Time-out [ms] para o tratamento pela lógica do usuário

Tabela 76: Parâmetros de Entrada do Bloco de Função CommandReceiver

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.

104
5. CONFIGURAÇÃO

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.

Parâmetro Tipo Descrição


Indica que foi interceptado um comando, e que os dados
bCommandAvailable BOOL
estão disponíveis para serem processados
Esta estrutura armazena os dados do comando recebido,
sCommand STRUCT a qual é composta pelo seguintes campos:
eCommand
sSelectParameters
sOperateParameters
A descrição de cada campo segue nesta seção.
Ação de saída da função a partir do resultado obtido,
eStatus ENUM
conforme lista:
(TYPE_RESULT)
OK_SUCCESS(0)
ERROR_FAILED(1)

Tabela 77: Parâmetros de saída do Bloco de Função CommandReceiver

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:

Parâmetro Tipo Descrição


NO_COMMAND(0)
eCommand ENUM
SELECT(1)
OPERATE(2)

Tabela 78: Comandos Suportados do Bloco de Função CommandReceiver

Os parâmetros que compõem as estruturas sSelectParameters, sOperateParameters e sCancelParameters são descritos nas
tabelas a seguir:

Parâmetro Tipo Descrição


Configuração do comando de seleção recebido. Os parâ-
sSelectConfig STRUCT
metros desta estrutura estão descritos na Tabela 80
Valor recebido em um select, quando recebido um co-
sValue STRUCT mando de seleção com valor. Os parâmetros desta estru-
tura estão descritos na Tabela 83

Tabela 79: Parâmetros sSelectParameters

105
5. CONFIGURAÇÃO

Parâmetro Tipo Descrição


Quando true indica a recepção de um comando de seleção
bSelectWithValue BOOL
com valor.

Tabela 80: Parâmetros sSelectConfig

Parâmetro Tipo Descrição


Configuração do comando de seleção recebido. Os parâ-
sOperateConfig STRUCT
metros desta estrutura estão descritos na Tabela 82
Campo de valor referente ao comando de operação re-
sValue STRUCT cebido. Os parâmetros desta estrutura estão descritos na
Tabela 83

Tabela 81: Parâmetros sOperateParameters

Parâmetro Tipo Descrição


Quando true indica que foi recebido um comando de ope-
bDirectOperate BOOL
ração sem select.
Quando true indica que foi recebido um comando que não
bNoAcknowledgement BOOL
requer a confirmação de recebimento.
Quando true indica que foi recebido um comando de ope-
bTimedOperate BOOL
ração ativado por tempo.
Programação do instante em que deve ser executado o
liOperateTime LINT comando. Este campo é válido somente quando bTime-
dOperate for true.
Quando true indica que o comando recebido foi enviado
bTest BOOL somente para fins de teste, desta forma o mesmo não deve
ser executado.

Tabela 82: Parâmetros sOperateConfig

Parâmetro Tipo Descrição


Informa o tipo de comando que foi recebido:
NO_COMMAND(0)
eParamType ENUM
SINGLE_POINT_COMMAND(1)
DOUBLE_POINT_COMMAND(2)
INTEGER_STATUS_COMMAND(3)
ENUMERATED_STATUS_COMMAND(4)
ANALOGUE_VALUE_COMMAND(5)
Quando recebido um comando, em função do tipo do co-
mando recebido, definido por eParamType, é preenchida
sSinglePoint STRUCT
a estrutura de dados correspondente. Os parâmetros des-
tas estruturas são apresentados na Tabela 84 a Tabela 88
sDoublePoint STRUCT
sIntegerStatus STRUCT
sEnumeratedStatus STRUCT
sAnalogueValue STRUCT

Tabela 83: Parâmetros sValue

106
5. CONFIGURAÇÃO

Parâmetro Tipo Descrição


bValue BOOL Valor de operação do ponto.
Os parâmetros de configuração de um comando pulsado
sPulseConfig STRUCT são armazenados nesta estrutura. Os parâmetros desta es-
trutura são apresentados na Tabela 89.

Tabela 84: Parâmetros sSinglePoint

Parâmetro Tipo Descrição


bValue BOOL Valor de operação do ponto.
Os parâmetros de configuração de um comando pulsado
sPulseConfig STRUCT são armazenados nesta estrutura. Os parâmetros desta es-
trutura são apresentados na Tabela 89.

Tabela 85: Parâmetros sDoublePoint

Parâmetro Tipo Descrição


diValue DINT Valor de operação do ponto.

Tabela 86: Parâmetros sIntegerStatus

Parâmetro Tipo Descrição


dwValue DWORD Valor de operação do ponto.

Tabela 87: Parâmetros sEnumeratedStatus

Parâmetro Tipo Descrição


Informa o tipo de dado do valor analógico recebido:
eType ENUM
INTEGER (0)
FLOAT (1)
diValue DINT Valor de operação do ponto, no formato inteiro.
fValue REAL Valor de operação do ponto, no formato float.

Tabela 88: Parâmetros sAnalogueValue

Parâmetro Tipo Descrição


bPulseCommand BOOL Quando true indica que o comando recebido é pulsado.
Esta é a duração, expressa em milissegundos, que a saída
dwOnDuration DWORD
digital deve permanecer ligada.
Esta é a duração, expressa em milissegundos, que a saída
dwOffDuration DWORD
digital deve permanecer desligada.
dwPulseCount DWORD Número de vezes que o comando deve ser executado.

Tabela 89: Parâmetros sPulseConfig

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

107
5. CONFIGURAÇÃO

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.

5.7.5. MODBUS MESTRE RTU


Este protocolo está disponível para as UCPs da Série Nexto nos seus canais seriais. Ao selecionar esta opção no MasterTool
IEC XE, a UCP passa a ser mestre da comunicação MODBUS, possibilitando o acesso a outros dispositivos com o mesmo
protocolo, quando esta estiver em modo de execução (Modo Run).
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 ou na
seção Inserindo uma Instância de Protocolo. As demais etapas de configuração serão descritas a seguir para cada modo.
Adicionar a instância do protocolo MODBUS RTU Mestre ao canal serial COM 1. Para realizar esse procedimento,
consultar a seção Inserindo uma Instância de Protocolo.
Configurar a interface serial, escolhendo a taxa de transmissão,a paridade, bits de parada do canal e demais configurações
através de um duplo clique sobre o canal serial COM 1. Consultar a seção Interface Serial.

5.7.5.1. Configuração do Protocolo MODBUS Mestre por Mapeamento Simbólico

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 73.
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 74.
Adicionar e configurar os mapeamentos MODBUS na aba Mapeamentos conforme Figura 75, 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 76, 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.7.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:

Figura 73: Tela de Configuração Parâmetros Gerais MODBUS RTU Mestre

108
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Tempo de atraso para envio
Atraso do Envio (ms) 0 0 a 65535
da resposta.
Interframe Mínimo Tempo mínimo de silêncio
3.5 3.5 a 100.0
(chars) entre diferentes frames.

Tabela 90: Configurações Gerais MODBUS RTU Mestre

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):

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_MASTER_1.*
Bits de diagnóstico:
%QX(n).0 tDiag. BIT O mestre está em execução.
bRunning
tDiag. O mestre não está em execução (ver bit:
%QX(n).1 BIT
bNotRunning bInterruptedByCommand).
O bit bNotRunning foi habilitado, pois o
%QX(n).2 tDiag. BIT mestre foi interrompido pelo usuário atra-
bInterruptedByCommand vés de bits de comando.
%QX(n).3 tDiag. BIT Diagnóstico descontinuado.
bConfigFailure
%QX(n).4 tDiag. BIT Diagnóstico descontinuado.
bRXFailure
%QX(n).5 tDiag. BIT Diagnóstico descontinuado.
bTXFailure
tDiag. Indica se há falha no módulo ou o módulo
%QX(n).6 BIT
bModuleFailure não está presente.

%QX(n).7 tDiag. BIT Reservado


bDiag_7_reserved
Códigos de erro:

109
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_MASTER_1.*
0: não existem erros.
1: porta serial inválida.
2: modo da porta serial inválido
3: taxa de transmissão inválida
4: bits de dado inválidos
5: paridade inválida
6: bits de parada inválidos
7: parâmetro de sinal de modem inválido
SERIAL_STATUS 8: parâmetro de Threshold de RX da
%QB(n+1) eErrorCode UART inválido
(BYTE)
9: parâmetro de time-out inválido
10: porta serial ocupada
11: erro de hardware na UART
12: erro de hardware remoto
20: tamanho do buffer de transmissão in-
válido
21: método de sinal de modem inválido
22: time-out de CTS = verdadeiro
23: time-out de CTS = falso
24: erro de time-out na transmissão
30: tamanho do buffer de recepção invá-
lido
31: erro de time-out na recepção
32: controle de fluxo configurado dife-
rente de manual
33: controle de fluxo inválido para a porta
serial configurada
34: recepção de dados não permitida no
modo normal
35: recepção de dados não permitida no
modo estendido
36: interrupção DCD não permitida
37: interrupção CTS não permitida
38: interrupção DSR não permitida
39: porta serial não configurada
50: erro interno na porta serial
Bits de comando, reiniciados automaticamente:
%QX(n+2).0 tCommand. BIT Parar o mestre.
bStop
%QX(n+2).1 tCommand. BIT Reiniciar o mestre.
bRestart
tCommand. Reiniciar as estatísticas dos diagnósticos
%QX(n+2).2 BIT
bResetCounter (contadores).

%QX(n+2).3 tCommand. BIT Reservado


bDiag_19_reserved
%QX(n+2).4 tCommand. BIT Reservado
bDiag_20_reserved
%QX(n+2).5 tCommand. BIT Reservado
bDiag_21_reserved

110
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_MASTER_1.*
%QX(n+2).6 tCommand. BIT Reservado
bDiag_22_reserved
%QX(n+2).7 tCommand. BIT Reservado
bDiag_23_reserved
%QB(n+3) byDiag_3_reserved BYTE Reservado
Estatísticas de comunicação:
tStat. Contador de requisições transmitidas pelo
%QW(n+4) WORD
wTXRequests mestre (0 a 65535).

tStat. Contador de respostas normais recebidas


%QW(n+6) WORD
wRXNormalResponses pelo mestre (0 a 65535).

tStat. Contador de respostas com códigos de ex-


%QW(n+8) WORD
wRXExceptionResponses ceção recebidas pelo mestre (0 a 65535).
Contador de respostas ilegais recebidas
tStat. pelo mestre – sintaxe inválida, número in-
%QW(n+10) WORD
wRXIllegalResponses suficiente de bytes recebidos, CRC invá-
lido – (0 a 65535).
Contador de erros de overrun durante a re-
%QW(n+12) tStat. WORD cepção – UART FIFO ou fila RX – (0 a
wRXOverrunErrors 65535).
Contador de respostas com erro de constru-
%QW(n+14) tStat. WORD ção, paridade ou falha durante a recepção
wRXIncompleteFrames (0 a 65535).
Contador de erro de time-out no CTS, uti-
%QW(n+16) tStat. WORD lizando o handshake RTS/CTS, durante a
wCTSTimeOutErrors transmissão (0 a 65535).
%QW(n+18) tStat. WORD Reservado
wDiag_18_Reserved

Tabela 91: Diagnósticos MODBUS RTU Mestre

Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS RTU Mestre retornam à zero quando o valor limite
65535 é ultrapassado.

111
5. CONFIGURAÇÃO

5.7.5.1.2. Configuração dos Dispositivos – Configuração por Mapeamento Simbólico

A configuração dos dispositivos escravos, visualizada na figura abaixo, segue os seguintes parâmetros:

Figura 74: Tela de Configurações dos Parâmetros Gerais do Dispositivo

Configuração Descrição Padrão Opções


Endereço do escravo MOD-
Endereço do escravo 1 0 a 255
BUS
Time-out de comunicação Define o time-out do nível
3000 10 a 65535
(ms) de aplicação
Define o número de tentati-
Número Máximo de Re-
vas antes de reportar um erro 2 0a9
tentativas
de comunicação

Tabela 92: Configurações do Dispositivo

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.

5.7.5.1.3. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico

A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:

112
5. CONFIGURAÇÃO

Figura 75: Tela de Mapeamentos de Dados MODBUS

Configuração Descrição Padrão Opções


Nome de uma variável de-
Variável de Valor Nome da variável simbólica - clarada em um programa ou
GVL
Coil - Escrita (1 bit)
Coil - Leitura (1 bit)
Holding Register - Escrita
Tipo do Dado Tipo de dado MODBUS - (16 bits)
Holding Register - Leitura
(16 bits)
Holding Register – Máscara
AND (16 bits)
Holding Register – Máscara
OR (16 bits)
Input Register (16 bits)
Input Status (1 bit)
Endereço inicial dos dados
Endereço Inicial do Dado - 1 a 65536
MODBUS
Tamanho do dado MOD-
Tamanho do Dado - 1 a 65536
BUS
Faixa de endereços do dado
Faixa de Dados - -
configurado

Tabela 93: Configuração dos Mapeamentos MODBUS

Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.

113
5. CONFIGURAÇÃO

Tipo de Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.

Tipo de Dado Tamanho [bits] Descrição


Coil - Escrita 1 Saída digital de escrita.
Coil - Leitura 1 Saída digital de leitura.
Holding Register - Escrita 16 Saída analógica de escrita.
Holding Register - Leitura 16 Saída analógica de leitura.
Saída analógica que pode ser lida ou escrita com máscara
Holding Register - Máscara AND 16
AND.
Saída analógica que pode ser lida ou escrita com máscara
Holding Register - Máscara OR 16
OR.
Input Register 16 Entrada analógica que pode ser apenas lida.
Input Status 1 Entrada digital que pode ser apenas lida.

Tabela 94: Tipos de Dados suportados no MODBUS

Endereço Inicial do Dado: Endereço inicial do dado de um mapeamento MODBUS.


Tamanho do Dado: O valor de Tamanho 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: Este campo mostra ao usuário a faixa de endereços de memória utilizada pela relação MODBUS.

5.7.5.1.4. Configuração das Requisições – Configuração por Mapeamento Simbólico

A configuração das requisições MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:

Figura 76: Tela de Requisições de dados MODBUS Mestre

114
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


01 – Leitura de Coils
02 – Leitura de Input Status
03 – Leitura de Holding Re-
gisters
Código de Função Tipo de função MODBUS - 04 – Leitura de Input Regis-
ters
05 – Escrita de Um Coil
06 – Escrita de Um Register
15 – Escrita de Múltiplos
Coils
16 – Escrita de Múltiplos
Registers
22 – Escrita Mascarada de
Register
23 – Leitura/Escrita de
Múltiplos Registers
Período de comunicação
Varredura (ms) 100 0 a 3600000
(ms)
Endereço Inicial do Dado Endereço inicial dos dados
- 1 a 65536
de Leitura de leitura MODBUS
Tamanho dos Dados de Tamanho dos dados de lei-
- Depende da função utilizada
Leitura tura MODBUS
Faixa dos Dados de Lei- Faixa de endereço dos dados
- 0 a 2147483646
tura de leitura MODBUS
Endereço Inicial do Dado Endereço inicial dos dados
- 1 a 65536
de Escrita de escrita MODBUS
Tamanho dos Dados de Es- Tamanho dos dados de es-
- Depende da função utilizada
crita crita MODBUS
Faixa de endereço dos dados
Faixa dos Dados de Escrita - 0 a 2147483647
de escrita MODBUS
Nome de uma variável de-
Nome da variável de diag-
Variável de Diagnóstico - clarada em um programa ou
nóstico
GVL
Campo destinado a variá-
vel simbólica utilizada para
desabilitar, individualmente,
as requisições MODBUS
Variável utilizada para desa-
Variável de Desabilitação - configuradas. Esta variável
bilitar a relação MODBUS
deve ser do tipo BOOL. A
variável pode ser simples ou
elemento de array e pode es-
tar em estruturas.

Tabela 95: Configuração das Relações MODBUS

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:

115
5. CONFIGURAÇÃO

Código
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)
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)

Tabela 96: Funções MODBUS Suportadas pelas UCPs Nexto

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
Máscara de Escrita do Register (FC 22): 1
Leitura/Escrita de Holding Registers (FC 23): 121
Faixa dos Dados de Escrita: Este campo mostra a faixa de dados de escrita MODBUS configurada para cada requisição.
O endereço inicial de escrita, somado ao tamanho do dado de escrita resultará na faixa de dados de escrita de cada uma das
requisições.
Variável de Diagnóstico: Os diagnósticos da requisição MODBUS configurada, seja por mapeamento simbólico ou por
representação direta , são armazenados em variáveis do tipo T_DIAG_MODBUS_RTU_MAPPING_1 para dispositivos Mestre
e T_DIAG_MODBUS_ETH_CLIENT_1 para dispositivos Cliente e para o mapeamento por representação direta estão em 4
bytes e 2 words, os quais estão descritos na Tabela 97 (n é o valor configurado no campo Endereço Inicial de Diagnósticos em
%Q).

116
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_MAPPING_1.*
Bits de estado da comunicação:
byStatus. Comunicação inativa (aguardando ser
%QX(n).0 BIT
bCommIdle constada).

%QX(n).1 byStatus. BIT Comunicação ativa.


bCommExecuting
Comunicação adiada, pois o número má-
ximo de requisições simultâneas foi atin-
gido. As comunicações adiadas serão exe-
cutadas na mesma sequência em que elas
byStatus. foram requisitadas, evitando a indetermi-
%QX(n).2 BIT
bCommPostponed nação. O tempo gasto nesse estado não é
contabilizado para efeitos de time-out. Os
bits bCommIdle e bCommExecuting são
falsos quando o bit bCommPostponed é
verdadeiro.
byStatus. Comunicação desabilitada. O bit bCommI-
%QX(n).3 BIT
bCommDisabled dle é reiniciado nessa condição.

byStatus. Comunicação finalizada anteriormente foi


%QX(n).4 BIT
bCommOk realizada com sucesso.

byStatus. Comunicação finalizada anteriormente


%QX(n).5 BIT
bCommError teve um erro. Verificar código de erro.

%QX(n).6 byStatus. BIT Não utilizado no MODBUS Mestre RTU.


bCommAborted
%QX(n).7 byStatus. BIT Reservado
bDiag_7_reserved
Último código de erro (habilitado quando o bCommError = verdadeiro):
Informa a possível causa do último erro
MASTER_ERROR ocorrido na relação MODBUS. Consulte a
%QB(n+1) eLastErrorCode
_CODE (BYTE) Tabela 115 para detalhes das possibilida-
des.
Último código de exceção recebido pelo mestre:
NO_EXCEPTION (0)
MODBUS _EXCEP- FUNCTION_NOT_SUPPORTED (1)
%QB(n+2) eLastExceptionCode
TION (BYTE) MAPPING_NOT_FOUND (2)
ILLEGAL_VALUE (3)
ACCESS_DENIED (128)*
MAPPING_DISABLED (129)*
IGNORE_FRAME (255)*
Estatísticas de comunicação:
%QB(n+3) byDiag_3_reserved BYTE Reservado.
Contador de comunicações finalizadas,
com ou sem erros. O usuário pode testar
quando a comunicação foi finalizada tes-
%QW(n+4) wCommCounter WORD
tando a variação desse contador. Quando o
valor 65535 é atingido, o contador retorna
à zero.

117
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_MAPPING_1.*
Contador de comunicações finalizadas
%QW(n+6) wCommErrorCounter WORD com erros. Quando o valor 65535 é atin-
gido, o contador retorna a zero.

Tabela 97: Diagnósticos das relações MODBUS

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:

Código Enumerável Descrição


Resposta reportada em um código de exceção (ver eLas-
1 ERR_EXCEPTION
tExceptionCode = Código de Exceção).
2 ERR_CRC Resposta com CRC inválido.
Endereço MODBUS não encontrado. O endereço que
3 ERR_ADDRESS
respondeu à requisição foi diferente do esperado.
Código inválido da função. A função recebida na res-
4 ERR_FUNCTION
posta foi diferente da esperada pela requisição.
A quantidade de dados da resposta foi diferente da espe-
5 ERR_FRAME_DATA_COUNT
rada.
7 ERR_NOT_ECHO Resposta não é eco da pergunta (FC 5 e 6).
8 ERR_REFERENCE_NUMBER Número de referência inválido (FC 15 e 16).
9 ERR_INVALID_FRAME_SIZE Resposta menor do que a esperada.
20 ERR_CONNECTION Erro durante a fase de conexão.
21 ERR_SEND Erro durante a fase de transmissão.
22 ERR_RECEIVE Erro durante a fase de recepção.
40 ERR_CONNECTION_TIMEOUT Time-out no nível de aplicação durante a conexão.
41 ERR_SEND_TIMEOUT Time-out no nível de aplicação durante a transmissão.
Time-out no nível de aplicação enquanto aguarda res-
42 ERR_RECEIVE_TIMEOUT
posta.
43 ERR_CTS_OFF_TIMEOUT Time-out enquanto aguarda CTS = falso na transmissão.
Time-out enquanto aguarda CTS = verdadeiro na trans-
44 ERR_CTS_ON_TIMEOUT
missão.
128 NO_ERROR Sem erro desde a inicialização.

Tabela 98: Códigos de Erro das relações MODBUS

118
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.

5.7.6. MODBUS ESCRAVO RTU


Este protocolo está disponível para as UCPs da Série Nexto nos seus canais seriais. Ao selecionar esta opção no MasterTool
IEC XE, a UCP passa a ser escravo da comunicação MODBUS, permitindo a conexão com dispositivos mestre MODBUS RTU.
Este protocolo somente está disponível quando a UCP estiver em modo de execução (Modo Run).
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. Para realizar esse procedimento,
consultar a seção Inserindo uma Instância de Protocolo.
Configurar a interface serial, escolhendo a velocidade de comunicação, a paridade, os bits de parada do canal, entre
outros. Consultar a seção Interface Serial.

5.7.6.1. Configuração do Protocolo MODBUS Escravo por Mapeamento Simbólico

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.

119
5. CONFIGURAÇÃO

5.7.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.

Figura 77: Configuração do Escravo

Configuração Descrição Padrão Opções


Endereço do escravo MOD-
Endereço do Escravo 1 1 a 255
BUS

Tabela 99: Configurações do Escravo

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.

Figura 78: Configurações Avançadas MODBUS do Escravo

Configuração Descrição Padrão Opções


Tempo para execução da ins-
tância dentro do ciclo, sem
Ciclo da Tarefa (ms) 50 20 a 100
considerar o tempo de exe-
cução da mesma

120
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Tempo de atraso para envio
Atraso do Envio (ms) 0 0 a 65535
da resposta
Interframe Mínimo Tempo mínimo de silêncio
3.5 3.5 a 100.0
(chars) entre diferentes frames
Habilita o Modbus Symbol
Mantém a comunicação Slave para comunicar en-
funcionando quando a quanto a UCP estiver em desmarcado marcado ou desmarcado
UCP está parada. STOP ou parada em um bre-
akpoint

Tabela 100: Configurações Avançadas MODBUS Escravo

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):

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_SLAVE_1.*
Bits de diagnóstico:
%QX(n).0 tDiag. BIT O escravo está em execução.
bRunning
tDiag. O escravo não está em execução (ver bit:
%QX(n).1 BIT
bNotRunning bInterruptedByCommand).
O bit bNotRunning foi habilitado, pois o
%QX(n).2 tDiag. BIT escravo foi interrompido pelo usuário atra-
bInterruptedByCommand vés de bits de comando.
%QX(n).3 tDiag. BIT Diagnóstico descontinuado.
bConfigFailure
%QX(n).4 tDiag. BIT Diagnóstico descontinuado.
bRXFailure
%QX(n).5 tDiag. BIT Diagnóstico descontinuado.
bTXFailure
%QX(n).6 tDiag. BIT Diagnóstico descontinuado.
bModuleFailure
%QX(n).7 tDiag. BIT Reservado
bDiag_7_reserved

121
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_SLAVE_1.*
Códigos de erro:
0: não existem erros.
1: porta serial inválida.
2: modo da porta serial inválido
3: taxa de transmissão inválida
4: bits de dado inválidos
5: paridade inválida
6: bits de parada inválidos
7: parâmetro de sinal de modem inválido
SERIAL_STATUS 8: parâmetro de Threshold de RX da
%QB(n+1) eErrorCode UART inválido
(BYTE)
9: parâmetro de time-out inválido
10: porta serial ocupada
11: erro de hardware na UART
12: erro de hardware remoto
20: tamanho do buffer de transmissão in-
válido
21: método de sinal de modem inválido
22: time-out de CTS = verdadeiro
23: time-out de CTS = falso
24: erro de time-out na transmissão
30: tamanho do buffer de recepção invá-
lido
31: erro de time-out na recepção
32: controle de fluxo configurado dife-
rente de manual
33: controle de fluxo inválido para a porta
serial configurada
34: recepção de dados não permitida no
modo normal
35: recepção de dados não permitida no
modo estendido
36: interrupção DCD não permitida
37: interrupção CTS não permitida
38: interrupção DSR não permitida
39: porta serial não configurada
50: erro interno na porta serial
Bits de comando, reiniciados automaticamente:
%QX(n+2).0 tCommand. BIT Parar o escravo.
bStop
%QX(n+2).1 tCommand. BIT Reiniciar o escravo.
bRestart
tCommand. Reiniciar as estatísticas dos diagnósticos
%QX(n+2).2 BIT
bResetCounter (contadores).

%QX(n+2).3 tCommand. BIT Reservado


bDiag_19_reserved
%QX(n+2).4 tCommand. BIT Reservado
bDiag_20_reserved

122
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_SLAVE_1.*
%QX(n+2).5 tCommand. BIT Reservado
bDiag_21_reserved
%QX(n+2).6 tCommand. BIT Reservado
bDiag_22_reserved
%QX(n+2).7 tCommand. BIT Reservado
bDiag_23_reserved
%QB(n+3) byDiag_3_reserved BYTE Reservado
Estatísticas de comunicação:
Contador de requisições normais recebi-
das pelo escravo e respondidas normal-
%QW(n+4) tStat. WORD mente. No caso de um comando broadcast,
wRXRequests esse contador é incrementado, porém não é
transmitida a resposta (0 a 65535).
Contador de requisições normais recebi-
das pelo escravo e respondidas com códi-
gos de exceção. No caso de um comando
broadcast, esse contador é incrementado,
%QW(n+6) tStat. WORD porém não é transmitida a resposta (0 a
wTXExceptionResponses 65535).
Códigos de exceção:
1: o código da função (FC) é legal, porém
não suportado.
2: relação não encontrada nestes dados
MODBUS.
3: valor ilegal para o endereço.
128: o mestre/cliente não tem direito de
escrita ou leitura.
129: a relação MODBUS está desabili-
tada.
Contador de frames recebidos pelo es-
cravo. Considera-se frame, algo que é
tStat. processado e seguido de um período mí-
%QW(n+8) WORD
wRXFrames nimo de silêncio interframes (Interframe
Mínimo), ou seja, uma mensagem ilegal
também é computada (0 a 65535).
Contador de requisições ilegais. Estes são
frames que iniciam com o endereço 0 (bro-
tStat. adcast) ou com o endereço MODBUS do
%QW(n+10) WORD
wRXIllegalRequests escravo, mas não são requisições legais –
sintaxe inválida, frames menores, CRC in-
válido – (0 a 65535).
Contador de frames com erros de overrun
%QW(n+12) tStat. WORD durante a recepção – UART FIFO ou fila
wRXOverrunErrors RX – (0 a 65535).
Contador de frames com erro de constru-
%QW(n+14) tStat. WORD ção, paridade ou falha durante a recepção
wRXIncompleteFrames (0 a 65535).
Contador de erro de time-out no CTS, uti-
%QW(n+16) tStat. WORD lizando o handshake RTS/CTS, durante a
wCTSTimeOutErrors transmissão (0 a 65535).

123
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _RTU_SLAVE_1.*
%QW(n+18) tStat. WORD Reservado
wDiag_18_Reserved

Tabela 101: Diagnósticos MODBUS RTU Escravo

Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS RTU Escravo retornam à zero quando o valor limite
65535 é ultrapassado.

5.7.6.1.2. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico

A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:

Figura 79: Tela de Mapeamentos de dados MODBUS

Configuração Descrição Padrão Opções


Nome de uma variável de-
Variável de Valor Nome da variável simbólica - clarada em um programa ou
GVL
Coil
Tipo de Dado Tipo de dado MODBUS - Input Status
Holding Register
Input Register
Endereço inicial dos dados
Endereço Inicial do Dado - 1 a 65536
MODBUS
Endereço inicial absoluto
Endereço Inicial Absoluto
dos dados MODBUS con- - -
do Dado
forme o seu tipo.
Tamanho do dado MOD-
Tamanho do Dado - 1 a 65536
BUS
Faixa de endereços do dado
Faixa de Dados - -
configurado

Tabela 102: Configuração dos Mapeamentos MODBUS

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.

Tipo de Dado Tamanho [bits] Descrição


Coil 1 Saída digital que pode ser lida ou escrita.
Input Status 1 Entrada digital que pode ser apenas lida.

124
5. CONFIGURAÇÃO

Tipo de Dado Tamanho [bits] Descrição


Holding Register 16 Saída analógica que pode ser lida ou escrita.
Input Register 16 Entrada analógica que pode ser apenas lida.

Tabela 103: Tipos de Dados MODBUS suportados pelas UCPs Nexto

Endereço Inicial do Dado: Endereço inicial do dado de um mapeamento MODBUS.


Tamanho do Dado: O valor de tamanho 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: 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.

5.7.7. MODBUS ETHERNET


A rede de comunicação multimestre permite que as UCPs Nexto leiam ou escrevam variáveis MODBUS em outros con-
troladores ou IHMs compatíveis com os protocolos MODBUS TCP ou MODBUS RTU via TCP. A UCP Nexto pode, simulta-
neamente, ser cliente e servidor em uma mesma rede de comunicação, ou até mesmo ter mais instâncias associadas à interface
Ethernet, indiferente se as mesmas são MODBUS TCP ou MODBUS RTU via TCP, conforme descreve a Tabela 72.
A figura abaixo representa algumas das possibilidades de comunicação utilizando-se o protocolo MODBUS TCP simulta-
neamente com o protocolo MODBUS RTU via TCP.

125
5. CONFIGURAÇÃO

Figura 80: Rede de Comunicação MODBUS TCP

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.

Tipo de Dado Tamanho [bits] Descrição


Coil 1 Saída digital que pode ser lida ou escrita.
Input Status 1 Entrada digital que pode ser apenas lida.

126
5. CONFIGURAÇÃO

Tipo de Dado Tamanho [bits] Descrição


Holding Register 16 Saída analógica que pode ser lida ou escrita.
Input Register 16 Entrada analógica que pode ser apenas lida.

Tabela 104: Tipos de Dados MODBUS suportados pelas UCPs Nexto

Código
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)
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)

Tabela 105: Funções MODBUS Suportadas pelas UCPs Nexto

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. 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 Interface Ethernet.

5.7.8. MODBUS Ethernet Cliente


Este protocolo está disponível para as UCPs da Série Nexto nos seus canais Ethernet. Ao selecionar esta opção no Mas-
terTool IEC XE, a UCP passa a ser cliente da comunicação MODBUS, possibilitando o acesso a outros dispositivos com o
mesmo protocolo, quando esta estiver em modo de execução (Modo Run).
O procedimento para inserir uma instância de protocolo é encontrado com detalhes no Manual de Utilização do MasterTool
IEC XE – MU299048 ou na seção Inserindo uma Instância de Protocolo.

5.7.8.1. Configuração do Protocolo MODBUS Ethernet Cliente por Mapeamento Simbólico

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.

127
5. CONFIGURAÇÃO

5.7.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:

Figura 81: Tela de Configuração Parâmetros Gerais MODBUS Cliente

Configuração Descrição Padrão Opções


Modo de Conexão Seleção do protocolo TCP RTU via TCP
TCP

Tabela 106: Configurações Gerais MODBUS Cliente

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):

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _ETH_CLIENT_1.*
Bits de diagnóstico:
%QX(n).0 tDiag. BIT O cliente está em execução.
bRunning
tDiag. O cliente não está em execução (ver bit
%QX(n).1 BIT
bNotRunning bInterruptedByCommand).
O bit bNotRunning foi habilitado pois o
%QX(n).2 tDiag. BIT cliente foi interrompido pelo usuário atra-
bInterruptedByCommand vés de bits de comando.
%QX(n).3 tDiag. BIT Diagnóstico descontinuado.
bConfigFailure
%QX(n).4 tDiag. BIT Diagnóstico descontinuado.
bRXFailure
%QX(n).5 tDiag. BIT Diagnóstico descontinuado.
bTXFailure
tDiag. Indica se há falha no módulo ou o módulo
%QX(n).6 BIT
bModuleFailure não está presente.

tDiag. Indica que todos os dispositivos configura-


%QX(n).7 BIT
bAllDevicesCommFailure dos no cliente estão com falha.
%QB(n+1) byDiag_1_reserved BYTE Reservado
Bits de comando, reiniciados automaticamente:

128
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _ETH_CLIENT_1.*
%QX(n+2).0 tCommand. BIT Parar o cliente.
bStop
%QX(n+2).1 tCommand. BIT Reiniciar o cliente.
bRestart
tCommand. Reiniciar as estatísticas dos diagnósticos
%QX(n+2).2 BIT
bResetCounter (contadores).

%QX(n+2).3 tCommand. BIT Reservado


bDiag_19_reserved
%QX(n+2).4 tCommand. BIT Reservado
bDiag_20_reserved
%QX(n+2).5 tCommand. BIT Reservado
bDiag_21_reserved
%QX(n+2).6 tCommand. BIT Reservado
bDiag_22_reserved
%QX(n+2).7 tCommand. BIT Reservado
bDiag_23_reserved
%QB(n+3) byDiag_3_reserved BYTE Reservado
Estatísticas de comunicação:
tStat. Contador de requisições transmitidas pelo
%QW(n+4) WORD
wTXRequests cliente (0 a 65535).

tStat. Contador de respostas normais recebidas


%QW(n+6) WORD
wRXNormalResponses pelo cliente (0 a 65535).

tStat. Contador de respostas com códigos de ex-


%QW(n+8) WORD
wRXExceptionResponses ceção (0 a 65535).
Contador de respostas ilegais recebidas
tStat. pelo cliente – sintaxe inválida, CRC invá-
%QW(n+10) WORD
wRXIllegalResponses lido ou número insuficiente de bytes rece-
bidos (0 a 65535).
%QW(n+12) tStat. WORD Reservado
wDiag_12_reserved
%QW(n+14) tStat. WORD Reservado
wDiag_14_reserved
%QW(n+16) tStat. WORD Reservado
wDiag_16_reserved
%QW(n+18) tStat. WORD Reservado
wDiag_18_Reserved

Tabela 107: Diagnósticos MODBUS Cliente

Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS TCP Cliente retornam à zero quando o valor limite
65535 é ultrapassado.

5.7.8.1.2. Configuração dos Dispositivos – Configuração por Mapeamento Simbólico

A configuração dos dispositivos escravos, visualizada na figura abaixo, segue os seguintes parâmetros:

129
5. CONFIGURAÇÃO

Figura 82: Tela de Configurações dos Parâmetros Gerais do Dispositivo

Configuração Descrição Padrão Opções


Endereço IP Endereço IP do servidor 0.0.0.0 1.0.0.1 a 223.255.255.255
Porta TCP Porta TCP 502 2 a 65534
Endereço do Escravo MOD-
Endereço do Escravo 1 0 a 255
BUS

Tabela 108: Parâmetros Gerais MODBUS Cliente

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. Ver tabela Portas TCP/UDP reservadas.
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.

Configuração Descrição Padrão Opções


Número de requisições si-
Número Máximo de Re-
multâneas que o cliente pode 1 1a8
quisições Simultâneas
fazer ao servidor
Time-out do nível da aplica-
Time-out de Comunicação 3000 10 a 65535
ção em ms
Conexão é
fechada após Conexão é fechada depois
Define quando a conexão
um tempo de de um time-out.
Modo com o servidor é finalizada
inatividade Conexão é fechada ao final
pelo cliente
de (s): 10 a de cada comunicação.
3600. Conexão é fechada após um
tempo de inatividade de (s):
10 a 3600.
Tempo de Inatividade Tempo de inatividade 10 3600

Tabela 109: Configurações Avançadas MODBUS Cliente

Notas:

130
5. CONFIGURAÇÃO

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.
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.

5.7.8.1.3. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico

A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:

Figura 83: Tela de Mapeamentos de dados MODBUS Cliente

Configuração Descrição Padrão Opções


Nome de uma variável de-
Variável de Valor Nome da variável simbólica - clarada em um programa ou
GVL

131
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Coil - Escrita (1 bit)
Coil - Leitura (1 bit)
Holding Register - Escrita
Tipo do Dado Tipo de dado MODBUS - (16 bits)
Holding Register - Leitura
(16 bits)
Holding Register – Máscara
AND (16 bits)
Holding Register – Máscara
OR (16 bits)
Input Register (16 bits)
Input Status (1 bit)
Endereço inicial dos dados
Endereço Inicial do Dado - 1 a 65536
MODBUS
Tamanho do dado MOD-
Tamanho do Dado - 1 a 65536
BUS
Faixa de endereços do dado
Faixa de Dados - -
configurado

Tabela 110: Configuração dos Mapeamentos MODBUS

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.

Tipo de Dado Tamanho [bits] Descrição


Coil - Escrita 1 Saída digital de escrita.
Coil - Leitura 1 Saída digital de leitura.
Holding Register - Escrita 16 Saída analógica de escrita.
Holding Register - Leitura 16 Saída analógica de leitura.
Saída analógica que pode ser lida ou escrita com máscara
Holding Register - Máscara AND 16
AND.
Saída analógica que pode ser lida ou escrita com máscara
Holding Register - Máscara OR 16
OR.
Input Register 16 Entrada analógica que pode ser apenas lida.
Input Status 1 Entrada digital que pode ser apenas lida.

Tabela 111: Tipos de Dados suportados no MODBUS

Endereço Inicial do Dado: Endereço inicial do dado de um mapeamento MODBUS.


Tamanho do Dado: O valor de Tamanho 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: Este campo mostra ao usuário a faixa de endereços de memória utilizada pela relação MODBUS.

5.7.8.1.4. Configuração das Requisições – Configuração por Mapeamento Simbólico

A configuração das requisições MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:

132
5. CONFIGURAÇÃO

Figura 84: Tela de Requisições de dados MODBUS

Configuração Descrição Padrão Opções


01 – Leitura de Coils
02 – Leitura de Input Status
03 – Leitura de Holding Re-
gisters
Código de Função Tipo de função MODBUS - 04 – Leitura de Input Regis-
ters
05 – Escrita de Um Coil
06 – Escrita de Um Register
15 – Escrita de Múltiplos
Coils
16 – Escrita de Múltiplos
Registers
22 – Escrita Mascarada de
Register
23 – Leitura/Escrita de
Múltiplos Registers
Período de comunicação
Varredura (ms) 100 0 a 3600000
(ms)
Endereço Inicial do Dado Endereço inicial dos dados
- 1 a 65536
de Leitura de leitura MODBUS
Tamanho dos Dados de Tamanho dos dados de lei-
- Depende da função utilizada
Leitura tura MODBUS
Faixa dos Dados de Lei- Faixa de endereço dos dados
- 0 a 2147483646
tura de leitura MODBUS
Endereço Inicial do Dado Endereço inicial dos dados
- 1 a 65536
de Escrita de escrita MODBUS
Tamanho dos Dados de Es- Tamanho dos dados de es-
- Depende da função utilizada
crita crita MODBUS
Faixa de endereço dos dados
Faixa dos Dados de Escrita - 0 a 2147483647
de escrita MODBUS
Nome de uma variável de-
Nome da variável de diag-
Variável de Diagnóstico - clarada em um programa ou
nóstico
GVL

133
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Campo destinado a variá-
vel simbólica utilizada para
desabilitar, individualmente,
as requisições MODBUS
Variável utilizada para desa-
Variável de Desabilitação - configuradas. Esta variável
bilitar a relação MODBUS
deve ser do tipo BOOL. A
variável pode ser simples ou
elemento de array e pode es-
tar em estruturas.

Tabela 112: Configuração das Relações MODBUS

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
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)
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)

Tabela 113: Funções MODBUS Suportadas pelas UCPs Nexto

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

134
5. CONFIGURAÇÃO

Escrita de Um Holding Register (FC 6): 1


Escrita de Múltiplos Coils (FC 15): 1968
Escrita de Holding Registers (FC 16): 123
Máscara de Escrita do Register (FC 22): 1
Leitura/Escrita de Holding Registers (FC 23): 121
Faixa dos Dados de Escrita: Este campo mostra a faixa de dados de escrita MODBUS configurada para cada requisição.
O endereço inicial de escrita, somado ao tamanho do dado de escrita resultará na faixa de dados de escrita de cada uma das
requisições.
Variável de Diagnóstico: Os diagnósticos da requisição MODBUS configurada, seja por mapeamento simbólico ou por
representação direta , são armazenados em variáveis do tipo T_DIAG_MODBUS_RTU_MAPPING_1 para dispositivos Mestre
e T_DIAG_MODBUS_ETH_CLIENT_1 para dispositivos Cliente e para o mapeamento por representação direta estão em 4
bytes e 2 words, os quais estão descritos na Tabela 97 (n é o valor configurado no campo Endereço Inicial de Diagnósticos em
%Q).

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _ETH_MAPPING_1.*
Bits de estado da comunicação:
byStatus. Comunicação inativa (aguardando ser
%QX(n).0 BIT
bCommIdle constada).

%QX(n).1 byStatus. BIT Comunicação ativa.


bCommExecuting
Comunicação adiada, pois o número má-
ximo de requisições simultâneas foi atin-
gido. As comunicações adiadas serão exe-
cutadas na mesma sequência em que elas
byStatus. foram requisitadas, evitando a indetermi-
%QX(n).2 BIT
bCommPostponed nação. O tempo gasto nesse estado não é
contabilizado para efeitos de time-out. Os
bits bCommIdle e bCommExecuting são
falsos quando o bit bCommPostponed é
verdadeiro.
byStatus. Comunicação desabilitada. O bit bCommI-
%QX(n).3 BIT
bCommDisabled dle é reiniciado nessa condição.

byStatus. Comunicação finalizada anteriormente foi


%QX(n).4 BIT
bCommOk realizada com sucesso.

byStatus. Comunicação finalizada anteriormente


%QX(n).5 BIT
bCommError teve um erro. Verificar código de erro.

byStatus. Comunicação finalizada anteriormente foi


%QX(n).6 BIT
bCommAborted interrompida devido à falha de conexão.

%QX(n).7 byStatus. BIT Reservado


bDiag_7_reserved
Último código de erro (habilitado quando o bCommError = verdadeiro):
Informa a possível causa do último erro
MASTER_ERROR ocorrido na relação MODBUS. Consulte a
%QB(n+1) eLastErrorCode
_CODE (BYTE) Tabela 115 para detalhes das possibilida-
des.
Último código de exceção recebido pelo cliente:

135
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _ETH_MAPPING_1.*
NO_EXCEPTION (0)
MODBUS _EXCEP- FUNCTION_NOT_SUPPORTED (1)
%QB(n+2) eLastExceptionCode
TION (BYTE) MAPPING_NOT_FOUND (2)
ILLEGAL_VALUE (3)
ACCESS_DENIED (128)*
MAPPING_DISABLED (129)*
IGNORE_FRAME (255)*
Estatísticas de comunicação:
%QB(n+3) byDiag_3_reserved BYTE Reservado.
Contador de comunicações finalizadas,
com ou sem erros. O usuário pode testar
quando a comunicação foi finalizada tes-
%QW(n+4) wCommCounter WORD
tando a variação desse contador. Quando o
valor 65535 é atingido, o contador retorna
à zero.
Contador de comunicações finalizadas
%QW(n+6) wCommErrorCounter WORD com erros. Quando o valor 65535 é atin-
gido, o contador retorna a zero.

Tabela 114: Diagnósticos das relações MODBUS Cliente

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:

Código Enumerável Descrição


Resposta reportada em um código de exceção (ver eLas-
1 ERR_EXCEPTION
tExceptionCode = Código de Exceção).
2 ERR_CRC Resposta com CRC inválido.
Endereço MODBUS não encontrado. O endereço que
3 ERR_ADDRESS
respondeu à requisição foi diferente do esperado.
Código inválido da função. A função recebida na res-
4 ERR_FUNCTION
posta foi diferente da esperada pela requisição.
A quantidade de dados da resposta foi diferente da espe-
5 ERR_FRAME_DATA_COUNT
rada.
7 ERR_NOT_ECHO Resposta não é eco da pergunta (FC 5 e 6).
8 ERR_REFERENCE_NUMBER Número de referência inválido (FC 15 e 16).
9 ERR_INVALID_FRAME_SIZE Resposta menor do que a esperada.
20 ERR_CONNECTION Erro durante a fase de conexão.
21 ERR_SEND Erro durante a fase de transmissão.
22 ERR_RECEIVE Erro durante a fase de recepção.
40 ERR_CONNECTION_TIMEOUT Time-out no nível de aplicação durante a conexão.
41 ERR_SEND_TIMEOUT Time-out no nível de aplicação durante a transmissão.

136
5. CONFIGURAÇÃO

Código Enumerável Descrição


Time-out no nível de aplicação enquanto aguarda res-
42 ERR_RECEIVE_TIMEOUT
posta.
43 ERR_CTS_OFF_TIMEOUT Time-out enquanto aguarda CTS = falso na transmissão.
Time-out enquanto aguarda CTS = verdadeiro na trans-
44 ERR_CTS_ON_TIMEOUT
missão.
128 NO_ERROR Sem erro desde a inicialização.

Tabela 115: Códigos de Erro das relações MODBUS

ATENÇÃO

Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de depu-
raçã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.7.8.2. Disparo de Relações MODBUS Cliente de Forma Acíclica

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.

5.7.9. MODBUS Ethernet Servidor


Este protocolo está disponível para as UCPs da Série Nexto nos seus canais Ethernet. Ao selecionar esta opção no Mas-
terTool IEC XE, a UCP passa a ser servidor da comunicação MODBUS, permitindo a conexão com dispositivos cliente
MODBUS. Este protocolo somente está disponível quando a UCP estiver em modo de execução (Modo Run).
O procedimento para inserir uma instância de protocolo é encontrado com detalhes no Manual de Utilização do MasterTool
IEC XE – MU299048.

5.7.9.1. Configuração do Protocolo MODBUS Ethernet Servidor por Mapeamento Simbólico

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.7.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.

137
5. CONFIGURAÇÃO

Figura 85: Tela de Configuração Parâmetros Gerais MODBUS Servidor

Configuração Descrição Padrão Opções


Porta TCP Porta TCP 502 2 a 65534
Modo de Conexão Seleção do protocolo TCP RTU via TCP
TCP

Tabela 116: Configurações Gerais MODBUS Servidor

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. Ver tabela Portas TCP/UDP reservadas.
As configurações presentes no botão Filtros..., descritas na tabela abaixo, são relativas aos filtros de comunicação TCP:

Configuração Descrição Padrão Opções


Especifica um intervalo de
Filtro de Endereço IP para IPs com acesso de escrita 0.0.0.0 a
0.0.0.0
Escrita nas variáveis declaradas na 255.255.255.255
relação MODBUS.
Especifica a máscara de su-
Filtro de Máscara para Es- brede em conjunto com o 0.0.0.0 a
0.0.0.0
crita parâmetro Filtro de Ende- 255.255.255.255
reço IP para Escrita.
Especifica um intervalo de
Filtro de Endereço IP para IPs com acesso de leitura 0.0.0.0 a
0.0.0.0
Leitura nas variáveis declaradas na 255.255.255.255
relação MODBUS.
Especifica a máscara de su-
Filtro de Máscara para brede em conjunto com o 0.0.0.0 a
0.0.0.0
Leitura parâmetro Filtro de Ende- 255.255.255.255
reço IP para Leitura.

Tabela 117: Filtros de IP

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.

138
5. CONFIGURAÇÃO

Figura 86: Janela de Configurações Avançadas do MODBUS Servidor

Configuração Descrição Padrão Opções


Tempo para execução da ins-
tância dentro do ciclo, sem
Ciclo da Tarefa (ms) 50 5 a 100
considerar o tempo de exe-
cução da mesma
Tempo máximo de inativi-
Time-out da Inatividade dade entre cliente e servidor
10 1 a 3600
da Conexão (s) antes da conexão ser fechada
pelo servidor
Habilita o Modbus Symbol
Mantém a comunicação
Server para rodar enquanto
funcionando quando a desmarcado marcado ou desmarcado
a UCP estiver em STOP ou
UCP está parada.
após um breakpoint

Tabela 118: Configurações Avançadas MODBUS Servidor

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.

5.7.9.1.2. Diagnósticos MODBUS Servidor – Configuração por Mapeamento Simbólico

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):

139
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _ETH_SERVER_1 .*
Bits de diagnóstico:
%QX(n).0 tDiag. BIT O servidor está em execução.
bRunning
tDiag. O servidor não está em execução (ver bit
%QX(n).1 BIT
bNotRunning bInterruptedByCommand).
O bit bNotRunning foi habilitado, pois o
%QX(n).2 tDiag. BIT servidor foi interrompido pelo usuário atra-
bInterruptedByCommand vés de bits de comando.
%QX(n).3 tDiag. BIT Diagnóstico descontinuado.
bConfigFailure
%QX(n).4 tDiag. BIT Diagnóstico descontinuado.
bRXFailure
%QX(n).5 tDiag. BIT Diagnóstico descontinuado.
bTXFailure
%QX(n).6 tDiag. BIT Diagnóstico descontinuado.
bModuleFailure
%QX(n).7 tDiag. BIT Reservado
bDiag_7_reserved
%QB(n+1) byDiag_1_reserved BYTE Reservado
Bits de comando, reiniciados automaticamente:
%QX(n+2).0 tCommand. BIT Parar o servidor.
bStop
%QX(n+2).1 tCommand. BIT Reiniciar o servidor.
bRestart
tCommand. Reiniciar as estatísticas dos diagnósticos
%QX(n+2).2 BIT
bResetCounter (contadores).

%QX(n+2).3 tCommand. BIT Reservado


bDiag_19_reserved
%QX(n+2).4 tCommand. BIT Reservado
bDiag_20_reserved
%QX(n+2).5 tCommand. BIT Reservado
bDiag_21_reserved
%QX(n+2).6 tCommand. BIT Reservado
bDiag_22_reserved
%QX(n+2).7 tCommand. BIT Reservado
bDiag_23_reserved
%QB(n+3) byDiag_3_reserved BYTE Reservado
Estatísticas de comunicação:
tStat. Número de conexões estabelecidas entre
%QW(n+4) WORD
wActiveConnections cliente e servidor (0 a 64).
Contador de conexões, entre cliente e ser-
%QW(n+6) tStat. WORD vidor, interrompidas depois de um período
wTimeoutClosedConnections de inatividade – time-out (0 a 65535).
tStat. Contador de conexões interrompidas de-
%QW(n+8) WORD
wClientClosedConnections vido à solicitação do cliente (0 a 65535).

140
5. CONFIGURAÇÃO

Variável de Variável de diagnóstico do


Representação tipo T_DIAG_MODBUS Tamanho Descrição
Direta _ETH_SERVER_1 .*
Contador de frames Ethernet recebidos
tStat. pelo servidor, sendo que um frame Ether-
%QW(n+10) WORD
wRXFrames net pode conter mais de uma requisição (0
a 65535).
Contador de requisições recebidas pelo
%QW(n+12) tStat. WORD servidor e respondidas normalmente (0 a
wRXRequests 65535).
Contador de requisições recebidas pelo
servidor e respondidas com códigos de ex-
ceção (0 a 65535). Os códigos de exceção
%QW(n+14) tStat. WORD estão relacionados abaixo:
wTXExceptionResponses 1: o código da função (FC) é legal, porém
não suportado.
2: relação não encontrada nestes dados
MODBUS.
3: valor ilegal para o endereço.
128: o mestre/cliente não tem direito de
escrita ou leitura.
129: a relação MODBUS está desabili-
tada.
tStat. Contador de requisições ilegais. (0 a
%QW(n+16) WORD
wRXIllegalRequests 65535).

%QW(n+18) tStat. WORD Reservado


wDiag_18_Reserved

Tabela 119: Diagnósticos MODBUS Servidor

Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS Ethernet Servidor retornam à zero quando o valor limite
65535 é ultrapassado.

5.7.9.1.3. Configuração dos Mapeamentos – Configuração por Mapeamento Simbólico

A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:

Figura 87: Tela de Mapeamentos de dados MODBUS Servidor

141
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Nome de uma variável de-
Variável de Valor Nome da variável simbólica - clarada em um programa ou
GVL
Coil
Tipo do Dado Tipo de dado MODBUS - Input Status
Holding Register
Input Register
Endereço inicial dos dados
Endereço Inicial do Dado - 1 a 65536
MODBUS
Endereço inicial absoluto
Endereço Inicial Absoluto
dos dados MODBUS con- - -
do Dado
forme o seu tipo.
Tamanho do dado MOD-
Tamanho do Dado - 1 a 65536
BUS
Faixa de endereços do dado
Faixa de Dados - -
configurado

Tabela 120: Configuração dos Mapeamentos MODBUS

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 depu-
raçã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.7.10. OPC DA Servidor


Para comunicar com as UCPs da Série Nexto é possível utilizar a tecnologia OPC DA (Open Platform Communications
Data Access). Esta plataforma de comunicação aberta foi desenvolvida para ser o padrão utilizado nas comunicações indus-
triais. Baseado na arquitetura cliente/servidor, oferece inúmeras vantagens no desenvolvimento de projeto e facilidades na
comunicação com os sistemas de automação.
Uma analogia muito comum, utilizada para descrever a tecnologia OPC DA, é a de uma impressora. Quando corretamente
conectada, o computador precisa de um driver para ter a interface com o equipamento. Muito similar, o OPC DA auxilia na
interface entre o sistema de supervisão com os dados de campo no CP.
Quando se trata do desenvolvimento de projetos, configurar a comunicação e trocar informações entre os sistemas é extre-
mamente simples utilizando tecnologia OPC DA. Utilizando outros drivers, baseados em endereços, é necessário criar tabelas
para relacionar as tags do sistema de supervisão e as variáveis do controlador programável. Quando as áreas de dados são

142
5. CONFIGURAÇÃO

alteradas, no decorrer do desenvolvimento do projeto, é necessário refazer os mapeamentos e novas tabelas com as relações
entre as informações do CP com o sistema de Controle Supervisório e Aquisição de Dados (SCADA).

Figura 88: Arquitetura OPC DA

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.

143
5. CONFIGURAÇÃO

Papel Descrição
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.
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 121: 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.

5.7.10.1. Criando um Projeto para Comunicação OPC DA

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 Io-


Config_Global_Mappings são utilizadas internamente para controle de E/S e não devem ser
utilizadas pelo usuário.

144
5. CONFIGURAÇÃO

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.

Figura 89: Objeto Symbol Configuration

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.

145
5. CONFIGURAÇÃO

Campo Descrição
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.

Tabela 122: Descrição dos Campos da Tela do Objeto Symbol Configuration

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 89 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.

Figura 90: Selecionando Variáveis na Symbol Configuration

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.

146
5. CONFIGURAÇÃO

{attribute 'symbol' := 'readwrite'}


PROGRAM UserPrg
VAR
A: INT;
B: INT;
{attribute 'symbol' := 'none'}
C: INT;
{attribute 'symbol' := 'read'}
D :INT;
END_VAR

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.

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.

5.7.10.2. Configurando um CP no Servidor OPC DA

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.

147
5. CONFIGURAÇÃO

Figura 91: Configuração do OPC DA Servidor

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.

Configuração Descrição Padrão Opções


Descrição do CP dentro O campo é uma STRING e
do arquivo de configuração podem ser colocados carac-
do Servidor OPC DA. Este teres alfanuméricos (letras e
campo pode ter qualquer números) e o caractere “_”.
Nome ‘PLC01’
nome, mas para organiza- Não é permitido iniciar a
ção recomenda-se utilizar o STRING com números ou
nome do projeto carregado “_”. Permite até 49 caracte-
no CP. res.

148
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Endereço IP do computador
onde está instalado o Ser-
vidor OPC DA para os ca-
sos onde todos os CPs es-
Endereço do Gateway tejam na mesma subrede. 127.0.0.1 0.0.0.0 a 255.255.255.255
Caso exista algum CP em
outra subrede deve ser espe-
cificado o Gateway utilizado
nesta subrede.
Porta TCP para a conexão
Porta do Gateway 1217 2 a 65534
com o Gateway.
É o nome do CP exibido
na aba Configurações de Co- O campo é uma STRING e
municação do Device. O podem ser colocados quais-
nome é a STRING antes do quer caracteres assim como
valor em hexadecimal que é feito na configuração do
Nome do Dispositivo ‘0000’
esta entre [ ]. Somente nome do CP na aba Configu-
habilitado quando o check- rações de Comunicação do
box Usar Driver Bloque- Device. Permite até 49 ca-
ante TCP/IP não está seleci- racteres.
onado.
Endereço IP do CP. Somente
habilitado quando o check-
box Usar Driver Bloqueante
Endereço de IP Ativo TCP/IP está selecionado. É 192.168.15.1 0.0.0.0 a 255.255.255.255
utilizado somente quando a
configuração não for redun-
dante.
Endereço IP do CPA. So-
mente habilitado quando
a configuração for redun-
Endereço de IP do CP A dante. É o endereço do 192.168.15.69 0.0.0.0 a 255.255.255.255
CP primário com o qual o
servidor irá comunicar caso
não exista falha.
Endereço IP do CPB. So-
mente habilitado quando
a configuração for redun-
Endereço de IP do CP B dante. É o endereço do CP 192.168.15.70 0.0.0.0 a 255.255.255.255
secundário com o qual o
servidor irá comunicar caso
ocorra uma falha.
Porta TCP. Somente ha-
bilitado quando o check-
Porta do Dispositivo 11740 11740 ou 11739
box Usar Driver Bloqueante
TCP/IP está selecionado.

Tabela 123: Parâmetros de Configuração de Cada CP para o Servidor OPC DA

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.

149
5. CONFIGURAÇÃO

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.

5.7.10.2.1. Importando uma Configuração do Projeto

Utilizando o botão Ler Configuração do Projeto, conforme a Figura 91, é 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.

5.7.10.3. Variáveis de Status e Qualidade da Comunicação OPC DA

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.

Estado Valor Descrição


Se a comunicação do Servidor OPC DA com o Cliente
OPC DA for encerrada este valor será retornado. Quando
houver mais de um Cliente OPC DA conectado ao mesmo
STATE_TERMINATE -1 tempo o retorno ocorrerá na desconexão do último Cli-
ente conectado. Este status apesar de estar na variável
não pode ser visualizado, pois só é alterado quando não
existe mais conexão com um cliente.
O CP configurado no Servidor OPC DA não está conec-
tado. Pode acontecer caso a configuração esteja incorreta
STATE_PLC_NOT_CONNECTED 0
(Endereço de IP do CP e/ou Gateway errados) ou o CP
não esteja disponível naquele momento.
O CP configurado no Servidor OPC DA está conectado.
STATE_PLC_CONNECTED 1
Este é um estado transitório durante conexão.
Não existem símbolos (variáveis) disponíveis no CP con-
figurado no Servidor OPC DA. Pode acontecer na situa-
STATE_NO_SYMBOLS 2
ção de não existirem símbolos ou ainda quando não hou-
ver um projeto carregado no CP.

150
5. CONFIGURAÇÃO

Estado Valor Descrição


Finalizado o processo de leitura dos símbolos (variáveis)
STATE_SYMBOLS_LOADED 3 do CP configurado no Servidor OPC DA. Este é um es-
tado transitório durante conexão.
Após leitura dos símbolos (variáveis) o Servidor OPC DA
STATE_RUNNING 4 está executando a atualização periódica dos valores dos
símbolos disponíveis em cada CP configurado.
Ocorreu desconexão com o CP configurado no servidor
STATE_DISCONNECT 5
OPC DA.
Quando a configuração do OPC DA (armazenada em um
arquivo OPCServer.ini) possuir uma sintaxe errada este
STATE_NO_CONFIGURATION 6 será o status da variável. De maneira geral, este com-
portamento não é observado pois o MasterTool IEC XE
mantém esta configuração íntegra.

Tabela 124: Descrição dos estados da comunicação do Servidor OPC DA com o CP

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.

QQ Valor dos Bits Definição Descrição


O valor lido não pode ser usado por-
que existe algum problema na co-
0 00SSSSLL Bad nexão. É possível monitorar o va-
lor de _CommState e diagnosticar o
problema.
A qualidade não pode ser definida
1 01SSSSLL Uncertain e pode ser apresentada no campo
Substatus.
Este valor é reservado e não é utili-
2 10SSSSLL NA
zado pelo padrão OPC DA.
A qualidade é boa e o valor lido
3 11SSSSLL Good
pode ser usado.

Tabela 125: Descrição do valor da Qualidade OPC DA

A Tabela 125 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.

5.7.10.4. Limites da Comunicação com Servidor OPC DA

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.

151
5. CONFIGURAÇÃO

Número máximo de variáveis comunicando com um


20.000
único CP
Número máximo de variáveis declaradas em uma
5.000
única POU ou GVL
Número máximo de CPs em um Servidor OPC DA 16
Número máximo de conexões simultâneas de Servidor
8
OPC DA em um mesmo CP

Tabela 126: Limites da Comunicação com o Servidor OPC DA

ATENÇÃO

O número máximo de conexões simultâneas de Servidor OPC DA em um mesmo CP é


compartilhado com as conexões realizadas com o MasterTool IEC XE. Ou seja, a soma
de conexões com Servidor OPC DA e MasterTool IEC XE não deve ultrapassar o número
máximo definido na Tabela 126.

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.

5.7.10.5. Acessando Dados Através de um Cliente OPC DA

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 executa-
das 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
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.

152
5. CONFIGURAÇÃO

Figura 92: Selecionando Servidor OPC DA na Configuração do Cliente

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.

Figura 93: Lista de Símbolos Consultados pelo Cliente OPC DA

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.

153
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 Master-
Tool IEC XE – MU299048.

5.7.11. OPC UA Servidor


O protocolo OPC UA é uma evolução da família OPC. Independente de plataforma, foi concebido para ser o novo padrão
utilizado nas comunicações industriais.
Baseado na arquitetura cliente/servidor, o protocolo OPC UA oferece inúmeras vantagens no desenvolvimento de projeto
e facilidades na comunicação com os sistemas de automação.
Quando se trata do desenvolvimento de projetos, configurar a comunicação e trocar informações entre os sistemas é extre-
mamente simples utilizando tecnologia OPC UA. Utilizando outros drivers, baseados em endereços, é necessário criar tabelas
para relacionar as tags do sistema de supervisão e as variáveis do controlador programável. Quando as áreas de dados são
alteradas, no decorrer do desenvolvimento do projeto, é necessário refazer os mapeamentos e novas tabelas com as relações
entre as informações do CP com o sistema SCADA.

Figura 94: Arquitetura Típica OPC UA

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.

154
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 127: 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.

5.7.11.1. Criando um Projeto para Comunicação OPC UA

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.

155
5. CONFIGURAÇÃO

Figura 95: Objeto Symbol Configuration

ATENÇÃO

Ao ativar o suporte ao protocolo OPC UA, o suporte ao protocolo OPC DA continua habi-
litado. É 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.

Figura 96: Habilitando OPC UA no Objeto Symbol Configuration

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.

156
5. CONFIGURAÇÃO

5.7.11.2. Tipos de Variáveis Suportadas

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:
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.

5.7.11.3. Limite de Clientes Conectados no Servidor OPC UA

O número máximo de clientes OPC UA conectados simultaneamente num CP é 8 (oito).

5.7.11.4. Limite de Variáveis de Comunicação no Servidor OPC UA

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.

5.7.11.5. Configurações de Criptografia

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;

4. Clicar no ícone para executar um refresh;

157
5. CONFIGURAÇÃO

5. Clicar no ícone Device, abaixo do qual se abrirão diversas pastas de certificados (Own Certificates, Trusted Certificates,
Untrusted Certificates, Quarantined Certificates);

6. Clicar no ícone para gerar um certificado e selecione os seguintes parâmetros:


Key length (bit): 3072
Validity period (days): 365 (pode ser modificado se desejado)
7. Aguarde enquanto o certificado é calculado e transferido para o controlador (isso pode levar alguns minutos);
8. Reinicialize (desligue e religue) o controlador.
9. No cliente OPC UA, execute os procedimentos necessários para se conectar ao servidor OPC UA e gerar um certificado
com o perfil Basic256Sha256 (ver manual do cliente OPC UA específico para detalhes);

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;

4. Clicar no ícone para executar um refresh;


5. Clicar no Device, abaixo do qual se abrem diversas pastas de certificados (Own Certificates, Trusted Certificates, Uns-
truted Certificates, Quarantined Certificates);
6. Clicar na pasta "Own Certificates", e no painel direito selecionar o certificado (OPC UA Server);

7. Clicar no ícone para remover este certificado do projeto e do controlador;


8. Reinicialize (desligue e religue) o controlador.

5.7.11.6. Principais Parâmetros de Comunicação Ajustados em um Cliente OPC UA

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 NAP165, 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.

5.7.11.6.1. Endpoint URL

Este parâmetro define o endereço IP e porta TCP do servidor, por exemplo:


opc.tcp://192.168.17.2:4840
Neste exemplo, o endereço IP do controlador é 192.168.17.2.
A porta TCP sempre deve ser 4840.

158
5. CONFIGURAÇÃO

5.7.11.6.2. Publishing Interval (ms) e Sampling Interval (ms)

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.
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.

5.7.11.6.3. Lifetime Count e Keep-Alive Count

Estes dois parâmetros devem ser configurados para cada subscription.


O objetivo destes dois parâmetros é criar um mecanismo de desativação de uma subscription por iniciativa do servidor, caso
não receba pacotes de comunicação PublishRequest do cliente por muito tempo para esta subscription. Pacotes PublishRequest
devem ser recebidos pelo servidor para que o mesmo possa transmitir pacotes PublishResponse contendo as variáveis da
subscription que mudaram seus valores.
Caso o servidor não receba pacotes PublishRequest por um tempo superior a Lifetime Count multiplicado por Publishing
Interval, o servidor desativa a subscription, que deverá ser criada novamente pelo cliente no futuro se assim o desejar.
Em situações onde as variáveis de uma subscription não se modificam, poderia passar um longo tempo sem a transmissão
de PublishResponses e consequentemente de PublishRequests que o sucedem, provocando uma desativação indesejada da
subscription. Para evitar que isso aconteça, foi criado o parâmetro Keep-Alive Count. Caso não haja modificações de dados
na subscription por um tempo igual a Keep-Alive Count multiplicado por Publishing Interval, o servidor enviará um pacote
PublishResponse pequeno e vazio indicando que nenhuma variável mudou. Este PublishResponse vazio autorizará que o
cliente mande imediatamente o próximo PublishRequest.
O valor de Keep-Alive Count deve ser menor do que o valor de Lifetime Count para evitar uma desativação indesejada da
subscription. Sugere-se que LifeTime Count seja no mínimo 3 vezes maior que Keep-Alive Count.

5.7.11.6.4. Queue Size e Discard Oldest

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.

5.7.11.6.5. Filter Type e Deadband Type

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

159
5. CONFIGURAÇÃO

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.

5.7.11.6.6. PublishingEnabled, MaxNotificationsPerPublish e Priority

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.

5.7.11.7. Acessando Dados Através de um Cliente OPC UA

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.

160
5. CONFIGURAÇÃO

Figura 97: Selecionando Servidor OPC UA na Configuração do Cliente

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.

Figura 98: Lista de Símbolos Consultados pelo Cliente OPC UA

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.

5.7.12. 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.

161
5. CONFIGURAÇÃO

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.
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 instância EtherNet/IP Adapter suporta até 64 módulos de entrada ou saída, limitando-se em 505 bytes de entrada e
509 bytes de saída. Estes módulos podem ser do tipo BYTE, WORD, SINT, INT, DINT, 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.

5.7.12.1. Interface EtherNet/IP

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.

162
5. CONFIGURAÇÃO

Figura 99: Adicionando uma Interface EtherNet/IP

Figura 100: Adicionando um Adapter ou Scanner EtherNet/IP

163
5. CONFIGURAÇÃO

5.7.12.2. Configuração do Scanner EtherNet/IP

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.

Figura 101: Adicionando um Adapter EtherNet/IP Sob o Scanner

5.7.12.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.

164
5. CONFIGURAÇÃO

Figura 102: Aba Geral - EtherNet/IP

5.7.12.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.

Figura 103: Aba Conexões - EtherNet/IP

Notas:
Para dois ou mais EtherNet/IP Scanners conectarem no mesmo Adapter remoto:
1. Apenas um dos Scanners pode estabelecer uma conexão Exclusive Owner.
2. O mesmo valor de RPI(ms) deve estar configurado para ambos os Scanners.
Os dados de configuração estão definidos no arquivo EDS. Os dados são transmitidos para o Adapter remoto quando a
conexão é aberta.

165
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Intervalo de Requisição de
Múltiplo do intervalo da
RPI (ms) Pacote: Intervalo de troca de 20 ms
MainTask
dados de entrada e saída.
Tamanho dos dados produ-
tores do Scanner para o
O -> T Tamanho (Bytes) Depende do EDS do adapter 0 - 400
Adapter (Originator -> Tar-
get)
Tamanho dos dados consu-
T -> O Tamanho (Bytes) midores do Adapter para o Depende do EDS do adapter 0 - 400
Scanner (T -> O)
Config #1 Tamanho (By- Tamanho dos dados de con-
Depende do EDS do adapter -
tes) figuração 1.
Config #2 Tamanho (By- Tamanho dos dados de con-
Depende do EDS do adapter -
tes) figuração 2.
Endereço dos objetos de
Caminho de Conexão configuração – objetos de Depende do EDS do adapter -
entrada – objetos de saída.

Tabela 128: Parâmetros de Conexão do EtherNet/IP

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.

Figura 104: Janela de Novas Conexões EtherNet/IP

166
5. CONFIGURAÇÃO

5.7.12.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.

Figura 105: Aba Assemblies - EtherNet/IP

Conjunto de Saídas e Conjunto de Entradas:

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.
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.

Tabela 129: Aba Assemblies - EtherNet/IP

Caixa de diálogo Adicionar Entrada/Saída:

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).

Tabela 130: Janela “Adicionar Entrada/Saída” – EtherNet/IP

167
5. CONFIGURAÇÃO

5.7.12.2.4. EtherNet/IP: Mapeamento de E/S

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.

5.7.12.3. Configuração do Adapter EtherNet/IP

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).

Figura 106: Adicionando um Módulo EtherNet/IP Abaixo do Adapter

5.7.12.3.1. Tipo de Módulo

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.

168
5. CONFIGURAÇÃO

Figura 107: Tipos de Módulo EtherNet/IP

5.7.12.3.2. EtherNet/IP Module: Mapeamento de E/S

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.

5.7.13. IEC 60870-5-104 Servidor


Ao selecionar esta opção no MasterTool, a UCP passa a ser servidor da comunicação IEC 60870-5-104, permitindo a
conexão com até três dispositivos clientes IEC 60870-5-104. Para cada cliente, o driver possui uma fila de eventos exclusiva
com as seguintes características:
Tamanho: 1000 eventos
Retentividade: não é retentiva
Política de estouro: mantém o mais recente
Para configurar este protocolo, é necessário executar os seguintes passos:
Adicionar a instância do protocolo Servidor IEC 60870-5-104 a um canal Ethernet disponível. Para realizar esse proce-
dimento, consultar a seção Inserindo uma Instância de Protocolo
Configurar a interface Ethernet. Para realizar esse procedimento, consultar a seção Interface Ethernet
Configurar os parâmetros gerais do protocolo Servidor IEC 60870-5-104, com o modo de conexão Porta ou IP, e o
número da porta TCP quando o modo de conexão selecionado for o modo IP
Adicionar e configurar dispositivos, definindo os devidos parâmetros
Adicionar e configurar os mapeamentos IEC 60870-5-104, especificando o nome da variável, tipo do objeto, endereço
do objeto, tamanho, faixa, banda morta, e tipo da banda morta
Configurar os parâmetros da camada de enlace, especificando os endereçamentos, os time-outs de comunicação e os
parâmetros de comunicação
Configurar os parâmetros da camada de aplicação, configuração do sincronismo, comandos, bem como o modo de
transmissão dos objetos Integrated Totals
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.

5.7.13.1. Tipos de Dados

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.

169
5. CONFIGURAÇÃO

Tipo do Objeto Tipos de Variáveis IEC


Single Point Information (M_SP_NA) BOOL
BIT
Double Point Information (M_DP_NA) DBP
Step Position Information (M_ST_NA) USINT
Measured Value, normalized value (M_ME_NA) INT
Measured Value, scaled value (M_ME_NB) INT
INT
UINT
Measured Value, short floating point value (M_ME_NC) DINT
UDINT
REAL
Integrated Totals (M_IT_NA) INT
DINT
Single Command (C_SC_NA) BOOL
BIT
Double Command (C_DC_NA) DBP
Regulating Step Command (C_RC_NA) DBP
Setting Point Command, normalized Value (C_SE_NA) INT
Setting Point Command, scaled Value (C_SE_NB) INT
Setting Point Command, short floating point Value (C_SE_NC) REAL

Tabela 131: Declaração de Variáveis para IEC 60870-5-104

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.

PROGRAM UserPrg
VAR
usiVTI: USINT; // Valor com indicação de estado transiente, mapeado para o
Cliente
siValue: SINT; // Valor a ser convertido para VTI. Deve estar entre -64 e +63
bTransient: BOOL; // Transiente a ser convertido para VTI
END_VAR

usiVTI := SINT_TO_USINT(siValue) AND 16#3F;


IF siValue < 0 THEN
usiVTI := usiVTI OR 16#40;
END_IF
IF bTransient THEN
usiVTI := usiVTI OR 16#80;
END_IF

170
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR
iAnalogIn: INT;
iAnalogOut: INT;
diCounter: DINT;
END_VAR

// Conversão da entrada analógica de WORD (PROFIBUS) para INT (IEC104)


iAnalogIn:= WORD_TO_INT(wNX6000in00);

// Conversão da saída analógica de INT (IEC104) para WORD (PROFIBUS)


wNX6100out00:= INT_TO_WORD(iAnalogOut);

// Conversão do contador de WORDs high+low (PROFIBUS) para DINT (IEC104)


diCounter:= DWORD_TO_DINT(ROL(WORD_TO_DWORD(wNX1005cnt00H), 16) OR wNX1005cnt00L
);

5.7.13.2. Pontos Duplos

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.

5.7.13.2.1. Pontos Duplos de Entrada Digital

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

Figura 108: Exemplo de Declaração das Variáveis de Ponto Duplo

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:

171
5. CONFIGURAÇÃO

Figura 109: 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 110: Mapeamento das variáveis de Ponto Duplo no Cliente IEC 60870-5-104

Figura 111: Mapeamento das Variáveis às Entradas do Módulo

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

172
5. CONFIGURAÇÃO

Figura 112: Atribuição dos Valores das Variáveis ao Ponto Duplo

5.7.13.2.2. Pontos Duplos de Saída Digital

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 113: Mapeamento das variáveis de Pontos Duplos de Saída Digital no Cliente IEC 60870-5-104

PROGRAM CmdRcv
VAR
CmdReceive: CommandReceiver; // Instância do Interceptador
fbPulsedCmd: PulsedCommandNexto; // Instância do comando pulsado
byResult: BYTE; // Resultado do comando pulsado
dbpIEC104: DBP; // Variável mapeada no servidor IEC 104
bSetup: BOOL:= TRUE; // Configuração inicial do interceptador
END_VAR

// Executa a configuração da função no primeiro ciclo


IF bSetup THEN
CmdReceive.dwVariableAddr:= ADR(dbpIEC104);
CmdReceive.bExec:= TRUE;
CmdReceive.eCommandResult:= COMMAND_RESULT.NONE;
CmdReceive.dwTimeout:= 256 * 10;
bSetup:= FALSE;
END_IF

// Caso um comando seja capturado:


IF CmdReceive.bCommandAvailable THEN

// Trata cada um dos comandos possíveis de serem interceptados


CASE CmdReceive.sCommand.eCommand OF

COMMAND_TYPE.NO_COMMAND:

// Informar que existe um comando inválido.


// Não faz nada. Deve sair por timeout.

173
5. CONFIGURAÇÃO

COMMAND_TYPE.SELECT:

// Trata apenas comandos para pontos duplos


IF CmdReceive.sCommand.sSelectParameters.sValue.eParamType =
DOUBLE_POINT_COMMAND THEN
// Retorna comando finalizado com sucesso
// (controlado pelo protocolo IEC104)
byResult:= 7;
ELSE
// Retorna comando não suportado
byResult:= 1;
END_IF

COMMAND_TYPE.OPERATE:

// Trata apenas comandos para pontos duplos


IF CmdReceive.sCommand.sOperateParameters.sValue.eParamType =
DOUBLE_POINT_COMMAND THEN
// Geração do pulso nas saídas
IF CmdReceive.sCommand.sOperateParameters.sValue.sDoublePoint.bValue THEN
// Executa a função de TRIP
fbPulsedCmd(
byCmdType:= 101,
byPulseTime:= DWORD_TO_BYTE(CmdReceive.sCommand.sOperateParameters.
sValue.sDoublePoint.sPulseConfig.dwOnDuration/10),
ptDbpVarAdr:= ADR(dbpIEC104),
stQuality:= IOQualities.QUALITY_NX2020[4],
byStatus=> byResult);
ELSE
// Executa a função de CLOSE
fbPulsedCmd(
byCmdType:= 102,
byPulseTime:= DWORD_TO_BYTE(CmdReceive.sCommand.sOperateParameters.
sValue.sDoublePoint.sPulseConfig.dwOffDuration/10),
ptDbpVarAdr:= ADR(dbpIEC104),
stQuality:= IOQualities.QUALITY_NX2020[5],
byStatus=> byResult);
END_IF
ELSE
// Retorna comando não suportado
byResult:= 1;
END_IF

COMMAND_TYPE.CANCEL:

// Retorna comando finalizado com sucesso


// (controlado pelo protocolo IEC104)
byResult:= 7;

END_CASE

// Trata o resultado da função de comando pulsado


// e gera a resposta para o comando interceptado
CASE byResult OF
1: // Tipo inválido de comando
CmdReceive.eCommandResult:= COMMAND_RESULT.NOT_SUPPORTED;

174
5. CONFIGURAÇÃO

CmdReceive.bDone:= TRUE;
2: // Parâmetros de entrada inválidos
CmdReceive.eCommandResult:= COMMAND_RESULT.INCONSISTENT_PARAMETERS;
CmdReceive.bDone:= TRUE;
3: // Mudança de parâmetro em execução
CmdReceive.eCommandResult:= COMMAND_RESULT.PARAMETER_CHANGE_IN_EXECUTION;
CmdReceive.bDone:= TRUE;
4: // Módulo não respondeu ao comando (ausente)
CmdReceive.eCommandResult:= COMMAND_RESULT.HARDWARE_ERROR;
CmdReceive.bDone:= TRUE;
5: // Comando iniciado e em execução (não retorna nada)
6: // Outro comando já foi enviado para este ponto e está em execução
CmdReceive.eCommandResult:= COMMAND_RESULT.LOCKED_BY_OTHER_CLIENT;
CmdReceive.bDone:= TRUE;
7: // Comando finalizado com sucesso
CmdReceive.eCommandResult:= COMMAND_RESULT.SUCCESS;
CmdReceive.bDone:= TRUE;
END_CASE

END_IF

CmdReceive();

IF CmdReceive.bDone THEN
CmdReceive.bDone:= FALSE;
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.

FUNCTION_BLOCK PulsedCommandNexto
VAR_INPUT
byCmdType: BYTE; // Tipo comando:
// 100 = status
// 101 = close/on
// 102 = trip/off
byPulseTime: BYTE; // Duração do pulso (em centésimos de segundo)
ptDbpVarAdr: POINTER TO DBP; // Endereço variável DBP (pode ser a mapeada)
stQuality: QUALITY; // Qualidade do ponto DBP (do módulo digital)
END_VAR
VAR_OUTPUT
bON: BOOL; // Saída ímpar mapeada no módulo DO Nexto
bOFF: BOOL; // Saída par mapeada no módulo DO Nexto
byStatus: BYTE:= 7; // Retorno da função:
// 1 = comando inválido
// 2 = tempo fora da faixa válida (2..255)
// 3 = comando alterado em tempo de execução
// 4 = módulo não respondeu ao comando (ausente)
// 5 = comando iniciado ou em execução
// 6 = já existe um comando ativo neste ponto
// 7 = comando de pulso finalizado com sucesso
END_VAR
VAR

175
5. CONFIGURAÇÃO

byState: BYTE; // Estado do bloco função


udiPulseEnd: UDINT; // Instante do fim do pulso
END_VAR

// Máquina de estados do PulsedCommandNexto


CASE byState OF

0: // Estado inicial, pronto para receber comandos:


CASE byCmdType OF

100:// Apenas retorna o último status

101: // Executar pulse ON:


// Valida a duração do pulso
IF byPulseTime > 1 THEN
// Verifica se já existe um comando ativo neste ponto
IF ptDbpVarAdr^.ON OR ptDbpVarAdr^.OFF THEN
// Retorna que já existe um comando ativo
byStatus:= 6;
ELSE
// Liga saída CLOSE
ptDbpVarAdr^.ON:= TRUE;
ptDbpVarAdr^.OFF:= FALSE;
// Próximo estado: executar pulse ON
byState:= byCmdType;
// Retorna comando iniciado
byStatus:= 5;
END_IF
ELSE
// Retorna pulso fora da faixa
byStatus:= 2;
END_IF

102: // Executar pulse OFF


// Valida a duração do pulso
IF byPulseTime > 1 THEN
// Verifica se já existe um comando ativo neste ponto
IF ptDbpVarAdr^.ON OR ptDbpVarAdr^.OFF THEN
// Retorna que já existe um comando ativo
byStatus:= 6;
ELSE
// Liga saída TRIP
ptDbpVarAdr^.ON:= FALSE;
ptDbpVarAdr^.OFF:= TRUE;
// Próximo estado: executar pulse OFF
byState:= byCmdType;
// Retorna comando iniciado
byStatus:= 5;
END_IF
ELSE
// Retorna pulso fora da faixa
byStatus:= 2;
END_IF
ELSE
// Retorna comando inválido
byStatus:= 1;

176
5. CONFIGURAÇÃO

END_CASE

// Memoriza instante de término do pulso


udiPulseEnd:= SysTimeGetMs() + BYTE_TO_UDINT(byPulseTime) * 10;

101, 102:// Continua execução do pulso ON/OFF


// A princípio retorna que comando está em execução
byStatus:= 5;
// Verifica mudança de parâmetro em execução
IF byCmdType <> 100 AND byCmdType <> byState THEN
// Retorna mudança de parâmetro em execução
byStatus:= 3;
END_IF
// Verifica término do pulso
IF SysTimeGetMs() >= udiPulseEnd THEN
// Desliga saídas TRIP e CLOSE
ptDbpVarAdr^.ON:= FALSE;
ptDbpVarAdr^.OFF:= FALSE;
// Retorna comando finalizado, apenas se comando não mudou
IF byCmdType = 100 OR byCmdType = byState THEN
byStatus:= 7;
END_IF
// Próximo estado: inicial
byState:= 0;
END_IF

END_CASE

// Verifica qualidade do módulo digital (do ponto DBP)


IF stQuality.VALIDITY <> QUALITY_VALIDITY.VALIDITY_GOOD THEN
// Desliga saídas TRIP e CLOSE
ptDbpVarAdr^.ON:= FALSE;
ptDbpVarAdr^.OFF:= FALSE;
// Retorna que módulo está ausente
byStatus:= 4;
// Próximo estado: inicial
byState:= 0;
END_IF

// Copia estados da saída DBP para as saídas simples


bON:= ptDbpVarAdr^.ON;
bOFF:= ptDbpVarAdr^.OFF;

177
5. CONFIGURAÇÃO

5.7.13.3. Parâmetros Gerais

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:

Figura 114: Tela de Parâmetros Gerais do Servidor IEC 60870-5-104

Configuração Descrição Padrão Opções


Configura o modo de cone-
Modo de Conexão xão com os módulos Cliente Porta Porta
Conectados. IP
Define qual o número da
porta TCP do CP será uti-
lizada para a comunicação
Porta TCP com os módulos Cliente 2404 1 a 65535
Conectados, caso o campo
"Modo de Conexão"esteja
selecionado "IP".

Tabela 132: Configuração dos Parâmetros Gerais do Servidor IEC 60870-5-104

5.7.13.4. Mapeamento dos Dados

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:

Figura 115: Tela de Mapeamento dos Dados do Servidor IEC 60870-5-104

Configuração Descrição Padrão Opções


Nome de uma variável de-
Variável de Valor Nome da variável simbólica - clarada em um programa ou
GVL

178
5. CONFIGURAÇÃO

Configuração Descrição Padrão Opções


Single Point Information
Double Point Information
Step Position Information
Measured Value (Normali-
Configuração do tipo do ob- zed)
Tipo do Objeto -
jeto IEC 60870-5-104 Measured Value (Scaled)
Measured Value (Short Flo-
ating Point)
Integrated Totals
Single Command
Double Command
Regulating Step Command
Setting Point Command
(Normalized)
Setting Point Command
(Scaled)
Setting Point Command
(Short Floating Point)
Índice do primeiro ponto do
Endereço do Objeto mapeamento IEC 60870-5- - 1 a 65535
104
Especifica a quantidade má-
xima de dados que um ma-
Tamanho - 1 a 86400000
peamento IEC 60870-5-104
poderá acessar
Faixa de endereços do dado
Faixa - -
configurado
Nome da variável simbólica Nome de uma variável de-
Variável de Contador que vai conter o dado da va- - clarada em um programa,
riável contadora GVL ou módulo contador
Nome da variável simbólica Nome de uma variável de-
Variável de Banda Morta que vai conter o dado da - clarada em um programa ou
banda morta GVL
Define o tipo de Banda
Absoluta
Tipo da Banda Morta Morta a ser utilizada no ma- Desabilitada
Desabilitada
peamento
Integrada
Define se para a execução de
Select Requerido um comando é requerido ou False True
não um select prévio False
Define o tempo do pulso
Pulso Curto (ms) curto de um comando digital 1000 1 a 86400000
IEC 60870-5-104
Define o tempo do pulso
Pulso Longo (ms) longo de um comando digi- 2000 1 a 86400000
tal IEC 60870-5-104

Tabela 133: Configuração dos Mapeamentos do Servidor IEC 60870-5-104

Notas:
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

179
5. CONFIGURAÇÃO

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:

Tipo de Função Configurações Descrição


Nesta opção, qualquer modificação de va-
Desabilitada lor num ponto do grupo, por menor que
seja, gera evento para este ponto.
Nesta opção, se o módulo da variação do
valor de um ponto do grupo for maior do
Tipo da Banda Morta Absoluta que o valor configurado pela variável no
campo “Banda Morta”, um evento para
este ponto é gerado.
Nesta opção, se o módulo da integral da
variação do valor de um ponto do grupo
for maior do que o valor configurado pela
Integrada
variável no campo “Banda Morta”, um
evento para este ponto é gerado. O inter-
valo de integração é de um segundo.

Tabela 134: 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.

5.7.13.5. Camada de Enlace

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:

180
5. CONFIGURAÇÃO

Figura 116: Tela de Configuração da Camada de Enlace do Servidor IEC 60870-5-104

Parâmetro Descrição Padrão Opções


Endereço da porta listen
para conexão do cliente.
Número da Porta 2404 1 a 65535
Utilizado quando a conexão
do cliente não é por IP
IP do cliente conectado, uti-
Endereço IP lizado quando a conexão do 0.0.0.0 1.0.0.1 a 223.255.255.254
cliente é por IP
Endereço Comum de Endereço IEC 60870-5-104
1 1 a 65534
ASDU do cliente conectado
Período de tempo (em se-
gundos) que o dispositivo
aguarda o recebimento de
uma mensagem de confir-
Time-out t1 (s) 15 1 a 180
mação após o envio de uma
mensagem APDU do tipo I
ou U (dados) antes de fechar
a conexão
Período de tempo (em se-
gundos) que o dispositivo
aguarda para enviar uma
Time-out t2 (s) 10 1 a 180
mensagem supervisória (S-
Frame) confirmando o rece-
bimento de frames de dados
Período de tempo (em se-
gundos) em que será enviada
uma mensagem para teste do
Time-out t3 (s) 20 1 a 180
link caso não haja nenhuma
transmissão por ambos os la-
dos
Número máximo de men-
sagens de dados (I-Frame)
Parâmetro k (APDUs) 12 1 a 12
transmitidas e não confirma-
das
Número máximo de mensa-
Parâmetro w (APDUs) gens de dados (I-Frame) re- 8 1a8
cebidas e não confirmadas

Tabela 135: Configuração da Camada de Enlace do Servidor IEC 60870-5-104

181
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.

ATENÇÃO

Para links de comunicação lentos (exemplo: comunicação via satélite), deve se ajustar ade-
quadamente os parâmetros Time-out t1 (s), Time-out t2 (s) e Time-out t3 (s) como por exem-
plo, dobrando os valores padrões desses campos.

5.7.13.6. Camada de Aplicação

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:

Figura 117: Tela de Configuração da Camada de Aplicação do Servidor IEC 60870-5-104

182
5. CONFIGURAÇÃO

Parâmetro Descrição Padrão Opções


Opção para Habilitar/Desa-
Habilitar Sincronismo bilitar a solicitação de sin- Desabilitado Desabilitado
cronismo de tempo Habilitado
Opção para Habilitar/Desa-
Comando de Sincronismo
bilitar o tratamento do co- Desabilitado
Recebido em Horário Lo- Habilitado
mando de sincronização em Habilitado
cal
horário local
Opção para Habilitar/Desa-
Usar Horário Local ao in- bilitar a estampa de tempo Desabilitado
Desabilitado
vés do Horário UTC em horário local para even- Habilitado
tos
Período de tempo no qual o
comando de seleção perma-
necerá ativo (inicia a conta-
Tempo Máximo entre Se-
gem a partir da confirmação 5 1 a 180
lect e Operate (s)
da recepção do comando de
seleção) aguardando o co-
mando de Operate
Modo de Transmissão de Modo de transmissão dos Todos os
Eventos de Entrada Ana- eventos de entradas analógi- Eventos Todos os Eventos (SOE)
lógica cas (SOE) Evento Mais Recente
Congelar
por comando
Modo de transmissão dos counter- Congelar por comando
Modo de Transmissão contadores congelados (inte- interrogation, counter-interrogation,
grated totals). transmitir transmitir espontaneamente
espontanea- Congelar e transmitir
mente por comando counter-
interrogation

Tabela 136: Configuração da Camada de Aplicação do Servidor IEC 60870-5-104

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.

ATENÇÃO

Quando a opção de sincronismo de tempo for marcada em mais de um servidor, os tempos


recebidos nos diferentes servidores serão sobrescritos no relógio do sistema em um curto
espaço de tempo, podendo causar comportamentos indesejáveis devido a atrasos no tempo
de propagação das mensagens e carga do sistema.

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:

183
5. CONFIGURAÇÃO

Tipo de Função Configurações Descrição


Modo de Transmis-
São enviados todos os eventos analógicos
são de Eventos de Todos os Eventos (SOE)
gerados.
Entrada Analógica
É enviado somente o evento mais recente
Evento Mais Recente
de cada ponto analógico.

Tabela 137: 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:

Tipo de Função Configurações Descrição


Equivale ao Modo D de aquisição de con-
tadores (integrated totals) definido pela
Congelar por co-
norma IEC 60870-5-101. Neste modo, co-
mando counter-
Modo de Transmis- mandos de interrogação de contadores (fre-
interrogation,
são eze) da estação de controle realizam o con-
transmitir espon-
gelamento dos contadores. Caso os valores
taneamente
congelados tenham se modificado, eles são
reportados através de eventos.
Equivale ao Modo C de aquisição de con-
tadores (integrated totals) definido pela
norma IEC 60870-5-101. Neste modo, co-
Congelar e trans- mandos de interrogação de contadores (fre-
mitir por comando eze) da estação de controle realizam o con-
counter-interrogation gelamento dos contadores. Comandos sub-
sequentes de interrogação dos contadores
(read) são enviados pela estação de con-
trole para obter os valores congelados.

Tabela 138: 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
entre 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).

184
5. CONFIGURAÇÃO

5.7.13.7. Diagnósticos do Servidor

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:

Variável de diagnóstico do tipo


Tamanho Descrição
T_DIAG_IEC104_SERVER_1.*
Bits de comando, reiniciados automaticamente:
tCommand.bStop BOOL Desabilitar Driver
tCommand.bStart BOOL Habilitar o Driver
tCommand.bDiag_01_Reserved BOOL Reservado
tCommand.bDiag_02_Reserved BOOL Reservado
tCommand.bDiag_03_Reserved BOOL Reservado
tCommand.bDiag_04_Reserved BOOL Reservado
tCommand.bDiag_05_Reserved BOOL Reservado
tCommand.bDiag_06_Reserved BOOL Reservado
Diagnósticos:
IEC 60870-5-104 Server está sendo execu-
tClient_X.bRunning BOOL
tado
Canal de comunicação fechado. Servidor
tClient_X.eConnectionStatus. não irá aceitar solicitação de conexão. Va-
CLOSED lor do ENUM (0)
Servidor está escutando a porta configu-
tClient_X.eConnectionStatus. ENUM(BYTE) rada, e não existem clientes conectados.
LISTENING Valor do ENUM (1)
tClient_X.eConnectionStatus. Cliente conectado. Valor do ENUM (2)
CONNECTED
tClient_X.tQueueDiags. BOOL Fila do cliente está com estouro
bOverflow
tClient_X.tQueueDiags. WORD Tamanho da fila configurada
wSize
tClient_X.tQueueDiags. WORD Número de eventos na fila
wUsage
tClient_X.tQueueDiags. DWORD Reservado
dwReserved_0
tClient_X.tQueueDiags. DWORD Reservado
dwReserved_1
tClient_X.tStats.wRXFrames WORD Número de quadros (frames) recebidos
tClient_X.tStats.wTXFrames WORD Número de quadros (frames) enviados
Contador de erros de comunicação in-
tClient_X.tStats.wCommErrors WORD cluindo erros na Camada Física, Camada
de Enlace e Camada de Transporte.
tClient_X.tStats.dwReserved_0 DWORD Reservado
tClient_X.tStats.dwReserved_1 DWORD Reservado

Tabela 139: Diagnósticos do Servidor IEC 60870-5-104

185
5. CONFIGURAÇÃO

5.7.13.8. Qualificador dos Comandos

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.

Qualificador Tipo do objeto do protocolo IEC 60870-5-104


Single Command Double Command Regulating Step Command
Mesmo comportamento Mesmo comportamento
No additional defini- Mesmo comportamento do qua-
do qualificador persis- do qualificador de pulso
tion (padrão) lificador de pulso curto.
tente. curto.
Requer interceptação Requer interceptação
do comando para trata- do comando para trata- Requer interceptação do co-
mento pela aplicação, mento pela aplicação, mando para tratamento pela
Short pulse duration
caso contrário irá retor- caso contrário irá retor- aplicação, caso contrário irá re-
(pulso curto)
nar uma mensagem de nar uma mensagem de tornar uma mensagem de confir-
confirmação negativa confirmação negativa mação negativa (falha).
(falha). (falha).
Long pulse duration
(pulso longo)
A saída será ligada ou
desligada, e assim per-
Persistent output (per- manecerá até novo co-
sistente) mando, conforme valor
(ON ou OFF) coman-
dado pelo cliente.

Tabela 140: Qualificador dos Comandos do Servidor IEC 60870-5-104

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.

5.7.14. CANOpen Manager


O CANOpen é um protocolo baseado no barramento CAN que fornece rápida atualização de E / S (cerca de 5 ms para uma
rede de 1000 kbit/s com alguns escravos) com uma infraestrutura de barramento físico de par trançado simples.
O CANOpen Manager (mestre) é responsável por controlar os dispositivos escravos, gerenciar seu estado de operação e
trocar E/S e outros dados de serviço. Por padrão, as atividades do protocolo do CANOpen Manager (ciclo de barramento) são
executadas no contexto da MainTask, mantendo-o sincronizado com a execução do código da aplicação.
A configuração da rede CANOpen é realizada com o suporte de arquivos EDS, que descreve os objetos de dados e serviços
de E/S (PDO e SDO) do escravo e deve ser fornecida pelo fabricante do dispositivo.
Além disso, uma biblioteca de aplicação chamada CiA405 é fornecida com Blocos Funcionais que permitem executar
várias ações específicas, como alterar o estado escravo (NMT), receber objetos de emergência, consultar o estado escravo
e executar comandos de leitura/gravação SDO. A descrição completa da biblioteca CiA405 pode ser encontrada na Ajuda
On-line (F1) do MasterTool IEC XE.

ATENÇÃO

- Somente uma instância do CANOpen Manager por projeto é permitida


- Embora a especificação CANOpen permita até 127 nós (incluindo o Manager), as aplica-
ções com o Nexto Xpress não devem exceder um máximo de 64 dispositivos escravos.

186
5. CONFIGURAÇÃO

Um cuidado especial deve ser tomado considerando o comprimento do barramento físico e a taxa de transmissão selecio-
nada. A tabela a seguir mostra o comprimento máximo de barramento que pode ser usado com segurança com uma determinada
taxa de transmissão (Baudrate):

Baudrate Comprimento Máximo do Barramento


1000 kbit/s 25 m
800 kbit/s 50 m
500 kbit/s 100 m
250 kbit/s 250 m
125 kbit/s 500 m
100 kbit/s 700 m
< 50 kbit/s 1000 m

Tabela 141: Baudrate X Comprimento do Barramento

5.7.14.1. Instalando e inserindo dispositivos CANopen

A configuração de uma rede CANopen usa o mesmo procedimento padrão de outras configurações de redes de campo no
MasterTool IEC XE.
Para adicionar um CANOpen Manager, clique com o botão direito do mouse na interface CAN e selecione Acrescentar
Dispositivo. Expanda os itens até encontrar o dispositivo CANopen_Manager e clique no botão Acrescentar. O dispositivo
CANopen_Manager aparecerá abaixo da interface CAN, conforme mostrado na figura a seguir:

Figura 118: Adicionando o CANopen Manager

Para adicionar um dispositivo escravo CANopen, primeiro você precisa instalá-lo no Repositório de dispositivos. Para
fazer isso, vá em Ferramentas -> Repositório de Dispositivos e instale o arquivo EDS do dispositivo.
Depois disso, clique com o botão direito do mouse no dispositivo CANopen_Manager e clique em Acrescentar Dispositivo.
Pesquise os dispositivos que você deseja e clique no botão Acrescentar, como mostrado na imagem a seguir:

187
5. CONFIGURAÇÃO

Figura 119: Adicionando um Dispositivo CANopen Escravo

5.7.14.2. Configuração do CANOpen Manager

O CANOpen Manager vem com uma configuração pronta para uso (valores padrão). Normalmente, é necessário apenas
definir a taxa de transmissão correta e o endereço do escravo para ter uma rede em execução.
Os principais parâmetros do CANOpen Manager estão localizados na guia General:

Figura 120: Parâmetros gerais do CANopen Manager

A descrição detalhada dos parâmetros gerais do CANOpen Manager pode ser encontrada na seção Editores de Dispositivos
-> CANopen da Ajuda Online do MasterTool IEC XE (F1).
Além disso, a guia CANopen: Mapeamento de E/S permite alterar a tarefa do ciclo de barramento:

188
5. CONFIGURAÇÃO

Figura 121: Configuração da tarefa cíclica do barramento CANopen

Por padrão, a tarefa de ciclo de barramento é configurada para usar a MainTask. Essa é a configuração recomendada
para a maioria das aplicações. Alterar essa configuração é necessário apenas em um cenário muito específico, que requer a
implementação de um loop de controle de tempo crítico usando E/S CANopen (5ms, digamos) que não pode ser executado na
MainTask devido ao código pesado da aplicação.

5.7.14.3. Configuração de Escravo CANopen

A configuração dos Dispositivos Remotos CANopen (escravos) é separada nas quatro primeiras guias, como mostrado na
figura a seguir:

Figura 122: Parâmetros de Escravo CANopen

A guia General contém o endereço do escravo (Node ID), Nodeguarding e Emergency.


A guia PDO contém a configuração dos dados do processo (dados de E / S) que serão trocados.
A guia SDO contém os objetos SDO que podem ser selecionados para serem acessados pelo Bloco Funcional de leitura/-
gravação SDO fornecido pela biblioteca CiA405.
A descrição detalhada dos parâmetros do Escravo CANopen pode ser encontrada na seção Editores de Dispositivos ->
CANopen da Ajuda Online do MasterTool IEC XE (F1).

189
5. CONFIGURAÇÃO

5.8. Modo de E/S Remotas


Os controladores Nexto Xpress dispõem de um modo de operação, utilizado para expansão do número de pontos de E/S.
Esta expansão é realizada com base no protocolo CANopen, onde o controlador deixa de operar como um CP comum e atua
como um escravo remoto. Para configurar o seu Xpress como uma expansão de E/S remotas, utilize a página Web, na guia
Gerenciamento do CP, em Modo de Operação.

Figura 123: Tela de Configuração Modo de Operação

Nesta página, é possível selecionar o modo de operação do controlador por meio do parâmetro configuração, quando o
mesmo encontra-se em STOP. Utilize o botão Aplicar Configuração para realizar a troca para o modo desejado, onde o Xpress
será reiniciado, a fim de configurá-lo no novo modo de operação. As opções disponíveis para configuração são:
Controlador Programável: função padrão do controlador, podendo ser programado conforme as necessidades do usuá-
rio.
Escravo CANopen: função de expansão de E/S remotas, onde o controlador torna-se um escravo CANopen, podendo
ser comandado por outros controladores com CANopen Manager.

ATENÇÃO

O modo de operação remoto utiliza uma aplicação desenvolvida apenas para fins de expansão
de E/S, que executa com um ciclo de MainTask de 5ms, não sendo possível alterá-la ou
realizar a carga de uma nova aplicação durante sua execução.

Quando o modo de operação for remoto, algumas características do controlador serão alteradas. O controlador não poderá
mais ser encontrado pelo MasterTool. Contudo, é possível utilizar o Easy Connection para encontrar o controlador, e até
mesmo alterar seu IP, sem apagar a aplicação. Além disto, na tela de Atualização de Firmware, a opção Apagar Aplicação
encontra-se indisponível.

190
5. CONFIGURAÇÃO

5.8.1. Escravo CANopen


Para utilizar o modo de expansão como escravo CANopen, primeiramente, troque o Modo de Operação para Escravo
CANopen, na aba de Modo de Operação na página Web. Em seguida, realize as configurações para o modo de Escravo
CANopen: configure os dados de rede (Endereço IP, Máscara de Rede e Gateway), os dados de operação do CANopen (Node
ID, Baudrate e Terminação), e os parâmetros de Configuração de E/S (conforme a disponibilidade do controlador). Estas
configurações são semelhantes às realizadas em uma aplicação tradicional.

Figura 124: Tela de Configuração do Escravo CANopen

Clique nos itens com um + à direita para expandir a janela de configuração. Os parâmetros apresentados na Configuração
de E/S são os mesmos citados na seção E/S Integradas. Enquanto os parâmetros do Escravo CANopen são semelhantes aos
apresentados na seção CANOpen Manager.

191
5. CONFIGURAÇÃO

Figura 125: Tela de Configuração de E/S Expandida

Após as configurações realizadas, é possível utilizar o botão Exportar Configuração para realizar o download de um arquivo
chamado WebRemoteConfiguration.config, contendo os parâmetros configurados na tela. Posteriormente, este arquivo pode ser
carregado utilizando-se o botão Importar Configuração. Além disto, é possível fazer o download do arquivo Electronic Data
Sheet (EDS) do Escravo CANopen Remoto diretamente pela Web, utilizando o botão Baixar EDS.
Concluída a etapa de configuração, clique em Aplicar Configuração, o que fará o controlador se reiniciar. A página Web
será automaticamente atualizada para o IP configurado, onde será possível ver que o Modo de Operação está como Escravo
CANopen, na guia de Informações do CP, confirmando a troca do modo de operação.

Figura 126: Modo de Operação na Tela de Informações do CP

Com isto, é possível utilizar um controlador com a funcionalidade CANopen Manager (por exemplo, o XP340), a fim de
acessar os pontos de E/S no Escravo CANopen. Para isto, realize os mesmos passos descritos na seção CANOpen Manager
deste documento. Os PDOs do Escravo CANopen são organizados conforme a tabela abaixo:

Nome da Variável Representação Tipo de Variável


Digital_Outputs_1 Grupo Q0 USINT - 8 bits
Digital_Outputs_2 Grupo Q1 USINT - 8 bits

192
5. CONFIGURAÇÃO

Nome da Variável Representação Tipo de Variável


Analog_Outputs_1 AO0 INT - 16 bits
Analog_Outputs_2 AO1 INT - 16 bits
Analog_Outputs_3 AO2 INT - 16 bits
Analog_Outputs_4 AO3 INT - 16 bits
Digital_Inputs_1 Grupo I0 USINT - 8 bits
Digital_Inputs_2 Grupo I1 USINT - 8 bits
Analog_Inputs_1 AI0 INT - 16 bits
Analog_Inputs_2 AI1 INT - 16 bits
Analog_Inputs_3 AI2 INT - 16 bits
Analog_Inputs_4 AI3 INT - 16 bits
Analog_Inputs_5 AI4 INT - 16 bits
RTD_Inputs_1 RI0 INT - 16 bits
RTD_Inputs_2 RI1 INT - 16 bits
Diagnostics_Analog_Inputs_1 Diagnósticos do AI0 USINT - 8 bits
Diagnostics_Analog_Inputs_2 Diagnósticos do AI1 USINT - 8 bits
Diagnostics_Analog_Inputs_3 Diagnósticos do AI2 USINT - 8 bits
Diagnostics_Analog_Inputs_4 Diagnósticos do AI3 USINT - 8 bits
Diagnostics_Analog_Inputs_5 Diagnósticos do AI4 USINT - 8 bits
Diagnostics_RTD_Inputs_1 Diagnósticos do RI0 USINT - 8 bits
Diagnostics_RTD_Inputs_2 Diagnósticos do RI1 USINT - 8 bits
Diagnostics_Analog_Outputs_1 Diagnósticos do AO0 USINT - 8 bits
Diagnostics_Analog_Outputs_2 Diagnósticos do AO1 USINT - 8 bits
Diagnostics_Analog_Outputs_3 Diagnósticos do AO2 USINT - 8 bits
Diagnostics_Analog_Outputs_4 Diagnósticos do AO3 USINT - 8 bits

Tabela 142: Organização dos PDOs do Escravo CANopen

As E/S digitais são acessadas por grupos, por meio de uma variável de um byte, onde cada bit representa uma entrada
ou saída digital, sendo, por exemplo, o I00 o bit menos significativo e I07, o mais significativo. As E/S analógicas são
transmitidas/recebidas diretamente por meio de um inteiro. E os diagnósticos de cada E/S analógica são recebidos em um
byte, conforme as tabelas abaixo.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


- - - - - bOpenLoop bOverRange bInputNotEnable

Tabela 143: Diagnósticos da AIx

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


- - - - - bUnderRange bOverRange bInputNotEnable

Tabela 144: Diagnósticos da RIx

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


- - - - - bShortCircuit bOpenLoop bOutputNotEnable

Tabela 145: Diagnósticos da AOx

193
5. CONFIGURAÇÃO

ATENÇÃO

Os PDOs não podem ser editados ou excluídos do Escravo CANopen, não sendo possível ao
usuário criar seu próprio escravo CANopen.

Como o Escravo CANopen não é acessível ao usuário pelo MasterTool, o estado RUN e STOP da aplicação é controlado
pelo estado de operação do escravo CANopen. Para colocar o Escravo CANopen em RUN, é necessário que o mesmo entre em
estado Operational (marcado pelo símbolo verde ao lado do dispositivo). Para colocá-lo em STOP, utilize o Bloco Funcional
NMT da biblioteca CiA405 - consulte a Ajuda On-line (F1), se necessário - para trocar o estado de operação do escravo
CANopen (recomendado), ou remova o conector CAN do controlador em modo remoto. O LED do CAN pode permanecer
piscando, pois ele indica a transmissão e recepção de mensagens CAN, não o estado de operação do protocolo CANopen.

Figura 127: Escravo CANopen em Operational - RUN

Figura 128: Escravo CANopen em Pre-Operational - STOP

194
5. CONFIGURAÇÃO

5.9. Desempenho de Comunicação


5.9.1. Servidor MODBUS
Os dispositivos MODBUS configuráveis na UCP Nexto executam em segundo plano, com uma prioridade abaixo da
aplicação de usuário e de forma cíclica. Sendo assim, seu desempenho irá variar de acordo com o tempo restante, levando
em consideração a diferença entre o intervalo e tempo que a aplicação leva para ser executada. Por exemplo, um dispositivo
MODBUS em uma aplicação que é executada a cada 100 ms, com um tempo de execução de 50 ms, irá ter um desempenho
menor do que com uma aplicação de 50 ms executando a cada 200 ms de intervalo. Isto acontece porque, no segundo caso, a
UCP terá um tempo maior entre cada ciclo da MainTask para executar as tarefas com prioridade mais baixa.
Também deve-se levar em conta o número de ciclos que o dispositivo, escravo ou servidor, leva para responder a uma
requisição. Para processar e transmitir uma resposta, um MODBUS RTU Escravo irá levar dois ciclos (tempo do ciclo da
tarefa MODBUS), enquanto que um MODBUS Ethernet Servidor levará apenas um ciclo. Porém, esse é o tempo mínimo
entre a recepção de uma requisição e o envio da resposta. Caso a requisição seja enviada logo após a execução de um ciclo da
tarefa MODBUS, o tempo poderá ser equivalente a 2 ou 3 vezes o tempo de ciclo para o MODBUS Escravo, e de 1 a 2 vezes
o tempo de ciclo para o MODBUS Servidor.
Neste caso: Tempo Máximo de Resposta = 3* (tempo de ciclo) + (tempo de execução das tarefas) + (tempo interframe
chars) + (tempo de atraso do envio).
Por exemplo, para uma tarefa MODBUS Ethernet Servidor com um ciclo de 50 ms, em uma aplicação executada por
60 ms a cada 100 ms, o servidor conseguirá executar apenas um ciclo entre cada ciclo da aplicação. Por outro lado, com a
mesma aplicação, sendo executada por 60 ms, mas com um intervalo de 500 ms, o MODBUS terá um desempenho melhor,
pois enquanto a aplicação não estiver em execução, o mesmo estará sendo executado a cada 50 ms e apenas a cada ciclo da
MainTask ele irá demorar mais para ser executado. Para estes casos, o pior desempenho será a soma do tempo de execução da
aplicação do usuário com o tempo do ciclo da tarefa MODBUS.
Para os dispositivos mestre e cliente o princípio de funcionamento é exatamente igual, mas levando em consideração o
tempo de varredura da relação MODBUS e não o tempo do ciclo da tarefa MODBUS. Para estes casos, o pior desempenho de
uma relação será executado após o seu tempo de varredura, somado ao tempo de execução da aplicação de usuário.
É importante ressaltar que o número de dispositivos MODBUS em execução também irá alterar o seu desempenho. Em
uma aplicação de usuário com tempo de execução de 60 ms e intervalo de 100 ms, irá restar 40 ms para a UCP executar todas
as tarefas de menor prioridade. Portanto, uma UCP com apenas um MODBUS Ethernet Servidor terá um desempenho maior
do que uma UCP que utilize quatro destes dispositivos.

5.9.1.1. Interfaces Locais da UCP

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:

Requisições respon- Requisições respon- Requisições respon-


didas por segundo didas por segundo didas por segundo
Número de Conexões com tempo de ciclo da com tempo de ciclo da com tempo de ciclo da
tarefa MODBUS em 5 tarefa MODBUS em 10 tarefa MODBUS em 20
ms ms ms
1 Conexão 185 99 50
2 Conexões 367 197 100
4 Conexões 760 395 200
7 Conexões 1354 695 350
10 Conexões 1933 976 500

Tabela 146: Taxa de Comunicação de um Servidor MODBUS em uma Interface Local

195
5. CONFIGURAÇÃO

ATENÇÃO

Os desempenhos de comunicação mencionados neste capítulo são exemplos utilizando uma


UCP apenas com um dispositivo MODBUS TCP Servidor, sem nenhuma lógica na aplicação
que possa atrasar a comunicação. Portanto, estes desempenhos devem ser tomados como
máximos.

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 (1 / T )
Onde:
N é o número médio de respostas por segundo;
C é o número de conexões estabelecidas;
T é o intervalo 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;
N = 1 x (1 / (0,05))
N = 20
Ou seja, nesta configuração o Servidor MODBUS será capaz de responder, em média, 20 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.

5.9.2. Servidor OPC DA


Para os testes de desempenho da comunicação com Servidor OPC DA foram criados projetos para o CP declarando va-
riáveis do tipo INT e separando-as em POUs com 1.000 variáveis cada. Em todos os cenários foram utilizados projetos com
perfil Simples e o Intervalo da MainTask configurado em 100 ms. Para realizar a comunicação, foi utilizado o atributo attribute
’symbol’ := ’readwrite’, a fim de disponibilizar os dados no Servidor OPC DA. Também é importante ressaltar que as medições
foram feitas com o software MasterTool desconectado da UCP e com a duração da MainTask ajustada para consumir 5%, 50%
e 80% do Intervalo configurado, como apresentado na tabela abaixo.
No ponto de vista do OPC DA Cliente, foi utilizado um driver num sistema SCADA. O tempo de atualização configurado
foi de 50 ms. Os resultados do desempenho nestas condições estão descritos na tabela abaixo.

Número Total de variá-


Tempo de atualização das variáveis no OPC DA Cliente
veis no projeto do CP
5% da UCP Ocupada 50% da UCP Ocupada 80% da UCP Ocupada
1.000 600 ms 800 ms 1400 ms
2.000 800 ms 900 ms 2800 ms
5.000 1000 ms 2000 ms 6500 ms
10.000 2000 ms 4000 ms 13700 ms
15.000 3200 ms 6400 ms 20000 ms
20.000 4000 ms 8100 ms 25000 ms

Tabela 147: Taxa de Comunicação de um Servidor OPC DA

5.9.3. Servidor OPC UA


Para os testes de desempenho da comunicação com Servidor OPC UA foram criados projetos para o CP declarando variá-
veis do tipo INT.
Todos os cenários de teste possuem as seguintes características em comum:
Foram utilizados projetos com perfil de Máquina e o Intervalo da MainTask configurado em 100 ms;
Todas as variáveis do tipo INT estão sendo modificadas a cada intervalo de 100 ms. No protocolo OPC UA, somente as
variáveis que se modificam são reportadas para os clientes OPC UA. Em aplicações onde poucas variáveis se modificam
frequentemente o desempenho da comunicação OPC UA melhora significativamente;

196
5. CONFIGURAÇÃO

A duração da MainTask foi ajustada para consumir 10%, 30% e 60% do intervalo configurado de 100 ms. Quando a
duração da MainTask é muito elevada, sobra pouca capacidade de processamento para a comunicação OPC UA, o que
pode reduzir significativamente seu desempenho;
O parâmetro “Publishing Interval” foi configurado no cliente em 1000 ms, o que significa que as variáveis que mudam
seu valor deveriam ser reportadas para o cliente a cada 1000 ms. Um valor muito baixo neste parâmetro pode reduzir
significativamente o desempenho da comunicação OPC UA;
O parâmetro “Sampling Interval” foi configurado no cliente em 500 ms, o que significa que o controlador (servidor)
detectará mudanças de valores nas variáveis a cada 500 ms, para saber quais devem ser reportadas para o cliente. Um
valor muito baixo neste parâmetro pode reduzir significativamente o desempenho da comunicação OPC UA. Recomenda-
se que seja no mínimo a metade do “Publishing Interval”, e no máximo igual ao “Publishing Interval”;
A criptografia não estava configurada. Caso estivesse configurada, haveria uma leve redução do desempenho da comu-
nicação OPC UA;
Somente um cliente OPC UA estava conectado. Conectar diversos clientes pode reduzir significativamente o desempe-
nho da comunicação OPC UA.
A tabela abaixo mostra o intervalo entre comunicações (cujo valor deveria ser 1000 ms de acordo com o Publishing Interval
configurado):

Número Total de variá-


veis INT no projeto do Tempo de atualização das variáveis no OPC UA Cliente
CP
10% da UCP Ocupada 30% da UCP Ocupada 60% da UCP Ocupada
1.000 1010 ms 1014 ms 1040 ms
2.000 1013 ms 1017 ms 1472 ms
5.000 1321 ms 1405 ms 2351 ms

Tabela 148: Taxa de Comunicação de um Servidor OPC UA

ATENÇÃO

A nota de aplicação NAP165 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.

5.10. Páginas Web de Usuário


Também chamado de Web Visualization, ou simplesmente Webvisu, esse recurso permite implementar um SCADA simplifi-
cado incorporado ao CP. As telas de visualização são desenvolvidas no mesmo ambiente da aplicação CP usando o MasterTool
IEC XE. Após o download da aplicação, o CP inicia um servidor da web que hospeda esta página da web especial.
As informações completas sobre essa funcionalidade podem ser encontradas na Ajuda do MasterTool IEC XE.

5.11. SNMP
5.11.1. Introdução
SNMP (Simple Network Management Protocol) é um protocolo amplamente utilizado pelos administradores de rede para
fornecer informações importantes e equipamentos de diagnóstico presentes em uma determinada rede Ethernet.
Esse protocolo usa o conceito de agente e gerente, no qual o gerente envia solicitações de leitura ou grava certos objetos
para o agente. Por meio de uma MIB (Management Information Base), o gerente está ciente dos objetos existentes no agente
e, portanto, pode fazer solicitações desses objetos, respeitando as permissões de leitura ou escrevendo as mesmas.
MIB é uma coleção de informações organizadas hierarquicamente, na qual cada objeto desta árvore é chamado OID
(identificador de objeto). Para todos os equipamentos com SNMP, é obrigatório o suporte ao MIB-II, que possui informações
importantes para o gerenciamento de redes Ethernet.

197
5. CONFIGURAÇÃO

5.11.2. SNMP em Controladores Nexto Xpress


Os controladores Nexto Xpress comportam-se como agentes na comunicação SNMP, com suporte aos protocolos SNMPv1,
SNMPv2c, SNMPv3 e suportam o MIB-II, onde os objetos requeridos são descritos no RFC-1213. As informações fornecidas
pelo SNMP não podem ser manipuladas ou acessadas por meio da aplicação do usuário, exigindo um gerenciador SNMP
externo para executar o acesso. A tabela a seguir descreve os objetos disponíveis nos controladores Nexto Xpress.

OID Nome Descrição


Contém nome, descrição, localização e ou-
1.3.6.1.2.1.1 Sistema tras informações de identificação do equi-
pamento
Contém informações das interfaces de rede
da máquina. A tabela ifTable (OID
1.3.6.1.2.1.2.2) possui os índices 6 e 7 dis-
1.3.6.1.2.1.2 Interfaces poníveis, que podem ser visualizados pelas
estatísticas das interfaces de rede NET 1 e
NET 2, respectivamente, das UCPs da sé-
rie Nexto.
Contém informações das últimas conexões
1.3.6.1.2.1.3 At
requeridas ao agente
Contém conexões estatísticas usando pro-
1.3.6.1.2.1.4 IP
tocolo IP
Contém conexões estatísticas usando pro-
1.3.6.1.2.1.5 ICMP
tocolo ICMP
Contém conexões estatísticas usando pro-
1.3.6.1.2.1.6 TCP
tocolo TCP
Contém conexões estatísticas usando pro-
1.3.6.1.2.1.7 UDP
tocolo UDP
Contém conexões estatísticas usando pro-
1.3.6.1.2.1.11 SNMP
tocolo SNMP
1.3.6.1.2.1.31 ifMib Extensão a interfaces, OID 1.3.6.1.2.1.2

Tabela 149: Objetos MIB II – Agente SNMP Nexto Xpress

Por padrão, o agente SNMP é ativado, ou seja, o serviço é inicializado no momento em que o controlador é iniciado. O
acesso às informações do agente é feito através da interface Ethernet, porta TCP 161. A figura a seguir mostra um exemplo de
um gerenciador SNMP lendo alguns valores.

198
5. CONFIGURAÇÃO

Figura 129: Exemplo de Gerente SNMP

Para SNMPv3, em que há autenticação de usuário e senha para solicitações via protocolo SNMP, é fornecido um usuário
padrão descrito na seção Usuário e Comunidades SNMP.
Se você deseja desabilitar o serviço, alterar o usuário SNMPv3 ou comunidade para SNMPv1 / v2c predefinido, você deve
acessar a página da web do controlador conforme descrito na seção a seguir.

5.11.3. Configuração SNMP


As configurações do SNMP podem ser alteradas através da página web, na aba Gerenciamento da UCP, no menu SNMP.
Para ter acesso as configurações, o usuário deverá primeiro efetuar o login, conforme figura abaixo.

Figura 130: Tela de Login SNMP

199
5. CONFIGURAÇÃO

ATENÇÃO

Para efetuar o login pela primeira vez na página web das Configurações SNMP deve-se usar
o Nome de Usuário e Senha padrão de acesso ao serviço "administrator".

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.

Figura 131: Tela de Configuração e Status SNMP

ATENÇÃO

O Usuário e Senha para acesso ao agente via protocolo SNMP são os mesmos utilizados
para login na página web das Configurações SNMP.

200
5. CONFIGURAÇÃO

5.11.4. Usuário e Comunidades SNMP


Para acessar o SNMPv1/v2c dos controladores Nexto Xpress, existem duas comunidades, conforme tabela:

Comunidades String Padrão Tipo


rocommunity Pública Somente Leitura
rwcommunity Privada Leitura e Escrita

Tabela 150: Informação Padrão das Comunidades SNMP v1/v2c

É possível acessar o SNMP v3 usando o usuário padrão, veja a tabela abaixo:

Protocolo de Au- Senha de Auten- Protocolo Pri-


Usuário Tipo Senha Privada
tenticação ticação vado
administrator rwuser MD5 administrator - -

Tabela 151: Informação do usuário SNMP v3

Para todas as configurações de comunidades, usuário e senha, alguns limites devem ser respeitados, conforme descrito na
tabela a seguir:

Item Configurável Tamanho Mínimo Tamanho Máximo Caracteres Permitidos


rocommunity - 30 [0-9][a-z][A-Z]@$*_.
rwcommunity - 30 [0-9][a-z][A-Z]@$*_.
V3 User - 30 [0-9][a-z][A-Z]@$*_.
Password v3 8 30 [0-9][a-z][A-Z]@$*_.

Tabela 152: Configuração de Limites SNMP

5.12. Relógio RTC


As UCPs da Série Nexto possuem um relógio interno que pode ser utilizado através da biblioteca NextoStandard.lib. Essa
biblioteca é carregada automaticamente durante a criação de um novo projeto (para realizar o procedimento de inserção de
uma biblioteca, consultar a seção Bibliotecas). A figura abaixo mostra os blocos e funções disponibilizados:

201
5. CONFIGURAÇÃO

Figura 132: Blocos e Funções de Escrita e Leitura do Relógio

5.12.1. Blocos Funcionais e Funções para Leitura e Escrita do RTC


Entre outros blocos funcionais e funções, existem alguns muito importantes utilizados para a leitura do relógio (GetDate-
AndTime, GetDayOfWeek e GetTimeZone) e para configurar novos valores de data e hora (SetDateAndTime e SetTimeZone).
Estas funções utilizam sempre o horário local, isto é, levam em consideração o valor definido para o Fuso Horário.
Abaixo, descrevem-se os procedimentos utilizados para configurar as funções.

5.12.1.1. Funções de Leitura do RTC

A leitura do relógio pode ser feita através das funções a seguir:

5.12.1.1.1. GetDateAndTime

Figura 133: Leitura da Data e Hora

Parâmetros de entrada Tipo Descrição


Esta variável retorna o valor de data
EXTENDED_DATE
DATEANDTIME e hora do RTC no formato apresen-
_AND_TIME
tado na Tabela 162.

Tabela 153: Parâmetros de Entrada GetDateAndTime

202
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Retorna o estado de erro da função,
GETDATEANDTIME RTC_STATUS
ver Tabela 164.

Tabela 154: Parâmetros de Saída GetDateAndTime

Exemplo de utilização em Linguagem ST:

PROGRAM UserPrg
VAR
Result : RTC_STATUS;
DATEANDTIME : EXTENDED_DATE_AND_TIME;
xEnable : BOOL;
END_VAR
--------------------------------------------------------------------------
IF xEnable = TRUE THEN
Result := GetDateAndTime(DATEANDTIME);
xEnable := FALSE;
END_IF

5.12.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:

Figura 134: Leitura das Configurações de Fuso Horário

Parâmetros de entrada Tipo Descrição


Essa variável apresenta a leitura das
TIMEZONE TIMEZONESETTINGS
configurações de fuso horário.

Tabela 155: Parâmetros de Entrada GetTimeZone

Parâmetros de saída Tipo Descrição


Retorna o estado de erro da função,
GetTimeZone RTC_STATUS
ver Tabela 164.

Tabela 156: Parâmetros de Saída GetTimeZone

Exemplo de utilização em Linguagem ST:

203
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR
GetTimeZone_Status : RTC_STATUS;
TimeZone : TIMEZONESETTINGS;
xEnable : BOOL;
END_VAR
--------------------------------------------------------------------------
IF xEnable = TRUE THEN
GetTimeZone_Status := GetTimeZone(TimeZone);
xEnable := FALSE;
END_IF

5.12.1.1.3. GetDayOfWeek

A função GetDayOfWeek é utilizada para fazer a leitura do dia da semana.

Figura 135: Leitura do Dia da Semana

Parâmetros de saída Tipo Descrição


Retorna o dia da semana. Ver Ta-
GetDayOfWeek DAYS_OF_WEEK
bela 163.

Tabela 157: Parâmetros de Saída GetDayOfWeek

Quando chamada, a função lerá o dia da semana e preencherá a estrutura DAYS_OF_WEEK.


Exemplo de utilização em Linguagem ST:

PROGRAM UserPrg
VAR
DayOfWeek : DAYS_OF_WEEK;
END_VAR
--------------------------------------------------------------------------
DayOfWeek := GetDayOfWeek();

204
5. CONFIGURAÇÃO

5.12.1.2. Funções de Escrita do RTC

As configurações de relógio são feitas através das funções e blocos funcionais a seguir:

5.12.1.2.1. SetDateAndTime

O Bloco Funcional SetDateAndTime é utilizado para realizar o ajuste do relógio. Tipicamente a precisão é da ordem de
centenas de milissegundos.

Figura 136: Ajuste de Data e Hora em Milissegundos

Parâmetros de entrada Tipo Descrição


Essa variável, quando recebe uma
REQUEST BOOL borda de subida, habilita a escrita
do relógio.
Recebe os valores de data e hora em
EXTENDED_DATE
DATEANDTIME milissegundos, conforme na Tabela
_AND_TIME
162.

Tabela 158: Parâmetros de Entrada SetDateAndTime

Parâmetros de saída Tipo Descrição


Essa variável, quando verdadeira,
DONE BOOL
indica que a ação foi completada.
Essa variável, quando verdadeira,
EXEC BOOL indica que a função está proces-
sando os valores.
Essa variável, quando verdadeira,
ERROR BOOL indica que ocorreu algum erro du-
rante a Escrita.
Retorna o erro ocorrido durante a
STATUS RTC_CMD_STATUS
configuração, ver Tabela 164.

Tabela 159: Parâmetros de Saída SetDateAndTime

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:

205
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR
SetDateAndTime : SetDateAndTime;
xRequest : BOOL;
DateAndTime : EXTENDED_DATE_AND_TIME;
xDone : BOOL;
xExec : BOOL;
xError : BOOL;
xStatus : RTC_STATUS;
END_VAR
--------------------------------------------------------------------------
IF xRequest THEN
SetDateAndTime.REQUEST:=TRUE;
SetDateAndTime.DATEANDTIME:=DateAndTime;
xRequest:= FALSE;
END_IF
SetDateAndTime();
SetDateAndTime.REQUEST:=FALSE;
IF SetDateAndTime.DONE THEN
xExec:=SetDateAndTime.EXEC;
xError:=SetDateAndTime.ERROR;
xStatus:=SetDateAndTime.STATUS;
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á
convertido 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.12.1.2.2. SetTimeZone

A função SetTimeZone realiza a escrita do ajuste de fuso horário:

Figura 137: Ajuste de Fuso Horário

Parâmetros de entrada Tipo Descrição


Estrutura com o valor de fuso ho-
TIMEZONE TIMEZONESETTINGS rário a ser configurado. Ver Tabela
165.

Tabela 160: Parâmetros de Entrada SetTimeZone

206
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Retorna o erro ocorrido durante a
SetTimeZone RTC_STATUS leitura/configuração. Ver Tabela
164.

Tabela 161: Parâmetros de Saída SetTimeZone

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:

PROGRAM UserPrg
VAR
Status : RTC_STATUS;
TimeZone : TIMEZONESETTINGS;
xWrite : BOOL;
END_VAR
--------------------------------------------------------------------------
//FB SetTimeZone
IF (xWrite = TRUE) THEN
Status := SetTimeZone(TimeZone);
IF Status = RTC_STATUS.NO_ERROR THEN
xWrite := FALSE;
END_IF
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.

5.12.2. Estruturas de Dados do RTC


Os blocos funcionais de leitura e configuração do RTC das UCPs da série Nexto utilizam as seguintes estruturas de dados
na sua configuração:

5.12.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:

207
5. CONFIGURAÇÃO

Estrutura Tipo Variável Descrição


Armazena o dia do mês da data con-
BYTE byDayOfMonth
figurada.
Armazena o mês da data configu-
BYTE ByMonth
rada.
Armazena o ano da data configu-
WORD wYear
rada.
Armazena a hora da data configu-
EXTENDED_DATE_ BYTE byHours
rada.
Armazena os minutos da data con-
AND_TIME BYTE byMinutes
figurada.
Armazena os segundos da data con-
BYTE bySeconds
figurada.
Armazena os milissegundos da data
WORD wMilliseconds
configurada.

Tabela 162: Estrutura EXTENDED_DATE_AND_TIME

5.12.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:

Enumerador Valor Descrição


0 INVALID_DAY
1 SUNDAY
2 MONDAY
DAYS_OF_WEEK 3 TUESDAY
4 WEDNESDAY
5 THURSDAY
6 FRIDAY
7 SATURDAY

Tabela 163: Estrutura DAYS_OF_WEEK

5.12.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:

Enumerador Valor Descrição


NO_ERROR (0) Não há erro.
UNKNOWN_COMMAND (1) Comando desconhecido.
DEVICE_BUSY (2) Dispositivo está ocupado.
DEVICE_ERROR (3) Dispositivo com erro.
Erro na leitura do sinalizador de
ERROR_READING_OSF (4)
data e hora válidas.
ERROR_READING_RTC (5) Erro na leitura da data e hora.
RTC_STATUS ERROR_WRITING_RTC (6) Erro na escrita da data e hora.
ERROR_UPDATING_SYSTEM Erro na atualização de data e hora
_TIME (7) do sistema.
INTERNAL_ERROR (8) Erro interno.
INVALID_TIME (9) Data e hora inválidas.

208
5. CONFIGURAÇÃO

Enumerador Valor Descrição


INPUT_OUT_OF_RANGE Fora do limite de Data e hora váli-
(10) das para o sistema.
Erro gerado quando o serviço SNTP
não está habilitado e é feita uma
SNTP_NOT_ENABLE (11)
tentativa de ler ou modificar o fuso
horário.

Tabela 164: RTC_STATUS

5.12.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:

Estrutura Tipo Variável Descrição


TIMEZONESETTINGS INT iHour Hora do fuso horário configurado.
Minuto do fuso horário configu-
INT iMinutes
rado.

Tabela 165: TIMEZONESETTINGS

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.

5.13. Funções e Blocos Funcionais


5.13.1. Blocos Funcionais Especiais para Comunicação Serial
Os blocos funcionais especiais para comunicação serial possibilitam o acesso local (COM) e também a portas seriais remo-
tas (módulos de expansão). Dessa forma, o usuário poderá criar seus próprios protocolos e manipular as portas seriais como
quiser, seguindo as linguagens da IEC 61131-3 disponíveis no software MasterTool IEC XE. Os blocos estão disponíveis dentro
da biblioteca NextoSerial, a qual deve ser adicionada ao projeto para que seja possível utilizá-los (para realizar o procedimento
de inserção de uma biblioteca, consultar o Manual de Programação IEC 61131 – MP399048, capítulo Bibliotecas).
Os blocos funcionais especiais para comunicação serial podem levar vários ciclos (consecutivas chamadas) para completar
a execução da tarefa. Às vezes, um bloco pode completar em um único ciclo, mas, em geral, necessita de vários ciclos. A
execução da tarefa associada a um bloco pode compreender vários passos, sendo que alguns dependem de eventos externos,
os quais podem ter atrasos significantes para o sistema. O bloco funcional não pode implementar rotinas para ocupar o tempo,
enquanto aguarda por esses eventos, pois assim iria utilizar todo recurso da UCP. A solução poderia ser a criação de blocos
funcionais bloqueadores, mas isso não é aconselhável pois iria complicar a aplicação do usuário, pois normalmente não se
tem disponível a programação multitarefa. Então, quando um evento externo é esperado, os blocos funcionais da serial são
finalizados e o controle é retornado para o programa de chamada. O tratamento da tarefa continua no próximo ciclo, ou seja,
na próxima vez que o bloco for chamado.
Antes de descrever os blocos funcionais especiais para controle das interfaces seriais, é importante conhecer os Datatypes,
ou seja, os tipos de dados utilizados pelos blocos:

209
5. CONFIGURAÇÃO

Tipo de dado Opção Descrição


Lista todas as possibilidades da taxa
BAUD200
de transmissão (bits por segundo)
BAUD300
BAUD600
BAUD1200
BAUD1800
SERIAL_BAUDRATE BAUD2400
BAUD4800
BAUD9600
BAUD19200
BAUD38400
BAUD57600
BAUD115200
Lista todas as possibilidades de bits
DATABITS_5
de dado.
SERIAL_DATABITS DATABITS_6
DATABITS_7
DATABITS_8
Define todas as possibilidades dos sinais de modem para as con-
figurações:
Controla a porta RS-232C da UCP
Nexto. O RTS é habilitado no início
da transmissão e reiniciado assim
RS232_RTS que possível após o final da trans-
missão. Por exemplo, pode ser uti-
lizado para controlar um conversor
RS-232/RS-485 externo.
Controla a porta RS-232C da UCP
SERIAL_HANDSHAKE RS232_RTS_OFF Nexto. O sinal RTS está sempre
desligado.
Controla a porta RS-232C da UCP
RS232_RTS_ON Nexto. O sinal RTS está sempre li-
gado.
Controla a porta RS-232C da UCP
Nexto. Caso o CTS esteja desa-
bilitado, o RTS é habilitado. En-
tão, aguarda-se o CTS ser habili-
RS232_RTS_CTS tado para a transmissão começar e
o RTS é reiniciado, o mais rápido
possível, no final da transmissão.
Ex: Controle de rádio modems com
o mesmo sinal de modem.
Controla a porta RS-232C da UCP
Nexto. O usuário é responsável
RS232_MANUAL
por controlar todos os sinais (RTS,
DTR, CTS, DSR, DCD).
Modo normal de operação da comu-
SERIAL_MODE NORMAL_MODE
nicação serial.
Modo estendido de operação da co-
municação serial, no qual são for-
EXTENDED_MODE
necidas informações sobre o frame
de dados recebido.

210
5. CONFIGURAÇÃO

Tipo de dado Opção Descrição


Define todos os parâmetros de configuração da porta serial:
Definido em SE-
BAUDRATE
RIAL_BAUDRATE.
DATABITS Definido em SERIAL_DATABITS.
STOPBITS Definido em SERIAL_STOPBITS.
PARITY Definido em SERIAL_PARITY.
Definido em SE-
SERIAL_PARAMETERS HANDSHAKE
RIAL_HANDSHAKE.
Quantidade de bytes que devem ser
recebidos para gerar uma nova in-
terrupção na UART. Valores baixos
fazem o TIMESTAMP mais preciso
UART_RX_THRESHOLD quando o MODO ESTENDIDO é
utilizado e minimiza os erros de
overrun. No entanto, valores bai-
xos podem causar muitas interrup-
ções que podem retardar a UCP.
MODE Definido em SERIAL_MODE.
Quando verdadeiro, todos os bytes
recebidos durante a transmissão se-
rão descartados em vez de ir para a
ENABLE_RX_ON_TX
fila de RX. Utilizado para desabili-
tar a operação full-duplex na inter-
face RS-422.
Quando verdadeiro, gera um evento
ENABLE_DCD_EVENT
externo quando o DCD é alterado.
Quando verdadeiro, gera um evento
ENABLE_CTS_EVENT
externo quando o CTS é alterado.
Lista todas as possibilidades de pa-
PARITY_NONE
ridade.
PARITY_ODD
SERIAL_PARITY PARITY_EVEN
PARITY_MARK
PARITY_SPACE
Lista todas as portas seriais disponí-
veis (COM 10, COM 11, COM 12,
SERIAL_PORT COM 1 COM 13, COM 14, COM 15, COM
16, COM 17, COM 18, COM 19 –
módulos de expansão).
COM 2
Define um caractere da fila RX modo estendido.
RX_CHAR Byte de dados.
SERIAL_RX_CHAR_ EX-
RX_ERROR Código de erro.
TENDED
Silêncio devido ao caractere an-
terior ou devido a outro evento
RX_TIMESTAMP que aconteceu antes desse caractere
(configuração da porta serial, final
da transmissão).
Contém alguns campos que disponibilizam informações de sta-
tus/erro sobre a fila RX, utilizados quando é utilizado o formato
normal (sem erro e informações de estampa de tempo):

211
5. CONFIGURAÇÃO

Tipo de dado Opção Descrição


Contador de erros de frame, ou
seja, formação incorreta do carac-
tere – falta de bit de parada, taxa de
RX_FRAMING_ERRORS transmissão incorreta, entre outros
– desde a configuração da porta se-
rial. Retorna para zero caso atinja o
valor máximo (65535).
Contador de erros de paridade
desde a configuração da porta se-
RX_PARITY_ERRORS
rial. Retorna para zero caso atinja
o valor máximo (65535).
Contador de erros de interrupção
desde a configuração da porta se-
rial, ou seja, linha ativa maior do
RX_BREAK_ERRORS
que o tempo de um caractere. Re-
torna para zero caso atinja o valor
máximo (65535).
Contador de erros de overrun na
FIFO RX desde a configuração da
SERIAL_RX_QUEUE_ RX_FIFO_OVERRUN_ porta serial, ou seja, erro no th-
STATUS ERRORS reshold configurado para a FIFO
RX. Retorna para zero caso atinja o
valor máximo (65535).
Contador de erros de overrun na fila
RX desde a configuração da porta
serial, ou seja, o valor máximo de
RX_QUEUE_OVERRUN_
caracteres (1024) foi ultrapassado e
ERRORS
os dados estão sendo sobrescritos.
Retorna zero caso atinja o valor má-
ximo (65535).
Soma dos 5 últimos contadores de
RX_ANY_ERRORS erros (frame, paridade, interrupção,
overrun RX FIFO, overrun fila RX).
Número de caracteres remanescen-
RX_REMAINING
tes na fila RX.
Lista os códigos de erro críticos que podem ser retornados pelos
blocos funcionais da serial. Cada bloco retorna erros específicos,
os quais serão mencionados na descrição dos mesmos:
NO_ERROR Não existem erros.
Retorna os parâmetros com valores
inválidos ou fora da faixa:
- SERIAL_PORT
ILLEGAL_* - SERIAL_MODE
- BAUDRATE
- DATA_BITS
- PARITY
- STOP_BITS
- HANDSHAKE
- UART_RX_THRESHOLD
- TIMEOUT
- TX_BUFF_LENGTH
- HANDSHAKE_METHOD
- RX_BUFF_LENGTH

212
5. CONFIGURAÇÃO

Tipo de dado Opção Descrição


Indica que a porta serial está sendo
PORT_BUSY
utilizada por outra instância
Erro de hardware detectado na
HW_ERROR_UART
UART.
Erro de hardware ao comunicar
HW_ERROR_REMOTE
com a porta serial remota.
Time-out na espera do CTS ser
habilitado, nos sinais de modem
CTS_TIMEOUT_ON
RS-232C RTS/CTS, no bloco SE-
RIAL_TX.
Time-out na espera do CTS ser de-
CTS_TIMEOUT_OFF sabilitado, no handshake RS-232C
RTS/CTS, no bloco SERIAL_TX.
Time-out na espera pelo final da
SERIAL_STATUS TX_TIMEOUT_ERROR
transmissão no bloco SERIAL_TX.
Time-out na espera de todos os ca-
RX_TIMEOUT_ERROR racteres no bloco SERIAL_RX ou
SERIAL_RX_EXTENDED.
O bloco SET_CTRL não pode
FB_SET_CTRL_ ser utilizado caso o sinal
NOT_ALLOWED de modem seja diferente de
RS232_MANUAL.
O bloco GET_CTRL não pode
FB_GET_CTRL_ ser utilizado caso o sinal
NOT_ALLOWED de modem seja diferente de
RS232_MANUAL.
O bloco SERIAL_RX não está dis-
FB_SERIAL_RX_
ponível para a fila RX, modo esten-
NOT_ALLOWED
dido.
O bloco SE-
FB_SERIAL_RX_
RIAL_RX_EXTENDED não
EXTEN-
está disponível para a fila RX,
DED_NOT_ALLOWED
modo normal.
A interrupção pelo sinal DCD não
DCD_INTERRUPT_
pode ser habilitada caso a porta se-
NOT_ALLOWED
rial não possua o respectivo pino.
A interrupção pelo sinal CTS não
pode ser habilitada caso o si-
CTS_INTERRUPT_
nal de modem seja diferente de
NOT_ALLOWED
RS232_MANUAL ou caso a porta
serial não possua o respectivo pino.
A interrupção pelo sinal DSR não
pode ser habilitada caso a porta se-
DSR_INTERRUPT_
rial não possua o respectivo pino.
NOT_ALLOWED
(As UCPs Nexto não possuem esse
sinal nas portas locais)
O bloco funcional não pode ser uti-
NOT_CONFIGURED lizado antes da porta serial ser con-
figurada.
Indica que algum problema interno
INTERNAL_ERROR
ocorreu na porta serial.
Lista todas as possibilidades de bits
STOPBITS_1
de parada.

213
5. CONFIGURAÇÃO

Tipo de dado Opção Descrição


SERIAL_STOPBITS STOPBITS_2
STOPBITS_1_5

Tabela 166: Tipos de dados Blocos Funcionais Serial

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.

Figura 138: Bloco de Configuração da Serial

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.
Essa estrutura define os parâmetros
de configuração da porta serial, con-
PARAMETERS SERIAL_PARAMETERS
forme descrito no tipo de dado SE-
RIAL_PARAMETERS.

Tabela 167: Parâmetros de Entrada SERIAL_CFG

214
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.
Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro encon-
trado na execução do bloco funcional. Os
estados, já descritos no tipo de dado SE-
RIAL_STATUS, possíveis são:
STATUS SERIAL_STATUS - NO_ERROR
- ILLEGAL_SERIAL_PORT
- ILLEGAL_SERIAL_MODE
- ILLEGAL_BAUDRATE
- ILLEGAL_DATA_BITS
- ILLEGAL_PARITY
- ILLEGAL_STOP_BITS
- ILLEGAL_HANDSHAKE
- ILLEGAL_UART_RX_THRESHOLD
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- DCD_INTERRUPT_NOT_ALLOWED
- CTS_INTERRUPT_NOT_ALLOWED
- DSR_INTERRUPT_NOT_ALLOWED

Tabela 168: Parâmetros de Saída SERIAL_CFG

Exemplo de utilização em Linguagem ST, após a biblioteca Nexto Serial ter sido inserida no projeto:

PROGRAM UserPrg
VAR
Config: SERIAL_CFG;
Port: SERIAL_PORT := COM1;
Parameters: SERIAL_PARAMETERS := (BAUDRATE := BAUD9600,
DATABITS := DATABITS_8,
STOPBITS := STOPBITS_1,
PARITY := PARITY_NONE,
HANDSHAKE := RS232_RTS,
UART_RX_THRESHOLD := 8,
MODE :=NORMAL_MODE,
ENABLE_RX_ON_TX := FALSE,
ENABLE_DCD_EVENT := FALSE,
ENABLE_CTS_EVENT := FALSE);
Status: SERIAL_STATUS;
END_VAR

215
5. CONFIGURAÇÃO

//ENTRADAS:
Config.REQUEST := TRUE;
Config.PORT := Port;
Config.PARAMETERS := Parameters;
//FUNÇÃO:
Config();
//SAÍDAS:
Config.DONE;
Config.EXEC;
Config.ERROR;
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.

Figura 139: Bloco para Capturar a Configuração da Serial

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.

Tabela 169: Parâmetros de Entrada SERIAL_GET_CFG

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.

216
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
STATUS SERIAL_STATUS tados, já descritos no tipo de dado SE-
RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- NOT_CONFIGURED
Essa estrutura recebe os parâmetros de
configuração da porta serial desejada, con-
PARAMETERS SERIAL_PARAMETERS
forme descrito no tipo de dado SE-
RIAL_PARAMETERS.

Tabela 170: Parâmetros de Saída SERIAL_GET_CFG

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto:

PROGRAM UserPrg
VAR
GetConfig: SERIAL_GET_CFG;
Port: SERIAL_PORT := COM1;
Parameters: SERIAL_PARAMETERS;
Status: SERIAL_STATUS;
END_VAR
//ENTRADAS:
GetConfig.REQUEST := TRUE;
GetConfig.PORT := Port;
//FUNÇÃO:
GetConfig();
//SAÍDAS:
GetConfig.DONE;
GetConfig.EXEC;
GetConfig.ERROR;
Status := GetConfig.STATUS; //Caso seja necessário tratar o erro.
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.

217
5. CONFIGURAÇÃO

Figura 140: Bloco para Visualizar os Sinais de Controle

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.

Tabela 171: Parâmetros de Entrada SERIAL_GET_CTRL

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.
Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
STATUS SERIAL_STATUS tados, já descritos no tipo de dado SE-
RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- FB_GET_CTRL_NOT_ALLOWED
- NOT_CONFIGURED
CTS_VALUE BOOL Valor lido no sinal de controle CTS.
DSR_VALUE BOOL Valor lido no sinal de controle DSR.
DCD_VALUE BOOL Valor lido no sinal de controle DCD.

Tabela 172: Parâmetros de Saída SERIAL_GET_CTRL

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

218
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR
Get_Control: SERIAL_GET_CTRL;
Port: SERIAL_PORT := COM1;
Status: SERIAL_STATUS;
END_VAR
//ENTRADAS:
Get_Control.REQUEST := TRUE;
Get_Control.PORT := Port;
//FUNÇÃO:
Get_Control();
//SAÍDAS:
Get_Control.DONE;
Get_Control.EXEC;
Get_Control.ERROR;
Status := Get_Control.STATUS; //Caso seja necessário tratar o erro.
Get_Control.CTS_VALUE;
Get_Control.DSR_VALUE;
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.

Figura 141: Bloco para Visualizar o Status da Fila RX

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.

Tabela 173: Parâmetros de Entrada SERIAL_GET_RX_QUEUE_STATUS

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.

219
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.
Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
STATUS SERIAL_STATUS tados, já descritos no tipo de dado SE-
RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- NOT_CONFIGURED
Retorna status/erros da fila RX, con-
SERIAL_RX_
RXQ_STATUS forme descrito no tipo de dado SE-
QUEUE_STATUS
RIAL_RX_QUEUE_STATUS.

Tabela 174: Parâmetros de Saída SERIAL_GET_RX_QUEUE_STATUS

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

PROGRAM UserPrg
VAR
Get_Status: SERIAL_GET_RX_QUEUE_STATUS;
Port: SERIAL_PORT := COM1;
Status: SERIAL_STATUS;
Status_RX: SERIAL_RX_QUEUE_STATUS;
END_VAR
//ENTRADAS:
Get_Status.REQUEST := TRUE;
Get_Status.PORT := Port;
//FUNÇÃO:
Get_Status();
//SAÍDAS:
Get_Status.DONE;
Get_Status.EXEC;
Get_Status.ERROR;
Status := Get_Status.STATUS; //Caso seja necessário tratar o erro.
Status_RX := Get_Status.RXQ_STATUS; //Caso seja necessário tratar o erro da fila
RX.

220
5. CONFIGURAÇÃO

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.

Figura 142: Bloco para Limpar a Fila RX

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.

Tabela 175: Parâmetros de Entrada SERIAL_PURGE_RX_QUEUE

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.
Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
STATUS SERIAL_STATUS tados, já descritos no tipo de dado SE-
RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- NOT_CONFIGURED

Tabela 176: Parâmetros de Saída SERIAL_PURGE_RX_QUEUE

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

221
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR
Purge_Queue: SERIAL_PURGE_RX_QUEUE;
Port: SERIAL_PORT := COM1;
Status: SERIAL_STATUS;
END_VAR
//ENTRADAS:
Purge_Queue.REQUEST := TRUE;
Purge_Queue.PORT := Port;
//FUNÇÃO:
Purge_Queue();
//SAÍDAS:
Purge_Queue.DONE;
Purge_Queue.EXEC;
Purge_Queue.ERROR;
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.

Figura 143: Bloco para Ler Valores do Buffer de Recepção

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.
RX_BUFFER_ Ponteiro de um array de bytes para receber
POINTER TO BYTE
POINTER os valores do buffer.
Especifica o número de caracteres espera-
dos no array de bytes. Caso estejam dispo-
níveis mais bytes do que o esperado, so-
RX_BUFFER_
UINT mente a quantidade esperada vai ser lida
LENGTH
no array de bytes, sendo que os demais se-
rão deixados na fila RX (tamanho máximo
igual a 1024 caracteres).

222
5. CONFIGURAÇÃO

Parâmetros de entrada Tipo Descrição


Especifica o time-out para receber a
quantidade de caracteres esperados.
Caso ele seja menor do que a quanti-
dade de bytes a receber, será indicado
RX_TIMEOUT UINT
RX_TIMEOUT_ERROR no parâmetro de
saída STATUS. Quando o valor especifi-
cado, em ms, for igual a zero, a função irá
retornar os dados presentes no buffer.

Tabela 177: Parâmetros de Entrada SERIAL_RX

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.
Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
tados, já descritos no tipo de dado SE-
STATUS SERIAL_STATUS
RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- ILLEGAL_RX_BUFF_LENGTH
- RX_TIMEOUT_ERROR
- FB_SERIAL_RX_NOT_ALLOWED
- NOT_CONFIGURED
Retorna o número de caracteres recebidos.
Esse número pode estar entre zero e o valor
RX_RECEIVED UINT configurado em RX_BUFFER_LENGTH.
Caso seja menor, um erro será indicado
pelo bloco funcional.
Retorna o número de caracteres que ainda
RX_REMAINING UINT estão na fila RX depois que o bloco funci-
onal foi executado.

Tabela 178: Parâmetros de Saída SERIAL_RX

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

223
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR
Receive: SERIAL_RX;
Port: SERIAL_PORT := COM1;
Buffer_Pointer: ARRAY [0..1023] OF BYTE; //Tamanho máximo.
Status: SERIAL_STATUS;
END_VAR
//ENTRADAS:
Receive.REQUEST := TRUE;
Receive.PORT := Port;
Receive.RX_BUFFER_POINTER := ADR(Buffer_Pointer);
Receive.RX_BUFFER_LENGTH := 1024; //Tamanho máximo.
Receive.RX_TIMEOUT := 10000;
//FUNÇÃO:
Receive();
//SAÍDAS:
Receive.DONE;
Receive.EXEC;
Receive.ERROR;
Status := Receive.STATUS; //Caso seja necessário tratar o erro.
Receive.RX_RECEIVED;
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 Interface Serial.

Figura 144: Bloco para Leitura do Buffer de Recepção

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.
Ponteiro de um array de SE-
RX_BUFFER_ POINTER TO SE-
RIAL_RX_CHAR_EXTENDED para
POINTER RIAL_RX_CHAR
receber os valores do buffer.
_EXTENDED

224
5. CONFIGURAÇÃO

Parâmetros de entrada Tipo Descrição


Especifica o número de caracte-
res esperados no array de SE-
RIAL_RX_CHAR_EXTENDED. Caso
RX_BUFFER_ estejam disponíveis mais bytes do que o
UINT
LENGTH esperado, somente a quantidade esperada
vai ser lida no array, sendo que os demais
serão deixados na fila RX (tamanho
máximo igual a 1024 caracteres).
Especifica o time-out para receber a
quantidade de caracteres esperados.
Caso ele seja menor do que a quanti-
dade de bytes a receber, será indicado
RX_TIMEOUT UINT
RX_TIMEOUT_ERROR no parâmetro de
saída STATUS. Quando o valor especifi-
cado, em ms, for igual a zero, a função irá
retornar os dados presentes no buffer.

Tabela 179: Parâmetros de Entrada SERIAL_RX_EXTENDED

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.
Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
tados, já descritos no tipo de dado SE-
STATUS SERIAL_STATUS RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- ILLEGAL_RX_BUFF_LENGTH
- RX_TIMEOUT_ERROR
- FB_SERIAL_RX_EXTENDED_NOT
_ALLOWED
- NOT_CONFIGURED

225
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Retorna o número de caracteres recebidos.
Esse número pode estar entre zero e o valor
RX_RECEIVED UINT configurado em RX_BUFFER_LENGTH.
Caso seja menor, um erro será indicado
pelo bloco funcional.
Retorna o número de caracteres que ainda
RX_REMAINING UINT estão na fila RX depois que o bloco funci-
onal foi executado.
Retorna o tempo de silêncio na linha RX,
medido desde o fim do último caractere re-
cebido. A unidade de tempo é 1 µs. Esse
tipo de parâmetro de saída é importante
para detectar o tempo de silêncio em proto-
RX_SILENCE UDINT
colos como MODBUS RTU. Pode não ser
o tempo de silêncio depois do último carac-
tere recebido por esse bloco funcional, pois
somente é verdade se RX_REMAINING =
0.

Tabela 180: Parâmetros de Saída SERIAL_RX_EXTENDED

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

PROGRAM UserPrg
VAR
Receive_Ex: SERIAL_RX_EXTENDED;
Port: SERIAL_PORT := COM1;
Buffer_Pointer: ARRAY [0..1023] OF SERIAL_RX_CHAR_EXTENDED;
Status: SERIAL_STATUS;
END_VAR
//ENTRADAS:
Receive_Ex.REQUEST := TRUE;
Receive_Ex.PORT := Port;
Receive_Ex.RX_BUFFER_POINTER := ADR(Buffer_Pointer);
Receive_Ex.RX_BUFFER_LENGTH := 1024; //Tamanho máximo.
Receive_Ex.RX_TIMEOUT := 10000;
//FUNÇÃO:
Receive_Ex();
//SAÍDAS:
Receive_Ex.DONE;
Receive_Ex.EXEC;
Receive_Ex.ERROR;
Status := Receive_Ex.STATUS; //Caso seja necessário tratar o erro.
Receive_Ex.RX_RECEIVED;
Receive_Ex.RX_REMAINING;
Receive_Ex.RX_SILENCE;

226
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.

Figura 145: Bloco para Escrever nos Sinais de Controle

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.
RTS_VALUE BOOL Valor a ser escrito no sinal RTS.
Habilita a escrita do parâmetro
RTS_EN BOOL
RTS_VALUE.
DTR_VALUE BOOL Valor a ser escrito no sinal DTR.
Habilita a escrita do parâmetro
DTR_EN BOOL
DTR_VALUE.
Caso seja verdadeiro, habilita lógica 0
BREAK BOOL
(ocupado) na linha de transmissão.

Tabela 181: Parâmetros de Entrada SERIAL_SET_CTRL

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.

227
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
STATUS SERIAL_STATUS tados, já descritos no tipo de dado SE-
RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- FB_SET_CTRL_NOT_ALLOWED
- NOT_CONFIGURED

Tabela 182: Parâmetros de Saída SERIAL_SET_CTRL

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

PROGRAM UserPrg
VAR
Set_Control: SERIAL_SET_CTRL;
Port: SERIAL_PORT := COM1;
Status: SERIAL_STATUS;
END_VAR

//ENTRADAS:
Set_Control.REQUEST := TRUE;
Set_Control.PORT := Port;
Set_Control.RTS_VALUE := FALSE;
Set_Control.RTS_EN := FALSE;
Set_Control.DTR_VALUE := FALSE;
Set_Control.DTR_EN := FALSE;
Set_Control.BREAK := FALSE;
//FUNÇÃO:
Set_Control();
//SAÍDAS:
Set_Control.DONE;
Set_Control.EXEC;
Set_Control.ERROR;
Status := Set_Control.STATUS; //Caso seja necessário tratar o erro.

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).

228
5. CONFIGURAÇÃO

Figura 146: Bloco para Transmitir Valores pela SERIAL_TX

Parâmetros de entrada Tipo Descrição


Essa variável, quando verdadeira, habilita
REQUEST BOOL
o uso do bloco funcional.
Seleciona a porta serial, conforme descrito
PORT SERIAL_PORT
no tipo de dado SERIAL_PORT.
TX_BUFFER_ Ponteiro de um array de bytes para trans-
POINTER TO BYTE
POINTER mitir os valores do buffer.
Especifica o número de caracteres a serem
TX_BUFFER_ transmitidos pelo array de bytes (tamanho
UINT
LENGTH máximo da fila TX é igual a 1024 caracte-
res).
Especifica o time-out [ms] para comple-
tar a transmissão, incluindo a fase de
TX_TIMEOUT UINT
handshake. O valor especificado, deve ser
positivo e diferente de zero.
Especifica o atraso [ms] entre a chamada
DELAY_BEFORE_ do bloco funcional e o início da transmis-
UINT
TX são. Essa variável pode ser utilizada em
comunicações com alguns modens.
Quando verdadeiro, a fila RX e a UART
CLEAR_RX_ FIFO RX são limpas antes de iniciar a
BOOL
BEFORE_TX transmissão. Esse comportamento é típico
de protocolos mestre/escravo half-duplex.

Tabela 183: Parâmetros de Entrada SERIAL_TX

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira quando o bloco
DONE BOOL funcional for executado por completo, caso
contrário, ela é falsa.
Essa variável é verdadeira enquanto o
EXEC BOOL bloco funcional estiver sendo executado,
caso contrário, ela é falsa.
Essa variável é verdadeira quando o bloco
funcional concluir a sua execução com al-
gum erro, caso contrário, ela é falsa. Está
ERROR BOOL
vinculada à variável DONE, pois seu es-
tado é exibido após a conclusão do bloco
funcional.

229
5. CONFIGURAÇÃO

Parâmetros de saída Tipo Descrição


Caso a variável ERROR seja verdadeira,
a estrutura STATUS exibirá o erro en-
contrado na execução do bloco. Os es-
tados, já descritos no tipo de dado SE-
STATUS SERIAL_STATUS RIAL_STATUS, possíveis são:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- ILLEGAL_TX_BUFF_LENGTH
- ILLEGAL_TIMEOUT
- CTS_TIMEOUT_ON
- CTS_TIMEOUT_OFF
- TX_TIMEOUT_ERROR
- NOT_CONFIGURED
Retorna o número de bytes trans-
mitidos, o qual deve ser igual ao
TX_TRANSMITTED UINT TX_BUFFER_LENGTH, mas pode
ser menor caso ocorra algum erro durante
a transmissão.

Tabela 184: Parâmetros de Saída SERIAL_TX

Exemplo de utilização em Linguagem ST, após a biblioteca ser inserida no projeto e a porta serial ser configurada:

PROGRAM UserPrg
VAR
Transmit: SERIAL_TX;
Port: SERIAL_PORT := COM1;
Buffer_Pointer: ARRAY [0..9] OF BYTE := [0,1,2,3,4,5,6,7,8,9];
Status: SERIAL_STATUS;
END_VAR

//ENTRADAS:
Transmit.REQUEST := TRUE;
Transmit.PORT := Port;
Transmit.TX_BUFFER_POINTER := ADR(Buffer_Pointer);
Transmit.TX_BUFFER_LENGTH := 10;
Transmit.TX_TIMEOUT := 10000;
Transmit.DELAY_BEFORE_TX := 1000;
Transmit.CLEAR_RX_BEFORE_TX := TRUE;
//FUNÇÃO:
Transmit();
//SAÍDAS:
Transmit.DONE;
Transmit.EXEC;
Transmit.ERROR;
Status := Transmit.STATUS; //Caso seja necessário tratar o erro.
Transmit.TX_TRANSMITTED;

230
5. CONFIGURAÇÃO

5.13.2. Atualização de Entradas e Saídas


Funcionalidade utilizada para atualizar entradas e saídas no decorrer da aplicação, não sendo necessário aguardar até que
seja completado um ciclo.
Quando os blocos funcionais para atualizar as entradas e saídas não são utilizados, a atualização é realizada a cada ciclo da
MainTask.

ATENÇÃO

Na inicialização de uma UCP desta série, as entradas e saídas somente estarão atualizadas
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. 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.

Figura 147: Função para atualizar as entradas integradas

5.13.2.2. 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.

Figura 148: Função para atualizar as saídas integradas

5.13.3. Temporizador Retentivo


O Temporizador Retentivo é um bloco funcional desenvolvido para aplicações como relógios de linha de produção, as
quais necessitam armazenar o seu valor e reiniciar a contagem do mesmo ponto em caso de falha na alimentação. Os valores,
guardados pelo bloco funcional somente serão zerados em caso de um Reset a Frio, Reset Origem ou o Download de uma
nova aplicação (ver Manual de Utilização do MasterTool IEC XE - MU299048), sendo que os contadores continuam em
funcionamento mesmo que a aplicação esteja parada (Modo Stop).

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.

231
5. CONFIGURAÇÃO

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.3.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
149 representa o bloco TOF_RET e a Figura 150 mostra o comportamento gráfico do mesmo.

Figura 149: Bloco Funcional TOF_RET

Parâmetros de entrada Tipo Descrição


Essa variável, quando recebe uma borda de
IN BOOL descida, habilita a contagem do bloco fun-
cional.
Essa variável especifica o limite de conta-
PT TIME
gem do bloco funcional (tempo de atraso).

Tabela 185: Parâmetros de Entrada TOF_RET

Parâmetros de saída Tipo Descrição


Essa variável vai para FALSE assim que a
Q BOOL variável PT (tempo de atraso) atinge o seu
valor máximo.
Essa variável exibe o valor atual do tempo
ET TIME
de atraso.

Tabela 186: Parâmetros de Saída TOF_RET

Figura 150: Comportamento Gráfico do Bloco Funcional TOF_RET

Exemplo de utilização em linguagem ST:

232
5. CONFIGURAÇÃO

PROGRAM UserPrg
VAR RETAIN
bStart : BOOL := TRUE;
TOF_RET : TOF_RET;
END_VAR

// Quando bStart=FALSE inicia contagem


TOF_RET( IN := bStart,
PT := T#20S);

// Executa ações ao final da contagem


IF (TOF_RET.Q = FALSE) THEN
bStart := TRUE;
END_IF

5.13.3.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
151 representa o bloco TON_RET e a Figura 152 mostra o comportamento gráfico do mesmo.

Figura 151: Bloco Funcional TON_RET

Parâmetros de entrada Tipo Descrição


Essa variável, quando recebe uma borda de
IN BOOL subida, habilita a contagem do bloco funci-
onal.
Essa variável especifica o limite de conta-
PT TIME
gem do bloco funcional (tempo de atraso).

Tabela 187: Parâmetros de Entrada TON_RET

Parâmetros de saída Tipo Descrição


Essa variável vai para TRUE assim que a
Q BOOL variável PT (tempo de atraso) atinge o seu
valor máximo.
Essa variável exibe o valor atual do tempo
ET TIME
de atraso.

Tabela 188: Parâmetros de Saída TON_RET

233
5. CONFIGURAÇÃO

Figura 152: Comportamento Gráfico do Bloco Funcional TON_RET

Exemplo de utilização em linguagem ST:

PROGRAM UserPrg
VAR RETAIN
bStart : BOOL;
TON_RET : TON_RET;
END_VAR

// Quando bStart=TRUE inicia contagem


TON_RET( IN := bStart,
PT := T#20S);

// Executa ações ao final da contagem


IF (TON_RET.Q = TRUE) THEN
bStart := FALSE;
END_IF

5.13.3.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 153 representa o bloco TP_RET e a Figura 154 mostra o comportamento gráfico do mesmo.

Figura 153: Bloco Funcional TP_RET

234
5. CONFIGURAÇÃO

Parâmetros de entrada Tipo Descrição


Essa variável, quando recebe uma borda de
IN BOOL subida, habilita a contagem do bloco funci-
onal.
Essa variável especifica o limite de conta-
PT TIME
gem do bloco funcional (tempo de atraso).

Tabela 189: Parâmetros de Entrada TP_RET

Parâmetros de saída Tipo Descrição


Essa variável é verdadeira durante a conta-
Q BOOL
gem. Caso contrário é falsa.
Essa variável exibe o valor atual do tempo
ET TIME
de atraso.

Tabela 190: Parâmetros de Saída TP_RET

Figura 154: Comportamento Gráfico do Bloco Funcional TP_RET

Exemplo de utilização em linguagem ST:

PROGRAM UserPrg
VAR RETAIN
bStart : BOOL;
TP_RET : TP_RET;
END_VAR

// Configura TP_RET
TP_RET( IN := bStart,
PT := T#20S);

bStart := FALSE;

// Ações durante a contagem


IF (TP_RET.Q = TRUE) THEN
// Executa enquanto o contador estiver ativado
ELSE
// Executa somente quando o contador estiver desativado
END_IF

235
6. MANUTENÇÃO

6. Manutenção
6.1. Diagnósticos
Os controladores Nexto Xpress permitem muitas formas de visualizar os diagnósticos gerados pelo sistema, que são:
Diagnósticos via LED
Diagnósticos via WEB
Diagnósticos via Variáveis
Diagnósticos via Blocos Funcionais
O primeiro é puramente visual, gerado através de dois LEDs colocados no painel frontal (PWR e DG). O próximo recurso
é a visualização gráfica em uma página da WEB. Os diagnósticos também são apresentados como variáveis simbólicas globais
a serem utilizadas na aplicação do usuário, por exemplo, sendo apresentadas em um sistema de supervisão. Os últimos
apresentam condições específicas do funcionamento do sistema.
Essa função de diagnóstico é apontar possíveis problemas de instalação ou configuração do sistema e problemas ou defici-
ências na rede de comunicação.

6.1.1. Diagnósticos via LED


Os controladores Nexto Xpress possuem um LED de energia (PWR) e um LED de indicação de diagnóstico (DG). A tabela
a seguir mostra o significado de cada estado e suas respectivas descrições:

PWR DG Descrição Causas Prioridade


Sem alimentação ou Pro-
Desligado Desligado Não utilizado -
blema de Hardware
Ligado Desligado Controlador está iniciando - -
UCP está em RUN e não há
Ligado Ligado - 5(baixa)
diagnósticos ativos
UCP está em STOP ou não
Ligado Piscando 1x - 2
há aplicação carregada
Ligado Piscando 2x Existem diagnósticos ativos - 3
Alguma área de memó-
ria está sendo forçada
Ligado Piscando 3x Forçamento de dados 4
pelo usuário através do
MasterTool IEC XE
Ligado Piscando 4x Erro de hardware Erro interno de hardware 1
A tensão da fonte de alimen-
Ligado Piscando 5x Falha de Energia tação externa é menor do 0 (alta)
que o threshold aceitável

Tabela 191: Descrição dos estados dos LEDs de diagnóstico

236
6. MANUTENÇÃO

6.1.2. Diagnósticos via WEB


Como já é conhecido na Série Nexto, o Nexto Xpress fornece acesso aos estados de operação através de uma página WEB.
A utilização, além de dinâmica, é muito intuitiva e facilita as operações do usuário. O uso de um sistema de supervisão
pode ser substituído quando estiver restrito à verificação do estado do sistema.
Para acessar a página WEB do controlador, basta usar um navegador padrão (Internet Explorer 7 ou superior, Mozilla
Firefox 3.0 ou superior e Google Chrome 8 ou superior) e digitar, na barra de endereço, o endereço IP do controlador (e.g. Ex.:
http://192.168.15.1). Primeiro, as informações do controlador são apresentadas, conforme a figura abaixo:

Figura 155: Tela Inicial

O usuário pode optar por visualizar em três diferentes opções de idioma: português, inglês e espanhol. O idioma desejado
é selecionado pelo menu superior direito. Além disso, a guia de gerenciamento possui outros recursos, como Atualização de
Firmware e SNMP.
A guia Atualização de Firmware é restrita ao usuário, ou seja, apenas para uso interno da Altus. Nos casos em que a
atualização é realizada remotamente (por meio de uma conexão de rádio ou satélite, por exemplo), a velocidade mínima do
link deve ser de 128 Kbps.

237
6. MANUTENÇÃO

6.1.3. Diagnósticos via Variáveis


Os controladores Nexto Xpress oferecem um conjunto de variáveis simbólicas globais, que fornecem diversas informações
de diagnóstico relacionadas ao hardware e ao software. Essas estruturas de dados simbólicas são criadas automaticamente pelo
MasterTool IEC XE.

6.1.3.1. Diagnósticos Resumidos

A tabela a seguir mostra o significado dos diagnósticos resumidos:

DG_XP3xx.tSummarized.* Tipo Descrição


TRUE – O controlador tem falha interna de hard-
bHardwareFailure BOOL
ware.
FALSE – O hardware está funcionando correta-
mente.
TRUE – Uma ou mais exceções geradas pelo soft-
bSoftwareException BOOL
ware.
FALSE – Nenhuma exceção gerada no software.
TRUE – Erro durante / após a configuração da in-
bCOM1ConfigError BOOL
terface serial COM 1.
FALSE – Correta configuração da interface serial
COM 1.
TRUE – Erro durante / após a configuração da in-
bNET1ConfigError BOOL
terface Ethernet da NET 1.
FALSE – Correta configuração da interface Ether-
net da NET 1.
bInvalidDateTime BOOL TRUE – Hora/Data inválida.
FALSE – Hora/Data correta.
TRUE – O RTS (Runtime System) foi reiniciado
bRuntimeReset BOOL pelo menos uma vez. Esse diagnóstico só é limpo
durante a reinicialização do sistema.
FALSE – O RTS (Runtime System) está operando
normalmente.
TRUE – Ocorreu um erro ao salvar os dados re-
bRetentivityError BOOL
tentivos.
FALSE – Dados válidos na memória retentiva du-
rante a inicialização.
TRUE - Existe algum diagnóstico nas E/S Integra-
bIntegratedIODiagnostic BOOL
das (ver detalhado)
FALSE – Sem diagnóstico nas E/S Integradas
TRUE - Existe algum diagnóstico na USB (ver de-
bUSBDiagnostic BOOL
talhado)
FALSE – Sem diagnóstico na USB

Tabela 192: Diagnósticos Resumidos

Notas:
Falha de Hardware: Caso o diagnóstico de falha de hardware seja verdadeiro, o controlador deve ser enviado para a
Assistência Técnica da Altus, pois há problemas no RTC ou em outros recursos de hardware.
Exceção de Software: Caso o diagnóstico de exceção de software seja verdadeiro, o usuário deve verificar sua aplicaçãoo
para garantir que não está acessando a memória incorretamente. Se o problema persistir, o setor de Suporte Técnico da
Altus deve ser consultado. Os códigos de exceção do software são descritos a seguir na tabela de diagnósticos detalhados do
controlador.

238
6. MANUTENÇÃO

Erro de Retentividade: O CP grava dados na memória retentiva a cada 5 segundos em tempo de execução. Quando esse
bit for TRUE, a causa raiz mais provável é um erro de hardware na memória retentiva. Nesse caso, a UCP deve ser enviada à
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.

6.1.3.2. Diagnósticos Detalhados

As tabelas abaixo contêm os diagnósticos detalhados dos controladores Nexto Xpress. É importante ter em mente as
observações abaixo antes de consultá-las:
Visualização das Estruturas de Diagnóstico: As Estruturas de Diagnósticos adicionadas ao Projeto podem ser vistas no
item Gerenciador de bibliotecas da visualização em árvore do MasterTool IEC XE. Lá, é possível ver todos os tipos de
dados definidos na estrutura
Contadores: Todos os contadores de diagnósticos do controlador retornam a zero quando seu valor limite é excedido

DG_XP3xx.tDetailed.* Tipo Descrição


Modelo do controlador, ex: MO-
dwCPUModel ENUM (BYTE)
DEL_XP325.
Target.*
abyCPUVersion BYTE ARRAY(4) Versão de firmware.
abyBootloaderVersion BYTE ARRAY(4) Versão de bootloader.
O processador principal não consegue se
bRTCFailure BOOL
comunicar com o hardware RTC.
Hardware.*
O processador principal não consegue se
bIntegratedIoFailure BOOL comunicar com o hardware de E/S integra-
das.
wExceptionCode WORD Código de exceção gerado pelo RTS.
Exception.* Nível, em porcentagem (%), de carga no
byProcessorLoad BYTE
processador.
Quantidade de clientes conectados ao
WebVisualization.* byConnectedClients BYTE
WebVisualization.
Estado da Inicialização do controlador:
01: Hot start
byCPUInitStatus BYTE 02: Warm Start
03: Cold Start
RetainInfo.* Obs.: Essas variáveis são reinicializadas
em todas as energizações.
Contador de Inicializações a frio: Será in-
crementado somente quando o sistema ini-
wCPUColdStartCounter WORD cia com a condição bRetentivityError e não
devido ao comando de Reset a Frio do
MasterTool IEC XE (0 a 65535).
Contador de Inicializações a quente: Será
incrementado somente durante uma inici-
wCPUWarmStartCounter WORD alização normal e não devido ao comando
de Reset a Quente do MasterTool IEC XE
(0 a 65535).
Contador de reset efetuado pelo RTS (Run-
wRTSResetCounter WORD
time System) (0 a 65535).
Contador de gravações na memória reten-
wWritesCounter WORD
tiva.
Ultima Reinicialização ocorreu devido a
bBrownOutReset BOOL
uma falha na alimentação.
Reset.*
Ultima reinicialização ocorreu devido ao
bWatchdogReset BOOL
cão-de-guarda interno.

239
6. MANUTENÇÃO

DG_XP3xx.tDetailed.* Tipo Descrição


Protocolo selecionado na COM 1:
NO_PROTOCOL (0): Sem protocolo
byProtocol ENUM (BYTE) MODBUS_RTU_MASTER (1): Mestre
RTU MODBUS
MODBUS_RTU_SLAVE (2): Escravo
RTU MODBUS
OTHER_PROTOCOL (3): Outro proto-
colo
Contador de caracteres recebidos na COM
Serial. dwRXBytes DWORD
1 (0 a 4294967295).
Contador de caracteres transmitidos pela
COM1.* dwTXBytes DWORD
COM 1 (0 a 4294967295).
Número de caracteres restantes no buffer
wRXPendingBytes WORD
de leitura na COM 1 (0 a 4095).
Número de caracteres restantes no buffer
wTXPendingBytes WORD
de transmissão na COM 1 (0 a 1023).
Esses contadores são reiniciados nas se-
wBreakErrorCounter WORD
guintes condições:
wParityErrorCounter WORD - Energização
wFrameErrorCounter WORD - Configuração da porta serial COM 1
wRXOverrunCounter WORD - Remoção de filas de RX e TX
Obs .: Quando o controlador está configu-
rado sem paridade, o contador de erros de
paridade não é incrementado caso receba
uma paridade diferente. Nesse caso, um
erro de quadro é indicado. O valor máximo
de cada contador é 65535.
O barramento tem um erro crítico e está
bBusAlarm BOOL
desligado.
Informa o estado do dispositivo:
UNKNOWN: impossível obter o estado da
rede.
byBusState ENUM (BYTE) ERR_FREE: nenhuma ocorrência de erros
de barramento CAN.
ACTIVE: somente alguns erros de barra-
mento CAN (abaixo do nível de aviso).
WARNING: Ocorrência de alguns erros
do barramento CAN (acima do nível de
aviso).
PASSIVE: muitos erros de barramento
CAN (acima do nível de erro).
BUSOFF: o nó está desligado (os erros ex-
cederam o máximo admissível).
Número de pacotes (Tx) alterados no bar-
CAN.* udiTxCounter UDINT
ramento CAN do CP.
Número de pacotes (Rx) alterados no bar-
udiRxCounter UDINT
ramento CAN do CP.
Número de pacotes (Tx) com erros no bar-
udiTxErrorCounter UDINT
ramento CAN do CP.
Número de pacotes (Rx) com erros no bar-
udiRxErrorCounter UDINT
ramento CAN do CP.

240
6. MANUTENÇÃO

DG_XP3xx.tDetailed.* Tipo Descrição


Número de pacotes perdidos no barra-
udiLostCounter UDINT
mento CAN do CP.
Tipo do dispositivo conectado à porta
byUSBDevice ENUM (BYTE) USB:
NO_DEVICE
UNKNOWN_DEVICE
MASS_STORAGE_DEVICE
SERIAL_CONVERTER_DEVICE
MODEM_DEVICE
WIFI_ADAPTER_DEVICE
O dispositivo conectado na porta USB está
bOvercurrent BOOL
drenando mais corrente do que o suportado
tMassStorage. Informa o estado do dispositivo:
byMountState ENUM (BYTE) MOUNTED
UNMOUNTED
tMassStorage. Informa o espaço livre no dispositivo de ar-
DWORD
dwFreeSpaceKb mazenamento em massa
tMassStorage. Informa o tamanho total do dispositivo de
DWORD
dwTotalSizeKb armazenamento em massa
tSerialConverter. ENUM (BYTE) Protocolo selecionado na COM 10:
byProtocol NO_PROTOCOL (0): Sem protocolo
tSerialConverter. Contador de caracteres recebidos na COM
USB.* DWORD
dwRXBytes 10 (0 a 4294967295).
tSerialConverter. Contador de caracteres transmitidos pela
DWORD
dwTXBytes COM 10 (0 a 4294967295).
tSerialConverter. Número de caracteres restantes no buffer
WORD
wRXPendingBytes de leitura na COM 10 (0 a 4095).
tSerialConverter. Número de caracteres restantes no buffer
WORD
wTXPendingBytes de transmissão na COM 10 (0 a 1023).
tSerialConverter. Esses contadores são reiniciados nas se-
WORD
wBreakErrorCounter guintes condições:
tSerialConverter.
WORD - Energização
wParityErrorCounter
tSerialConverter.
WORD - Configuração da porta serial COM 10
wFrameErrorCounter
tSerialConverter.
WORD - Remoção de filas de RX e TX
wRXOverrunCounter
Obs .: Quando o controlador está configu-
rado sem paridade, o contador de erros de
paridade não é incrementado caso receba
uma paridade diferente. Nesse caso, um
erro de quadro é indicado. O valor máximo
de cada contador é 65535.
tModem. Indica que o modem foi configurado na pá-
BOOL
bConfigured gina da Web.
tModem. ENUM (BYTE) Estado da conexão do modem:
DISCONNECTED (1): o modem não está
byConnectionState
conectado ou configurado.
CONNECTING (2): dispositivo configu-
rado, tentando se conectar à Internet.

241
6. MANUTENÇÃO

DG_XP3xx.tDetailed.* Tipo Descrição


FAILED_RETRYING (3): conexão fa-
lhou, o modem tentará se conectar nova-
mente.
CONNECTED (4): modem conectado e
ativo, o IP está disponível no diagnóstico
szIP.
tModem. String com endereço IP usado pelo mo-
STRING
szIP dem.
tWifiAdapter. Indica que o adaptador WiFi foi configu-
BOOL
bConfigured rado na página da Web.
tWifiAdapter. ENUM (BYTE) Estado da conexão do adaptador WiFi:
DISCONNECTED (1): adaptador WiFi
byConnectionState
não está conectado ou configurado.
CONNECTING (2): dispositivo configu-
rado, tentando se conectar à rede WiFi.
FAILED_RETRYING (3): conexão fa-
lhou, o adaptador WiFi tentará se conectar
novamente. Isso pode ocorrer devido a se-
nha incorreta ou a rede não está disponível.
CONNECTED (4): adaptador WiFi conec-
tado à rede.
tWifiAdapter.
STRING String com endereço IP usado pelo WiFi.
szIP
tWifiAdapter.
STRING String com a máscara usada pelo WiFi.
szMask
tWifiAdapter.
STRING String com o Gateway usado pelo WiFi.
szGateway
tWifiAdapter. String com o endereço MAC do adaptador
STRING
szMAC WiFi. (exclusivo para o dispositivo).
bLinkDown BOOL Indica o estado do link na interface.
Protocolo selecionado na NET 1:
wProtocol WORD
00: Sem protocolo
wProtocol.
bMODBUS_RTU_ BOOL Cliente MODBUS RTU via TCP.
ETH_Client
wProtocol.
bMODBUS_ETH_ BOOL Cliente TCP MODBUS.
Client
wProtocol.
bMODBUS_RTU_ BOOL Servidor MODBUS RTU via TCP.
ETH_Server
wProtocol.
bMODBUS_ETH_ BOOL Servidor TCP MODBUS.
Server
Ethernet. szIP STRING(15) Endereço IP da porta.
NET1.* szMask STRING(15) Máscara de sub-rede da porta
szGateway STRING(15) Endereço do Gateway da Porta
szMAC STRING(15) Endereço MAC da porta
abyIP BYTE ARRAY(4) Endereço IP da porta
abyMask BYTE ARRAY(4) Máscara de sub-rede da porta
abyGateway BYTE ARRAY(4) Endereço do Gateway da Porta

242
6. MANUTENÇÃO

DG_XP3xx.tDetailed.* Tipo Descrição


abyMAC BYTE ARRAY(6) Endereço MAC da porta
Contador de pacotes enviados pela inter-
dwPacketsSent DWORD
face (0 a 4294967295).
Contador de pacotes recebidos através da
dwPacketsReceived DWORD
interface (0 a 4294967295).
Contador de bytes enviados pela interface
dwBytesSent DWORD
(0 a 4294967295).
Contador de bytes recebidos pela porta (0
dwBytesReceived DWORD
a 4294967295).
Contador de perdas de conexão na
dwTXDropErrors DWORD transmissão através da interface (0 a
4294967295).
Contador de erros de colisão na transmis-
dwTXCollisionErrors DWORD
são através da interface (0 a 4294967295).
Contador de perdas de conexão na recep-
dwRXDropErrors DWORD
ção através da interface (0 a 4294967295).
Contador de erros de quadro na recepção
dwRXFrameErrors DWORD
através da interface (0 a 4294967295).
Indica se a memória usada para gravar os
byMounted BYTE
arquivos do usuário pode receber dados.
UserFiles.*
Espaço de memória livre para arquivos do
dwFreeSpacekB DWORD
usuário (Kbytes).
Capacidade de armazenamento da memó-
dwTotalSizekB DWORD
ria de arquivos do usuário (Kbytes).
Estado da memória em que os logs do
byMounted BYTE
usuário são inseridos.
UserLogs.*
Espaço de memória livre de logs do usuá-
wFreeSpacekB WORD
rio (Kbytes)
Capacidade de armazenamento da memó-
wTotalSizekB WORD
ria dos logs do usuário (Kbytes).
Informa o estado de operação da UCP do
byCPUState ENUM (BYTE)
Application.* controlador.
Alguma área de memória está sendo for-
bForcedIOs BOOL
çada pelo usuário através do MasterTool.
CRC de 32 bits de aplicação. Quando a
Application
dwApplicationCRC DWORD aplicação é modificada e enviada ao con-
Info.*
trolador, um novo CRC é gerado.
bServiceEnabled BOOL Serviço SNTP ativado.
Indica qual servidor está ativo:
NO_TIME_SERVER (0): Nenhum servi-
byActiveTimeServer ENUM (BYTE)
dor ativo.
PRIMARY_TIME_SERVER (1): servidor
principal ativo.
SECONDARY_TIME_SERVER (2): Ser-
vidor secundário ativo.
Contador de vezes em que o servidor prin-
wPrimaryServerDownCount WORD
cipal está indisponível (0 a 65535).
Contador de vezes em que o servidor se-
wSecondaryServerDownCount WORD
cundário está indisponível (0 a 65535).
Contador de vezes que o RTC foi atuali-
SNTP.* dwRTCTimeUpdatedCount DWORD
zado pelo serviço SNTP (0 a 4294967295).
Última atualização:
byLastUpdateSuccessful ENUM (BYTE)
243
6. MANUTENÇÃO

DG_XP3xx.tDetailed.* Tipo Descrição


NOT_UPDATED (0): não atualizado.
UPDATE_FAILED (1): falha.
UPDATE_SUCCESSFUL (2): bem suce-
dido.
Servidor usado na última atualização:
NO_TIME_SERVER (0): Nenhuma atua-
byLastUpdateTimeServer ENUM (BYTE)
lização.
PRIMARY_TIME_SERVER (1): servidor
principal.
SECONDARY_TIME_SERVER (2): ser-
vidor secundário.
EXTENDED_DATE
sLastUpdateTime
_AND_TIME
sLastUpdateTime.
BYTE
byDayOfMonth
sLastUpdateTime.
BYTE
byMonth
sLastUpdateTime. Data e hora da última hora de sincroniza-
WORD
wYear ção via SNTP.
sLastUpdateTime.
BYTE
byHours
sLastUpdateTime.
BYTE
byMinutes
sLastUpdateTime.
BYTE
bySeconds
sLastUpdateTime.
WORD
byMilliseconds
AnalogInputs.
O canal de entrada não está habilitado na
tAnalogInput_xx. BOOL
configuração.
bInputNotEnable
AnalogInputs. O nível do sinal de entrada está acima do
tAnalogInput_xx. BOOL valor máximo definido para o tipo de en-
IntegratedIO.* bOverRange trada selecionado.
AnalogInputs.
O nível do sinal de entrada está abaixo do
tAnalogInput_xx. BOOL
mínimo (somente para o modo 4-20mA).
bOpenLoop
AnalogOutputs.
O canal de saída não está habilitado na con-
tAnalogOutput_xx. BOOL
figuração.
bOutputNotEnable
AnalogOutputs. A impedância da carga conectada ao canal
tAnalogOutput_xx. BOOL de saída está acima do máximo aceito (so-
bOpenLoop mente para o modo de saída de corrente).
AnalogOutputs. A impedância da carga conectada ao canal
tAnalogOutput_xx. BOOL de saída está abaixo do mínimo aceito (so-
bShortCircuit mente para o modo de saída de tensão).
RTDInputs.
O canal de entrada não está habilitado na
tRtdInput_xx. BOOL
configuração.
bInputNotEnable
RTDInputs.
A resistência está acima do valor máximo
tRtdInput_xx. BOOL
definido para o tipo selecionado.
bOverRange

244
6. MANUTENÇÃO

DG_XP3xx.tDetailed.* Tipo Descrição


RTDInputs. A resistência está abaixo do valor mínimo
tRtdInput_xx. BOOL definido para o tipo selecionado (somente
bUnderRange para sensores de temperatura).

Tabela 193: Descrição dos Diagnósticos Detalhados

Notas:
Códigos de Exceção: Os códigos de exceção gerados pelo RTS (Runtime System) são apresentados abaixo:

Código Descrição Código Descrição


0x0000 Não há código de exceção. 0x0051 Violação de acesso.
Tempo de cão de guarda da tarefa
0x0010 IEC expirado (Watchdog de Soft- 0x0052 Instrução privilegiada.
ware).
0x0012 Erro de configuração de E / S. 0x0053 Falha na página.
Erros de check-up após o download
0x0013 0x0054 Estouro de pilha.
do programa.
0x0014 Erro de rede de campo. 0x0055 Disposição inválida.
0x0015 Erro de atualização de E / S. 0x0056 Manobra inválida.
Tempo de ciclo (execução) exce-
0x0016 0x0057 Página protegida.
dido.
Atualização on-line do programa
0x0017 0x0058 Falha dupla.
por muito tempo.
Referências externas não resolvi-
0x0018 0x0059 OpCode inválido.
das.
0x0019 Download rejeitado. 0x0100 Desalinhamento do tipo de dado.
Projeto descarregado, pois as variá-
0x001A veis retentivas não podem ser realo- 0x0101 Limite de arrays excedido.
cadas.
0x001B Projeto descarregado e excluído. 0x0102 Divisão por zero.
0x001C Fora da pilha de memória. 0x0103 Estouro.
Memória retentiva corrompida; não
0x001D 0x0104 Não continuável.
pode ser mapeada.
Cão-de-guarda na carga do proces-
O projeto pode ser carregado, mas
0x001E 0x0105 sador de todas as tarefas IEC detec-
causa uma ruptura mais tarde.
tadas.
O objetivo da aplicação de inicia-
0x0021 lização não corresponde ao destino 0x0150 FPU: Erro não especificado.
atual.
Erro de tarefas agendadas... Fa-
lha na configuração da tarefa IEC.
0x0022 0x0151 FPU: Operando não normal.
Aplicação trabalhando com o alvo
errado. Instrução ilegal.
0x0152 FPU: Divisão por zero.
Erro de check-up do arquivo bai-
0x0023 0x0153 FPU: Resultado inexato.
xado.
Incompatibilidade entre a identi-
dade retentiva e a identidade atual
0x0024 0x0154 FPU: Operação inválida.
do programa de projeto de iniciali-
zação

245
6. MANUTENÇÃO

Código Descrição Código Descrição


Falha na configuração da tarefa
0x0025 0x0155 FPU: Estouro.
IEC.
A aplicação está sendo executada
0x0026 0x0156 FPU: Verificação da pilha.
com o alvo errado.
0x0050 Instrução ilegal. 0x0157 FPU: Underflow.

Tabela 194: Códigos de Exceção RTS

Reset por Brownout: O diagnóstico de reset de queda de energia (brownout) só é verdadeiro quando a fonte de alimen-
tação excede o limite mínimo requerido em suas características técnicas, permanecendo em baixa tensão, sem sofrer qualquer
interrupção. O controlador identifica a quebra de tensão e indica o diagnóstico de falha da fonte de alimentação. Quando a
tensão é restabelecida, o controlador é reiniciado automaticamente e indica o diagnóstico de reinicialização.
Contador de Erro de Paridade: Quando a serial COM 1 é configurada sem paridade, esse contador de erros não será
incrementado quando receber uma mensagem com uma paridade diferente. Neste caso, um erro de frame será indicado.
Partição do Usuário: A partição do usuário é uma área de memória reservada para o armazenamento de dados na UCP.
Por exemplo: arquivos com extensão PDF, arquivos com extensão DOC e outros dados.
Entradas RTD: A tabela abaixo descreve o comportamento dos diagnósticos acima e abaixo da faixa de acordo com o
tipo de entrada selecionado:

Sensores de Platina Sensores de Platina


Escala 0 a 400 Ω Escala 0 a 4000 Ω tipo (Pt) α = tipo (Pt) α =
Diagnósticos
0.00385 0.003916
Resist. Cont. Resist. Cont. Temp. Cont. Temp. Cont.
>420 Ω 4200 >4200 Ω >4200
Over range (420 a (4200 a (4200 a (4200 a >850 8500 >630 ◦ C 6300

404,1 Ω) 4041) 4041 Ω) 4041) C
-200 a 850 -2000 a -200 a 630 -2000 a
No diagnostics 0 a 404 Ω 0 a 4040 0 a 4040 Ω 0 a 4040 ◦
C 8500 ◦
C 6300
Under range - - - - <-200 ◦ C -2000 <-200 ◦ C -2000

Tabela 195: Diagnósticos de Entrada RTD

6.1.4. Diagnósticos via Blocos Funcionais


Os blocos funcionais proporcionam a visualização de alguns parâmetros que não podem ser acessados de outra maneira. A
função sobre diagnósticos avançados está localizada na biblioteca NextoStandard e está descrita abaixo.

6.1.4.1. GetTaskInfo

Essa função retorna informações sobre uma tarefa de uma determinada aplicação.

Figura 156: Função GetTaskInfo

Abaixo, são descritos os parâmetros que devem ser repassados à função para que ela retorne as informações da aplicação.

246
6. MANUTENÇÃO

Parâmetros de entrada Tipo Descrição


psAppName POINTER TO STRING Nome da aplicação.
psTaskName POINTER TO STRING Nome da tarefa.
POINTER TO stTas- Ponteiro para receber informações da ta-
pstTaskInfo
kInfo refa.

Tabela 196: Parâmetros de Entrada GetTaskInfo

Os dados que a função retorna, através do ponteiro informado nos parâmetros de entrada, são os descritos na tabela abaixo.

Parâmetros de saída Tipo Descrição


Tempo de ciclo (execução) da tarefa com 1
dwCurScanTime DWORD
µs de resolução.
Tempo mínimo de ciclo da tarefa com 1 µs
dwMinScanTime DWORD
de resolução.
Tempo máximo de ciclo da tarefa com 1 µs
dwMaxScanTime DWORD
de resolução.
Tempo médio de ciclo da tarefa com 1 µs
dwAvgScanTime DWORD
de resolução.
Tempo máximo de ciclo da tarefa antes de
dwLimitMaxScan DWORD
ocorrer o cão-de-guarda.
dwIECCycleCount DWORD Contador de ciclos IEC decorridos.

Tabela 197: Parâmetros de Saída GetTaskInfo

Possíveis ERRORCODE:
NoError: execução com sucesso;
TaskNotPresent: a tarefa desejada não existe.
Exemplo de utilização em Linguagem ST:
PROGRAM UserPrg
VAR
sAppName : STRING;
psAppName : POINTER TO STRING;
sTaskName : STRING;
psTaskName : POINTER TO STRING;
pstTaskInfo : POINTER TO stTaskInfo;
TaskInfo : stTaskInfo;
Info : ERRORCODE;
END_VAR
//ENTRADAS:
sAppName := 'Application'; //Variável recebe o nome da aplicação.
psAppName := ADR(sAppName); //Ponteiro com o nome da aplicação.
sTaskName := 'MainTask'; //Variável recebe o nome da tarefa.
psTaskName := ADR(sTaskName); //Ponteiro com o nome da tarefa.
pstTaskInfo := ADR(TaskInfo); //Ponteiro que irá receber as informações da
tarefa.
//FUNÇÃO:
//Chamada da função.
Info := GetTaskInfo (psAppName, psTaskName, pstTaskInfo);
//Variável Info recebe possíveis erros da função.

247
6. MANUTENÇÃO

6.2. Manutenção Preventiva


Deve ser verificado, a cada ano, se os cabos de interconexão estão conectados firmemente, sem acumulação de poeira,
principalmente os dispositivos de proteção
Em ambientes sujeitos a contaminação excessiva, o equipamento deve ser periodicamente limpo de poeira, detritos, etc.
Os diodos TVS usados para proteção contra transientes causados por descargas atmosféricas devem ser inspecionados
periodicamente, pois podem ser danificados ou destruídos caso a energia absorvida esteja acima do limite. Em muitos
casos, a falha pode não ser visual. Em aplicações críticas, é recomendável a substituição periódica dos diodos TVS,
mesmo que não mostrem sinais visuais de falha
Aperto e limpeza do bloco conector a cada seis meses

248

Você também pode gostar