В старых модулях МВ110-8А была возможность считывать по модбасу значения ацп всех каналов с адреса 0х0100 одним запросом. В новых моделях этого нет. Зачем убрали? Или я что-то упустил в документации?
В старых модулях МВ110-8А была возможность считывать по модбасу значения ацп всех каналов с адреса 0х0100 одним запросом. В новых моделях этого нет. Зачем убрали? Или я что-то упустил в документации?
Здравствуйте, Sergey_Byk.
В новом модуле МВ210-101 тоже есть такая возможность. Читайте одним запросом регистры 0xFA0 (4000 dec) - 0xFB7 (4023 dec). В этом диапазоне значения со всех входов в формате float32.
В регистрах 4002, 4005, 4008, 4011, 4014, 4017, 4020, 4023 содержится время измерения по каждому каналу. В таблице эти регистры сейчас не указаны. Задача такая перед техническими писателями уже поставлена, обязательно добавим.
А в модулях МВ110-8А?
Можно пожалуйста кратко описать, как конкретно считать одним запросом?
У меня проблема - ПЛК периодически выдает отказ
связи с МВ110-8А. При этом температуры всегда нор альные. Polling time игрался, проблема остается.
Датчики Pt100.
Что можно подкрутить?
С другими модулями системы (не 8А) все ок.
Скорость 57600. контроллеры - плк100 и плк150.
Заранее спасибо.
Евгений Багаев вот, это тема, из-за которой меня забанили, когда я разработчиков назвал по Достоевскому.
Вы когда делаете регистры по измерению времени между регистрами данных в виде Float делает НЕПРАВИЛЬНО.
Для того, чтобы понять, что это неправильный подход, вам нужно хотя бы раз столкнуться с системами, которые не умеют выполнять групповой запрос по причине того, что не смогут потом идентифицировать типы переменных. Столкнулся с этим на ModbusPool для Linux при формировании запросов в командной строке, там необходимо указывать тип переменной и указывается тип для всей группы запроса.
С вашим подходом придется в таком варианте выполнить 8 запросов вместо одного.
Сигнал датчика давления класса точности 0,5 содержит 8-9 бит информации. Переменная типа int позволяет не только передать эту информацию, но и отформатировать её в удобный для человеческого восприятия вид. А в чём состоит потаённый смысл формата float32? Стоит ли ради передачи местоположения запятой, которое никогда не меняется, в два раза увеличивать трафик?
В 8А есть регистр 0х100? В руководстве его не нахожу, а опросить все входы за раз хотелось бы. И - если такой возможности нет - что будет лучше: опросить в одном канале (СПК107) 42 регистра, или создать 8 каналов по одному регистру в каждом?