Manual de Utilizacao Xp3xx (Controlador Compacto Com e S)
Manual de Utilizacao Xp3xx (Controlador Compacto Com e S)
Manual de Utilizacao Xp3xx (Controlador Compacto Com e S)
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
III
SUMÁRIO
IV
SUMÁRIO
V
SUMÁRIO
VI
SUMÁRIO
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.
1
1. INTRODUÇÃO
É 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
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
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.
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)
4
2. DESCRIÇÃO TÉCNICA
5
2. DESCRIÇÃO TÉCNICA
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
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 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.
7
2. DESCRIÇÃO TÉCNICA
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
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
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
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)
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
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
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
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
11
2. DESCRIÇÃO TÉCNICA
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
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
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
13
2. DESCRIÇÃO TÉCNICA
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
14
2. DESCRIÇÃO TÉCNICA
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)
15
2. DESCRIÇÃO TÉCNICA
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
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
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
17
2. DESCRIÇÃO TÉCNICA
A tabela abaixo apresenta o tempo necessário para a execução de diferentes instruções nas UCPs Nexto Xpress.
18
2. DESCRIÇÃO TÉCNICA
19
2. DESCRIÇÃO TÉCNICA
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
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
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.
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:
Finalmente, mova as duas travas para a posição fechada para travar o controlador no trilho DIN, conforme mostrado na
figura abaixo:
23
3. INSTALAÇÃO
24
3. INSTALAÇÃO
25
3. INSTALAÇÃO
Notas do Diagrama:
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.
Verifique a tabela de características técnicas da porta USB para obter a lista de dispositivos suportados.
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).
26
3. INSTALAÇÃO
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
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.
27
3. INSTALAÇÃO
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.
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.
29
4. PROGRAMAÇÃO INICIAL
SIGNIFICÂNCIA SOBREPOSIÇÃO
%QX0.7
%QX0.6
%QX0.5
%QX0.4 %QB %QB00
%QX0.3 00
%QX0.2
%QX0.1
%QX0.0 %QW %QW
%QX1.7 00 00
%QX1.6
%QX1.5
%QX1.4 %QB %QB01
%QX1.3 01
MSB %QX1.2
%QX1.1
⇑ %QX1.0 %QD %QW %QD
%QX2.7 00 01 00
LSB %QX2.6
%QX2.5
%QX2.4 %QB %QB02
%QX2.3 02
%QX2.2
%QX2.1
%QX2.0 %QW %QW %QD
%QX3.7 02 02 01
%QX3.6
%QX3.5
%QX3.4 %QB %QB03
%QX3.3 03
%QX3.2
%QX3.1
%QX3.0 %QL %QW %QD
%QX4.7 00 03 02
%QX4.6
%QX4.5
%QX4.4 %QB %QB04
%QX4.3 04
%QX4.2
%QX4.1
%QX4.0 %QW %QW %QD
%QX5.7 04 04 03
%QX5.6
%QX5.5
%QX5.4 %QB %QB05
%QX5.3 05
MSB %QX5.2
%QX5.1
⇑ %QX5.0 %QD %QW %QD
%QX6.7 04 05 04
LSB %QX6.6
%QX6.5
%QX6.4 %QB %QB06
%QX6.3 06
%QX6.2
%QX6.1
%QX6.0 %QW %QW
%QX7.7 06 06
%QX7.6
%QX7.5
%QX7.4 %QB %QB07
%QX7.3 07
%QX7.2
%QX7.1
%QX7.0
30
4. PROGRAMAÇÃO INICIAL
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.
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
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
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.
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.
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:
35
4. PROGRAMAÇÃO INICIAL
Caso não haja um gateway previamente configurado, o mesmo pode ser adicionado através do botão Acrescentar Gateway,
mantendo endereço IP padrão localhost para utilizar o gateway da estação ou alterando o endereço IP para utilizar o gateway
interno do dispositivo.
Em seguida, basta selecionar 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
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.
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.
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:
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
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.
Por fim, ao final deste processo o MasterTool IEC XE oferece a opção de realizar a transferência (download) do código
fonte para a memória interna do dispositivo, conforme mostra a figura a seguir:
A transferência do código fonte é fundamental para permitir a futura recuperação do projeto e a realização de modificações
sobre a aplicação que está carregada no dispositivo.
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.
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.
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.
Caso o controlador seja inicializado sem aplicação gravada, ele automaticamente entra em Modo Stop, assim como quando
ocorre uma exceção de software.
ATENÇÃO
41
4. PROGRAMAÇÃO INICIAL
ATENÇÃO
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.
42
4. PROGRAMAÇÃO INICIAL
Após, basta selecionar o controlador desejado e clicar em OK, conforme a Figura 29.
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.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.
44
4. PROGRAMAÇÃO INICIAL
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.
45
4. PROGRAMAÇÃO INICIAL
46
4. PROGRAMAÇÃO INICIAL
ATENÇÃO
A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online.
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.
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
A figura a seguir mostra um exemplo da apresentação desta GVL quando em modo Online.
49
4. PROGRAMAÇÃO INICIAL
50
4. PROGRAMAÇÃO INICIAL
Onde:
Nome do dispositivo: Nome que aparece na visualização em árvore para o dispositivo.
Número da Requisição: Número da requisição que foi declarada na tabela de requisições do dispositivo seguindo a
sequência de cima para baixo, começando em 0001.
Tipo da Variável: NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_RTU_MAPPING_1 para MODBUS Master e
NXMODBUS_DIAGNOSTIC_STRUCTS.
T_DIAG_MODBUS_ETH_MAPPING_1 para MODBUS Cliente.
ATENÇÃO
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
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.
53
5. CONFIGURAÇÃO
Notas:
Servidor SNTP: É possível definir um endereço preferencial e outro secundário para acessar um servidor SNTP e, assim,
obter sincronismo de tempo. 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
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
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
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.
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.
56
5. CONFIGURAÇÃO
A qualidade de um ponto interno é uma informação que indica o nível de confiança que se pode ter no valor que está
armazenado naquele ponto. A qualidade pode informar, por exemplo, que o valor armazenado está fora de escala, ou ainda
que seja válido, mas pouco confiável.
As normas 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.
Esta é a estrutura QUALITY, a tabela abaixo mostra detalhadamente cada um de seus componentes.
57
5. CONFIGURAÇÃO
58
5. CONFIGURAÇÃO
As tabelas abaixo apresentam respectivamente a conversão de pontos internos digitais, analógicos e contadores para IEC
60870-5-104 da Série Nexto disponíveis para o MT8500.
59
5. CONFIGURAÇÃO
Como a norma MODBUS não especifica tipos de qualidade para cada ponto, mas para auxílio no uso dos diagnósticos de
comunicação de cada ponto, o MasterTool, através de uma estrutura interna própria, permite o mapeamento de variáveis de
qualidade para cada ponto MODBUS. A tabela abaixo descreve os tipos de qualidade que cada ponto MODBUS pode assumir.
60
5. CONFIGURAÇÃO
61
5. CONFIGURAÇÃO
62
5. CONFIGURAÇÃO
63
5. CONFIGURAÇÃO
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
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
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:
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
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
Os contadores rápidos possuem vários modos de operação. A tabela a seguir descreve os detalhes de cada um desses
modos:
Quadratura 2X
Quadratura 4X
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:
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
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
71
5. CONFIGURAÇÃO
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:
72
5. CONFIGURAÇÃO
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.
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
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.
74
5. CONFIGURAÇÃO
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:
75
5. CONFIGURAÇÃO
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:
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:
76
5. CONFIGURAÇÃO
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.
77
5. CONFIGURAÇÃO
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.
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
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.
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
80
5. CONFIGURAÇÃO
Quando o comando Start for TRUE, os parâmetros de entrada serão verificados continuamente e as variáveis de estado
serão atualizadas de acordo.
Além das variáveis globais IntegratedIo, existe um bloco funcional na biblioteca LibIntegratedIo que permite instanciar
PTO em POUs escritas em linguagens gráficas (por exemplo, Diagrama Lógico Ladder). Esse bloco de funções é, na verdade,
um invólucro para as estruturas de variáveis descritas anteriormente. A figura abaixo mostra o bloco funcional instanciado em
um programa Ladder.
81
5. CONFIGURAÇÃO
82
5. CONFIGURAÇÃO
83
5. CONFIGURAÇÃO
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
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
85
5. CONFIGURAÇÃO
86
5. CONFIGURAÇÃO
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
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:
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 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:
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
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
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).
Controlador Fabricante
FT232 FTDI
PL2303 Prolific
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
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).
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
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:
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
ATENÇÃO
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
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
ATENÇÃO
97
5. CONFIGURAÇÃO
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
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
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.
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
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”.
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:
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.
Uma vez armazenado na fila da UCP, cada evento é transmitido para o consumidor que possuir este ponto de comunicação
na sua base de dados. Na figura acima, o Evento 0 é referente a um ponto de comunicação mapeado para 2 centros de controle
IEC 60870-5-104 (Cliente 1 e 2). Já o Evento 1 é referente a um ponto de comunicação mapeado apenas para um centro de
controle IEC 60870-5-104 (Cliente 2). Por sua vez, o Evento 2 é referente a um ponto de comunicação mapeado para um outro
centro de controle IEC 60870-5-104 (Cliente 3).
Os eventos permanecem armazenados na fila da UCP até que todos os seus consumidores confirmem a sua recepção.
O critério utilizado para confirmar a recepção é específico de cada consumidor. No caso do IEC 60870-5-104 Servidor, a
confirmação ocorre quando o evento foi transmitido para o cliente IEC 60870-5-104.
No caso da Série Nexto, não são disponibilizados diagnósticos para monitorar a ocupação da fila de eventos da UCP, nem
mesmo informações sobre estouro da fila. Já os consumidores disponibilizam um conjunto de diagnósticos referente a sua fila
de eventos. Maiores informações podem ser encontradas na seção específica do driver de comunicação.
A sinalização de estouro para a fila de eventos dos consumidores ocorre em duas situações:
Quando a fila de eventos do consumidor não tiver mais espaço para armazenar novos eventos
Se a UCP abortou a geração de eventos (porque ocorreram mais eventos em um único ciclo de execução do que o
tamanho total da sua fila de eventos)
5.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
103
5. CONFIGURAÇÃO
Notas:
bExec: quando FALSE, o comando apenas deixa de ser interceptado para a aplicação do usuário, mas o comando continua
sendo tratado normalmente pelo servidor.
bDone: após a interceptação do comando, o usuário será responsável por tratá-lo. Ao fim do tratamento, esta entrada deve
ser habilitada para que um novo comando possa ser recebido. Caso esta entrada não seja habilitada, o bloco aguardará o tempo
definido em dwTimeout, para então ficar apto a interceptar novos comandos.
eCommandResult: resultado do tratamento do comando interceptado pelo usuário. O resultado retornado ao cliente que
enviou o comando, o qual deve ser atribuído juntamente com a entrada bDone, é convertido para o formato do protocolo
do qual foi recebido o comando. Na série Nexto somente é suportada a interceptação de comandos oriundos do protocolo
IEC 60870-5-104. Na interceptação do protocolo IEC 60870-5-104, qualquer retorno diferente de SUCCESS resulta em uma
confirmação negativa no protocolo.
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.
Nota:
eStatus: retorno do processo de registro da interceptação de um comando para um ponto de comunicação. Quando a inter-
ceptação é registrada com sucesso é retornado OK_SUCCESS, caso contrário ERROR_FAILED. Em caso de falha no registro
do interceptador, comandos para o determinado ponto não são interceptados pelo respectivo bloco de função. TYPE_RESULT
está definido na biblioteca LibDataTypes.
Os comandos suportados são descritos na tabela abaixo:
Os parâmetros que compõem as estruturas sSelectParameters, sOperateParameters e sCancelParameters são descritos nas
tabelas a seguir:
105
5. CONFIGURAÇÃO
106
5. CONFIGURAÇÃO
Para efetuar a interceptação de comandos para um dado ponto, primeiramente deve-se carregar no parâmetro dwVaria-
bleAddr o endereço da variável correspondente ao ponto que busca-se interceptar comandos e então executar um pulso no
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.
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:
108
5. CONFIGURAÇÃO
Notas:
Atraso do envio: A resposta à uma requisição MODBUS pode causar problemas em certos momentos, como, por exemplo,
na interface RS-485 ou outra half-duplex. Às vezes existe um atraso entre o tempo de resposta do escravo e o silêncio na linha
física (atraso no escravo para colocar RTS em zero e colocar o transmissor RS-485 em alta impedância). Para resolver o
problema, o mestre pode esperar o tempo determinado nesse campo antes de enviar a nova requisição. Caso contrário, os
primeiros bytes transmitidos pelo mestre, durante a requisição, podem ser perdidos.
Interframe mínimo: A norma MODBUS define esse tempo como 3,5 caracteres, porém esse parâmetro é configurável
para atender aos dispositivos que não estão de acordo com o padrão.
Os diagnósticos e comandos do protocolo MODBUS Mestre configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_RTU_MASTER_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, os quais estão descritos na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
109
5. CONFIGURAÇÃO
110
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS RTU Mestre retornam à zero quando o valor limite
65535 é ultrapassado.
111
5. CONFIGURAÇÃO
A configuração dos dispositivos escravos, visualizada na figura abaixo, segue os seguintes parâmetros:
Notas:
Endereço do escravo: De acordo com a Norma MODBUS, a faixa de endereços válidos para escravos é de 0 a 247, sendo
os endereços 248 a 255 reservados. Quando o mestre envia um comando de escrita com o endereço configurado como zero,
ele está realizando requisições broadcast na rede.
Time-out de comunicação: O time-out da comunicação é o tempo que o mestre aguardará por uma resposta do escravo à
requisição. Para um dispositivo MODBUS RTU Mestre devem ser levadas em consideração ao menos as seguintes variáveis do
sistema: o tempo que o escravo leva para transmitir o frame (de acordo com a taxa de transmissão), o tempo que o escravo leva
para processar a requisição e o atraso de envio da resposta caso seja configurado no escravo. É recomendado que o time-out
seja igual ou maior que o tempo para transmitir o frame somado ao atraso de envio da resposta e a duas vezes o tempo de
processamento da requisição. Para mais informações, ver seção Desempenho de Comunicação.
Número máximo de retentativas: Define o número de retentativas antes de reportar um erro de comunicação. Por
exemplo, se o escravo não responder a um pedido e o mestre estiver configurado para enviar três retentativas, o número do
contador de erros será incrementado por 1 unidade ao final da execução destas três retentativas. Após o incremento do erro
o processo de tentativa de comunicação é reiniciado e caso o número de retentativas seja atingido novamente, novo erro será
incrementado no contador.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
112
5. CONFIGURAÇÃO
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.
A configuração das requisições MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
114
5. CONFIGURAÇÃO
Notas:
Configuração: O número de configurações, padrão de fábrica e os valores da coluna opções, podem variar de acordo com
o tipo de dado e função MODBUS (FC).
Código de Função: As funções MODBUS (FC) disponíveis são as seguintes:
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)
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
117
5. CONFIGURAÇÃO
Notas:
Códigos de exceção: Os códigos de exceção apresentados neste campo são os valores retornados pelo escravo. As defi-
nições dos códigos de exceção 128, 129 e 255, apresentadas nessa tabela, são válidas apenas na utilização de escravos Altus.
Para escravos de outros fabricantes esses códigos de exceção podem ter significados diferentes.
Variável de Desabilitação: Campo destinado a variável do tipo booleana utilizada para desabilitar, individualmente, as
requisições MODBUS configuradas na aba Requisições através do botão na parte inferior da janela. A requisição é desabilitada
quando a variável, correspondente a requisição, for igual a 1, caso contrário, a requisição está habilitada.
Último código de Erro: Os códigos das possíveis situações que ocasionam erro na comunicação MODBUS podem ser
consultados abaixo:
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.
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.
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.
120
5. CONFIGURAÇÃO
Notas:
Ciclo da Tarefa: O usuário deverá ter cuidado ao alterar esse parâmetro, pois o mesmo interfere diretamente no tempo
de resposta, volume de dados por varredura e, principalmente, no balanceamento dos recursos da UCP entre comunicações e
outras tarefas.
Atraso do Envio: A resposta à uma requisição MODBUS pode causar problemas em certos momentos, como, por exemplo,
na interface RS-485 ou outra half-duplex. Às vezes existe um atraso entre o tempo da requisição do mestre e o silêncio na
linha física (atraso no mestre para colocar RTS em zero e colocar o transmissor RS-485 em alta impedância). Para resolver o
problema, o escravo pode esperar o tempo determinado nesse campo antes de enviar a resposta. Caso contrário, os primeiros
bytes transmitidos pelo escravo, durante a resposta, podem ser perdidos.
Interframe Mínimo: A norma MODBUS define esse tempo como 3.5 caracteres, porém esse parâmetro é configurável
para atender aos dispositivos que não estão de acordo com o padrão.
Os diagnósticos e comandos do protocolo MODBUS Escravo configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_RTU_SLAVE_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, os quais estão descritos na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
121
5. CONFIGURAÇÃO
122
5. CONFIGURAÇÃO
123
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS RTU Escravo retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo de Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
124
5. CONFIGURAÇÃO
ATENÇÃO
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de de-
puração na MainTask, a tarefa de uma instância MODBUS RTU Escravo, e qualquer outra
tarefa MODBUS, irá parar de ser executada no momento em que tentar efetuar uma escrita
em uma área de memória. Isto ocorre para manter a consistência dos dados das áreas de
memória enquanto a MainTask não estiver em execução.
125
5. CONFIGURAÇÃO
A associação de variáveis MODBUS com variáveis simbólicas da UCP é realizada pelo usuário através da definição de
relações via configurador MasterTool IEC XE. Podem ser definidas até 32 relações para o modo servidor e até 128 relações
para o modo cliente. Uma relação, em modo servidor, pode definir uma grande área de dados MODBUS e torná-la disponível
para vários clientes. As relações em modo cliente, por outro lado, devem respeitar o tamanho máximo de dados de uma função
MODBUS: 125 registradores (input registers ou holding registers) ou 2000 bits (coils ou input status). Essas informações são
detalhadas na descrição de cada protocolo.
Todas as relações, em modo cliente ou servidor, podem ser desabilitadas através de variáveis de representação direta (%Q)
identificadas como Desabilitação dos Mapeamentos pelo MasterTool IEC XE. A desabilitação pode ocorrer através de bits
gerais, os quais afetam todas as relações de um modo de operação, ou através de bits específicos, afetando relações específicas.
Para as relações em modo servidor, podem ser definidos conjuntos de endereços IPs com permissão de escrita e leitura,
chamados de filtros. Isto é feito através da definição de um endereço de rede IP e de uma máscara de subrede, resultando em
um grupo de IPs clientes que podem escrever e ler nas variáveis da relação. Funções de leitura/escrita são filtradas da mesma
forma que as funções exclusivas de leitura ou escrita. Essas informações são detalhadas na descrição do protocolo MODBUS
Ethernet Servidor.
Quando o protocolo MODBUS TCP é utilizado no modo cliente, pode-se usufruir da característica de múltiplas requisições,
utilizando a mesma conexão TCP para acelerar a comunicação com os servidores. Quando esta característica não for desejada
ou não for suportada pelo servidor, ela pode ser desabilitada (ação em nível de relação). É importante destacar que o número
máximo de conexões TCP entre cliente e servidor é 63, sendo que se alguns parâmetros forem alterados, comunicações inativas
podem ser fechadas, possibilitando a abertura de novas conexões.
As tabelas abaixo trazem, respectivamente, a lista completa dos tipos de dados e funções MODBUS suportadas pelas UCPs
Nexto.
126
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)
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.
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:
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):
128
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS TCP Cliente retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos dispositivos escravos, visualizada na figura abaixo, segue os seguintes parâmetros:
129
5. CONFIGURAÇÃO
Notas:
Endereço IP: Endereço IP do dispositivo servidor MODBUS.
Porta TCP: Caso sejam adicionadas várias instâncias do protocolo em uma única interface Ethernet, diferentes portas TCP
devem ser selecionadas para cada instância. Algumas portas TCP, entre as possibilidades mencionadas acima, são reservadas
e, portanto, não podem ser utilizadas. 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.
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.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
131
5. CONFIGURAÇÃO
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo de Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
A configuração das requisições MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
132
5. CONFIGURAÇÃO
133
5. CONFIGURAÇÃO
Notas:
Configuração: O número de configurações, padrão de fábrica e os valores da coluna opções, podem variar de acordo com
o tipo de dado e função MODBUS (FC).
Código de Função: As funções MODBUS (FC) disponíveis são as seguintes:
Código
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)
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
135
5. CONFIGURAÇÃO
Notas:
Códigos de exceção: Os códigos de exceção apresentados neste campo são os valores retornados pelo servidor. As
definições dos códigos de exceção 128, 129 e 255, apresentadas nessa tabela, são válidas apenas na utilização de escravos
Altus. Para escravos de outros fabricantes esses códigos de exceção podem ter significados diferentes.
Variável de Desabilitação: Campo destinado à variável do tipo booleana utilizada para desabilitar, individualmente, as
requisições MODBUS configuradas na aba Requisições através do botão na parte inferior da janela. A requisição é desabilitada
quando a variável, correspondente a requisição, for igual a 1, caso contrário, a requisição está habilitada.
Último código de Erro: Os códigos das possíveis situações que ocasionam erro na comunicação MODBUS podem ser
consultados abaixo:
136
5. CONFIGURAÇÃO
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.
Para disparar relações MODBUS Cliente de forma acíclica, sugere-se o seguinte método, que pode ser implementado de
maneira simples no programa da aplicação do usuário:
Definir tempo máximo de polling para as relações;
Manter a relação normalmente desabilitada;
Habilitar a relação no momento em que se deseja executá-la;
Esperar pela confirmação de término da execução da relação, e neste momento desabilitá-la novamente.
Para configurar este protocolo usando Mapeamento Simbólico, é necessário executar os seguintes passos:
Configurar os parâmetros gerais do protocolo MODBUS servidor, como: porta TCP, seleção de protocolo, filtros de IP
para Escrita e para Leitura (disponível no botão de configuração de filtros) e tempos de comunicação (disponível no
botão de configurações avançadas do Servidor).
Adicionar e configurar os mapeamentos MODBUS, especificando o nome da variável, tipo de dados, endereço inicial
do dado e tamanho do dado.
As descrições de cada configuração estão relacionadas a seguir, neste capítulo.
5.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
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:
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
Notas:
Ciclo da Tarefa: O usuário deverá ter cuidado ao alterar esse parâmetro, pois o mesmo interfere diretamente no tempo
de resposta, volume de dados por varredura e, principalmente, no balanceamento dos recursos da UCP entre comunicações e
outras tarefas.
Time-out da Inatividade da Conexão: Esse parâmetro foi criado para evitar que a quantidade máxima de conexões TCP
seja atingida, imaginando que conexões inativas permanecessem abertas pelos mais diversos problemas. Enfim, indica por
quanto tempo uma conexão (cliente ou servidora) pode permanecer aberta sem ser utilizada, ou seja, sem trocar mensagens de
comunicação. Se o tempo especificado for atingido, a conexão simplesmente é fechada, liberando uma entrada na tabela de
conexões.
Os diagnósticos e comandos do protocolo MODBUS Servidor configurado, seja por mapeamento simbólico ou por repre-
sentação direta, são armazenados em variáveis do tipo T_DIAG_MODBUS_ETH_SERVER_1 e ainda para o mapeamento por
representação direta estão em 4 bytes e 8 words, as quais estão descritas na tabela abaixo (n é o valor configurado no campo
Endereço Inicial de Diagnósticos em %Q):
139
5. CONFIGURAÇÃO
140
5. CONFIGURAÇÃO
Nota:
Contadores: Todos os contadores dos diagnósticos do MODBUS Ethernet Servidor retornam à zero quando o valor limite
65535 é ultrapassado.
A configuração dos mapeamentos MODBUS, visualizada na figura abaixo, segue os parâmetros descritos na tabela abaixo:
141
5. CONFIGURAÇÃO
Notas:
Variável de Valor: Esse campo é utilizado para especificar uma variável simbólica na relação MODBUS.
Tipo do Dado: Esse campo é utilizado para especificar o tipo de dado utilizado na relação MODBUS.
Endereço Inicial do Dado: Endereço inicial do dado de um mapeamento MODBUS.
Endereço Inicial Absoluto do Dado: Endereço inicial absoluto dos dados MODBUS conforme o seu tipo. Por exemplo,
o Holding Register com endereço 5 possui endereço absoluto 400005. Este campo é apenas de leitura e está disponível para
auxiliar na configuração do Cliente/Mestre MODBUS que irá comunicar-se com este dispositivo. Os valores dependem do
endereço base (offset) de cada tipo de dado MODBUS e do endereço permitido para cada tipo de dado.
Tamanho do Dado: O valor de Tamanho do Dado especifica a quantidade máxima de dados que uma relação MODBUS
poderá acessar, a partir do endereço inicial. Sendo assim, para ler uma faixa de endereços contínua, é necessário que todos os
endereços estejam declarados em uma única relação. Este campo varia de acordo com o tipo de dado MODBUS configurado.
Faixa de Dados: É um campo somente de leitura e informa a faixa de endereços que está sendo usada por esse mapeamento.
Ele é formado pela soma dos campos Endereço Inicial e Tamanho do Dado. Não podem haver sobreposições de faixa com
outros mapeamentos do mesmo Tipo de Dado.
ATENÇÃO
Diferentemente de outras tarefas de uma aplicação, quando for atingida uma marca de 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.
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).
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.
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
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.
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.
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.
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
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
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
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.
148
5. CONFIGURAÇÃO
Quando um novo CP precisar ser configurado no Servidor OPC DA basta pressionar o botão Novo Dispositivo que a confi-
guração será criada. Sempre que a tela de configuração for acessada será exibida uma lista com todos os CPs já configurados no
Servidor OPC DA. As configurações existentes podem ser editadas selecionando o CP na lista Dispositivos e editando os pa-
râmetros. As configurações de CPs que não são mais utilizadas podem ser excluídas. O número máximo de CPs configurados
em um Servidor OPC DA é 16.
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
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.
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.
150
5. CONFIGURAÇÃO
A variável _CommStateOK é uma variável do tipo BOOL que indica se a comunicação está funcionando entre o Servidor
OPC DA e o CP. Quando o valor é TRUE, indica que a comunicação está funcionando corretamente. Se o valor for FALSE
não é possível comunicar por alguma razão com o CP.
Além de monitorar o estado da comunicação, o Cliente OPC DA pode acessar informações da qualidade de comunicação.
Os bits de qualidade formam um byte. Eles estão divididos em três grupos de bits: Qualidade, Substatus e Limite. Os bits
estão distribuídos da seguinte forma QQSSSSLL, onde QQ representa os bits de Qualidade, SSSS os bits de Substatus e LL os
bits de Limite. Neste caso os bits QQ são os mais significativos no byte, enquanto os bits LL são os menos significativos.
A Tabela 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.
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
ATENÇÃO
A comunicação entre o Servidor OPC DA e o CP utiliza o mesmo protocolo utilizado para comunicação do MasterTool
IEC XE com o CP. Este protocolo só está disponível para as interfaces Ethernet das UCPs da Série Nexto, não sendo possível
estabelecer este tipo de comunicação com módulos de expansão Ethernet.
Quando uma comunicação é estabelecida entre o Servidor OPC DA e o CP estes dois elementos iniciam uma série de
transações que visam resolver o endereço de cada variável declarada, otimizando a comunicação em regime de leitura de
dados. Além disso, nesta fase também são resolvidas as classificações dos grupos de comunicação usados por alguns Clientes
com o intuito de otimizar a comunicação. Este processo inicial demanda algum tempo e depende da quantidade de variáveis
mapeadas.
O tempo aproximado desta fase inicial com 5.000 variáveis é de aproximadamente 2 min. Nos casos em que mais variáveis
são utilizadas este tempo pode ser de até 4 min, dependendo do tipo de dado e das configurações da rede.
Após a configuração do Servidor OPC DA os dados disponíveis em todos os CPs podem ser acessados via um Cliente OPC
DA. Na configuração do Cliente OPC DA deve ser selecionado o nome do Servidor OPC DA correto. Neste caso o nome é
CoDeSys.OPC.DA. A figura abaixo exibe a seleção do servidor no driver cliente do software SCADA BluePlant.
ATENÇÃO
Da mesma forma que o MasterTool IEC XE algumas ferramentas precisam ser 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
Nos casos em que o servidor se encontra remotamente pode ser necessário adicionar o caminho da rede ou o endereço
de IP do computador onde se encontra o servidor instalado. Nestes casos existem duas opções de configuração. A primeira
delas é configurar diretamente para isso sendo necessário liberar os Serviços de COM/DCOM do Windows. Contudo, uma
forma mais simples é utilizar uma ferramenta de tunneller que abstrai as configurações de COM/DCOM, além de possibilitar
uma comunicação mais segura entre o Cliente e o Servidor. Para mais informações sobre este tipo de ferramenta consultar a
NAP151 - Utilização do Tunneller OPC.
Uma vez que o Cliente se conecta no Servidor podem ser usados comandos de importação de TAGs. Estes comandos
consultam informações declaradas no CP, retornando uma lista com todos os símbolos disponibilizados por este.
A lista de variáveis selecionadas será incluída na lista de comunicações do Cliente e podem ser utilizadas, por exemplo,
em telas de um sistema SCADA.
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.
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.
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
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.
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
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.
O número máximo de variáveis configuradas no CP para comunicação via OPC UA é 20000. Porém, ao configurar as
variáveis a serem disponibilizadas no Servidor OPC UA, a quantidade de variáveis declarada em cada POU ou GVL não deve
ultrapassar o limite de 5000, sendo necessário no mínimo quatro POUs ou GVLs caso deseje-se utilizar as 20000 variáveis.
Deve-se considerar as seguintes observações sobre a contagem de variáveis:
Cada variável simples conta como uma variável;
Cada campo de uma estrutura conta como uma variável;
Cada posição de um array conta como uma variável, exceto no caso de arrays de estruturas, onde cada posição conta
como o número de campos da estrutura.
Quando uma comunicação é estabelecida entre o Servidor OPC UA e o CP, estes dois elementos iniciam uma série de
transações que visam resolver o endereço de cada variável declarada, otimizando a comunicação em regime de leitura de
dados. Além disso, nesta fase também são resolvidas as classificações dos grupos de comunicação usados por alguns Clientes
com o intuito de otimizar a comunicação. Este processo inicial demanda algum tempo e depende da quantidade de variáveis
mapeadas.
Se desejado, o usuário pode configurar criptografia para a comunicação OPC UA usando o perfil Basic256SHA256, para
obter uma conexão segura (segurança cibernética).
Para configurar a criptografia num servidor OPC UA deve-se criar um certificado para o mesmo, executando os seguintes
passos no programador Mastertool:
1. Definir um caminho ativo para comunicação com o controlador (não é necessário fazer login);
2. No menu Visualizar, selecionar Tela de Segurança;
3. Clicar na aba Devices no lado esquerdo desta tela;
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);
10. De volta ao Mastertool, clique no ícone da Tela de Segurança para executar um refresh;
11. Na Tela de Segurança, selecione a pasta "Quarantined Certificates"abaixo do Device. No painel direito deve-se observar
um certificado solicitado pelo cliente OPC UA;
12. Arraste este certificado para a pasta "Trusted Certificates";
13. Prossiga as configurações no cliente OPC UA (ver manual do cliente OPC UA específico para detalhes).
Para remover a criptografia previamente configurada num controlador, deve-se seguir o seguinte procedimento:
1. Definir um caminho ativo para comunicação com o controlador (não é necessário fazer login);
2. No menu Visualizar, selecionar Tela de Segurança;
3. Clicar na aba Devices no lado esquerdo desta tela;
Alguns parâmetros de comunicação OPC UA são configurados no cliente OPC UA, e negociados com o servidor OPC UA
no momento em que a conexão entre ambos é estabelecida. As próximas subseções descrevem os principais parâmetros de
comunicação OPC UA, seu significado, e cuidados para selecionar valores adequados para os mesmos.
Num cliente OPC UA é possível agrupar as variáveis de um servidor em diferentes subscriptions. Cada subscription é
um conjunto de variáveis que são reportadas num único pacote de comunicação (PublishResponse) enviado do servidor para o
cliente. A seleção das variáveis que comporão cada subscription é feita no cliente OPC UA.
ATENÇÃO
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.
158
5. CONFIGURAÇÃO
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.
Estes parâmetros devem ser mantidos com os seguintes valores fixos, que normalmente são os valores padrão nos clientes:
Queue Size: 1
Discard Oldest: enable
De acordo com a norma OPC UA, é possível definir estes parâmetros para cada variável. No entanto, muitos clientes
permitem definir valores comuns para todas as variáveis configuradas numa subscription.
Queue Size deve ser mantido com o valor 1 pois não existe suporte a eventos nesta implementação do servidor OPC UA, e
portanto é desnecessário definir uma fila. Aumentar o valor de Queue Size pode implicar em aumento na banda de comunicação
e processamento da CPU, e isso deve ser evitado.
Discard Oldest deve ser mantido com o valor enable, para que o pacote PublishResponse sempre reporte a mudança de
valor mais recente detectada para cada variável.
Estes parâmetros devem ser mantidos com os seguintes valores fixos, que normalmente são os valores padrão nos clientes:
Filter Type: DataChangeFilter
Deadband Type: none
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.
Sugere-se que os seguintes parâmetros sejam mantidos com os seguintes valores, que normalmente são os valores padrão
nos clientes:
PublishingEnabled: true
MaxNotificationsPerPublish: 0
Priority: 0
Estes parâmetros devem ser configurados para cada subscription.
PublishingEnable deve valer “true” para que as variáveis da subscription sejam reportadas em caso de mudança de valor.
MaxNotificationsPerPublish indica quantas das variáveis que mudaram de valor podem ser incluídas num mesmo pacote
PublishResponse. O valor especial “0” indica que não existe um limite para isso, e recomenda-se utilizar este valor para que
todas as variáveis que mudaram sejam reportadas num mesmo pacote PublishResponse.
Priority indica a prioridade relativa desta subscription em relação a outras. Caso em determinado momento o servidor
deva enviar múltiplos pacotes PublishResponse de subscriptions diferentes, priorizará aquele com o maior valor de priority. Se
todas as subscriptions tiverem a mesma prioridade, os pacotes PublishResponse serão transmitidos numa sequência fixa.
Após a configuração do Servidor OPC UA os dados disponíveis em todos os CPs podem ser acessados via um Cliente
OPC UA. Na configuração do Cliente OPC UA deve ser selecionado o endereço do Servidor OPC UA correto. Neste caso o
endereço opc.tcp://endereço-ip-do-dispositivo:4840. A figura abaixo exibe a seleção do servidor no driver cliente do software
SCADA BluePlant.
ATENÇÃO
Da mesma forma que o MasterTool IEC XE, algumas ferramentas precisam ser executa-
das com direitos de administrador no Sistema Operacional para o correto funcionamento
do Cliente OPC UA. Dependendo da versão do Sistema Operacional este direito deve ser
autorizado ao executar o programa. Para essa operação clique com o botão direito sobre o
executável da ferramenta e escolha a opção Executar como administrador.
160
5. CONFIGURAÇÃO
Uma vez que o Cliente se conecta no Servidor podem ser usados comandos de importação de TAGs. Estes comandos
consultam informações declaradas no CP, retornando uma lista com todos os símbolos disponibilizados por este.
A lista de variáveis selecionadas será incluída na lista de comunicações do Cliente e podem ser utilizadas, por exemplo,
em telas de um sistema SCADA.
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.
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
163
5. CONFIGURAÇÃO
O Scanner requer ao menos um Adapter declarado, com o qual ele vai trocar dados. Novos Adapters podem ser instalados
no MasterTool com os arquivos EDS e DCF. As opções de configuração podem divergir dependendo do arquivo de descrição
do dispositivo do Adapter adicionado.
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
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.
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
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.
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.
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.
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).
167
5. CONFIGURAÇÃO
Aba Mapeamento de E/S mostra, na coluna Variável, o nome das instâncias de Adapter, automaticamente geradas, abaixo
de Objetos IEC. Desta forma, a instância pode ser acessada pela aplicação. Aqui as variáveis do projeto são mapeadas para as
entradas e saídas do adapter. A opção Sempre Atualizar Variáveis deve ser mantida com o valor padrão Ativado 1.
O Adapter EtherNet/IP requer módulos EtherNet/IP. Os módulos vão prover mapeamentos de E/S que podem ser manipu-
lados pela aplicação do usuário pelos endereços %I ou %Q de acordo com sua configuração (INPUT BYTE, OUTPUT BYTE,
etc).
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
Aba Mapeamento de E/S mostra, na coluna Variável, o nome das instâncias de Adapter, automaticamente geradas, abaixo
de Objetos IEC. Desta forma, a instância pode ser acessada pela aplicação do usuário. A opção Sempre Atualizar Variáveis
deve ser mantida com o valor padrão Ativado 1.
A tabela abaixo mostra o tipo de variável suportada pelas UCPs da Série Nexto para cada um dos tipos de dados do
protocolo IEC 60870-5-104.
169
5. CONFIGURAÇÃO
Notas:
Regulating Step Command: Os estados Lower e Higher do objeto C_RC_NA estão associados respectivamente aos
estados OFF e ON do tipo interno DBP.
Step Position Information: Conforme definido no item 7.3.1.5 da norma IEC 60870-5-101 essa variável de 8 bits é
composta por dois campos: valor (definido pelos 7 bits menos significativos da variável) e transiente (definido como o bit mais
significativo, o qual indica quando o dispositivo medido está transicionando).
Abaixo, exemplo de código para manipulação dos campos em uma variável do tipo USINT. Atenção, pois este código não
consiste se o valor de entrada está dentro da faixa, portanto esta consistência fica a cargo do usuário.
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
170
5. CONFIGURAÇÃO
PROGRAM UserPrg
VAR
iAnalogIn: INT;
iAnalogOut: INT;
diCounter: DINT;
END_VAR
Os pontos digitais duplos são utilizados para indicar a posição de equipamentos como válvulas, disjuntores e seccionadoras,
onde a transição entre os estados aberto e fechado demandam um determinado tempo, podendo assim indicar um estado
intermediário de transição entre os dois estados finais.
Pontos digitais duplos também são utilizados como saídas e, de uma forma análoga, é necessário manter uma das saídas
acionada por determinado tempo para a transição ser completada. Tal acionamento é realizado através de pulsos, também
conhecido por comandos trip/close, com determinada duração (suficiente para o chaveamento do dispositivo sob controle).
Consultar a seção Pontos Duplos do manual de utilização, para informações sobre a representação de pontos digitais duplos
através dos tipos de dados DBP.
Uma vez que os módulos de entrada e saída digital da Série Nexto não suportam o mapeamento de pontos DBP, são
necessárias algumas artimanhas de aplicação para tornar isto possível. Lembrando que também não é possível a utilização da
função PulsedCommand, definido na biblioteca LibRtuStandard, para acionamento dos pontos digitais duplos na Série Nexto.
Para módulos de entrada digital será necessária a declaração de duas variáveis auxiliares, a serem mapeadas no módulo de
entrada digital, além do ponto duplo que se deseja mapear no servidor:
a variável de valor do ponto duplo: tipo DBP
a variável de valor do ponto simples OFF/TRIP: tipo BOOL
a variável de valor do ponto simples ON/CLOSE: tipo BOOL
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
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
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
COMMAND_TYPE.NO_COMMAND:
173
5. CONFIGURAÇÃO
COMMAND_TYPE.SELECT:
COMMAND_TYPE.OPERATE:
COMMAND_TYPE.CANCEL:
END_CASE
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
176
5. CONFIGURAÇÃO
END_CASE
END_CASE
177
5. CONFIGURAÇÃO
Para as configurações dos Parâmetros Gerais de um Servidor 60870-5-104 conforme a figura abaixo seguem os parâmetros
da tabela abaixo apresentadas a seguir:
Para a configuração das relações de dados do Servidor IEC60870-5-104, visualizadas na figura abaixo, seguem os parâme-
tros descritos na tabela abaixo:
178
5. CONFIGURAÇÃO
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:
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.
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
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.
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:
182
5. CONFIGURAÇÃO
Notas:
Habilitar Sincronismo: Uma vez habilitado, permite o Servidor IEC 60870-5-104 ajustar o relógio da UCP quando
recebido um comando de sincronização.
Comando de Sincronismo Recebido em Horário Local: Quando habilitado, o IEC 60870-5-104 Servidor ajusta o re-
lógio da UCP tratando o horário recebido no comando de sincronização como horário local. Caso contrário esse horário é
considerado UTC.
Usar Horário Local ao invés do Horário UTC: Uma vez habilitado, a estampa de tempo dos eventos gerados pelo IEC
60870-5-104 Servidor será enviada conforme o horário local da UCP.
ATENÇÃO
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
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:
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
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:
185
5. CONFIGURAÇÃO
A norma IEC 60870-5-104 prevê quatro diferentes qualificadores de comandos para os objetos Single Command, Double
Command e Regulating Step Command, todos suportados pelo Servidor do Nexto.
Cada tipo de objeto tem um comportamento específico para cada qualificador de comando, como pode ser observado na
tabela apresentada a seguir.
Nota:
Interceptação do comando: Para maiores informações sobre a interceptação de comandos de clientes IEC 60870-5-104,
consultar a seção Interceptação de Comandos Oriundos do Centro de Controle, implementada através do bloco de função
CommandReceiver.
ATENÇÃO
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):
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:
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
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:
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
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.
A configuração dos Dispositivos Remotos CANopen (escravos) é separada nas quatro primeiras guias, como mostrado na
figura a seguir:
189
5. CONFIGURAÇÃ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
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
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.
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:
192
5. CONFIGURAÇÃO
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.
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.
194
5. CONFIGURAÇÃO
Para um dispositivo MODBUS Ethernet Servidor, podemos afirmar que ele é capaz de responder a um número x de
requisições por segundo, ou seja, será capaz de transferir n bytes por segundo, dependendo do tamanho de cada requisição.
Quanto menor for o ciclo da tarefa do Servidor MODBUS, maior será o impacto do número de conexões em sua taxa de
resposta. Porém, para tempos de ciclo menores que 20 ms este impacto não é linear, devendo ser consultada a tabela abaixo
para informações.
A tabela abaixo exemplifica o número de requisições respondidas por um Servidor MODBUS inserido em uma interface
local da UCP, em função do tempo de ciclo configurado para a tarefa e do número de conexões ativas efetuando requisições:
195
5. CONFIGURAÇÃO
ATENÇÃO
Já para tempos de ciclo iguais ou maiores do que 20 ms, o crescimento da taxa de respostas é linear, podendo ser calculada
através da fórmula:
N = C x (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.
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):
ATENÇÃO
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
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
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.
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.
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
Para todas as configurações de comunidades, usuário e senha, alguns limites devem ser respeitados, conforme descrito na
tabela a seguir:
201
5. CONFIGURAÇÃO
5.12.1.1.1. GetDateAndTime
202
5. CONFIGURAÇÃO
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:
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
PROGRAM UserPrg
VAR
DayOfWeek : DAYS_OF_WEEK;
END_VAR
--------------------------------------------------------------------------
DayOfWeek := GetDayOfWeek();
204
5. CONFIGURAÇÃO
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.
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
206
5. CONFIGURAÇÃO
Quando chamada, a função, irá configurar o valor de TIMEZONE como a nova configuração de fuso horário do sistema. O
resultado da configuração é retornado pela função.
Exemplo de utilização em Linguagem ST:
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.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
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:
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:
208
5. CONFIGURAÇÃO
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:
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.
209
5. CONFIGURAÇÃO
210
5. CONFIGURAÇÃO
211
5. CONFIGURAÇÃO
212
5. CONFIGURAÇÃO
213
5. CONFIGURAÇÃO
5.13.1.1. SERIAL_CFG
Esse bloco funcional é utilizado para configurar e inicializar a porta serial desejada. Após a chamada do bloco, todas as
filas RX e TX associadas à porta serial e os FIFOs RX e TX, são reiniciados.
214
5. CONFIGURAÇÃO
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.
216
5. CONFIGURAÇÃO
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
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.
219
5. CONFIGURAÇÃO
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.
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.
222
5. CONFIGURAÇÃO
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.
224
5. CONFIGURAÇÃO
225
5. CONFIGURAÇÃO
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.
227
5. CONFIGURAÇÃO
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
229
5. CONFIGURAÇÃO
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
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.
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.
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.
232
5. CONFIGURAÇÃO
PROGRAM UserPrg
VAR RETAIN
bStart : BOOL := TRUE;
TOF_RET : TOF_RET;
END_VAR
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.
233
5. CONFIGURAÇÃO
PROGRAM UserPrg
VAR RETAIN
bStart : BOOL;
TON_RET : TON_RET;
END_VAR
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.
234
5. CONFIGURAÇÃO
PROGRAM UserPrg
VAR RETAIN
bStart : BOOL;
TP_RET : TP_RET;
END_VAR
// Configura TP_RET
TP_RET( IN := bStart,
PT := T#20S);
bStart := FALSE;
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.
236
6. MANUTENÇÃO
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
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.
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
239
6. MANUTENÇÃO
240
6. MANUTENÇÃO
241
6. MANUTENÇÃO
242
6. MANUTENÇÃO
244
6. MANUTENÇÃO
Notas:
Códigos de Exceção: Os códigos de exceção gerados pelo RTS (Runtime System) são apresentados abaixo:
245
6. MANUTENÇÃO
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:
6.1.4.1. GetTaskInfo
Essa função retorna informações sobre uma tarefa de uma determinada aplicação.
Abaixo, são descritos os parâmetros que devem ser repassados à função para que ela retorne as informações da aplicação.
246
6. MANUTENÇÃO
Os dados que a função retorna, através do ponteiro informado nos parâmetros de entrada, são os descritos na tabela abaixo.
Possíveis ERRORCODE:
NoError: execução com sucesso;
TaskNotPresent: a tarefa desejada não existe.
Exemplo de utilização em Linguagem ST:
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
248