Тема: CAN-сеть из 2-х контроллеров CANNY 7

Демонстрационный пример, иллюстрирующий объединение 2-х програмируемых логических контрллеров CANNY•7 в сеть, используя шину CAN.
Master передает в сеть состояние своих входов. Slave, считывает полученную информацию о состоянии входов Masterа и устанавливает на своих каналах такое же состояние.
Функциональная диаграмма контроллера Master:
http://forum.canny.ru/files/can_net_master_prev.png
Функциональная диаграмма контроллера Slave:
http://forum.canny.ru/files/can_net_slave_prev.png
Демонстрационный стенд в сборе (шнуры miniUSB используются только для питания демонстрационных плат):
http://forum.canny.ru/files/can_net_prev.jpg
Демонстрация работы примера (анимированный GIF 640х480 - 10,37Мб):
http://forum.canny.ru/files/can_net_prev.jpg
Архив с документацией и исходными файлами проекта: http://forum.canny.ru/files/can_net.zip

UPD 31.10.2016: Добавлены диаграммы, актуализированные для CannyLab версии 1.24.

Вложений в сообщении

Иконка вложения CAN_net_master_v124.cfd 1.45 кб, скачивался 35 раз, последний раз 2016-10-31 

Иконка вложения CAN_net_slave_v124.cfd 1.92 кб, скачивался 32 раз, последний раз 2016-10-31 

2

Re: CAN-сеть из 2-х контроллеров CANNY 7

Добрый вечер. Покажите пожалуйста показать на примере функциональной диаграммы передачу не только включения выключения разных каналов но и паралельная передача данных от датчика DS18X20 и так-же будет функционировать в 5 nano?

3

Re: CAN-сеть из 2-х контроллеров CANNY 7

И можно ли использовать оба контроллера как MASTER что бы управлять можно было и с того и с другого контроллера.

Re: CAN-сеть из 2-х контроллеров CANNY 7

gavralex пишет:

Добрый вечер. Покажите пожалуйста показать на примере функциональной диаграммы передачу не только включения выключения разных каналов но и паралельная передача данных от датчика DS18X20 и так-же будет функционировать в 5 nano?

В данном примере, для передачи команд на включение каналов, используется только 2 байта CAN-сообщения. Остальные 6 байт свободны и могут быть использованы для передачи другой информации в том же сообщении.
Следует учитывать изменение длины отправляемого сообщения - указывать нужное значение количества передаваемых байт в регистре CAN ERL.
В canny5 nano драйвер CAN работает аналогично. В нем такой подход так же будет нормально работать.

gavralex пишет:

И можно ли использовать оба контроллера как MASTER что бы управлять можно было и с того и с другого контроллера.

В данном примере разделение на MASTER и SLAVE условное -  один передает команды, второй является исполнителем. Каждый из контроллеров может работать независимо и участвовать в обмене информацией - передавать свои данные, однако при этом следует использовать разные CAN ID - свой для каждого контроллера.

5

Re: CAN-сеть из 2-х контроллеров CANNY 7

Подскажите что делаю не так файл для Master

Вложений в сообщении

Иконка вложения Master.cfd 1.73 кб, скачивался 50 раз, последний раз 2016-07-26 

6 (26-07-2016 10:52:00 отредактировано gavralex)

Re: CAN-сеть из 2-х контроллеров CANNY 7

Файл для Slave

Вложений в сообщении

Иконка вложения Slave.cfd 1.72 кб, скачивался 51 раз, последний раз 2016-07-26 

Re: CAN-сеть из 2-х контроллеров CANNY 7

А какой результат нужно получить?

Диаграммы одна для CANNY5 nano, другая для CANNY7.

...однако при этом следует использовать разные CAN ID - свой для каждого контроллера...

В обеих диаграммах используется один и тот же идентификатор CAN-сообщения. Лучше использовать свой для каждого из контроллеров, например: для одного CAN IDL=0x123, для другого CAN IDL=0x321.

8

Re: CAN-сеть из 2-х контроллеров CANNY 7

понял пробую

9

Re: CAN-сеть из 2-х контроллеров CANNY 7

Подскажите CAN ID разные это D1:D0  и например  D3:D2 или я не правильно понял?

Re: CAN-сеть из 2-х контроллеров CANNY 7

gavralex пишет:

Подскажите CAN ID разные это D1:D0  и например  D3:D2 или я не правильно понял?

Нет не так.

для одного CAN IDL=0x123, для другого CAN IDL=0x321.

11

Re: CAN-сеть из 2-х контроллеров CANNY 7

Спасибо большое все получилось. Вопрос такого характера контролер может отправить только одно CAN сообщение 8 байтное или существуют способы отправлять не сколько сообщений?

Re: CAN-сеть из 2-х контроллеров CANNY 7

gavralex пишет:

Спасибо большое все получилось. Вопрос такого характера контролер может отправить только одно CAN сообщение 8 байтное или существуют способы отправлять не сколько сообщений?

В CAN можно последовательно отправлять сообщения с разными идентификаторами, разной длины (до 8 байт в 1м сообщении) и содержания. Подробнее можно посмотреть тут: http://forum.canny.ru/viewtopic.php?id=12, в частности, пример №4.