Jump to content

    
Samum421

Помогите с CAN шиной

Recommended Posts

Проблема то может быть и с адресацией, руководство программиста (или нечто подобное описывающее ваш протокол связи) есть у вас? Скорость конечно самая капризная у вас как по мне, у нас в одном устройстве нормально работало на 500, в другом точно таком же пришлось снижать до 250. Как у вас с электромагнитной совместимостью, помех рядом нету?

Edited by ELEKTROS

Share this post


Link to post
Share on other sites
7 часов назад, ELEKTROS сказал:

Проблема то может быть и с адресацией, руководство программиста (или нечто подобное описывающее ваш протокол связи) есть у вас? Скорость конечно самая капризная у вас как по мне, у нас в одном устройстве нормально работало на 500, в другом точно таком же пришлось снижать до 250. Как у вас с электромагнитной совместимостью, помех рядом нету?

А что не так со скоростью? У меня вот сейчас на такой же скорости общаются несколько устройств на расстоянии до 5 м. К 2-м из устройств подключены довольно мощные двигатели с ШИМ-ом и с токами до сотен ампер (фазными). И сбоев нет от слова "совсем" (если конечно терминаторы правильно включены). Линия тоже - обычная, даже не экранированная, витая пара.

Иногда есть проблемы с Ethernet-ом на этих девайсах, но только не с CAN-ом.

Так что совершенно определенно - дело не в скорости.  :unknw:

Share this post


Link to post
Share on other sites
On 12/2/2020 at 4:31 PM, x893 said:

Можно и 120 на концах не ставить (интересно почему именно 120 а не 150 ?).

Зачем ? И так пойдет - проверено многократно.

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

Share this post


Link to post
Share on other sites
45 минут назад, bgc сказал:

А о том, что неправильный провод, терминатор и многие подобные плюхи не могут быть четкой причиной описанной проблемы.

Не знаю не знаю. У меня на 1М например если неправильно выставить терминаторы - начинаются как раз похожие проблемы (или полный обрыв связи). На малых скоростях да - может и вообще без терминаторов иногда работать.

Share this post


Link to post
Share on other sites
35 минут назад, jcxz сказал:

У меня на 1М например если неправильно выставить терминаторы - начинаются как раз похожие проблемы (или полный обрыв связи). На малых скоростях да - может и вообще без терминаторов иногда работать.

Совершенно верно, мегабит без терминаторов заставить работать можно с определенными драйверами с бубном и только на столе, на малых скоростях на столе как-то работает.

Share this post


Link to post
Share on other sites
On 12/2/2020 at 1:44 PM, Samum421 said:

Все что знаю, что во время конфигурирования в мастер модуле большое количество ошибок принятых пакетов

убедитесь, что ноды на шине передают сообщения с несовпадающими ID

 

15 hours ago, ELEKTROS said:

Проблема то может быть и с адресацией, руководство программиста (или нечто подобное описывающее ваш протокол связи) есть у вас?

+1

Share this post


Link to post
Share on other sites
16 часов назад, Doka сказал:

убедитесь, что ноды на шине передают сообщения с несовпадающими ID

 

+1

У каждого датчика свой ID. Как только определятся, так сразу же работают нормально, связь есть. 

Share this post


Link to post
Share on other sites
46 минут назад, Samum421 сказал:

У каждого датчика свой ID. Как только определятся, так сразу же работают нормально, связь есть. 

А до того "как определятся" как работают? И что такое "определятся"?

Share this post


Link to post
Share on other sites

Самым лучшим вариантом было бы воткнуть CAN-анализатор + осциллограф. И смотрет, что происходит, когда "шина вешается".

Вот у нас был один косяк с внедрением новой железки: она была на CANopen (хотя за те же деньги, если не дешевле, можно было бы нормальное решение на SEW'овских приводах сделать, запрограммировав один-единственный PDO и подчистив весь мусор), поэтому в качестве прослойки с рабочей сетью еще и преобразователь воткнули. И этот преобразователь так шину нагрузил, что, хоть она всего-то 220м длиной (при скорости в 250кбод), ошибки просто гроздьями стали сыпаться! Пришлось втыкать буфер и отделять проблемный элемент сети до полноценной модернизации всего оборудования (решили переходить уже на ethernet, а CAN только локально использовать).

Share this post


Link to post
Share on other sites
1 hour ago, Eddy_Em said:

...Пришлось втыкать буфер и отделять проблемный элемент сети...

А что это за буфер и куда его втыкали?

Share this post


Link to post
Share on other sites

Активная буферная развязка CAN-шины. По сути — ретранслятор с гальваноразвязкой. Таким образом можно удлинять шину, если нет жестких требований к таймингу сообщений (из-за буферизации она увеличивает таймауты и рилтаймовая система от нее может с ума сойти).

Share this post


Link to post
Share on other sites
15 часов назад, jcxz сказал:

А до того "как определятся" как работают? И что такое "определятся"?

Дело в том, что заранее не известно, сколько датчиков и каких будет присоединено на шину. Поэтому после подключения датчиков, по команде юзера из интерфейса, система начинает опрашивать какие датчики имеются. 

 

И вот процесс определения датчиков то и хромает. Соответственно нужно взяться за CAN и в сущности сделать с нуля опрос. А может и библиотеки и драйверы.

 

Edited by Samum421

Share this post


Link to post
Share on other sites
27 minutes ago, Samum421 said:

Дело в том, что заранее не известно, сколько датчиков и каких будет присоединено на шину. Поэтому после подключения датчиков, по команде юзера из интерфейса, система начинает опрашивать какие датчики имеются. 

 

И вот процесс определения датчиков то и хромает. Соответственно нужно взяться за CAN и в сущности сделать с нуля опрос. А может и библиотеки и драйверы.

 

 

1. А почему новый датчик не может изредка посылать сообщения мастеру, что его подключили ?

Мастер получит сообщение и настроит всё - без участия всаяких "юзеров".

Если от датчика нет сообщений какое-то время, мастер считает, что его (датчик) выключили и не опращивает его.

Опять же датчик (он ведь умный почти как мастер) смотрит, что его давно не опращивали и переходит в п.1

"Юзер" нужен только для физического подключения и отключения датчиков.

Ну и по сигналу от мастера (или датчика) (когда уже полный п.) вызывать главного "юзера" на помощь.

Share this post


Link to post
Share on other sites
11 минут назад, x893 сказал:

1. А почему новый датчик не может изредка посылать сообщения мастеру, что его подключили ?

Я тоже так думаю. Но нужно переписать драйверы CAN. 

Share this post


Link to post
Share on other sites

Заканчиваем флуд. Как правильно заметили это подфорум "предлагаю работу", а не "интерфейсы". ТС сделайте правильно оформленную тему, ТЗ, оплата, контаты, а содержимое этой перенесу в форум по интерфейсам. Модератор. 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.