Просмотр полной версии : Чтение маски значений входов МВ110-16Д из панели Weintek
Здравствуйте,
Имею панель Weintek и 5 различных модулей ввода МВ110 присоединенных по Modbus RTU. Показатели аналоговые с МВ110-8А читаю с коммандой 3х к примеру, 3х-16#4 и тип 32bit Float, все вроде работает. Не могу никак подобрать тип и адрес регистра для чтения битовой маски значений входов модуля МВ110-16Д. В документации указан регистр 51 и тип int16, пробовал в Weintek 3х-64#51 и тип 16bit Signed (где 64 адрес модуля), но ничего не выдает. Собственно вопрос как этот регистр прочитать, какую команду и тип использовать в Weintek/EasyBuilder Pro.
Спасибо!
Используйте функцию 4х по крайней мере я ей читаю битовые маски модулей МК.
4х-64#51
Используйте функцию 4х по крайней мере я ей читаю битовые маски модулей МК.
4х-64#51
Попробовал 4х, без изменений, лейбл который должен был отображать значение регистра пуст.
16bit Signed - надо unsigned.
Команда чтение без разницы, что 3х, что 4х - модуль поддерживает обе.
А вообще проще использовать адресные метки, и считывать побитно
16bit Signed - надо unsigned.
Команда чтение без разницы, что 3х, что 4х - модуль поддерживает обе.
А вообще проще использовать адресные метки, и считывать побитно
Попробовал 16bit Unsigned, не помогает.
Можно поподробнее насчет адресных меток и считывания побитно? Какие команды, адреса используются для этого? Если так можно считывать отдельные биты в этой маске это было бы еще лучше.
а Вы уверены что модуль в сети?
а Вы уверены что модуль в сети?
При подключении этой сети к компу с через АС4, конфигуратор видит модуль и вроде все входы работают правильно. При подключении к панели все остальные модули (МВ110-8А) работают, этот МВ110-16Д тоже мигает, вроде как запросы к нему идут. Плюс, когда в программе панели я пытаюсь использовать явно отсутствующие адреса модулей или команды он выдает ошибку отсутсвия ПЛК (PLС no response), здесь же он просто ничего не выдает на элементы которые должны отображать данные с этого регистра. То есть, по всем параметрам модуль он видит и обращается к нему, но что-то не то с данными, то ли типы то ли регистры не те.
Проверил пакеты пересылаемые между панелью и сетью с помощью EasyDiagnoser, команды посылаемые на МВ110-16Д вида 4х-64#51 и 3х-64#51 возвращают ошибку 12 - Ignore. Пока не знаю что это означает в данном контексте, то ли то что модуль игнорирует панель вообще, то ли конкретно эти команды.
Поставьте 52 в адресе регистра.
Поставьте 52 в адресе регистра.
Заработало! Спасибо! И 3х-64#52, и 4х, и побитовое 3х_Bit-64#5200 все работает. Во всем адрес регистра значит был виноват, в документации к МВ110-16Д везде адрес указан 51, а надо было 52.
В документации адрес указан правильно. И в описании билдера - тоже. Просто они отличаются на единицу.
В документации адрес указан правильно. И в описании билдера - тоже. Просто они отличаются на единицу.
То есть у билдера индексация адресов начинается с 1 тогда как в модулях с 0, понял, спасибо!
То есть у билдера индексация адресов начинается с 1 тогда как в модулях с 0, понял, спасибо!
Протокол в панели надо выбрать соответствующий и будет с нуля.
Brataaaan
26.03.2023, 14:37
Коллега, подскажите пожалуйста что именно делать с адресными метками, чтобы слово можно было побитно прочитать в EBPro? Столкнулся с похожей проблемой, но никак не могу решить.
Коллега, подскажите пожалуйста что именно делать с адресными метками, чтобы слово можно было побитно прочитать в EBPro? Столкнулся с похожей проблемой, но никак не могу решить.
В EBPro можно использовать отдельные биты регистров. В чём конкретно проблема?
Коллега, подскажите пожалуйста что именно делать с адресными метками, чтобы слово можно было побитно прочитать в EBPro? Столкнулся с похожей проблемой, но никак не могу решить.
Так понятнее?66757
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot