PDA

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



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

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

Здравствуйте, Sergey_Byk.

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

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

Sergey_Byk
30.12.2018, 19:24
А в модулях МВ110-8А?

Евгений Багаев
30.12.2018, 19:56
А в модулях МВ110-8А?

В них ничего не менялось

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

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

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

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

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

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

Евгений Багаев
18.02.2019, 12:31
Что можно подкрутить?

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




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

Спасибо за рекомендацию. Замечание учтем.

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

Установил таймаут 20мс, ничего не изменилось.
У ПЛК Max timeout нигде не нашел, есть только poll time.
Почему другим модулям не нужны терминаторы тогда?

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

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

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