Este tutorial demonstrará como desenvolver uma comunicação Modbus TCP/IP entre um CLP da série Nexto com uma IHM da série P2.
Componentes
Software: MasterTool IEC XE v3.20; FvDesigner v1.5.64 (etiqueta Altus)
CLP: NX3030
IHM: P2102NK
Seções do Tutorial
1. ARQUITETURA
2. DESENVOLVIMENTO
2.1. Criação do programa na IHM (Client)
2.1.1. Configuração do dispositivo Modbus
2.1.2. Criação da tela da IHM
2.2. Configurações para o CLP Nexto (Server)
3. RESULTADOS
1. ARQUITETURA
Na arquitetura deste tutorial, foi conectado a porta Ethernet da IHM P2102NK à porta NET1 da CPU NX3030 da série Nexto, por meio do cabo NX9202.
2. DESENVOLVIMENTO
Neste tutorial, iremos desenvolver aplicações para a troca de dados do tipo booleano, inteiro e real entre a IHM e o CLP Nexto por meio do protocolo de comunicação Modbus TCP/IP.
2.1. Criação do programa na IHM (Client)
Para desenvolver a aplicação na IHM P2102NK, iremos utilizar o software FvDesigner v1.5.64 (etiqueta Altus).
Alguns detalhes presentes neste tutorial, como: inserir objetos na tela e carregar o programa na IHM, podem ser vistos no tutorial que instrui como criar e carregar um projeto, cujo link está abaixo:
IHM P2 - Criar e carregar projetos
2.1.1. Configuração do dispositivo Modbus
Com o projeto devidamente criado no FvDesigner, vá na aba Project Explorer e clique em Link.
A janela Link será aberta à direita da tela. Na aba PLC Device, clique em Add.
Na janela New Link Property, defina o Manufacturer para MODBUS IDA, Interface Type para Direct Link (Ethernet) e Product Series para MODBUS TCP.
No campo IP Address, defina o endereço IP da comunicação Modbus.
Por fim, é possível dar um nome ao dispositivo no campo Device Name e escolher o número da estação Modbus no campo Station Number.
Obs.: Deve-se atentar para que o endereço IP definido em IP Address seja o mesmo definido no CLP.
Como será comunicado uma variável do tipo REAL (32 bits), para a série Nexto, é necessário realizar a inversão dos dados enviados, já que serão enviados dois pacotes de dados. Para isso, vá na aba Options e clique em Data Transfer Mode.
A janela Data Transfer Mode abrirá. No campo Double Word, clique na opção 4xD (ABCD -> CDAB) e após, clique em OK.
Por fim, de volta a janela Edit Link Property, clique em OK para finalizar a configuração do dispositivo Modbus.
2.1.2. Criação da tela da IHM
Após realizar a configuração do mestre, iremos inserir três objetos para receber/enviar os valores Modbus. Insira um objeto Lamp (presente no tópico Lamp/Switch de ToolBox) e dois objetos Numeric Input/Display (presentes no tópico Numeric/Text de ToolBox). A tela da IHM ficará conforme a imagem abaixo:
Dê dois cliques sobre o objeto Lamp inserido para entrar na janela de propriedades. Vá na aba Setting, campo Address e clique no ícone de 3 pontos para configurar o endereço Modbus.
A janela Input Address abrirá. Selecione o dispositivo Modbus criado ("Master") no campo Device e em Type selecione "0x", pois seguiremos as seguintes informações:
Modbus Type:
0x: Coil;
1x: Input Status;
3x: Input Register;
4x: Holding Register.
Por fim, no campo Address insira "1" e clique em Ent para finalizar.
Clique em OK na janela de propriedades do objeto para finalizar a configuração.
Para configurar os objetos Numeric Input/Display inseridos para as variáveis do tipo INTEIRO e REAL será seguido os passos semelhantes aos descritos para o objeto da variável do tipo booleano. Clique duas vezes sobre o objeto Numeric Input/Display da esquerda para entrar nas suas propriedades.
Iremos configurar este objeto para a variável do tipo inteiro, portanto clique no ícone de 3 pontos ao lado do campo Monitor Address.
A configuração de endereço deste objeto será semelhante a configuração realizada no objeto Lamp, porém como a variável do tipo INTEIRO é um Holding Register, o Type colocado será "4xS". Insira "1" no campo Address e clique em Ent para finalizar.
Obs.: Pode-se optar pelo Type 4xS que se trata de Single Register ou pelo Type 4S que é Multiple Register.
Ainda na janela de propriedades do objeto, no campo Data Type pode-se selecionar as características do dado, ou seja, se é 16 ou 32 bits e se o tipo é INT, FLOAT, HEX ou BCD. Para esta variável, selecionaremos "16bit – UNIT". Por fim, marque o campo Allow Input, pois este objeto irá receber dados. A janela de propriedades deverá ficar da seguinte maneira:
Clique em OK para finalizar as configurações deste objeto.
Para configurar o objeto Numeric Input/Display da direita seguiremos os mesmos passos do objeto da esquerda, porém como a variável que estará vinculada a este objeto será do tipo REAL, em Input Address no campo Type será selecionado "4xD" e no campo Address será escrito "2", pois o primeiro endereço foi ocupado com a variável do tipo INTEIRO.
Como esta variável é do tipo REAL (podendo ter ponto flutuante), na janela de propriedades do objeto, no campo Data Type, selecione "32bit – FLOAT" e no campo Digit Places insira "2" para que o dado possa apresentar duas casas decimais. Como este objeto também irá receber dados, marque a opção Allow Input. Clique em OK para finalizar as configurações deste objeto.
Por fim, carregue o projeto na IHM conforme um dos passos descritos (subseção 2.3.1. ou subseção 2.3.2.) no tutorial para criar e carregar projeto na IHM (link está na seção 2.1. deste tutorial).
2.2. Configurações para o CLP Nexto (Server)
Nesta seção, iremos criar as variáveis no CLP que serão comunicadas com a IHM. Para realizar a configuração da comunicação Modbus TCP/IP no CLP da série Nexto, caso não tenha conhecimento de como realizá-la, recomenda-se ler o tutorial abaixo:
Nexto Xpress - Comunicação com Nexto Xpress utilizando protocolo Modbus TCP/IP
Com o projeto devidamente criado no MasterTool IEC XE, vá em UserPrg e declare 3 variáveis (uma do tipo ‘BOOL’, uma do tipo ‘INT’ e uma do tipo ‘REAL’).
Por fim, vincule essas variáveis a endereços Modbus para que a comunicação com a IHM seja realizada. As variáveis devem ficar endereçadas conforme a imagem abaixo:
Obs.: É importante ficar atento no campo Endereço Inicial do Dado quando os dados são do mesmo tipo. Por exemplo na imagem acima, se as duas variáveis do tipo Holding Register possuíssem o mesmo endereço inicial (1), a faixa de dados de ‘rVar’ seria 1..2, utilizando a mesma faixa de dados da variável ‘iVar’ , ocasionando erro durante a compilação do projeto.
3. RESULTADOS
A seguir uma imagem da comunicação entre os equipamentos.
Comentários
0 comentário
Por favor, entre para comentar.