Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Опрос ПР103 по ModBus RTU дргугого устройства, работаеющего по ModBus RTU

  1. #1

    По умолчанию Опрос ПР103 по ModBus RTU дргугого устройства, работаеющего по ModBus RTU

    Добрый день! Стоит задача ПР-кой опросить (по ModBus RTU) устройство, которое, в свою очередь работает по ModBus RTU.

    Опишу принцип опрашиваемого устройства: Есть блок обработки информации (мастер) и 64 канала для опроса периферийных устройств ( датчиков). В описании протокола говорится: "Перед чтением прикладных или точечных параметров необходимо выбрать канал. Выбор канала выполняется с помощью команды записи в единичный регистр 40001 (код функции – 06h). Младший байт регистра данных – номер канала (значение «0»- 1-й к***** «63» – 64-й канал). Старший байт регистра данных – адрес протокола «Магистраль» (протокол связи датчиков с блоком обработки информации), используется в технологических и сервисных приложениях для удаленного доступа к подключенным датчикам".

    Вопрос - как настроить алгоритм опроса параметров датчиков ПР-кой? Я должен сначала записать номер нужного мне канала в опрашиваемое устройство? Потом уже настроить опрос по карте регистров? Или иду куда-то не туда? Опыта работы по ModBus малова-то, но стоит такая задача..

  2. #2
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,280

    По умолчанию

    FuelingSystems
    Конкретно какой датчик надо опрашивать? Модель в студию.
    --
    Лоджик>Прибор>Настройки прибора>Настройка порта 1>крутим под задачу.
    Лоджик>Прибор>Настройки прибора>Мастер Modbus>(ПКМ) Добавить устройство>обзываем устройство опроса>прописываем адреса>создаем переменные опроса.
    Имейте ввиду, целочисленные значения в самом Лоджике преобразуются в udint32 (целое без знака 32 бит) независимо от формата читаемого параметра. Даже если читает один регистр (2 байта\16 бит).
    Вложения Вложения
    Последний раз редактировалось Sulfur; 08.09.2025 в 12:22.

  3. #3

    По умолчанию

    Если у Вас "другое устройство" тоже Master, то засада. Два мастера в одной сети не дружат!

  4. #4

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    FuelingSystems
    Конкретно какой датчик надо опрашивать? Модель в студию.
    --
    Лоджик>Прибор>Настройки прибора>Настройка порта 1>крутим под задачу.
    Лоджик>Прибор>Настройки прибора>Мастер Modbus>(ПКМ) Добавить устройство>обзываем устройство опроса>прописываем адреса>создаем переменные опроса.
    Имейте ввиду, целочисленные значения в самом Лоджике преобразуются в udint32 (целое без знака 32 бит) независимо от формата читаемого параметра. Даже если читает один регистр (2 байта\16 бит).
    Прилагаю описание прибора,который надо опросить (https://disk.yandex.ru/i/KB57fULPsA63nw) и выдержку из описания протокола (https://disk.yandex.ru/i/uzSfC5whN2O7lg).

  5. #5

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Если у Вас "другое устройство" тоже Master, то засада. Два мастера в одной сети не дружат!
    Там есть два интерфейса RS-485, по логике вещей вторичный блок устройства опрашивает датчики сами, а ПР-ка уже по второму RS-485 опрашивает само устройство (оно умеет выводить данные), загвоздка как раз в том, как правильно ПР-кой опросить..

  6. #6
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,280

    По умолчанию

    FuelingSystems
    Не нашел в мануалах как установить параметры связи по порту. Насколько я понял, там есть Езернет, и если он не занят, то можно связываться по нему.
    По чтению:
    1. По умолчанию адрес прибора 50h или 80dec, это надо указать в настройках устройства опроса в Лоджике.
    2. Например надо опросить -значение средней плотности продукта Рср.,г/см3. В сетевой переменной проекта Лоджика ставим адрес 16dec, читаем в переменную тип "вещественный" (float). Третий регистр (18dec) можно не читать.
    3. Далее надо опросить -значение уровня подтоварной воды Нв.,мм. Аналогично предыдущему, только адрес 19dec. Так же третий регистр состояния, он будет иметь адрес 21dec, читаем по желанию отдельным запросом в целочисленную переменную.
    4. Если требуется читать регистры состояний, то скорее всего придется делать макрос на ST для их дешифровки.
    5. Если получаемые данные будут аномальными, то потребуется поиграть с чередованием старших\младших байт\регистров в настройках устройства опроса.
    Проще говоря, читаем требуемый параметр по адресу из мануала, флоат\вещественный занимает 2 регистра\четыре байта\два адреса, целочисленный параметр занимает 1 регистр\два байта\один адрес.

  7. #7

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    FuelingSystems
    Насколько я понял, там есть Езернет, и если он не занят, то можно связываться по нему.
    Это опция, вариант комплектации БСР1. У ТС вариант БРИ1, если я правильно понял. Нужно полный вариант документации смотреть, а не эти огрызки.

  8. #8

    По умолчанию

    По идее должно быть так:
    Вложения Вложения

  9. #9

    По умолчанию

    Цитата Сообщение от imaex Посмотреть сообщение
    Это опция, вариант комплектации БСР1. У ТС вариант БРИ1, если я правильно понял. Нужно полный вариант документации смотреть, а не эти огрызки.
    Да, при использовании БСР1 возможно наличие Ethernet, но не всегда он есть, задача - получить решение с RS-485. Документация полная тут. ( https://disk.yandex.ru/i/TwIO7Z_ks6gfWA , https://disk.yandex.ru/i/tEp7X7RCqMypEw )

  10. #10

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    По идее должно быть так:
    Спасибо большое. Но тут, получается, номер канала задаётся вручную. Верно?

    Немного неточно описал задачу, извиняюсь уж.. Необходимо чтоб ПР-ка постоянно опрашивала эту "Струну" (либо сразу по всем каналам, либо по установленным во время ПНР (например 2й, 3й, 10й и т.д.)) и управляла отключением насосов, когда уровень ниже уставки и т.д. .. Алгоритм остановки насоса сделаю сам, прошу помощи с алгоритмом опроса. ))

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Подключение устройства по Modbus
    от fizhimik в разделе СПК210, СПК1xx [М01]
    Ответов: 28
    Последнее сообщение: 26.02.2025, 23:04
  2. Ответов: 26
    Последнее сообщение: 31.01.2023, 17:42
  3. Как узнать базовый ModBus адрес устройства для ModBus ASCII?
    от Александр Подыман в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 03.03.2016, 12:49
  4. Ответов: 4
    Последнее сообщение: 18.09.2012, 21:16
  5. ModBus устройства в PLC
    от kucherik в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 22.07.2008, 08:14

Ваши права

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