Фильтр по тематике

Система мониторинга микроклимата

Приведено описание разработанной автором статьи системы мониторинга микроклимата, построенной на базе панели оператора Weintek и датчика температуры и влажности воздуха XY-MD02.

01.03.2025 1516 0
Система мониторинга микроклимата

Введение

Характеристики температуры и влажности воздуха играют огромную роль в жизни человека, животного и растительного мира. Эти параметры должны поддерживаться и контролироваться, например, в теплицах, вивариях, складских помещениях для хранения лекарственных препаратов. В специальных помещениях для сборки космических спутников также необходимо соблюдение особых требований и отслеживание граничных значений для температуры и параметров воздуха. Поэтому в мире создаются и совершенствуются устройства для мониторинга этих параметров и предупреждения персонала при их отклонении от нормы.

Проект

Рассмотрим вариант создания системы контроля температуры и влажности на базе панели оператора и цифрового датчика параметров воздуха.

В качестве панели оператора применена современная панель MT8071iE с сенсорным цветным графическим экраном от компании Weintek [1]. Описание среды разработки программ для таких панелей приведено в статье [2]. Поскольку панель оператора использует для связи с внешними устройствами последовательный интерфейс RS-485, целесообразно применение датчика температуры и влажности воздуха с таким же интерфейсом. В настоящее время выбор подобных датчиков достаточно широк. Например, можно применить датчики: XY-MD02, XY-MD03, XY-MD04, THM-D20E и др. Рассмотрим первый из этого списка датчиков.

Конструктивно датчик XY-MD02 выполнен в малогабаритном пластиковом решётчатом корпусе с размерами: 46×66×29 мм. Его внешний вид приведён на рис. 1.


Этот датчик можно крепить на DIN-рейку или на плоскую поверхность через два отверстия, предусмотренные в корпусе. Краткие технические характеристики датчика:

  • питание: от 5 до 30 В постоянного тока;
  • потребляемая мощность: не более 0,2 Вт;
  • точность измерения температуры: ±0,5°C;
  • точность измерения влажности: ±3,0%;
  • интерфейс: RS-485 с протоколом Modbus RTU;
  • адрес на шине: устанавливается программой от 1 до 247, по умолчанию 1;
  • скорость передачи данных: настраивается программой, по умолчанию 9600 бит/с;
  • формат данных: 8-бит, 1 стоп-бит, без контроля чётности.

Датчик имеет два INPUT-регистра для чтения значений температуры и влажности воздуха и четыре HOLDING-регистра для изменения его параметров. Назначение регистров датчика приведено в табл. 1.


Из таблицы видно, что значения температуры и влажности хранятся в регистрах INPUT по адресам: 0х0001 и 0х0002, соответственно. Значения этих параметров увеличены в 10 раз с целью использования целочисленной арифметики для чисел с десятичными долями. Например, температура 21,5°С будет храниться в регистре датчика в виде целого числа 215. Это необходимо учитывать при разработке программы.

Схема подключения всех устройств системы мониторинга показана на рис. 2.


Широкий допустимый диапазон питающего напряжения датчика XY-MD02 позволяет подключить его к источнику питания панели оператора с напряжением +24 В, не применяя дополнительного источника питания.

Программа

Программа панели оператора для системы мониторинга микроклимата должна отображать на своём экране значения температуры и влажности. Полезным будет отображение на экране календаря и текущего времени. Желательно, чтобы программа автоматически контролировала значения температуры и влажности, сравнивая их с максимальными и минимальными граничными величинами. При выходе значений измеряемых параметров за пределы установленных границ панель должна формировать предупреждающий звуковой сигнал и отображать на экране тревожное сообщение о выходе измеряемого параметра за пределы разрешённого диапазона.

С помощью среды разработки Easy Builder Pro необходимо разместить на главном экране панели оператора следующие элементы: сигнальную панель для тревожных сообщений, календарь с часами, числовые индикаторы для температуры и влажности с текстовыми обозначениями их величин, функциональную клавишу для перехода на экран настроек и битовый тумблер отключения звука. Внешний вид среды разработки для главного окна показан на рис. 3.


Числовые индикаторы данного экрана привязаны к ячейкам памяти LW1 и LW2 с помощью редактирования атрибутов самих числовых индикаторов. Эти ячейки будут ежесекундно обновляться данными от датчика, опрашиваемого программой макроса панели оператора.

Дополнительно, для создания красочного и привлекательного интерфейса, на экране размещены битовые индикаторы с изображением термометра и капли воды, а также элемент движущейся фигуры с изображением времени суток. В зависимости от текущего времени программа будет записывать в ячейку памяти LW0 число от 0 до 3, назначая тем самым для этого элемента одно из четырёх изображений, хранимых в библиотеке проекта. Таким образом, картинки будут автоматически сменять друг друга утром, днём, вечером и ночью. Аналогично для индикатора с термометром будут меняться изображения в зависимости от того, какая температура получена от датчика – положительная или отрицательная. Эти дополнения сделают интерфейс динамично изменяющимся и нескучным.

Последними размещёнными на экране элементами являются битовые индикаторы, которые отображают предупреждающий восклицательный знак при выходе значений температуры и влажности за пределы установленных границ. Управление всеми элементами осуществляет программа макроса, которая будет рассмотрена далее.

Второй экран создаётся для размещения на нём цифровых индикаторов с функцией ввода, позволяющих задать пользовательские границы температуры и влажности. Окно этого экрана показано на рис. 4.


Цифровые индикаторы данного экрана привязаны с помощью изменения их атрибутов к ячейкам энергонезависимой памяти RW1–RW4. Это позволяет сохранять введённые значения границ параметров даже при выключении панели оператора.

Также на этот экран помещена функциональная клавиша для возврата на главный экран. И наконец, для придания окну настроек красочного и привлекательного вида на него помещён элемент изображения с анимационным рисунком Солнца.

Макрос

Для завершения разработки программы необходимо создать макрос, который будет ежесекундно производить чтение значений температуры и влажности с датчика XY-MD02 и выполнять операции сравнения этих значений с заданными границами. Код программы макроса приведён в листинге 1.

Листинг 1. Код программы макроса
// Главный макрос
macro_command main()
short td, hd // Переменные значений температуры и влажности датчика
short hs, th, tl, hh, hl // Час суток и пороги температуры и влажности
unsigned short vs // Время суток 0–утро, 1–день, 2– вечер, 3–ночь
bool a // Битовая переменная, для сравнения порогов температуры и влажности
GetData(hs, "Local HMI", LW, 9019, 1) // Читать час суток
// Определить время суток
if hs>=7 then // Если утро
vs=0
end if
if hs>=11 then // Если день
vs=1
end if
if hs>=15 then // Если вечер
vs=2
end if
if hs>=23 or hs<7 then // Если ночь
vs=3
end if
SetData(vs, "Local HMI", LW, 0, 1) // Сохранить время суток в ячейке LW0 памяти панели
GetDataEx(td, "MODBUS RTU", 3x, 1, 1) // Запросить значение температуры от датчика
SetData(td, "Local HMI", LW, 1, 1) // Сохранить значение температуры в памяти панели
GetDataEx(hd, "MODBUS RTU", 3x, 2, 1) // Запросить значение влажности от датчика
SetData(hd, "Local HMI", LW, 2, 1) // Сохранить значение влажности в памяти панели
// Оценить значение температуры
if td>0 then // Если температура выше нуля
a=1 // Установить бит
else
a=0 // Иначе ниже нуля
end if
SetData(a, "Local HMI", LB, 0, 1) // Сохранить бит контроля границ температуры
// Проверить границы температуры
GetData(th, "Local HMI", RW, 1, 1) // Читать верхнюю границу температуры
th=th*10 // Нормировать значение
GetData(tl, "Local HMI", RW, 2, 1) // Читать нижнюю границу температуры
tl=tl*10 // Нормировать значение
if td>th or td<tl then // Если температура выше или ниже границы
a=1 // Установить бит контроля границ температуры
else
a=0 // Иначе норма
end if
SetData(a, "Local HMI", LB, 1, 1) // Сохранить бит контроля границ температуры
// Проверить границы влажности
GetData(hh, "Local HMI", RW, 3, 1) // Читать верхнюю границу влажности
hh=hh*10 // Нормировать значение
GetData(hl, "Local HMI", RW, 4, 1) // Читать нижнюю границу влажности
hl=hl*10 // Нормировать значение
if hd>hh or hd<hl then // Если влажности выше или ниже границы
a=1 // Установить бит контроля границ влажности
else
a=0 // Иначе норма
end if
SetData(a, "Local HMI", LB, 2, 1) // Сохранить бит контроля границ влажности
end macro_command

Код программы снабжён подробными комментариями, которые позволяют легко понять назначение всех её строк.

