Home Soluções Introdução ao Protocolo UART para Displays Inteligentes

Introdução ao Protocolo UART para Displays Inteligentes

Oct 18, 2024

Introdução

O protocolo UART do Smart Display é um protocolo de comunicação proprietário desenvolvido pela WINSTAR para permitir a comunicação e o controle entre um controlador host e os Smart Displays WINSTAR por meio da interface UART. Em conjunto com o WINSTAR GUI Builder, ele proporciona um fluxo de desenvolvimento HMI mais eficiente, desde o projeto da interface do usuário até a comunicação e o controle do dispositivo.

Com o GUI Builder, os desenvolvedores podem criar interfaces HMI utilizando diferentes Widgets, desde elementos básicos, como Button e Text, até Gauge e Keypad, de acordo com os requisitos de cada aplicação. Essa abordagem de desenvolvimento visual simplifica o design da UI e oferece maior flexibilidade para a criação de interfaces específicas para diferentes aplicações.

Após a criação da interface do usuário, o controlador host pode se comunicar com o Smart Display via UART e controlá-lo utilizando o protocolo de comunicação proprietário e os comandos da WINSTAR. A integração entre o design da UI e a comunicação UART ajuda a simplificar o desenvolvimento HMI e a integração de sistemas.

A WINSTAR aprimora continuamente o GUI Builder para oferecer uma experiência de desenvolvimento mais eficiente e flexível para aplicações com Smart Display.

Smart Display GUI Builder – Configuração de Projeto UART

O Smart Display GUI Builder oferece uma interface intuitiva e fácil de usar para a criação eficiente de projetos HMI. Basta arrastar e soltar os diferentes Widgets na página para exibi-los no Smart Display e interagir com eles. A facilidade de operação e a flexibilidade dos recursos permitem atender a diferentes requisitos de aplicação e tornar o desenvolvimento mais eficiente.

As etapas a seguir mostram como criar um projeto UART usando o Smart Display GUI Builder e como controlar objetos via UART.

Criar um Projeto com Protocolo UART

Para criar um projeto UART, insira o nome do projeto, selecione o tipo de Smart Display adequado à aplicação e escolha "SmartDisplay protocol (UART)" na opção Protocol.

Adicionar um Gauge e um Horizontal Slider Widget à Página Principal

Após adicionar um Widget, cada objeto possui um Index ID exclusivo, além das configurações correspondentes de Page Index e Object ID. Com essas duas configurações, o Host pode controlar o objeto por meio de comandos UART.

Simular a Interação entre UART e o Widget

Clique no ícone "Simulator With GUI" para iniciar o simulador.

Após iniciar o simulador, mova o controle deslizante identificado como GAUGE_0 na parte inferior para simular o envio de dados do Host para GAUGE_0. Observe as alterações do Gauge no simulador e consulte o registro dos comandos UART no Message Log à direita. Também é possível utilizar o Horizontal Slider no simulador para simular o envio de dados pelo Device.

Atualizar as Configurações do Smart Display

Após verificar o funcionamento por meio do simulador, se tudo estiver funcionando corretamente, conecte o dispositivo e transfira as configurações do projeto para o Smart Display.

Aguarde a conclusão do upload e da atualização.

Verificar a Interação entre o Device e o Widget

Após transferir o projeto para o dispositivo, é possível verificar o funcionamento diretamente no Smart Display. Conecte o dispositivo usando o GUI Builder, clique em "Test Device" e teste a interação entre o Host e o Device.

Janela Test Device

Nesta interface de teste, é possível simular a alteração do valor de um objeto pelo Host. Mova o controle deslizante GAUGE_0 na parte inferior para simular o envio do valor de Object 0 pelo Host e observe as alterações do Gauge no dispositivo. No Message Log localizado na parte inferior, também é possível visualizar Send command e Response command. Além disso, utilize o Horizontal Slider no dispositivo para verificar o Event command enviado pelo Device.

Por meio da janela Test Device descrita acima, é possível simular o envio de comandos UART pelo Host para controlar o Smart Display. Observe o resultado no Smart Display e opere o equipamento pelo Touch Panel para confirmar se o Host recebe o Event command correspondente.

Smart Display GUI Builder – Widgets Personalizados

Quando os Widgets padrão do Smart Display GUI Builder não atendem aos requisitos de design, é possível personalizar seus ícones substituindo as imagens correspondentes e, assim, adaptar a interface às necessidades da aplicação. Para botões simples ou botões do tipo toggle, basta substituir as imagens On/Off. No caso de Widgets mais complexos, além da substituição das imagens, pode ser necessário configurar parâmetros adicionais para garantir que o Widget seja exibido corretamente.

Exemplo de Personalização de um Gauge

É possível criar um Gauge personalizado substituindo as imagens e ajustando os parâmetros correspondentes do Gauge.

Texto Multilíngue

O Text Widget do Smart Display oferece suporte a Unicode, permitindo a exibição de textos em diferentes idiomas. Siga as etapas abaixo para configurar os textos nos idiomas desejados.

1. Adicione um Custom Font, selecione a fonte e o tamanho desejados e defina o intervalo de caracteres Unicode que será exibido. Para consultar o intervalo Unicode correspondente, acesse Unicode Character Blocks. Se o intervalo de caracteres necessário for muito amplo, como no caso de caracteres chineses, e o espaço disponível na memória Flash não for suficiente, é possível incluir em Custom Characters somente os caracteres que serão efetivamente utilizados, reduzindo o espaço de armazenamento necessário para a fonte.

2. Defina a fonte do Text Widget: selecione o Text Widget cujas configurações de fonte deseja alterar.

3. Adicione um Text Widget e verifique no simulador se o texto é exibido corretamente.

Introdução aos Comandos UART Personalizados

A seguir, apresentamos o protocolo de comandos utilizado na comunicação UART. Esses comandos permitem que o Host controle diferentes funções do Smart Display, como alternar entre páginas, ajustar o brilho da retroiluminação e acionar o buzzer.

Abaixo estão as configurações padrão de UART:

Default baud rate: 115200 (Pode ser modificado através do GUI Builder.)
Parity Bit: None
Data Bit: 8
Stop Bit: 1

O formato principal de dados para UART é o seguinte:

