FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Понедельник, 29.05.2017, 14:19
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 3123»
Форум » Баг - Трекер » Архив (Версия 1.11.1) » ModBus (RS485) кривой! (Полное зависание.)
ModBus (RS485) кривой!
Max Дата: Суббота, 17.10.2015, 15:04 | Сообщение # 1
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Во всяком случае у меня так.

Если у вас два устройства, одно из которых мастер, а другое слейв соединенные кабелем витая пара и находится на расстоянии друг от друга более 10 метров и передает слейв данные например с датчиков (у меня 14 датчиков типа DS18), то нормально работать они не будут. Мастер начинает работать  только с нескольких принудительных перезагрузок и не всегда надежно и может в последствии опять зависать.

Так что крайне не рекомендую пока пользоваться возможностями FLProg в реализации интерфейса ModBus!

Сейчас думаю, как выходить из положения (перед заказчиком неудобно очень). Понадеялся я....

Думаю сделать принудительную перезагрузку внутри программы мастера связанное с контролем сигнала со слейва... Но это конкретные костыли, но надо что то делать.

P.S. Если у Разработчика будет желание, то свои файлы проекта могу ему отправить.


Сообщение отредактировал Max - Суббота, 17.10.2015, 18:32
 
Skull Дата: Воскресенье, 18.10.2015, 00:02 | Сообщение # 2
Полковник
Группа: Проверенные
Сообщений: 317
Награды: 8
Репутация: 2
Статус: Offline
Макс, ты бы не спешил кидать кирпичи в огород Сергея, лучше выложи схему, опиши условия работы, какие БП используешь. Вообще идеально- несколько фото девайса.
Возможно, что проблема совсем не в FlProg.

Во-первых забудь про витуху как физический канал для RS485.Она не подходит, проверено многолетним опытом.
Идеально- МКЭШ или двухпроводный микрофонный кабель в экране(КММ 2х0,35 ). Обязательно  заземли экран кабеля в ОДНОЙ точке. Заземли минусы обоих девайсов.
Иначе при такой длине кабеля ты рискуешь остаться вообще без плат- электромагнитную совместимость,статику и разность потенциалов импульсных БП никто не отменял )
Терминаторы, кстати поставил ?


Сообщение отредактировал Skull - Воскресенье, 18.10.2015, 00:30
 
Max Дата: Воскресенье, 18.10.2015, 11:09 | Сообщение # 3
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Цитата Skull ()
Возможно, что проблема совсем не в FlProg.

Так автор сам признал косяки в Мастере.

Другого кабеля под рукой не было. Хотя вот здесь указано про витую пару: Ссылка
Схема обычная. Датчики темп. записывают в переменные ModBus и передают в сеть.
Терминаторы не поставил....
Там все коммуникации (Интернет, датчики все на витой паре).
Шины заземления там нет. Сделаю тогда на стороне мастера к его минусу.

Питание обычное на импульсный б/п на 9В 2А, а на самой плате 7805 со стандартной обвязкой. Раздельно для Ардуино, раздельно для интерфейса. Так на обоих концах.

Схема подключения:

Выложите ссылку на схему подключения. Буду очень рад!
Прикрепления: 6172826.jpg(123Kb)


Сообщение отредактировал Max - Воскресенье, 18.10.2015, 11:23
 
Skull Дата: Воскресенье, 18.10.2015, 13:21 | Сообщение # 4
Полковник
Группа: Проверенные
Сообщений: 317
Награды: 8
Репутация: 2
Статус: Offline
Макс, витая пара это не только комповый сетевой кабель.Подходит только (если не ошибаюсь) кат.6 в экране.
А проблема твоя может быть в этом :

Или в этом :



Емкости в первом случае создают делитель напряжения а во втором- потенциал относительно земли, что и может загонять твои платы в ступор. Земли все, минусы соединяй. Ставь терминаторы ОБЯЗАТЕЛЬНО, потому как проблема твоя проявилась именно на длинной линии. Рядом же все работало.


Сообщение отредактировал Skull - Воскресенье, 18.10.2015, 13:29
 
Max Дата: Воскресенье, 18.10.2015, 15:01 | Сообщение # 5
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Возможно, возможно. Хотя думал, что терминаторы встроены в трансиверы.... Все опять перепроверю.

Сообщение отредактировал Max - Воскресенье, 18.10.2015, 15:02
 
Skull Дата: Воскресенье, 18.10.2015, 15:03 | Сообщение # 6
Полковник
Группа: Проверенные
Сообщений: 317
Награды: 8
Репутация: 2
Статус: Offline
Нет, не встроены. Производитель же не знает сколько  у тебя на линии устройств. Их может быть до 255 ))
 
