Transferência de dados binários pelo serial

Tutoriais, duvidas e outras informações do SPDSW e OPPE
Post Reply
FRLara
Posts: 1
Joined: Fri Feb 22, 2019 2:48 pm

Transferência de dados binários pelo serial

Post by FRLara »

Olá.
Eu preciso enviar e receber pacotes de dados para um modem, que possui um protocolo próprio. Porém, lendo a documentação do programa, as únicas funções de comunicação serial que encontrei são com os protocolos modbus, scp-hi, ou por texto ascii. Existe alguma função que permita essa comunicação diretamente com os dados binários (usando um buffer de dados na memória M, por exemplo)?

Fazendo uns testes, consegui usar o bloco SCB para manipular um texto com os códigos 245 e 21 (função substituir caractere), e escrever um por um os bytes que preciso (a função não confere se o byte é um código ascii válido, felizmente). Mas o programa iria ficar absurdamente confuso se eu implementar todo o protocolo de comunicação dessa forma. Além disso, esse método não vai funcionar se a mensagem for maior do que 48 bytes.

Qual a melhor forma de programar essa comunicação?
Estou usando o controlador RION+.

Obrigado.
Fabrício.
Juliana
Posts: 26
Joined: Fri Feb 15, 2019 1:05 pm

Re: Transferência de dados binários pelo serial

Post by Juliana »

Prezado Fabrício,

Os dados vão ser tratados no RION ou enviados para outro canal de comunicação?

Você pode usar o bloco SCB de comunicação ASCII 240 e 241 (transmissão e recepção respectivamente)
Há um programa de exemplo disponível nesse link e lembre-se de utilizar " \ " antes de seus caracteres para enviar o valor hexadecimal. ATENÇÃO: Como os controladores da HI implementam o protocolo ASCII o caractere "\00" é interpretado como fim de string, sendo assim, se você necessitar enviar o dado 00 essa implementação não irá funcionar.

Para receber os valores em hexadecimal você pode utilizar as variáveis M associadas diretamente, pois as variáveis do tipo X são mapeadas em 25 M's. Você pode obter mais informações no tópico [SPDSW] Acesso a variáveis string (X) de CLP HI Tecnologia via MODBUS.

Qualquer dúvida estamos a disposição
Post Reply