Всех приветствую, реализовываю объект, параллельно решил написать статью о параллельном опросе датчиков в модуле ОВЕН МВ110-8А.
Если опрашивать датчики через обычный конфигуратор в Codesys 2.3, то при опросе каждого датчика мы теряем 100 мс времени.
Существует способ сократить время, и опрашивать групповым опросом. О нем мы и напишем.
Способ группового опроса модуля
Вот такая последовательность действий, открываем конфиг:
Добавляем мастера и прикручиваем модуль аналогового ввода.
Настраиваем связь для опроса:
Добавляем модуль
Модуль с адресом 1
Теперь нам нужно добавить строковые переменные. нужные нам байты данных будем получать со строки.
Указываем длину строки и адресацию
Загрузите библиотеку для работы с памятью
Первая переменная на 1,2,3,4,5,6 каналы входов, вторая на 7 и 8 каналы.
Создаем структуру данных для каждого канала, у нас их 8, для удобства контроля модуля.
Создаем перечисления - статус ошибок.
Создаем функцию парсинга байтов аналоговых входов.
Объявление:
Тело: комментарии написаны в теле, я не буду повторяться в статье. Просто последовательно выставляю скриншоты.
Это ещё не всё, нам нужно из этой функции изъять нужное.
Объявляем переменные и присваиваем структуры, о которых описано выше.
Упаковываем его в нужные нам переменные.
И вытаскиваем, указывая нужное нам свойство.
Подключаем 1 датчик температуры.
Получаем результат и радуемся. Мне по схемотехнике было удобно подключить 5,6,7 каналы.
С уважением, Гридин Семен.