Max Дата: Воскресенье, 18.10.2015, 16:00 | Сообщение # 7
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Цитата Skull ()
Нет, не встроены. Производитель же не знает сколько у тебя на линии устройств. Их может быть до 255 ))

Терминаторы, как правило 120 Ом, бывают часто встроены.
Проверял омметром вход тех плат что у меня (как на фото у моего поста выше). A и B звонится как 120 Ом..... И на схеме он есть:
Прикрепления: 3095924.jpg(76Kb)


Сообщение отредактировал Max - Воскресенье, 18.10.2015, 16:15
 
Skull Дата: Воскресенье, 18.10.2015, 20:26 | Сообщение # 8
Полковник
Группа: Проверенные
Сообщений: 317
Награды: 8
Репутация: 2
Статус: Offline
Тогда убирай все, кроме крайних. Должно быть вот так :


Сообщение отредактировал Skull - Воскресенье, 18.10.2015, 20:28
 
Max Дата: Воскресенье, 18.10.2015, 22:19 | Сообщение # 9
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Цитата Skull ()
Тогда убирай все, кроме крайних.

Как это убирай? Выпаивать что ли? Они же SMD микроскопические....

К тому же, все вроде по правилам ( на моей схеме модуля RS485 это видно) - терминальные резисторы есть, шунтирующие есть.

Думаю надо подключить дренажный провод, вот так:


Остальное оставлю все как есть. Если нормально не будет работать, то попробуем заменить кабель и уйти от витой пары...

А там в FLProg будет починен Мастер.
Прикрепления: 2520152.gif(4Kb)


Сообщение отредактировал Max - Воскресенье, 18.10.2015, 22:27
 
Skull Дата: Воскресенье, 18.10.2015, 22:28 | Сообщение # 10
Полковник
Группа: Проверенные
Сообщений: 317
Награды: 8
Репутация: 2
Статус: Offline
У тебя сколько трансиверов на линии висит ? 
А что, выпаять- проблема ? )))
 
Max Дата: Воскресенье, 18.10.2015, 22:32 | Сообщение # 11
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Цитата Skull ()
У тебя сколько трансиверов на линии висит ? А что, выпаять- проблема ? )))

У меня пока один мастер и один слейв. Потом прибавится еще два слейва.

А зачем выпаивать, если все и так стоит?
 
Skull Дата: Воскресенье, 18.10.2015, 23:18 | Сообщение # 12
Полковник
Группа: Проверенные
Сообщений: 317
Награды: 8
Репутация: 2
Статус: Offline
Если всего 2 трансивера- ничего паять не надо. Если больше- оставлять надо только по краям линии. Иначе работать не будет.
 
Max Дата: Понедельник, 19.10.2015, 06:57 | Сообщение # 13
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Цитата Skull ()
Иначе работать не будет.
Так зависает в текущем состоянии. Попробую подключить дренажную линию, может поможет.
Еще вижу тему замены кабеля.

Еще. Если есть у Вас хорошая библиотека ModBus для Ардуино, может поделитесь с автором?
У него как раз проблема в библиотеке, на базе которой он написал протокол.
 
vlad Дата: Понедельник, 19.10.2015, 08:28 | Сообщение # 14
Полковник
Группа: Проверенные
Сообщений: 324
Награды: 0
Репутация: 5
Статус: Offline
у меня правда расстояние порядка 4м и данные ходят булеановские но проблем с зависаниями (тфу 3 раза) нет. обе ардуинки запитанны от одного бп. трансиверы берут питание каждый со своей ардуино. соединенно  все витой парой.
 
Max Дата: Понедельник, 19.10.2015, 08:39 | Сообщение # 15
Гуру
Группа: Проверенные
Сообщений: 587
Награды: 15
Репутация: 4
Статус: Offline
Цитата vlad ()
у меня правда расстояние порядка 4м и данные ходят булеановские но проблем с зависаниями (тфу 3 раза) нет. обе ардуинки запитанны от одного бп. трансиверы берут питание каждый со своей ардуино. соединенно все витой парой.

Как сказать "зависание". Данные передаются, но с большими промежутками. Может вообще 15-20-30 мин "молчать", а потом данные поступают... Как бы подвисания. Иногда начинает нормально работать...
У меня на 10 метрах работало нормально (в домашних условиях). Но на объекте порядка 30 метров провод от мастера до слейва.
Вы же не согласовывали сопротивлениями? Дренажный кабель не соединяли?
 
Форум » Баг - Трекер » Архив (Версия 1.11.1) » ModBus (RS485) кривой! (Полное зависание.)
Страница 1 из 3123»
Поиск:

FLProg © 2017
Яндекс.Метрика