IHM P2 - Modbus TCP/IP com Nexto

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:

https://www.altus.com.br//base-conhecimento/categoria/62/detalhe/517/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 a direita da tela. Na aba PLC Device, clique em Add.


Na janela New Link Property, defina o Manufacturer para MODBUS IDAInterface 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 dos 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.


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:

https://www.altus.com.br//base-conhecimento/categoria/19/detalhe/364/nexto-xpress---comunicacao-com-nexto-xpress-utilizando-protocolo-modbus-tcp-2Fip

 

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