Canopen

Estou estudando o protocolo Canopen (mais precisamente o lift CiA 417)
Alguém já implementou o CanOpen?
Ler a norma é bem difícil, queria trocar ideias com mais pessoas sobre o assunto.
Acho que já consegui entender o funcionamento mais ou menos.
só que fica aquela duvida se eu realmente entendi oque estava escrito, se eu interpretei certo, se eu pulei algum detalhe.
NMT
- gerencia a rede
- detecta boot up
- usa COB-ID = 0
SDO
- Troca dados de todos os objetos
- geralmente serve para configuração.
- usa COB-ID de 600h+node id para enviar
- Quando precisa responder usa COB-ID de 580h+node id
PDO
- são os dados de processo
- podem ser transmitidos por evento tempo quando requisitado
- no caso do lift existem os pré-definidos (Aqui começam as duvidas)
depois tem as msgs de erro de sync.....
Estou pensando em fazer uma classe de C++ com o protocolo ia começar pelas mensagens NMT.
Alguém já implementou o CanOpen?
Ler a norma é bem difícil, queria trocar ideias com mais pessoas sobre o assunto.
Acho que já consegui entender o funcionamento mais ou menos.
só que fica aquela duvida se eu realmente entendi oque estava escrito, se eu interpretei certo, se eu pulei algum detalhe.
NMT
- gerencia a rede
- detecta boot up
- usa COB-ID = 0
SDO
- Troca dados de todos os objetos
- geralmente serve para configuração.
- usa COB-ID de 600h+node id para enviar
- Quando precisa responder usa COB-ID de 580h+node id
PDO
- são os dados de processo
- podem ser transmitidos por evento tempo quando requisitado
- no caso do lift existem os pré-definidos (Aqui começam as duvidas)
depois tem as msgs de erro de sync.....
Estou pensando em fazer uma classe de C++ com o protocolo ia começar pelas mensagens NMT.