Показано с 1 по 10 из 22

Тема: Проблема чтения ПР 200 дискретных входов функцией чтения 02 по протоколу ModBusRTU

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Question Проблема чтения ПР 200 дискретных входов функцией чтения 02 по протоколу ModBusRTU

    Добрый день. Я не сильно программист. ПР 200 в режиме мастер ModBusRTU по RS 485. Есть два разных китайских реле, управляемых по RS 485 modbus. У них есть дискретные входы (регистры Discrete Input Contacts), дискретные выходы и аналоговые входа и выхода. При настройке опроса такого устройства и управления им все работает замечательно, кроме опроса дискретных входов(функция чтения 02 , адрес в сети 1). При настройке опроса, ПР200 в порт посылает следующие строки (пишу без кода CRC):
    -1 вход 01 02 0000 0001 в ПР200 настройки переменной bool, чтение 02, запись нет, регистр 0, бит 0
    -2 вход 01 02 0001 0001 в ПР200 настройки переменной bool, чтение 02, запись нет, регистр 0, бит 1
    -3 вход 01 02 0002 0001 в ПР200 настройки переменной bool, чтение 02, запись нет, регистр 0, бит 2
    и т.д.
    Если оставляю считывать только первый вход(активирую отражение на эране ПР200 только первой переменной = первый вход), все работает, ПР 200 его читает. Как только активирую считывание любого следующего входа, в ответ (при мониторинге порта) получаю от китайца ответ об ошибке код 02. Получается китаец не воспринимает команду 01 02 0001 0001 или 01 02 0002 0001, он видит только команды типа 01 02 0000 0001 или 01 02 0000 0002, 01 02 0000 0003 и т.д. то есть он видит только пакетное считывание начиная с 0-го адреса с заданием количества адресов считывания.
    При этом с китайской панелью оператора это реле отлично работает, потому что при настройке опроса в панеле оператора нескольких битовых переменных, привязанных к входам реле (к примеру четырех), эта панель формирует к реле только один запрос 01 02 0000 0004.

    Это происходит на обоих китайских реле. Они очень дешевые, интересно было бы их поэтому использовать.

    Что я делаю не так? Или это особенность работы ПР200. Может китайцы используют старый протокол…

    Может можно в лоджике поправить, чтобы при опросе регистров Discrete Input Contacts командой 02 он посылал только один запрос считывания для всех битовых переменных, начиная с нулевого адреса.

    Спасибо за внимание.

    P.S. У китайцев нашел еще такие реле, у которых все регистры памяти(все входа-выхода, находятся в области Holding Registers и конечно с ними при опросе с ПР200 нет проблем.
    Средняя цена на такие устройства через алиэкспресс к примеру 8 DI и 8 DO около 1200 руб, столько же примерно стоит 4 AI и 2DO. Есть очень много разных модификаций с небольшим варьированием цены вопроса. С аналоговыми выходами стоят подороже.
    Вложения Вложения

Похожие темы

  1. Проблема с записью регистров в ПР200 по протоколу ModBusRTU
    от BRB.Inc в разделе Среда программирования OWEN Logic
    Ответов: 12
    Последнее сообщение: 25.11.2021, 18:16
  2. Ответов: 1
    Последнее сообщение: 30.01.2020, 23:06
  3. Ответов: 1
    Последнее сообщение: 09.05.2019, 08:45
  4. СП300 Modbus TCP неправильная функция чтения входов
    от multitelecom в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 31.05.2018, 06:53
  5. Функция чтения ТРМ 138
    от Саид в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 22.01.2017, 18:48

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •