Форум » » Modbus RTU через RS485 » Ответить

Modbus RTU через RS485

olegdax1: Добрый день. Не получается общаться с контроллером Modbus Carel PCO 5. Ничего не присылает в ответ и не обрабатывает команды. Контроллер slave, адрес 10 (0A в hex), параметры RS485 9600 N 1 8. Со стороны Crestron используется ST-COM (распаяны пины 1 и 9 на "минус", 4 и 6 на "плюс", 5 на "землю"). В программе используется модули Modbus из Crestron Library согласно примеру с сайта. Может быть, есть какие-нибудь подводные камни? На что еще нужно обратить внимание? на ST-COM постоянно светится индикатор RTS (хотя в настройках порта нигде не используется) - это нормально?

Ответов - 8

RuckShot1: Я недавно мучился с модбасом, у меня была проблема в распайки и в правильном написании параметра Number Low Hex в модулях. Если его неправильно указывать, то в ответ не будет приходить ничего..

olegdax1: если переменная имеет десятичный адрес 19, то HIGH-HEX 00, а LOW-HEX должен быть 13? правильно? а распайка в итоге какая получилось? пины 1 и 9 на "минус", 4 и 6 на "плюс", 5 на "землю"? и верно, что для такой задачи не нужен GLA-BMS и дополнительные железки?

RuckShot1: GLA-BMS не нужен, контроллер сам может отправлять команды на modbus. Распайка у вас правильная, и настройки порта тоже. LOW-HEX должен быть 13? - правильно, ага HIGH-HEX 00 - и это верно. Скорее всего вы модули связали не правильно, вы через модуль Modbus Processor пропускаете сигнал? пример программы смотрели?


olegdax1: Да, на основе примера и делаю. На всякий случай: - сигнал с Com-порта и на Com-порт приходит через Modbus Processor. - от модулей переменных команда проходит через Serial Concatenation к Modbus Processor. - и Poll-запросы из Modbus Processor через Ring Counter приходят к модулям переменных (этот механизм мне не совсем понятен с точки зрения логики, но старался оставить максимально приближенно к примеру). Пробовал через родной порт DIN-AP2, но потом понял, что он только 232, теперь использую RS485 от STI-COM. Но всё-равно безрезультатно. В чем еще может быть дело?

RuckShot1: Я вообще поллинг убрал и сделал одностороннюю связь, у меня просто вент машины тупить начинают если их опрашивать... мне кажется проблема в Modbus Carel PCO 5. Там порт активирован в настройках? настройки те же самые стоят? и распайка с его стороны точно правильная? Кидайте проект, хоть логику поглядеть и убедиться что там все правильно...

olegdax1: климатизационщики говорят, что у них всё в порядке.. спасибо, если посмотрите http://files.mail.ru/C0CD010FC7D44CF1B4342D12F40B8AE3

RuckShot1: С виду все вроде предельно ясно и правильно, Мне кажется, что все таки проблема в PCO 5. Либо LOW-HEX значение не верны. Я не знаю по поводу RS485, но на RS232 работало такое: я замыкал с другого конца кабеля + и - и посылал на TX что угодно, тогда сразу на RX тоже самое возвращается, так я проверял целостность кабеля. Попробуйте тоже самое. если все ок, то остается ковыряться в PCO 5, может у него все же адрес не 0А.

olegdax1: когда еще пробовал через RS232, при прямом (или обратном) подключении двух жил данных PCO 5 всегда тут же возвращал переданную ему посылку. Пробовал разные кабели (витые, цельные), да и расстояние там всего метра 2-3. Спасибо, буду копаться в PCO 5.



полная версия страницы