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

Тема: ПР-200 и обмен по Modbus

  1. #1
    Пользователь Аватар для lyamzin
    Регистрация
    02.03.2022
    Адрес
    Кемерово
    Сообщений
    10

    По умолчанию ПР-200 и обмен по Modbus

    Здравствуйте!
    Я новичок, прошу помощи у профессионалов.

    Поставлена задача прочитать значения датчиков давления и передать их в ПР-200.
    Есть - модуль PROMODEM MODBUS Slave ZigBee 485-20ma - к нему подключены два датчика давления ПД-Р 4-20. Значение токового сигнала около 3.8ma - физически давления нет, просто лежит на столе.
    Также есть модуль PROMODEM Modbus Master ZigBee 485 - он связан витой парой с ПР-200 и по беспроводному каналу ZigBee с модулем Slave описанным выше.

    Связь есть, опрос ведется, судя по индикации на модулях.

    При настройках опроса в ZigBee Modbus создаётся таблица, в которой прописывается адрес устройства и адрес датчика. Адрес устройства (т.е. модуль Slave) я задал 32, и датчики 1 и 3 соответственно.

    В Owen Logic в настройках опроса настроил так:
    1.JPG
    2.JPG
    3.JPG

    В руководстве по эксплуатации на модемы есть таблица:
    5.JPG

    А сама программа примитивна, важнее скорее научиться сочетать беспроводные и проводные интерфейсы между собой.

    4.JPG

    Думаю, проблема где-то либо в программе, либо в несоответствии типов/регистров/адресов.

    Буду очень благодарен, если кто-либо поможет или подскажет где можно прочитать максимально просто о работе и настройке Modbus.
    С уважением!

  2. #2

    По умолчанию

    Опрашиваете датчики переменной с плавающей запятой, а в программе у вас Var1 и Var2 вдруг стали целочисленные. Как вы их целочисленными сделали? И суммируете уже целочисленные.
    В модеме написано приём значений в милливольтах, там входы для чего предназначены? Полученное значение ещё надо разделить на 59.
    Где это сделано? Как вы границы диапазона давлений будете задавать в ПР? Они у вас в милливольтах, а не в мА.
    Последний раз редактировалось kondor3000; 02.03.2022 в 11:17.

  3. #3
    Пользователь Аватар для lyamzin
    Регистрация
    02.03.2022
    Адрес
    Кемерово
    Сообщений
    10

    По умолчанию

    Спасибо за замечания.
    Ошибку с типом переменной исправил. Связался со службой техподдержки компании Promodem, они посредством программы ZigBee Modbus проверили настройки:
    11.JPG

    Далее через ModbusPoll проверили сам опрос с такими настройками:
    12.JPG

    Опрос идет, значения 229 и 231 это значения напряжения с первого и второго датчика соответственно, которые потом при делении на 59 (по формуле из РЭ) преобразуются в значение токового сигнала.

    Теперь не могу разобраться, какие настройки записать в ПР-200, чтобы начать опрос:
    13.JPG

    Программа теперь выглядит таким образом:
    14.JPG

    Но в режиме онлайн-отладки все равно не показывает значение.

  4. #4
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,999

    По умолчанию

    А разве в онлайн будет опрос идти с устройством?

    У вас del никуда не привязана, сделайте ее энергонезависимой или подключите к переменной экрана или временно к выходу любому.

    И да, когда будете потом программу составлять, переменные опроса не должны быть импульсными.

  5. #5

    По умолчанию

    Тогда переменные Var1 и Var2 ставьте целочисленными и 1 регистр для каждого. Адрес устройства 16, Адрес регистров 0 и 1. Обе переменные надо разделить на 59, а выходы сделать энергонезависимыми или привязать к экрану.
    Последний раз редактировалось kondor3000; 02.03.2022 в 14:39.

  6. #6
    Пользователь Аватар для lyamzin
    Регистрация
    02.03.2022
    Адрес
    Кемерово
    Сообщений
    10

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    А разве в онлайн будет опрос идти с устройством?

    У вас del никуда не привязана, сделайте ее энергонезависимой или подключите к переменной экрана или временно к выходу любому.

    И да, когда будете потом программу составлять, переменные опроса не должны быть импульсными.
    Честно говоря, думал что по аналогии с Codesys 2.3 при подключении к контроллеру будет опрос происходить. В таком случае я изначально ошибся, думал что в онлайн режиме можно будет отслеживать показания с датчиков. Спасибо.

    Можете пояснить, что значит "переменные опроса не должны быть импульсными"? Необходимо увеличить время опроса?

  7. #7
    Пользователь Аватар для lyamzin
    Регистрация
    02.03.2022
    Адрес
    Кемерово
    Сообщений
    10

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Тогда переменные Var1 и Var2 ставьте целочисленными и 1 регистр для каждого. Адрес устройства 16, Адрес регистров 0 и 1. Обе переменные надо разделить на 59, а выходы сделать энергонезависимыми или привязать к экрану.
    Спасибо, сегодня проверить уже не получится - завтра с утра попробую и отпишусь здесь о результатах.

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,999

    По умолчанию

    lyamzin если у вас опрос по переменной и вы подадите импульс логической 1-цы, то никакого опроса не произойдет. 1-ца должна быть на весь период опроса выставлена. А период увеличен до максимума или более времени опроса. Поищите видео от Юрия Ревака, он это показывал в видео.

    з.ы. мне такой подход тоже не очень нравится, по мне было бы корректнее подать импульс в программе, а ПР сам должен провести весь опрос и получить ответ и только потом заткнуться...

  9. #9
    Пользователь Аватар для lyamzin
    Регистрация
    02.03.2022
    Адрес
    Кемерово
    Сообщений
    10

    По умолчанию

    Доброе утро всем!
    Все получилось настроить, опросить, вывести на экран.
    Распишу по пунктам, вдруг кому пригодится (типа новичков вроде меня)

    1. Выполняем физические подключения модемов и датчиков. У меня два модема Promodem Modbus Slave ZigBee 485-20mA-DC24G и один Promodem Modbus Master Zigbee 485-AC.
    К каждому из Slave-модемов подключаем датчик давления БД ПД-Р в соответствии со схемой.
    Подключаем Modbus-модем к головному устройству (в моем случае это Овен ПР-200) по интерфейсу RS-485.
    Подаем соответствующее питание.

    2. Через преобразователь RS485-USB подключаемся к Master-модему, запускаем ПО "Promodem ZigBee Modbus".
    Устанавливаем стандартные сетевые настройки - скорость 9600, биты данных 8, четность Нет, число стоп-бит 1.
    В приложении запускаем обнаружение, в поле обнаружения должны появиться изображения Slave-модемов. Перетаскиваем их в таблицу соответствия.
    Присваиваем каждому slave-модему в графе "устройство" идентификационный номер для сети ZigBee (как я понял, по ним Master-модем будет опрашивать устройства в сети)
    Присваиваем в графе "датчик" Modbus-адрес, тот, по которому мы будем опрашивать из головного устройства (ПР-200). Двум аналоговым каналам на slave-модеме соотвествует один modbus-адрес. Опрос будет проводиться по регистрам (0 и 1 для датчиков 1 и 2 канала соответственно)
    Снимокрлмн.JPG

    3. Производим настройку в Owen Logic.
    В настройках прибора ПР-200 делаем мастером, указываем параметры сети такие же, как в настройках Master-модема.
    21.JPG
    Далее добавляем два slave-устройства, называем их чтобы не запутаться
    В каждом из устройств проводим настройку опроса, вводим в поле адрес тот Modbus-адрес, который прописывали в графе "датчик" ПО по настройке Master-модема.
    Создаем переменные, указываем тип (целочисленная), регистр (0 для 1 аналогового канала, 1 для 2 канала), функцию (чтение 0х04), функцию запуска чтения и состояния для этой переменной, и переменные для запуска опроса/состояния устройства в целом.
    22.JPG
    23.JPG
    В поле программы привязываем константы со значением 1 к переменным отвечающим за запуск опроса, для того, чтобы при запуске программы опрос начинался сразу.
    Сетевые переменные передают значение в mV, для преобразования значения напряжения на входе канала необходимо разделить это значение на 59.
    Результатом деления будет искомое значение, переменную которой для отображения в режиме онлайн-отладки необходимо сделать энергонезависимой, либо вывести на экран.
    24.JPG

    Результатом всего этого является увеличение дальности связи между датчиками и контроллером, без необходимости прокладывания шины RS-485.

    Всем огромное спасибо за советы по решению данной проблемы!

  10. #10

    По умолчанию

    Немного неправильно вы сделали , у вас вместо 3.95 - 4.0 мА получилось 3 мА ( вы потеряли 1/4 часть показаний давления). Надо было 229 сразу перевести во флоат, а потом уже делить на 59.0.
    Последний раз редактировалось kondor3000; 03.03.2022 в 08:34.

Похожие темы

  1. Обмен Modbus RTU библиотекой Modbus.lib
    от Silver21 в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 08.09.2016, 06:32
  2. ОВЕН и обмен по modbus TCP
    от Alex12345 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 13.09.2013, 14:25
  3. Обмен данными по ModBus
    от Vladimir_O в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 30.11.2012, 12:36
  4. Обмен данными по Modbus TCP/IP
    от tea в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 05.08.2011, 08:52
  5. Тормозит обмен по Modbus
    от Алексей Дмитриев в разделе ПЛК63/73
    Ответов: 14
    Последнее сообщение: 23.04.2011, 11:27

Ваши права

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