Вход

Просмотр полной версии : Таймаут при использовании библиотеки Modbus.lib



NoSt
13.07.2016, 10:26
Здравствуйте.

У меня возникла проблема с задержками при обмене между ПЛК110 и модулями МВ110 и панелями оператора ИП320 по сети RS-485. При обращении в техподдержку ОВЕН мне посоветовали использовать для реализации обмена библиотеку Modbus.lib. Я переписал обмен, используя эту библиотеку и руководствуясь примером с сайта, но теперь я получаю exception 255 (таймаут) при посылке запросов ко всем приборам в линии.
Я уже написал в поддержку ОВЕН по поводу этого вопроса, но ответа пока не получил, поэтому и решил написать сюда. Может быть кто-нибудь уже сталкивался с проблемой такого рода?
Прикладываю сюда старый проект (с использованием конфигурации ПЛК) и новый (с использованием библиотеки Modbus.lib).

Заранее спасибо.

capzap
13.07.2016, 10:41
если честно, тут сложно дать ответ и не только техподдержке, очень много времени понадобиться чтоб прекратить смеяться.
1) если начинаете работать через библиотеку, то в конфигураторе мастер модбас не нужен
2) опрос модулей не возможен за однократное выполнение ПОУ, поэтому чтоб опросить следующее устройство, необходимо дождаться уведомления о выполнении запроса от текущего опрашиваемого модуля
это основное, а по мелочи очень много недостатков

IVM
13.07.2016, 10:52
А чем обмен через конфигуратор не подошел ?

NoSt
13.07.2016, 11:13
Уважаемый capzap! Если вы обратите внимание, то в новом проекте я не использую Modbus Master. По второму пункту - я понял, спасибо за ответ. Буду переписывать.

NoSt
13.07.2016, 11:17
А чем обмен через конфигуратор не подошел ?

Из-за медленного прохождения сигналов.

capzap
13.07.2016, 11:42
Уважаемый capzap! Если вы обратите внимание, то в новом проекте я не использую Modbus Master. По второму пункту - я понял, спасибо за ответ. Буду переписывать.
я не обратил внимание что плк с двумя портами, поэтому не вникал, что там в конфигураторе

NoSt
14.07.2016, 14:56
После того как я переписал программу, чтобы она опрашивала все приборы последовательно (ещё раз спасибо capzap), обмен пошёл. Вот только при обмене сохранились большие задержки. Экспериментальным путём удалось выяснить, что при отключении обмена с панелями задержки пропадают. Причина, похоже, в том, что обмен с панелями не идёт. Прозванивал цепи - в норме, на концах установлены согласующие резисторы номиналом 120 Ом, как и рекомендовано. Пробовал создавать "чистый" проект с одним регистром - то же самое. Пытался подключиться компьютером к панелям и посылать запросы - в ответ получаю только таймауты. Сомневаюсь, что могли выйти из строя порты RS-485 на панелях, но никак не могу сообразить, в чём же может быть причина...

capzap
14.07.2016, 16:24
панели в режиме слейв? попробуйте эти пример протестировать http://www.owen.ru/forum/showthread.php?t=6805&p=143448&viewfull=1#post143448