Header Byte(1 Byte) Length(1 Byte) Payload(N Byte) CRC(2 Byte)
Command Header Value: 4 + Payload length
Payload max size: 250
Payload data max size: 250 Modbus CRC16
(Calculate Modbus CRC16
https://www.modbustools.com/modbus_crc16.html)

O protocolo UART possui principalmente três tipos principais de comandos: comando de envio, comando de resposta e comando de evento, com os seguintes formatos na ordem.

1. Formato do Comando de Envio

O comando de envio é usado pelo lado Host para enviar comandos para o lado SmartDisplay.

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x53 (S) Value: 4 + Payload length
Payload max size: 250
Command code: 1 byte
Command parameter: 0 ~ N bytes
Modbus CRC16
 

2. Formato do Comando de Resposta

O comando de resposta é usado pelo lado SmartDisplay para responder ao lado Host com os resultados do comando de envio.

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x52 (R) Value: 4 + Payload length
Payload max size: 250
Command Code: 1 byte
Error Code: 1 byte
Response Data: 0 ~ N bytes
Modbus CRC16
 

3. Comando de Evento

Quando o lado SmartDisplay precisa relatar dados proativamente, ele usará este comando, por exemplo, quando um botão for acionado.

Header Byte(1 Byte) Length(1 Byte) Payload(N byte) CRC(2 Byte)
Start with 0x45 (E) Value: 4 + Payload length
Payload max size: 250
Event Command Code: 1 byte
Event Data: 0 ~ N bytes
Modbus CRC16

* Para detalhes sobre o código do Comando de Envio e o código do Comando de Evento, consulte o documento do Guia do Usuário do SmartDisplay UART.

Explicação e exemplos do protocolo de comando de Envio/Resposta

A seguir, apresentamos, de forma sequencial, o formato de dados e exemplos para cada carga útil de comando.

Set Object Value: 0x3

Send Command

Command Code 1 Byte 0x3
Parameter data 8 Byte uint16 PageIndex;
uint16 ObjectId;
int32 value;

Response command

Command Code 1 Byte 0x3
Error Code 1 Byte 0: Success
1: Failed

Example: Set Object value

Set Object Buffer Data: 0x5

Send Command

Command Code 1 Byte 0x5
Parameter data N Byte uint16 PageIndex;
uint16 ObjectId;
uint8 [] data (max 100 bytes)
// Unicode String for Text
// Clock setting for Digital Clock

Response command

Command Code 1 Byte 0x5
Error Code 1 Byte 0: Success
1: Failed

Example: Set Object Text: test

Example: Set Clock Widget date time: 2024/09/01 04:05:06

Set Brightness: 0x6

Send Command

Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value

Response command

Command Code 1 Byte 0x6
Error Code 1 Byte 0: Success
1: Failed

Example: Set brightness to 90.

Set Buzzer: 0x7

Send Command

Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value (Unit: 10 ms)
Low 1 Byte Low value (Unit: 10 ms)

Response command

Command Code 1 Byte 0x7
Error Code 1 Byte 0: Success
1: Failed

Example: Emitting buzzer: Cycle:1, High: 200 ms, Low: 0 ms

Set Page Index: 0x8

Send Command

Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value

Response command

Command Code 1 Byte 0x8
Error Code 1 Byte 0: Success
1: Failed

Example: Switching Page Index to 1.
Para trocar de páginas, você precisa primeiro definir o Estado do Dispositivo como ConfigMode. Em seguida, envie o comando de mudança de página. Após completar o comando de mudança de página, defina o Modo do Estado do Dispositivo como Display Mode para finalizar a operação de troca de página. A sequência de comandos relacionados é a seguinte:

Set Device State: 0x20

Send Command

Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Response command

Command Code 1 Byte 0x20
Error Code 1 Byte 0: Success
1: Failed

Example: Refer to the example of switching pages

xplicação e exemplos do protocolo de Comando de Evento

Page change event: 0x1

Event Command

Event Code 1 Byte 0x01
Parameter data 2 Byte Uint16 PageIndex

Example: SmartDisplay switches to Page 1.

Object Text change event: 0x2

Event Command

Event Code 1 Byte 0x02
Parameter data N +2 Byte Uint16 ObjectId
N byte Unicode Text
 

Example: Keypad widget sends the text "1234"

Object Value change event: 0x3

Event Command

Event Code 1 Byte 0x03
Parameter data 6 Byte Uint16 ObjectId
int32 value

Example: Object value change event.

Com o GUI Builder, é possível criar interfaces de usuário arrastando e soltando Widgets. A abordagem WYSIWYG (What You See Is What You Get) torna o desenvolvimento da interface mais intuitivo e eficiente. O simulador integrado também permite visualizar a interface e avaliar o design da UI antes de utilizar o display físico.

Após a conclusão da UI, o controlador host pode se comunicar com o Smart Display via UART utilizando o protocolo de comunicação proprietário da WINSTAR, permitindo o controle do dispositivo e a troca de dados. Esse fluxo de trabalho integra o design da UI, a simulação e a comunicação com o dispositivo, simplificando o desenvolvimento de HMI e a integração de sistemas.

Antes de adquirir um UART Smart Display, você pode utilizar o GUI Builder e o simulador integrado para avaliar se o design da interface e as funcionalidades atendem aos requisitos da sua aplicação.

Solicitar o download do GUI Builder — preencha o formulário online para receber o link de download.

Tem perguntas sobre as soluções de displays para a sua empresa? Entre em contato conosco!

Assinar

Receba e-mails sobre novas atualizações da Winstar

Entre em contato conosco

Preço/Ficha de dados/Consulta geral

Suporte técnico

Entre em contato conosco para qualquer informação técnica

go top
Contato
close

Valorizamos sua privacidade

Ao clicar em "Permitir todos os cookies", você concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar o uso do site e auxiliar nossos esforços de marketing e desempenho. Você pode encontrar mais informações sobre esse assunto em nossa política. Política de privacidade

Valorizamos sua privacidade

A Winstar e certos terceiros utilizam cookies no site www.winstar.com.tw. Os detalhes sobre os tipos de cookies, sua finalidade e as partes terceiras envolvidas estão descritos abaixo e em nossa Política de Cookies. Clique em “Permitir todos” para consentir o uso de cookies e obter a melhor experiência possível em nossos sites. Você também pode definir suas preferências ou rejeitar cookies (exceto os estritamente necessários).

Gerenciar preferências de consentimento

Sempre ativo
Cookies essenciais

Esses cookies são essenciais para permitir que você navegue pelo site e utilize seus recursos, como definir suas preferências de privacidade, fazer login ou preencher formulários.

Cookies de análise

Também conhecidos como "cookies estatísticos", esses cookies coletam informações sobre como você utiliza um site, como quais páginas você visitou e em quais links você clicou. Veja os detalhes.