Номер ячейки памяти LW 9019 для внутренних часов времени панели оператора находится в библиотеке адресных меток через меню: Библиотека→Адрес. После копирования данного кода в макрос необходимо выполнить его сохранение и компиляцию соответствующей кнопкой редактора. Кроме того, требуется задать регулярную, ежесекундную периодичность выполнения макроса в виде записи 10×100 мс.

Загрузка

Теперь программа полностью готова к работе, и её можно загрузить в панель оператора. Загрузку можно осуществить с помощью USB-флеш-накопителя или через порт Ethernet. При загрузке программы в панель оператора можно задать отображение пользовательского стартового экрана, как показано на рис. 5.


В качестве стартового экрана используется предварительно подготовленный файл картинки в формате «bmp» с размерами рисунка 800×480 пикселей. Содержимое картинки может быть произвольным. После загрузки пользовательского экрана панель оператора будет отображать его как заставку программы в течение нескольких секунд при каждом включении.

Отладка

Первичную проверку работы программы можно проверить путём её запуска с помощью меню: Инструменты→Офлайн-симуляция или клавишами Ctrl+T. При этом на экране монитора появится главное окно программы и появятся предупреждающие сообщения в связи с нулевыми значениями отсутствующих данных от датчика.

Отладку проекта можно выполнить без датчика, предварительно загрузив программу в панель оператора. Для отладки используется компьютер, который подключается к панели оператора вместо датчика температуры и влажности через USB-порт и конвертер USB-RS-485. На компьютере устанавливается и запускается программа Modbus Poll или аналогичная ей. Окно этой программы показано на рис. 6.


В окне программы устанавливается адрес Modbus Slave ID = 1, поддержка функций чтения INPUT-регистров, адрес первого регистра и количество регистров. В полях значений регистров вводятся произвольные данные для температуры и влажности. Панель оператора будет считывать эти значения и отображать на главном экране.

Диспетчеризация

Наличие Ethernet-порта в панели оператора и поддержка встроенного протокола Modbus TCP позволяют подключить её к системе диспетчеризации. Для этого назначается IP-адрес для панели оператора через её системное меню.

Кроме того, для удалённого доступа к панели оператора по сети Ethernet можно использовать встроенную в неё функцию Virtual Network Computing (VNC). Данная функция активируется в системном меню панели оператора. На удалённый компьютер устанавливается и запускается программа поддержки VNC, например, Ultra VNC Viewer. Пароль для подключения к панели оператора по умолчанию: 111111. После ввода пароля на компьютере появится окно панели оператора, и можно будет вести наблюдение и управлять системой мониторинга микроклимата дистанционно. На рис. 7 показано окно удалённого управления системой мониторинга.


С целью продления рабочего ресурса экрана панели оператора в среде разработки Easy Builder Pro предусмотрена системная настройка времени до отключения подсветки в закладке «Общие».

Спустя заданное в этих настройках время панель оператора автоматически переключится на заставку, а затем, спустя заданное для заставки время, совсем погасит экран. Активация экрана осуществляется касанием в любом месте. При необходимости режим энергосбережения можно полностью отключить.

Архив

Файл проекта размёщен на сайте журнала [3] и может быть использован для дальнейшего развития. Данный проект можно развивать, например, с помощью добавления новых окон с графиками параметров, журналом событий и т.п.

Литература

  1. URL: https://www.weintek.com/globalw/.
  2. Вальпа О. Интеллектуальное освещение // Современная электроника. 2025. № 1.
  3. URL: https://www.cta.ru.

© СТА-ПРЕСС, 2025


Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

01.03.2025 1516 0
Комментарии
Рекомендуем
Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

Анализ зашумлённых сигналов на осциллографах VESNA серии OVS3

В статье анализируются способы повышения качества результатов измерений сигналов в присутствии аддитивного шума различной природы. В работе выделены типовые источники шума, а также выполнен обобщающий анализ способов, реализация которых позволяет тем или иным образом снизить уровень шума либо повысить уровень полезного сигнала. Для одного из таких способов, основанного на построении автокорреляционных функций, оценена эффективность в части измерения амплитуды и частоты синусоидального сигнала на фоне гауссовского шума. Приведены примеры измерений зашумлённых сигналов, выполненных с использованием осциллографа VESNA OVS3, позволяющие наглядно судить о потенциальных возможностях снижения уровня гауссовского шума при усреднении осциллограмм, ограничении полосы пропускания и при использовании внешнего фильтра.
18.02.2026 СЭ №2/2026 520 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться