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

Тема: МВ110-8А. Считывание всех значений одним запросом.

  1. #1
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    83

    По умолчанию МВ110-8А. Считывание всех значений одним запросом.

    В старых модулях МВ110-8А была возможность считывать по модбасу значения ацп всех каналов с адреса 0х0100 одним запросом. В новых моделях этого нет. Зачем убрали? Или я что-то упустил в документации?

  2. #2

    По умолчанию

    Цитата Сообщение от Sergey_Byk Посмотреть сообщение
    В старых модулях МВ110-8А была возможность считывать по модбасу значения ацп всех каналов с адреса 0х0100 одним запросом. В новых моделях этого нет. Зачем убрали? Или я что-то упустил в документации?
    Здравствуйте, Sergey_Byk.

    В новом модуле МВ210-101 тоже есть такая возможность. Читайте одним запросом регистры 0xFA0 (4000 dec) - 0xFB7 (4023 dec). В этом диапазоне значения со всех входов в формате float32.

    В регистрах 4002, 4005, 4008, 4011, 4014, 4017, 4020, 4023 содержится время измерения по каждому каналу. В таблице эти регистры сейчас не указаны. Задача такая перед техническими писателями уже поставлена, обязательно добавим.

  3. #3
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    83

    По умолчанию

    А в модулях МВ110-8А?

  4. #4

    По умолчанию

    Цитата Сообщение от Sergey_Byk Посмотреть сообщение
    А в модулях МВ110-8А?
    В них ничего не менялось

  5. #5
    Пользователь
    Регистрация
    09.01.2017
    Адрес
    Киев
    Сообщений
    206

    По умолчанию

    Можно пожалуйста кратко описать, как конкретно считать одним запросом?

    У меня проблема - ПЛК периодически выдает отказ
    связи с МВ110-8А. При этом температуры всегда нор альные. Polling time игрался, проблема остается.
    Датчики Pt100.

    Что можно подкрутить?
    С другими модулями системы (не 8А) все ок.
    Скорость 57600. контроллеры - плк100 и плк150.
    Заранее спасибо.

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

    По умолчанию

    Евгений Багаев вот, это тема, из-за которой меня забанили, когда я разработчиков назвал по Достоевскому.

    Вы когда делаете регистры по измерению времени между регистрами данных в виде Float делает НЕПРАВИЛЬНО.

    Для того, чтобы понять, что это неправильный подход, вам нужно хотя бы раз столкнуться с системами, которые не умеют выполнять групповой запрос по причине того, что не смогут потом идентифицировать типы переменных. Столкнулся с этим на ModbusPool для Linux при формировании запросов в командной строке, там необходимо указывать тип переменной и указывается тип для всей группы запроса.
    С вашим подходом придется в таком варианте выполнить 8 запросов вместо одного.

  7. #7

    По умолчанию

    Цитата Сообщение от Dmitro Посмотреть сообщение
    Что можно подкрутить?
    Попробуйте увеличить задержку ответа по RS-485 у модуля МВ110-8А до 15-20 мс. У ПЛК таймаут ожидания ответа Max timeout увеличьте до 300-500 мс.
    Установите согласующие резисторы в начале и конце линии 120 Ом.


    Цитата Сообщение от melky Посмотреть сообщение
    Для того, чтобы понять, что это неправильный подход, вам нужно хотя бы раз столкнуться с системами, которые не умеют выполнять групповой запрос по причине того, что не смогут потом идентифицировать типы переменных. Столкнулся с этим на ModbusPool для Linux при формировании запросов в командной строке, там необходимо указывать тип переменной и указывается тип для всей группы запроса.
    С вашим подходом придется в таком варианте выполнить 8 запросов вместо одного.
    Спасибо за рекомендацию. Замечание учтем.

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

    По умолчанию

    Цитата Сообщение от Евгений Багаев Посмотреть сообщение
    Попробуйте увеличить задержку ответа по RS-485 у модуля МВ110-8А до 15-20 мс. У ПЛК таймаут ожидания ответа Max timeout увеличьте до 300-500 мс.
    Установите согласующие резисторы в начале и конце линии 120 Ом.
    Установил таймаут 20мс, ничего не изменилось.
    У ПЛК Max timeout нигде не нашел, есть только poll time.
    Почему другим модулям не нужны терминаторы тогда?

    Решил проблему с МВ110-8А костылем - таймер на непрерывное отсутствие связи в течении 10 с.

  9. #9
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от Евгений Багаев Посмотреть сообщение
    Здравствуйте, Sergey_Byk.Читайте одним запросом регистры 0xFA0 (4000 dec) - 0xFB7 (4023 dec). В этом диапазоне значения со всех входов в формате float32.
    Сигнал датчика давления класса точности 0,5 содержит 8-9 бит информации. Переменная типа int позволяет не только передать эту информацию, но и отформатировать её в удобный для человеческого восприятия вид. А в чём состоит потаённый смысл формата float32? Стоит ли ради передачи местоположения запятой, которое никогда не меняется, в два раза увеличивать трафик?

  10. #10
    Пользователь
    Регистрация
    23.04.2009
    Адрес
    Чеченская респ., с. Чири-Юрт
    Сообщений
    138

    По умолчанию

    В 8А есть регистр 0х100? В руководстве его не нахожу, а опросить все входы за раз хотелось бы. И - если такой возможности нет - что будет лучше: опросить в одном канале (СПК107) 42 регистра, или создать 8 каналов по одному регистру в каждом?

Похожие темы

  1. сумма всех значений за день
    от Vitamin в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 05.08.2016, 12:00
  2. Ответов: 2
    Последнее сообщение: 19.09.2015, 18:36
  3. Считывание данных с модуля МВ110-8А
    от VaBo в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 19.09.2015, 18:36
  4. Ответов: 2
    Последнее сообщение: 23.10.2014, 14:39
  5. Ответов: 1
    Последнее сообщение: 26.04.2010, 17:07

Ваши права

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