Для автоматизации процесса вегетации разработана автоматизированная система управления технологическим процессом [1]. Программное обеспечение (ПО) системы состоит из ПО программируемого контроллера и ПО компьютера, используемого на верхнем уровне.
ПО верхнего уровня обеспечивает функции SCADA-системы и интерфейс оператора. Это ПО разработано для операционной системы «Windows» на языке C++. В структуру ПО входят следующие модули: модуль СУБД, графический модуль, модуль быстрых отчетов, модуль ручного управления, коммуникационный модуль, модуль аварийных сигналов, модуль отчетов и модуль архивирования данных.Структура ПО представлена на рисунке 1.
Рис. 1. Структура программного обеспечения верхнего уровня
В основе ПОнаходится база данных «MySQL» [2]. Встроенная в ПО СУБД позволяет обращаться к базе данных напрямую предоставляя максимальную скоростью обработки данных, минуя такие программные решения сторонних производителей, как ADO, ODBC и другие, тем самым упрощая внедрение ПО на производство и увеличивая надежность выполнения его функций. Основной функцией модуля СУБД является организация доступа к базе данных и передача полученных данных остальным модулям. Модуль осуществляет контроль доступа к базе нескольких потоков одновременно, разделяя их во времени. База данных разбита на следующие таблицы: все текущие измерения параметров технологического процесса сохраняются в основную таблицу «Sensors»,данные о нарушениях технологических режимов в таблицу «Alarms» и таблица «Support» содержит технические параметры системы управления комплексом для персонала КИПиА.
Функцию передачи данных между ПО верхнего уровня и ПО программируемого контроллера обеспечивает коммуникационный модуль. Он осуществляет передачу измерений и состояний программируемого контроллера по запросам остальных модулей и отправляет данные в него. Коммуникационный модуль выполняет функцию «мастера» в процессе обмена данными с программируемым контроллером, опрашивая его циклично или по инициативе модулей ПО верхнего уровня.
В основе алгоритма передачи данных лежит очередь команд, где каждая команда имеет свой приоритет. Так, во время обычного цикла опроса, алгоритм, при опустошении очереди, добавляет команды на чтение текущих параметров технологического процесса, имеющих низкий приоритет, когда, во время ручного управления или активации цикла опроса состояний тревог нарушений технологического режима, ПО ставит команду в начало очереди сетевого обмена, в виду высокой важности события. Такой алгоритм позволяет вести обмен данных с ПК в режиме реального времени, обрабатывая в заданный интервал времени, как текущие данные технологического процесса, имеющие высокие показатели постоянной времени, так и такие данные о нарушениях технологического режима, требующих немедленного реагирования оперативного персонала, как опасность заморозки калорифера. Структура очереди сетевого обмена представлена на рисунке 2.
Рис. 2. Организация очереди сетевого обмена
В качестве физического уровня для построения информационного обмена между ПО верхнего и ПО нижнего уровня, был выбран физический уровень «Ethernet» с протоколом «ModbusTCP» [3]. Такое сочетание обеспечивает наиболее экономичное решение построения информационно вычислительной сети внутри комплекса с простотой и надежностью промышленного протокола «Modbus».
Графический модуль реализует интерфейс для оператора технологического процесса, выводя на экран систему управления в виде мнемосхемы с отраженными на ней текущими параметрами процесса. Мнемосхема представлена в виде комнаты технологического процесса с нанесенными на нее исполнительными механизмами и датчиками. В ходе технологического процесса, пользователь может оценить по мнемосхеме качество поддержания параметров процесса по текущим значениям, задать новые установки параметров микроклимата и управлять исполнительными механизмами.
Ручное управление исполнительными механизмами осуществляется по щелчку в области мнемосхемы с изображенным исполнительным механизмом, активируя модуль ручного управления и открывая окно с необходимыми командами и таймерами на открытие/закрытие.
Модуль аварийных сигналов осуществляет цикличный опрос программируемого контроллера с заданным условно небольшим интервалом времени с целью получения состояний о нарушениях технологических режимов. Алгоритм модуля позволяет фиксировать нарушения режимов с длительностью меньшей, чем период опроса модулем контроллера и записывать события в базу данных. Модуль также отображает о нарушениях оператору, выводя информацию на графический интерфейс.
Для удобства анализа любого параметра АСУ в течение суток, модуль быстрого отчета может создать необходимый график по двойному щелчку в области необходимого параметра. По этому событию модуль создает запрос на выборку данных через модуль отчетов по параметру модулю СУБД и ожидает ответа. После получения данных, пользователю отображается на экране небольшое, масштабируемое окно с графиком за текущие сутки. В целях предупреждения о нарушениях технологических режимов в ходе работы, ПО подсвечивает другим цветом поля значения нарушенного параметра, как на мнемосхеме, так и на графике быстрого отчета этого параметра.
Модуль отчетов представляет пользователю отчет по любому параметру системы, для более глубокого анализа показателей работы тепличного комплекса, вызываемому из главного окна графического интерфейса. Созданный отчет будет выведен на экран в виде масштабируемого графика и, при необходимости, его можно будет экспортировать в «Excel» в форме табличных данных.
Модуль архивирования данных позволяет сжать текущую базу данных и сохранить на отдельном внешнем накопителе с целью экономии места на компьютере верхнего ПО и резервировании данных.
Разработанное ПО верхнего уровня представляет из себя многопоточное приложение, разбитое на 3-и основных потока: главный поток, поток сетевого обмена с ПК и поток работы с базой данных, отраженных на рисунке 3.
Рис. 3. Многопоточная структура ПО верхнего уровня
В главном потоке ведется непосредственная работа пользователя с графическим интерфейсом, отображение технологическим параметров, ручное управление исполнительными механизмами, установка новых режимов технологического процесса, отображение быстрых отчетов, главное окно отчетов с возможностью экспорта.
В основе потока сетевого обмена лежит обмен данными с ПК через сеть «Ethernet» используя технологию Socket-соединений. Основная задача потока состоит в синхронизации и упорядочивании поступающих команд от пользователя (ручное управление, новые установки) и текущих команд на получение значений параметров технологического процесса через алгоритм очереди сетевого обмена с системой приоритетов, позволяющий системе работать в режиме реального времени, выдерживая заданные интервалы времени для наиболее важных команд.
И третий поток для работы с базой данных через встроенный драйвер, осуществляет синхронизацию поступающих данных на запись в БД, выполняет выборку значений из БД по требованию пользователя при формировании быстрых и обычных отчетов.
Таким образом, разработанное ПО отвечает требованию работы с большим числом оперативных данных, как в режиме реального времени, так и в форме отчетов, для анализа технико-экономических показателей тепличного комплекса в целом. Обладает всем необходимым инструментарием для ручного управления технологического процесса и оперативным извещением персонала о нарушениях технологических режимов с фиксированием этих событий в базе данных в режиме реального времени.
Литература:
Пешко, М.С. Автоматизация технологического процесса культивации тепличных грибов [Текст] / М.С. Пешко // Гавриш. – 2012 – № 4. – с. 20-23.
MySQL: The world's most popular open source database.
URL: http://www.mysql.com (дата обращения: 03.07.2012).
Modbus Specification and Implementation Guides.
URL: http://www.modbus.org/specs.php (дата обращения: 03.07.12).