PDA

Просмотр полной версии : Лимит адресов регистров (ошибка 81 Modbus RS-485)



Energet
01.09.2015, 09:36
Подключил к плк100 расходомер "Взлет" УРСВ-510, через преобразователь интерфейса 232/485. Преобразователь самодельный, но опрашивал расходомер нормально через просмоторщик на ПК. Проблема возникла с опросом адресов регистров расходомера контроллером. В конфигурации ПЛК сделал по стандартной схеме ModBus(Master)- RS485; +Universal modbus device; +32bit input module. Опрашиваю регистры до адреса 32800 без проблем, но при опросе регистра с адресом 32802 или 33114 (как раз нужные мне регистры), сразу появляется ошибка 81 в ModBus. Пробовал менять время опроса, не помогло. Подскажите в чем дело? Ниже скрины конфигурации ПЛК(с рабочим и нерабочим регистром) и список адресов регистров для расходомера.

19725
19726
19727

capzap
01.09.2015, 09:50
скорее всего Вы не сможете прочитать и единичный регистр по адресу 32769, как раз граница знакового INT-а

petera
01.09.2015, 10:30
скорее всего Вы не сможете прочитать и единичный регистр по адресу 32769, как раз граница знакового INT-а
Да нет в конфигураторе ограничений в 32768.
19730
Дело в чем-то другом.

capzap
01.09.2015, 10:36
так легко же проверить, взять любой проект с использованием библиотек,а не конфигуратора и все сразу решится
и кста, Вы читаете регистры храненич, а не ввода как у ТС

petera
01.09.2015, 11:16
так легко же проверить, взять любой проект с использованием библиотек,а не конфигуратора и все сразу решится
и кста, Вы читаете регистры храненич, а не ввода как у ТС
То же и с регистрами ввода,
19731
Проблем нет.

capzap
01.09.2015, 11:44
я высказался из за чего это может быть, на своих сотках проверить не могу, они дома остались. Имеет смысл наверное обновить прошивку и если она была уже обновлена, переустановить таргеты

Energet
01.09.2015, 11:46
Я читаю из регистров хранения типа целое число, значение 4 байта. Как раз в них и находятся нужные переменные (мгновенный расход Q м3, и расход V+ м3 в час). Посоветуйте какой проект или библиотеку можно попробовать? Если есть, то скиньте для примера.

capzap
01.09.2015, 12:02
http://www.owen.ru/forum/showthread.php?t=13584

petera
01.09.2015, 12:11
Я читаю из регистров хранения типа целое число, значение 4 байта. Как раз в них и находятся нужные переменные (мгновенный расход Q м3, и расход V+ м3 в час). Посоветуйте какой проект или библиотеку можно попробовать? Если есть, то скиньте для примера.
Тогда почему на Ваших скринах из первого поста регистр ввода, а не регистр хранения?

Energet
04.09.2015, 20:24
Тогда почему на Ваших скринах из первого поста регистр ввода, а не регистр хранения?

Я пробовал с командой Read holding register - вообще ничего ни до регистра 32800 ни после, регистры индицируют "0" вместо параметров, но аварии 81 нет при этом. Мне сдается что сам расходомер не дает считывать эти регистры. Пробовал на другом, то же самое. Пытался связаться с техподдержкой, но её не обнаружил (одни менеджеры по продаже). Всё что не нужно (настройки измерений, частота кварца и тому подобное) с него считывается без проблем, а накопленный объем и мгновенный расход по нулям. Мало того в списке регистров несколько раз под разными адресами встречаются накопленные объемы V+ и V- для четырех каналов(в зависимости от исполнения расходомера). Все перепробовал. Пока в тупике.