Home Soluções Introdução ao protocolo Custom CAN ID para Smart Display

Introdução ao protocolo Custom CAN ID para Smart Display

May 04, 2023

Introdução

Atualmente, o Smart Display oferece suporte à interface de comunicação CAN bus e utiliza o protocolo CANopen. O CANopen é um protocolo de comunicação industrial amplamente utilizado, baseado em CAN bus, com aplicações em diversos segmentos, como equipamentos médicos, veículos, sistemas ferroviários e automação predial. No entanto, ao utilizar o CANopen, é necessário implementar no Host o mecanismo de comunicação correspondente, o que pode aumentar a complexidade em aplicações que precisam apenas de uma comunicação CAN bus mais simples. Para facilitar essa implementação, desenvolvemos o protocolo Custom CAN ID, que dispensa a implementação do CANopen no Host. Em vez disso, os dados podem ser configurados por meio de um arquivo DBC personalizado, permitindo associar CAN IDs e dados aos Widgets do Smart Display e estabelecer uma interação em tempo real. Essa abordagem facilita a interpretação e o controle dos dados do sistema, além de oferecer maior flexibilidade e facilitar a manutenção.

O protocolo Custom CAN ID utiliza principalmente um arquivo DBC (CAN Database) para configurar os dados e definir como as informações CAN interagem com os Widgets do Smart Display. O arquivo DBC contém informações como CAN IDs, formatos das mensagens e regras de decodificação. Com um arquivo DBC personalizado, diferentes CAN IDs e dados podem ser associados aos Widgets do Smart Display, permitindo a interação em tempo real. Por exemplo, CAN IDs e dados podem controlar elementos gráficos ou textos exibidos na tela, enquanto botões ou sliders do display podem ser utilizados para controlar dados CAN. Essa interação facilita a interpretação e o controle dos dados do sistema, proporcionando uma solução flexível e de fácil manutenção.

Entendendo os arquivos DBC

Um arquivo DBC normalmente é um arquivo de texto simples em formato ASCII que contém informações sobre os sinais físicos transmitidos pelo CAN bus, incluindo CAN ID, nome do sinal, fator de escala e definição. Ele é utilizado para decodificar dados CAN brutos em valores significativos e associar diferentes CAN IDs aos respectivos sinais. Dessa forma, o arquivo DBC fornece as informações necessárias para converter o payload das mensagens CAN em valores físicos correspondentes.

Exemplo de decodificação de dados CAN brutos

raw-can-data-testing-data-example01

Se você tiver um arquivo DBC que contenha as regras de decodificação para o CAN ID 0x181, as informações definidas nesse arquivo poderão ser utilizadas para decodificar os dados apresentados a seguir.

raw-can-data-testing-data-example02

Uma das principais funções de um arquivo DBC é descrever as regras de decodificação das mensagens e dos sinais CAN. O exemplo a seguir apresenta dados de teste extraídos de um arquivo DBC:

test-data-description-excerpted-from-dbc-file01

Com base nas informações do arquivo DBC acima, é possível obter os seguintes parâmetros de decodificação:

test-data-description-excerpted-from-dbc-file02

Aplicando as regras de decodificação acima, os dados CAN brutos obtidos anteriormente podem ser convertidos nas seguintes informações:

test-data-description-excerpted-from-dbc-file03

Como mostra o exemplo acima, as configurações definidas em um arquivo DBC permitem decodificar corretamente os valores reais representados pelos dados CAN associados a um determinado CAN ID. O arquivo DBC contém a estrutura e as definições das mensagens e dos sinais CAN, permitindo interpretar os dados CAN brutos e convertê-los nos valores físicos correspondentes, para que o sistema possa compreender as informações transmitidas pela rede CAN.

Editor de arquivos DBC

Como a estrutura e o formato de um arquivo DBC podem ser difíceis de interpretar e editar diretamente, ferramentas específicas podem ser utilizadas para facilitar a criação e a edição de arquivos DBC personalizados. Uma das ferramentas amplamente utilizadas é o Vector CANdb++, desenvolvido pela Vector Informatik GmbH. O software oferece uma interface gráfica para criar e editar arquivos DBC, adicionar mensagens e sinais e definir parâmetros relacionados, como IDs de mensagens, bits iniciais, comprimentos, fatores de escala e offsets.

