Страница 1 из 1

Weintek и связь по MODBUS

Добавлено: 02 мар 2020, 15:59
SDWest
Здравствование. В FLProg версии 6.3.1 создал небольшой проект для связи с панелью Weintek MT8050iE. Возникла проблема, суть которой в отсутствии передачи состояний Coil и DiscreteInputs на панель (панель читает 0x_single_bit для Coil и 1x_single_bit для DiscreteInputs). Причем первые два адреса (0 и 1) передаются без проблем, точно такие же данные в адресах 2 и выше передаются на панель всегда в состоянии true. Такая же ситуация наблюдается с DiscreteInputs. При этом данные (и int и float) из HoldingRegisters летают в обе стороны с любых номеров адресов без ошибок. В EasyBuilder v 6.03.02 пробовал менять типы MODBUS адресации (обычный RTU, Adjustable, Zero Based-Addressing), менял скорости RS-232 от 1200 до 115200 - ничего не изменилось. Не могу понять где ошибка. Прикладываю упрощенный проект в FLProg и файл для Weintek. Буду очень благодарен за помощь.

Weintek и связь по MODBUS

Добавлено: 02 мар 2020, 17:50
KSP
Вот тут: viewtopic.php?t=3629 тема была. могу только добавить, что с год назад я тоже попробовал передавать Coil и DiscreteInputs на панель Weintek которая была мастером и тоже ничего не получилось 4 передаются, а дальше ничего я решил наверное это в панелях так и должно быть. Написал макроссы для битовой маски в панели и пользуюсь.

Weintek и связь по MODBUS

Добавлено: 03 мар 2020, 09:36
SDWest
Спасибо за наводку на тему, сразу её не заметил. Перевел панель в Slave, Atmega в Master и все заработало как надо. Все Coil с любых адресов предаются в обе стороны без ошибок. Переводить все битовые переменный в Holdings совсем не хотелось. Панель в слейве в тестовом прогоне без проблем передавала и принимала по 20 Coil и Holdings. Единственный нюанс - при передаче float на панель нужно ставить CD AB формат.