1 (26-02-2026 13:54:27 отредактировано Vlad)

Тема: Нестабильная работа RS485/CAN

Добрый день.
Стоит задача поставить конвертер из RS485 в CAN и обратно. По RS485 протокол Modbus.
Используем Canny 7.2 Duo RS. Программа небольшая и цикл 1мс, но периодически выпадают ошибки Timeout по RS485 и по CAN не держит периодичность выдачи 10мс. В чем может быть проблема ?

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

Иконка вложения RS485toCAN.cfd 57.05 кб, скачивался 15 раз, последний раз 2026-02-26 

2

Re: Нестабильная работа RS485/CAN

Для анализа возможных причин или воспроизведения неисправности данных недостаточно.

Рекомендую инструментально проверить физические уровни и корректное терминирование CAN и RS485, проанализировать их логи, особенно в момент сбоя.

См.п.6 здесь: https://canny.ru/docs/tips_tricks/solut … ents_tips/
См.: https://forum.canny.ru/viewtopic.php?pid=9810#p9810

3

Re: Нестабильная работа RS485/CAN

С физикой все должно быть хорошо. Провода использую короткие,  которые в комплекте. Правда по CAN и RS485 заложены не витые пары и пришлось свить. Терминаторы 120 Ом стоят по обеим линиям с обеих сторон. Для подключения и тестирования использую USB конвертеры, которые применялись с другим оборудованием и проблем не было. По логам Modbus видно, что периодически контроллер не отвечает на запросы и это не зависит от периодичности опроса от 100 мс до 1 сек. По линии CAN тоже периодически вместо 10 мс выдает 11 мс. Осциллографом пока нет возможности посмотреть.

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

Лог modbus.png, 197.97 кб, 749 x 670
Лог modbus.png 197.97 кб, скачивался 4 раз, последний раз 2026-03-01 

4

Re: Нестабильная работа RS485/CAN

По логам Modbus видно, что периодически контроллер не отвечает на запросы

Проверили RS485 на стенде с вашей диаграммой и вашими данными - ни единого сбоя.
Могу предположить, что у вас на шине периодически появляется посторонняя активность или помеха. Видимо без осциллографа тут не обойтись.

Если у вас есть второй контроллер, то вы можете проверить стабильность работы вашей диаграммы, используя его как симулятор мастера. См.п.7 здесь: https://canny.ru/docs/tips_tricks/solut … ents_tips/

По линии CAN тоже периодически вместо 10 мс выдает 11 мс

И в этом нет ничего удивительного:

См. "Особенности" здесь: https://canny.ru/docs/fbd/timers_genera … generator/

Точность периода передачи можно потенциально повысить используя драйвер асинхронной передачи в CAN: https://canny.ru/docs/c72duo/acan/

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

5

Re: Нестабильная работа RS485/CAN

Я проверил осциллографом обе шины. По RS485 была проблема с конвертером USB-RS485 на базе чипа CH340 и при замене на конвертер на базе чипа CP2101 проблема со связью исчезла. Хотя это и странный момент, возможно связанный со схемотехникой контроллера Canny. Данные преобразователи применялись с разным оборудованием и таких проблем не возникало. В настоящее время я экспериментирую на столе, а применяться будет в насосной станции для связи промышленного плк с эбу дизельного двигателя. С CAN шиной я попробовал использовать асинхронный драйвер CAN с периодом 5 мс, но он дает разброс от 6 до 8 мс и это может быть критично, так как для управления оборотами необходимо подавать данные с периодом не больше 10 мс.

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

CAN.jpg, 170.78 кб, 720 x 1280
CAN.jpg 170.78 кб, скачивался 3 раз, последний раз 2026-03-03 

RS485_CH340.jpg, 140.73 кб, 720 x 1280
RS485_CH340.jpg 140.73 кб, скачивался 5 раз, последний раз 2026-03-03 

RS485_CP2101.jpg, 152.81 кб, 720 x 1280
RS485_CP2101.jpg 152.81 кб, скачивался 3 раз, последний раз 2026-03-03 

6

Re: Нестабильная работа RS485/CAN

Vlad пишет:

Хотя это и странный момент, возможно связанный со схемотехникой контроллера Canny.

Возможно, однако схемотехника интерфейса RS485 в контроллере типовая. Хорошей идеей будет проверить схемотехнику конвертера, так как осциллограмма на фото RS485_CH340.jpg, как вы можете видеть, не похожа на сигнал RS485, в отличие от осциллограммы на фото RS485_CP2101.jpg


Vlad пишет:

С CAN шиной я попробовал использовать асинхронный драйвер CAN с периодом 5 мс, но он дает разброс от 6 до 8 мс и это может быть критично, так как для управления оборотами необходимо подавать данные с периодом не больше 10 мс.

При использовании драйвера асинхронной передачи CAN мы подобного разброса не наблюдали. Без диаграммы и полного лога с отметками времени каждого сообщения сложно судить о причинах подобного разброса у вас.

7

Re: Нестабильная работа RS485/CAN

Лог и диаграмма в приложении

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

Иконка вложения RS485toCAN_v1.cfd 57.96 кб, скачивался 5 раз, последний раз 2026-03-03 

Тrасе CAN.png, 44.61 кб, 634 x 625
Тrасе CAN.png 44.61 кб, скачивался 2 раз, последний раз 2026-03-03 

8

Re: Нестабильная работа RS485/CAN

Проверили вашу диаграмму. См.результаты на изображении.
Не каждый CAN-логгер имеет достаточную производительность для точного измерения столь малых периодов.
В данном случае, я бы рекомендовал использовать более производительный CAN-логгер, либо воспользоваться осциллографом.

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

log.png, 322.94 кб, 502 x 912
log.png 322.94 кб, скачивался 4 раз, последний раз 2026-03-03 

9

Re: Нестабильная работа RS485/CAN

Спасибо за техподдержку. Второго CAN адаптера у меня пока нет. Буду собирать и тестировать на реальном оборудовании.