dbc-editor

Smart Display GUI Builder – Configuração do Custom CAN ID

O Smart Display GUI Builder oferece uma interface intuitiva para a criação de projetos Custom CAN ID. Basta importar um arquivo DBC e associar as Messages/Signals aos Widgets correspondentes para habilitar a exibição de dados e a interação no Smart Display. As seções a seguir mostram como criar um projeto Custom CAN ID no Smart Display GUI Builder e configurar a associação entre o arquivo DBC e os Widgets.

Criar um projeto Custom CAN ID

Insira o nome do Project, selecione o tipo de dispositivo Smart Display e, em Protocol, selecione "Custom CAN Id (CANbus)" para criar um projeto Custom CAN ID.

create-custom-can-project

Importar um arquivo DBC personalizado

Acesse a página DBC Viewer e clique em "Load DBC File" para importar um arquivo DBC personalizado. Após a importação, é possível visualizar as Messages, Signals e demais informações de configuração definidas no arquivo DBC.

import-custom-dbc-file

Configurar os Widgets Gauge e Horizontal Slider

Selecione o objeto Gauge e, na seção CAN Signal das propriedades do Gauge, defina Message como EEC1 e Signal como EngSpeed. Dessa forma, o Gauge fica associado ao EngSpeed. Após a configuração, o valor exibido pelo Gauge será atualizado de acordo com o valor de EngSpeed.

add-gauge-and-horizontal-slider-widget-in-the-main-page

Selecione o objeto Horizontal Slider e, na seção CAN Signal das propriedades do Horizontal Slider, defina Message como HorizontalSliderMessage e Signal como HorizontalSliderSignal1. Dessa forma, o Horizontal Slider fica associado ao HorizontalSliderSignal1. Após a configuração, a posição do Horizontal Slider será atualizada de acordo com o valor de HorizontalSliderSignal1.

add-gauge-and-horizontal-slider-widget-in-the-main-page02

Simular a interação entre CAN ID / CAN Data e Widgets

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

add-gauge-and-horizontal-slider-widget-in-the-main-page03

Após iniciar o simulador, mova o slider EngSpeed na parte inferior para simular o envio de dados EngSpeed pelo Host e observe as alterações correspondentes no Gauge exibido no simulador. O Message Log à direita mostra as alterações no CAN ID e nos CAN Data. Também é possível operar o Horizontal Slider no simulador para simular os dados enviados pelo Device.

add-gauge-and-horizontal-slider-widget-in-the-main-page04

Atualizar a configuração do Smart Display

Após verificar as funções no simulador e confirmar que tudo está operando conforme o esperado, conecte-se ao Device e faça o upload das configurações do Project para o Smart Display.

add-gauge-and-horizontal-slider-widget-in-the-main-page05

Aguarde até que o processo de upload e atualização do Project seja concluído.

add-gauge-and-horizontal-slider-widget-in-the-main-page06

Verificar a interação entre CAN ID / CAN Data e Widgets no dispositivo

Após fazer o upload do Project para o Device, é possível verificar o funcionamento diretamente no Smart Display. Conecte o GUI Builder ao Device e clique em "Test Device" para abrir a Test Device Window e testar a interação entre o Host e o Device.

verify-data-and-the-widget

Test Device Window

A Test Device Window permite simular o envio, pelo Host, dos CAN IDs e CAN Data correspondentes de acordo com a configuração do arquivo DBC. Mova o slider EngSpeed para simular o envio dos dados EngSpeed pelo Host e observe as alterações correspondentes no Gauge do Smart Display. Os registros de dados CAN exibidos na parte inferior da janela mostram o CAN ID e os CAN Data. Também é possível operar o Horizontal Slider diretamente no Smart Display para verificar se os dados enviados pelo Device atendem aos requisitos definidos.

test-device-window

Visualização no Smart Display

actual-display-of-the-smartdisplay-device

Introdução aos comandos Custom CAN

A seguir, é apresentado o protocolo de comandos utilizado pelo Custom CAN. Por meio desses comandos, o Host pode controlar facilmente o Smart Display, incluindo a troca de páginas, o ajuste de brilho e o acionamento do buzzer.

Configuração do CAN ID

O protocolo de comandos utiliza as seguintes configurações de CAN ID:

  • Formato do CAN ID: 29 bits
    CAN ID: 0xEF0000 + 0x7B00 (Channel ID padrão. Esse valor pode ser alterado no GUI Builder.)
 

Formato dos dados de comando

Comando de envio

Header Byte (1 Byte) Length (1 Byte) Payload (N Bytes) CRC (2 Bytes)
Valor fixo: 0x53 (S) Valor = 4 + comprimento do Payload
Tamanho máximo do Payload: 250
Para o conteúdo e o comprimento dos dados, consulte o Payload do comando de envio. Modbus CRC16
 

Comando de resposta

Header Byte (1 Byte) Length (1 Byte) Payload (N Bytes) CRC (2 Bytes)
Valor fixo: 0x52 (R) Valor = 4 + comprimento do Payload
Tamanho máximo do Payload: 250
Para o conteúdo e o comprimento dos dados, consulte o Payload do comando de resposta. Modbus CRC16
 

Payload dos comandos

A seguir são apresentados os parâmetros do Payload de cada comando.

  • Set Brightness: 0x6
    Comando de envio
Command Code 1 Byte 0x6
Brightness 1 Byte Brightness value
 

Comando de resposta

Command Code 1 Byte 0x6
Error Code 1 Byte 0:Success
1:Failed
  • Set Buzzer: 0x7
    Comando de envio
 
Command Code 1 Byte 0x7
Cycle 1 Byte Cycle value
High 1 Byte High value
Low 1 Byte Low value
 

Comando de resposta

Command Code 1 Byte 0x7
Error Code 1 Byte 0:Success
1:Failed
 
  • Set Page Index: 0x8
    Comando de envio
Command Code 1 Byte 0x8
Page Index 1 Byte Page Index value
 

Comando de resposta

Command Code 1 Byte 0x8
Error Code 1 Byte 0:Success
1:Failed
 
  • Get Page Count: 0xA
    Comando de envio
Command Code 1 Byte 0xA
 

Comando de resposta

Command Code 1 Byte 0xA
Error Code 1 Byte 0:Success
1:Failed
High 1 Byte Page Count value
 
  • Get Current Page Index: 0xF
    Comando de envio
Command Code 1 Byte 0xF
 

Comando de resposta

Command Code 1 Byte 0xF
Error Code 1 Byte 0:Success
1:Failed
Page Index 1 Byte Page Index value
 
  • Set Device State: 0x20
    Comando de envio
Command Code 1 Byte 0x20
Device State 1 Byte 0: ConfigMode
1: DisplayMode
 

Comando de resposta

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

Exemplos de transmissão

  • Definir o brilho como 90

transmission-example-set-brightness-to-90

  • Alterar o Page Index para 1.
 

Para trocar de página, primeiro defina o Device State como ConfigMode e, em seguida, envie o comando de troca de página. Após a conclusão da troca de página, defina novamente o Device State como DisplayMode. A sequência de comandos é a seguinte:

transmission-example-switch-page-index-to-1

Simplificando o desenvolvimento de HMI CAN com Custom CAN ID

Com o protocolo Custom CAN ID, é possível definir CAN IDs e CAN Data por meio de um arquivo DBC padrão e utilizar o Smart Display GUI Builder para associar Messages/Signals aos respectivos Widgets, integrando os dados CAN à interface HMI. Para aplicações que não exigem protocolos de comunicação mais abrangentes, como CANopen ou J1939, o Custom CAN ID oferece uma abordagem mais simples para integrar o Host ao Smart Display com base na configuração definida no arquivo DBC.

Antes de conectar um Smart Display físico, também é possível utilizar os recursos de simulação do Smart Display GUI Builder para verificar a interação entre a configuração do DBC, os dados CAN e os Widgets.

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.