Тема: 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 кб, скачивался 41 раз, последний раз 2016-10-31 

Иконка вложения CAN_net_slave_v124.cfd 1.92 кб, скачивался 39 раз, последний раз 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 кб, скачивался 56 раз, последний раз 2016-07-26 

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

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

Файл для Slave

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

Иконка вложения Slave.cfd 1.72 кб, скачивался 64 раз, последний раз 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.

13 (01-05-2017 08:57:09 отредактировано Sapphire)

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

Доброго времени суток всем и с праздником, вопрос в следующем, как заставить работать две canny 5 nano с диаграммами приведенными выше, я собрал блоки но они не работают, что я делаю не так, посоветуйте пожалуйста...

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

Иконка вложения slave 5 nano.cfd 1.56 кб, скачивался 9 раз, последний раз 2017-05-01 

14

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

вот второй

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

Иконка вложения master 5 nano.cfd 993 б, скачивался 8 раз, последний раз 2017-05-01 

15

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

спасибо вопрос закрыт, все получилось

16

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

А как добавить в эти диаграммы датчик температуры чтобы при опред. условиях срабатывал светодиод(при превышении температуры например), не совсем понимаю как установить связь...

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

Иконка вложения master 5 nano.cfd 2.38 кб, скачивался 10 раз, последний раз 2017-05-01 

17

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

вот слэйв

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

Иконка вложения slave 5 nano.cfd 1.6 кб, скачивался 9 раз, последний раз 2017-05-01 

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

Sapphire пишет:

Доброго времени суток всем и с праздником, вопрос в следующем, как заставить работать две canny 5 nano с диаграммами приведенными выше, я собрал блоки но они не работают, что я делаю не так, посоветуйте пожалуйста...

Для CANNY 5 nano следовало создать тему в соответствующем разделе

Sapphire пишет:

А как добавить в эти диаграммы датчик температуры чтобы при опред. условиях срабатывал светодиод(при превышении температуры например), не совсем понимаю как установить связь...

Что конкретно требуется сделать? Кто должен реагировать на превышение температуры? Нужно ли отправлять данные о температуре в CAN?