1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Работа ModBus TCP Server B&R X20 CP1584

Ответить

Автор темы
Valhalla
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 12 ноя 2020, 13:52
Имя: Слава
Страна: Россия

Работа ModBus TCP Server B&R X20 CP1584

Сообщение Valhalla »

Добрый день! Возникли вопросы по поводу работы modbus tcp server контроллера CP1584. Изначально я настроил конфигурацию таким образом: 100 InputRegs, 100 HoldingRegs. InputRegs работают как надо. HoldingRegs заданы при помощи массивов, т.е. для 100 16 bitых регистра это будет data type octet в количестве 200. Всего 100 16 bitных регистров заданы с помощью 3 разных массивов (например: 0..20, 21..60, 61..99 - для удобства использования данных). В ходе проверки программой modbus poll выяснилось, что когда устанавливаешь первый бит первого uint регистра, программа modbus poll показывает что параллельно идет запись и в первый бит последнего регистра массива. modbus client (панель оператора) подключенный к контроллеру видит то же самое. Но AS показывает что все хорошо, этот первый бит последнего регистра массива не меняется. Почему так может происходить? Пока удалось обойти только создавая каждый регистр отдельно.
Второе: HoldingRegs контроллера совсем не ведут себя как регистры хранения (я могу менять эти регистры с client, но не могу менять с самого контроллера)
Третье: На счет построения обмена данными с панелью оператора weintek: на данный момент я работаю по modbus tcp только через 16 bit регистры. Команды и состояния (индикация) так же пакую в 16 bit регистры. Но по идее, их можно пересылать и с помощью Coils и DiscreteInputs. Как правильнее?
Ответить

Вернуться в «B&R Automation»