Exemplo de comunicação entre Xpress e RealTerm utilizando ASCII pela porta RS-485

Neste tutorial estão descritas orientações e procedimentos para comunicar um Nexto Xpress com o emulador RealTerm utilizando o modo de transmissão ASCII pela porta RS-485.


Componentes

Software: Mastertool IEC XE 3.30

                    RealTerm 3.0.1.43


CLP: XP340


Conversor: FBs-CM25C


Seções do Tutorial

1. ARQUITETURA

2. DESENVOLVIMENTO

   2.1. Adicionando biblioteca

   2.2. Entendendo a lógica

   2.2.1. Explicando bloco funcional TX

   2.2.2 Explicando bloco funcional RX

   2.3. Variáveis declaradas

   2.4. Parâmetros de configuração COM1

   2.5. Configurando RealTerm

   2.6. Executando a aplicação



_____________________________________________________________________________________________


1. ARQUITETURA

Na arquitetura deste tutorial, conectou-se a porta Ethernet da XP340 na porta Ethernet do computador através do cabo NX9202. O D+ e D- da porta RS-485 do Xpress foram conectados ao conversor FBs-CM25C e a entrada serial deste foi conectada na porta USB do computador.




2. DESENVOLVIMENTO

Neste tutorial serão mostrados os passos para realizar o envio e recebimento de mensagens utilizando o protocolo ASCII. Será feito um código que utiliza os blocos seriais TX e RX, para transmissão e recebimento, respectivamente.

Vale ressaltar a importância de ter em mãos o Manual da Série Nexto Xpress, permitindo a consulta nas etapas da aplicação. Esse documento irá lhe orientar sobre as características técnicas, instalação, programação e configurações.


2.1. Adicionando biblioteca

Primeiro, abra o projeto no Mastertool IEX XE e vá em Library Manager. Clique em Add library e selecione NextoSerial.

NextoSerial.

Certifique-se que a biblioteca foi inserida.



2.2. Entendendo a lógica

A lógica presente na UserPrg é mostrada abaixo. Foram utilizadas três variáveis físicas a fim de habilitar os blocos, mas podem ser substituídas por outra variável.


 

Na linha 1 temos a variável física I00, responsável por habilitar o subprograma POU. Este subprograma consiste numa lógica que é mostrada abaixo.

 


Abrindo a POU criada temos que a variável hab_tx inicia em FALSE. Se a variável OLD_VALOR for diferente de P_TX significa que o valor transmitido pelo Mastertool foi alterado, assim hab_tx vai para TRUE, habilitando o bloco SERIAL_TX. Por último, temos que OLD_VALOR será igual a P_TX, preparando para o próximo ciclo.

Na linha 2 temos o bloco Serial_TX, para inserí-lo basta inserir uma caixa com EN/ENO e digitar “SERIAL_TX”.

 

As demais nomenclaturas das variáveis deste bloco, bem como os tempos, devem seguir a imagem da lógica mostrada acima.

IMPORTANTE: quando for declarar P_TX mude POINTER TO BYTE para POINTER TO STRING

 


Na linha 3 temos um contato de FEITO_TX e quando estiver em TRUE, ou seja, quando bloco SERIAL_TX for executado, a variável LEITURA, de SERIAL_RX, receberá um pulso.

Na linha 4 temos o bloco Serial_RX, para inserí-lo basta inserir uma caixa com enable da mesma forma que Serial_TX, porém digite “Serial_RX”.

IMPORTANTE: quando for declarar P_RX mude POINTER TO BYTE para POINTER TO STRING


2.2.1. Explicando bloco funcional 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).

Parâmetros de Entrada SERIAL_TX:

 

Parâmetros de Saída SERIAL_TX: