Pergunta

  1. Será que o cartão de interface CAN provável ser instalado como uma porta COM?

  2. Como faço para acabar com uma mensagem a ser enviada como quadros separados? Que tal montar dados de vários quadros recebidos em uma mensagem? Será esta uma preocupação válida?

  3. O que é a pilha CANopen? Se eu já tenho uma API para se comunicar com portas seriais, posso ter meu programa de leitura / enviar mensagens CANopen sem a pilha CANopen? O que faz exatamente o meu programa tem que fazer?

  4. O que é a maneira ideal / correto de implementação do dicionário de objetos (OD) em software?

(situação atual:. Eu tenho que escrever um programa Java para interpretar mensagens CANopen Devido fazer certas circunstâncias, eu sou incapaz de chegar em minhas mãos o hardware CAN).

(Este é continuação da série de perguntas Stack Overflow Tenho postado na semana passada em Java e CANopen .)

Foi útil?

Solução

  1. Isso depende de seu cartão de interface. Mas, muito provavelmente, não será uma porta COM, mas você vai ter um arquivo DLL que exporta funções para acessar o cartão (a maioria das interfaces CAN disponíveis são conectados via porta USB ao seu PC). Mas não se preocupe: mesmo que ele não é um padrão oficial, a maioria desses arquivos DLL usar as mesmas funções para que você possa trocar sua interface CAN com outro de outro fabricante sem problemas

  2. .
  3. É muito incomum para enviar tantos dados sobre o barramento CAN que você tem que dividi-los em vários quadros. Mas se você absolutamente necessário, então você tem que fazer isso mesmo.

  4. A CANopen pilha é uma biblioteca que fornece funções de nível superior para você usar. Ele cuida de tudo CANopen exige (por exemplo, batimentos cardíacos) para que você não tem que fazê-lo sozinho. Uma boa pilha também cuida de vários quadros (2). Infelizmente, essas pilhas não estão disponíveis para barato, mas IMHO eles são vale a pena.

  5. A maioria das implementações usar um struct, seja em ROM ou RAM, dependendo se o OD podem ser modificados ou não. Mas um bom CANopen pilha também já cuida disso para você.

Outras dicas

3) Enquanto uma pilha comercial CANopen é certamente uma boa idéia, ainda é possível ler / enviar mensagens CANopen sem usar um.

Nós não sabemos o que o propósito da sua aplicação é. Mas um exemplo, quando você provavelmente seria bem sem uma pilha CANopen é se você já tem um barramento CANopen funcionando com nós mestre e escravo e você só quer ouvir em uma mensagem particular. Outro exemplo poderia ser se você estiver escrevendo uma pequena configuração ou utilitário de teste com um pequeno e bem definido conjunto de mensagens que estão sendo usadas. Em tais casos, uma pilha CANopen comercial full-blown poderia ser um monte de exagero.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top