FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 10:38
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

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


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

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

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

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

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

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


Максим (VK - Максим Дунаевский)

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

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


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

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

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

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

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

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


Максим (VK - Максим Дунаевский)

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

Или в этом :



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


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

Максим (VK - Максим Дунаевский)

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

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


Максим (VK - Максим Дунаевский)

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


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

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

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

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


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

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


Максим (VK - Максим Дунаевский)

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

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

А зачем выпаивать, если все и так стоит?


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

Еще. Если есть у Вас хорошая библиотека ModBus для Ардуино, может поделитесь с автором?
У него как раз проблема в библиотеке, на базе которой он написал протокол.


Максим (VK - Максим Дунаевский)
 
vlad Дата: Понедельник, 19.10.2015, 08:28 | Сообщение # 14
Подполковник
Группа: Проверенные
Сообщений: 260
Награды: 0
Репутация: 5
Статус: Offline
у меня правда расстояние порядка 4м и данные ходят булеановские но проблем с зависаниями (тфу 3 раза) нет. обе ардуинки запитанны от одного бп. трансиверы берут питание каждый со своей ардуино. соединенно  все витой парой.
 
Max Дата: Понедельник, 19.10.2015, 08:39 | Сообщение # 15
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Цитата vlad ()
у меня правда расстояние порядка 4м и данные ходят булеановские но проблем с зависаниями (тфу 3 раза) нет. обе ардуинки запитанны от одного бп. трансиверы берут питание каждый со своей ардуино. соединенно все витой парой.

Как сказать "зависание". Данные передаются, но с большими промежутками. Может вообще 15-20-30 мин "молчать", а потом данные поступают... Как бы подвисания. Иногда начинает нормально работать...
У меня на 10 метрах работало нормально (в домашних условиях). Но на объекте порядка 30 метров провод от мастера до слейва.
Вы же не согласовывали сопротивлениями? Дренажный кабель не соединяли?


Максим (VK - Максим Дунаевский)
 
Форум » Баг - Трекер » Архив (Версия 1.11.1) » ModBus (RS485) кривой! (Полное зависание.)
Страница 1 из 3123»
Поиск:

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