Este tutorial tem como objetivo orientar desenvolvedores de sistemas a utilizar o mestre PROFIBUS-DP NX5001 para realizar troca de dados aciclicamente, empregando comandos de leitura e escrita da extensão PROFIBUS DPV1, com os escravos NA-9122 da CREVIS e o inversor de frequência Motus 100.
Para o melhor entendimento do funcionamento dos equipamentos é recomendado que o Manual de Usuário UCPs Série Nexto (MU214100), o Manual de Utilização MasterTool IEC XE (MU299048) e o Manual de Utilização Mestre PROFIBUS-DP NX5001 (MU214001) sejam consultados, bem como a documentação dos escravos a serem utilizados. A mesma recomendação aplica-se caso seja necessário modificar a arquitetura proposta como exemplo.
1. Introdução
A Série Nexto é uma poderosa e completa série de Controladores Programáveis (CP) com características exclusivas e inovadoras. Devido a sua flexibilidade, design funcional, recursos de diagnóstico avançado e arquitetura modular, o CP Nexto pode ser usado para controle de sistemas em aplicações de pequeno, médio ou grande porte.
Adicionalmente, a Série Nexto apresenta uma ferramenta completa para programação, configuração, simulação e depuração da aplicação do usuário: o MasterTool IEC XE. Trata-se de um software flexível e de fácil utilização que oferece seis linguagens de programação definidas pela norma IEC 61131-3: Texto Estruturado (ST), Sequenciamento Gráfico de Funções (SFC), Diagrama de Blocos Funcionais (FBD), Diagrama Ladder (LD), Lista de instruções (IL) e Gráfico Funcional Contínuo (CFC). O MasterTool IEC XE permite o uso de diferentes linguagens na mesma aplicação, fornecendo ao usuário uma poderosa forma de organizar a aplicação e aproveitar códigos usados em aplicações anteriores.
A arquitetura da Série Nexto fornece uma grande variedade de módulos de entradas e saídas. Estes módulos, combinados com uma poderosa UCP de 32 bits e um barramento baseado em Ethernet de alta velocidade, atendem a muitas aplicações de usuário, tais como controle rápido de máquinas, complexas aplicações de processos distribuídos e redundantes, ou até mesmo grandes sistemas de E/S para automação predial. Entre outras funcionalidades, a Série Nexto oferece módulos para controle de movimento, comunicação e interfaces com as mais conhecidas redes de campo.
O módulo mestre PROFIBUS-DP NX5001 é uma avançada interface PROFIBUS desenvolvida para ser utilizada juntamente com as UCPs da Série Nexto. O módulo suporta o protocolo de troca de dados cíclicos e acíclicos, podendo ser usado em qualquer bastidor da Série.
A interface permite acesso das UCPs da Série Nexto a qualquer dispositivo de campo compatível com este protocolo, tais como sistemas modulares de E/S remoto, sensores, transmissores, atuadores, etc.
2. Definição da Arquitetura de Referência
A seguir mostra-se um exemplo de uma arquitetura para a utilização da comunicação PROFIBUS DPV1.
Material Utilizado no Exemplo
Dentre os itens utilizados para a construção do sistema de referência temos:
- a fonte de alimentação NX8000, nas posições 0 e 1 do bastidor
- a UCP NX3030, nas posições 2 e 3 do bastidor
- dois módulos NX5001, nas posições 4 e 6 do bastidor
- a remota PROFIBUS NA-9122 da CREVIS
- um módulo de saída analógica (ST-4112) da CREVIS
- um módulo de entrada analógica (ST-3114) da CREVIS
- um inversor de frequência Motus 100
- uma placa PROFIBUS DP Option Board OPTE3/E5 para o Motus 100
A Figura 1 mostra um exemplo de configuração mínima, utilizando o menor bastidor NX9001, com 12 posições.
O Software MasterTool IEC XE utilizado no desenvolvimento abaixo é de versão 2.01
Figura 1. Arquitetura Utilizada
3. Configuração do Projeto
Para criar um projeto e configurar um sistema NX3030, deve-se utilizar o software MasterTool IEC XE.
Não será descrito aqui o processo de instalação e autorização de funcionamento do software MasterTool IEC XE. Considera-se que o mesmo já esteja instalado, configurado e funcionando perfeitamente em um computador.
4. Novo Projeto
Neste capítulo, será abordada a criação de um novo projeto a partir do perfil Simples, utilizando a ferramenta "Wizard", a qual apresenta as opções de configuração do sistema ao usuário.
Inicialmente, o usuário deverá criar um novo projeto no MasterTool IEC XE a partir do menu "Arquivo" e logo em seguida, "Novo Projeto...", conforme mostra a Figura 2:
Figura 2. Novo Projeto
Após, uma janela será apresentada ao usuário, solicitando que o mesmo selecione o tipo de projeto que deseja fazer e, em seguida, escreva um nome e a localização para armazenar o projeto no computador. Clicar em "OK" para prosseguir ou "Cancelar" para interromper.
Figura 3. Classificação do Projeto
A seguir, o usuário deverá selecionar a UCP desejada, os módulos de hardware básicos que compõem o barramento, ou seja, o modelo de bastidor e da fonte de alimentação. Nesse caso, será utilizada a UCP NX3030, um bastidor NX9001 e uma fonte de alimentação NX8000.
Figura 4. Módulos de Hardware
Na janela de configuração de E/S, não foram adicionados pontos de E/S.
Figura 5. Quantidade de Pontos E/S
Então, o usuário deverá selecionar a linguagem padrão para as POUs (programas). Nesse caso o novo projeto está exemplificado perfil Simples e linguagem ST.
Figura 6. Seleção da Linguagem Padrão
A próxima tela define a linguagem das POUs de usuário. Clicar em "< Anterior" para voltar à tela antecedente, "Concluir" para finalizar ou "Cancelar" para interromper.
Figura 7. Linguagem dos Programas das Tarefas Principais
Ao pressionar o botão "Concluir", o MasterTool IEC XE iniciará a criação do ambiente de desenvolvimento do projeto. Esse procedimento pode levar alguns segundos.
5. Configuração da UCP NX3030
A Figura 8 mostra as configurações da porta NET 1 da UCP NX3030. Para abrir esta tela, deve-se dar um duplo clique sobre NET 1, abaixo da UCP NX3030 na árvore de dispositivos. Nesta tela deve-se definir o IP do CP.
Figura 8. Parâmetros da Porta Ethernet NET 1
6. Configuração da Rede PROFIBUS
Para configurar a rede PROFIBUS é necessário inicialmente incluir os módulos NX5001 no barramento. Para isso, deve-se abrir a tela de Configuração de Barramento e habilitar a visualização da Biblioteca de Produtos, no menu "Visualizar", como apresentado na imagem abaixo.
Figura 9. Visualização da Biblioteca de Produtos
Após aberta a Biblioteca de Produtos, clicar em Interfaces de Barramento, selecionar o módulo NX5001 e arrastá-lo para a posição 4 do Rack NX9001, conforme mostra a Figura 10:
Figura 10. Adicionando os Módulos NX5001 ao Barramento
Então, repetir o passo acima para adicionar outro módulo NX5001 na posição 6 do barramento, como apresentado na Figura 11.
Figura 11. Adicionando os Módulos NX5001 ao Barramento
7. Instalando Arquivos de Descrição dos Dispositivos
Como os arquivos GSD dos produtos que serão usados como escravos não vêem previamente instalados junto com o Software MasterTool IEC XE, estes devem ser adicionados pelo usuário. Para isso, é necessário fazer download destes no site dos seus fornecedores, conforme segue.
O arquivo de descrição do NA-9122 pode ser encontrado no seguinte link: http://www.crevis.co.kr/eng/product/view01.php?str_bcode=030120001&str_no=37
Figura 12. Download do Arquivo GSD do NA-9122
O arquivo de descrição do Motus 100 pode ser encontrado no seguinte link: http://www.vacon.com/downloads/?DownloadCategory=Software+related&document+type=fieldbus+configuration#1410533495
Figura 13. Download do Arquivo GSD do Motus 100
Após o download dos arquivos de descrição ser concluído, estes devem ser instalados no software MasterTool IEC XE. Para isso, é necessário clicar no menu "Ferramentas", "Instalar Dispositivo", como apresentado na Figura 14.
Figura 14. Instalando a Descrição de Dispositivo
Então, abrirá a janela mostrada na Figura 15, na qual deve ser selecionada a pasta onde os arquivos GSD foram salvos e marcar a opção de busca por tipo de arquivo com a opção: "Profibus DP V5.0 Configuration Files (*.gd?)".
Figura 15. Instalando a Descrição de Dispositivo
Quando os arquivos GSD aparecerem, um deles deve ser selecionado e o botão Abrir, da janela deve ser clicado.
Figura 16. Instalando a Descrição do Dispositivo NA-9122
Quando a instalação do arquivo GSD for finalizada com sucesso a janela da Figura 17 será apresentada, então, é necessário instalar o arquivo GSD do outro dispositivo, repetindo a etapa anterior para o GSD faltante, Figura 18.
Figura 17. Conclusão da Instalação do Arquivo GSD
Figura 18. Instalando a Descrição do Dispositivo Motus 100
8. Adição dos Dispositivos na Rede PROFIBUS-DP
O próximo passo para configurar a rede PROFIBUS-DP é adicionar os dispositivos escravos que fazem parte da rede PROFIBUS-DP, neste exemplo serão configuradas duas redes distintas, uma contendo um mestre NX5001 e o escravo Motus 100 e outra com o mestre NX5001 e um escravo composto dos módulos NA-9122, ST-4112 e ST-3114, da CREVIS. Abaixo seguem as explicações de como executar a adição destes dispositivos.
8.1. Adicionando o Dispositivo Motus 100
Para adicionar o escravo Motus 100, deve-se clicar com o botão direito do mouse sobre o ícone do NX5001 da árvore de dispositivos, esta ação faz com que o menu de contexto apresentado na Figura 19 apareça. Após, selecionar a opção Acrescentar Dispositivo, que abre o diálogo apresentado na Figura 20.
Figura 19. Acrescentando Dispositivos
Figura 20. Acrescentando o Dispositivo Vacon PROFIBUS DP Slave OPTEx
Nesta janela, deve-se selecionar o dispositivo Vacon PROFIBUS DP Slave OPTEx e clicar no botão Adicionar Dispositivo, após em Fechar.
Então, deve ser dado um clique com o botão direito do mouse sobre o ícone do dispositivo Motus 100, que foi adicionado logo abaixo do NX5001, para que apareça o menu de contexto da Figura 21, possibilitando adicionar um perfil de configuração do Motus 100, Figura 22.
Figura 21. Adicionando Dispositivos no Motus 100
Figura 22. Adicionando o Dispositivo ST1 ao Motus 100
Neste exemplo foi utilizado o perfil ST1, que possui duas words de controle e duas de status. Para mais informações sobre os perfis do Motus 100 consultar o PROFIBUS DP Option Board OPTE3/E5 User Manual.
8.2. Adicionando o Dispositivo NA-9122
Os passos a serem seguidos para adicionar o dispositivo NA-9122 da CREVIS são muito semelhantes aos executados para o Motus 100, com algumas ressalvas. Na janela de adição dos dispositivos, Figura 20, deve-se selecionar o dispositivo NA-9122. Após, clique com o botão direito do mouse sobre o ícone deste, para abrir o menu de contexto mostrado abaixo e selecionar a opção Acrescentar Dispositivo.
Figura 23. Adicionando Dispositivos no NA-9122
Então, os módulos NA-9122, ST-4112 e ST-3114 devem ser adicionados, para isso, selecionar um desses e após, pressionar o botão Acrescentar, na parte inferior da janela apresentada na Figura 24, este processo deve ser repetido para todos os módulos. Também, é importante que esses sejam acrescentados na ordem que se encontram dispostos fisicamente. Quando a adição for finalizada, pressionar o botão Fechar, a aparência final dos módulos na árvore de dispositivos pode ser verificada na Figura 25.
Figura 24. Adicionando os Dispositivos do Barramento da CREVIS ao NA-9122
Figura 25. Aparência Final da Árvore de Dispositivos
9. Configuração dos Dispositivos
Após adicionar os dispositivos no projeto, se faz necessário configurá-los, com este intuito são apresentados os passos abaixo, onde inicialmente é executada a configuração dos Módulos NX5001, após a do Motus 100, então a configuração dos módulos da CREVIS.
9.1. Configuração dos Módulos NX5001
Para configurar os módulos NX5001 basta dar um duplo clique sobre seu ícone na árvore de dispositivos, esta ação abrirá a janela apresentada abaixo.
Figura 26. Aba de Configuração do NX5001
Neste ambiente é possível editar diversos parâmetros de configuração do barramento PROFIBUS. Para este projeto utilizamos os valores padrão destes parâmetros.
9.2. Configuração do Motus 100
Para abrir a aba de configuração do Motus 100 basta dar um duplo clique no ícone do produto na árvore de dispositivos. Nesta aba é possível configurar o endereço do dispositivo e o DP mode, Figura 27.
Figura 27. Aba de Configuração do Motus 100
O endereço do dispositivo deve ser o mesmo configurado na tela do Motus 100, Figura 28, seguindo o seguinte caminho: Menu Principal/ E/S de Hardware/ OPTE3/ Parâmetros/ Endereço Escravo/ Editar.
Figura 28. Tela de Edição do Endereço do Escravo Motus 100
O parâmetro DP Mode deve ser configurado como DP-V0+DP-V1 para que a comunicação PROFIBUS DPV1 seja habilitada. Os outros parâmetros não foram modificados para a execução deste projeto.
9.3. Configuração dos Módulos CREVIS
A aba de configuração da cabeça NA-9122 pode ser aberta dando um duplo clique sobre o ícone do NA-9122, mais externo. Nesta aba encontram-se algumas opções de configuração de rede PROFIBUS do barramento CREVIS. Somente dois parâmetros necessitam de alteração nesta aplicação, o endereço PROFIBUS, configurado de acordo com o valor apresentado nos adaptadores, Figura 30, e o Watchdog Time Base, que deve ter seu valor alterado para 10 ms.
Figura 29. Aba de Configuração do NA-9122
Figura 30. Adaptadores para Endereçamento PROFIBUS no NA-9122
Além destes, não se fez necessário alterar os demais parâmetros dos módulos do barramento CREVIS, pois estes não dizem respeito à configuração PROFIBUS.
10. Adicionando a Biblioteca para Comunicação DPV1
Após o término da configuração da rede PROFIBUS, para poder utilizar as funções de leitura e escrita DPV1, é necessário adicionar a biblioteca LibDPV1Command. Primeiramente, deve ser dado um duplo clique no ícone do Gerenciador de Biblioteca na árvore de dispositivos, Figura 31.
Figura 31. Abrindo o Gerenciador de Biblioteca
Uma aba com a lista de bibliotecas utilizadas no projeto irá surgir na tela, o usuário deve clicar no botão Inserir Biblioteca, no canto superior esquerdo desta janela, Figura 32.
Figura 32. Inserir Biblioteca
A janela mostrada na Figura 33 será aberta e o usuário deve selecionar a biblioteca LibDPV1Command, que se encontra no caminho Application/ Network/ LibDPV1Command, e apertar no botão OK, para que esta seja inserida.
Figura 33. Inserir Biblioteca
11. O Bloco Funcional DPV1Command
Os comandos de leitura e escrita da extensão PROFIBUS DPV1, cujo acesso dá-se por meio do bloco funcional DPV1Command, possibilitam a troca de dados aciclicamente com escravos PROFIBUS que ofereçam suporte a DPV1.
Figura 34. Bloco Funcional DPV1Command
11.1. Configuração de Entrada
Objetivando uma maior compreensão do funcionamento e configuração do bloco funcional DPV1Command, são listados os parâmetros de entrada deste, bem como uma breve explicação dos valores configurados.
- uiNX5001Rack: Número do rack onde se encontra o NX5001 que enviará o comando, como neste exemplo ambos estão configurados no barramento local, o número do rack é zero.
- uiNX5001Slot: Posição do barramento onde o NX5001 que enviará o comando está configurado, para este exemplo, o NX5001 que comunica com o escravo Motus 100 está no Slot 4 e o NX5001 que comunica com o escravo CREVIS está no Slot 6.
- byCommandType: Este parâmetro recebe a seleção do comando que será executado, 1 para comando de leitura e 2 para comando de escrita.
- byRemoteAddress: Endereço do escravo PROFIBUS que receberá o comando, o Motus 100 está configurado com o endereço 120 e o NA-9122 da CREVIS está configurado com o endereço 7.
- bySlaveSlot: Endereço do Slot do escravo PROFIBUS que receberá o comando, este parâmetro pode ser encontrado no manual do escravo, para o Motus 100 o valor utilizado é zero, para o barramento da CREVIS, o Slot do NA-9122 é zero, os módulos de entrada e saída, ST-4112 e ST-3114, recebem os valores seguintes, de acordo com sua posição no barramento.
- byIndex: Endereço do parâmetro que será acessado dentro do escravo. Para o Motus 100 o único index para acesso de parâmetros é o 47. Nos módulos da CREVIS, o Index 1 é para acesso dos parâmetros e o Index 2, para acesso da memória.
- byDataLength: Comprimento, em bytes, do dado que será lido/escrito.
- abyDataWrite: Array que contém o dado que será escrito, este parâmetro só é utilizado em comandos de escrita.
- xExecute: habilita o funcionamento do bloco funcional.
Para a correta configuração deste bloco funcional e sua utilização com diferentes requisições é importante que o usuário consulte o PROFIBUS DP Option Board OPTE3/E5 User Manual, do Motus 100, e também os documentos FnIO S-series Configuration Parameter and Memory Register e PROFIBUS Adapter NA-9122 User Manual, da CREVIS.
12. Código Fonte
Segue o código fonte da MainPrg com um exemplo de uso do bloco funcional DPV1Command com comandos de escrita e leitura, tanto para o Motus 100, onde foi enviada a requisição de leitura do endereço PROFIBUS (PNU 918), quanto para o CREVIS, onde é feita a escrita dos parâmetros do módulo NA-9122.
PROGRAM MainPrg
VAR
// Declaração do Bloco Funcional DPV1Command
// Declaration of Function Block DPV1Command
fMotusRead : DPV1Command;
fMotusWrite: DPV1Command;
fCrevisRead: DPV1Command;
fCrevisWrite: DPV1Command;
aMTData : ARRAY[0..239] OF BYTE;
aCVData : ARRAY[0..239] OF BYTE;
byStateExec: BYTE;
END_VAR
-----------------------------------------------------------------------
// Verifica se os módulos NX5001 estão operacionais
// Check if the NX5001 modules are operate
IF DG_NX5001.tMstStatus.byState <> OPERATE OR DG_NX5001_01.tMstStatus.byState <> OPERATE THEN
RETURN;
END_IF
// Chamada dos Blocos Funcionais
// Call of Function Blocks
//MOTUS100
fMotusWrite(uiNX5001Rack := 0, uiNX5001Slot := 4, byCommandType := 2,
byRemoteAddress := 120, bySlaveSlot := 0, byIndex := 47, byDataLength := 10,
abyDataWrite := aMTData);
fMotusRead(uiNX5001Rack := 0, uiNX5001Slot := 4, byCommandType := 1,
byRemoteAddress := 120, bySlaveSlot := 0, byIndex := 47, byDataLength := 8);
//CREVIS
fCrevisRead(uiNX5001Rack := 0, uiNX5001Slot := 6, byCommandType := 1,
byRemoteAddress := 7, bySlaveSlot := 0, byIndex := 1, byDataLength := 4);
fCrevisWrite(uiNX5001Rack := 0, uiNX5001Slot := 6, byCommandType := 2,
byRemoteAddress := 7, bySlaveSlot := 0, byIndex := 1, byDataLength := 2,
abyDataWrite := aCVData);
// Dados de Escrita Motus 100
// Write data of Motus 100
// Requisição do parâmetro PNU918 – Endereço do Nó
// Request the PNU918 parameter - Node Address
aMTData[0] := 16#01; // Request Reference
aMTData[1] := 16#01; // Request ID
aMTData[2] := 16#01; // Axis Number
aMTData[3] := 16#01; // Number of Parameters
aMTData[4] := 16#10; // Attribute
aMTData[5] := 16#01; // Number of Elements
aMTData[6] := 16#03; // Parameter Number
aMTData[7] := 16#96; // Parameter Number
aMTData[8] := 16#00; // Subindex
aMTData[9] := 16#00; // Subindex
// Dados de Escrita do CREVIS NA-9122
// Write data of CREVIS NA-9122
// Alteração dos parâmetros do módulo NA-9122
// Changes on parameters of the module NA-9122
aCVData[0] := 16#01; // Word Data Format
aCVData[1] := 16#1A; // DP Clear Action, Reaction to FnBus Fault
and Restart on FnBus Fault CASE byStateExec OF
0: // Inicialização do programa
// Program initialization
fMotusWrite.xExecute:= FALSE;
fCrevisWrite.xExecute:= FALSE;
fMotusRead.xExecute:= FALSE;
fCrevisRead.xExecute:= FALSE;
byStateExec := 1; // Go to Write State
1: // Estado de Escrita
// Write State
fMotusWrite.xExecute:= TRUE;
fCrevisWrite.xExecute:= TRUE;
IF fMotusWrite.xDone AND fCrevisWrite.xDone THEN
byStateExec := 2; // Go to Read State
ELSIF fMotusWrite.xError OR fCrevisWrite.xError THEN
byStateExec := 3; // Go to Error State
END_IF
2: // Estado de Leitura
// Read State
fMotusRead.xExecute:= TRUE;
fCrevisRead.xExecute:= TRUE;
IF fMotusRead.xDone AND fCrevisRead.xDone THEN
byStateExec := 0; // Go to Initialization State
ELSIF fMotusRead.xError OR fCrevisRead.xError THEN
byStateExec := 3; // Go to Error State
END_IF
3: // Estado de Erro
// Error State
END_CASE
13. Envio da Aplicação para a UCP NX3030
Após este código fonte ser inserido na MainPrg, a aplicação está pronta para ser enviada à UCP NX3030, para isso leia o tutorial que explica como conectar o Nexto ao computador, cujo link está abaixo:
Após o término do download do projeto, clicar no botão "Start" (), para que o projeto entre em execução, como apresentado na Figura 35.
Figura 35. Aplicação Utilizando a Comunicação PROFIBUS DPV1 em Execução
14. Código Fonte em Ladder
Abaixo é apresentado um exemplo do mesmo código da seção anterior só que na linguagem Ladder.
PROGRAM MainPrg
VAR
// Declaração do Bloco Funcional DPV1Command
// Declaration of Function Block DPV1Command
fMotusRead : DPV1Command;
fMotusWrite : DPV1Command;
fCrevisRead : DPV1Command;
fCrevisWrite : DPV1Command;
aMTData : ARRAY[0..239] OF BYTE := [4(1), 16, 1, 3, 150, 0, 0];
aCVData : ARRAY[0..239] OF BYTE := [1, 26];
byStateExec : BYTE;
bLiberaNX5001 : BOOL;
bLiberaNX5001_01: BOOL;
bHabProgram : BOOL;
bMotusWrite : BOOL;
bMotusRead : BOOL;
bCrevisRead : BOOL;
bCrevisWrite : BOOL;
bError : BOOL;
END_VAR
Figura 36. Verifica se os Módulos NX5001 estão Operacionais
Figura 37. Chamando os Blocos Funcionais do Motus 100
Figura 38. Chamando os Blocos Funcionais do Crevis
Figura 39. Estado de Inicialização
Figura 40. Estado de Escrita
Figura 41. Estado de Leitura
Figura 42. Estado de Erro
Comentários
0 comentário
Por favor, entre para comentar.