При решении различных исследовательских задач, связанных с определением гидродинамических нагрузок на элементы конструкций гидротехнических сооружений и на все сооружение в целом, необходимо проводить большое количество измерений гидравлических параметров водного потока (скорость, давление, их пульсации и др.) с целью определения степени надежности и безопасности исследуемых объектов.
Целью работы является разработка пользовательского интерфейс для управления трехкоординатным позиционером при проведении исследований гидравлики водного потока гидротехнических сооружений.
Материалы и метод исследования.
Рассматриваемый в данной работе комплекс предназначен для проведения исследований работы моделей конструкций гидротехнических сооружений, находящихся под воздействием гидродинамических нагрузок, в лабораторных условиях на гидравлическом лотке.
Комплекс состоит из трех основных подсистем:
— подсистема регистрации показаний датчиков, установленных на позиционере;
— трехкоординатный позиционер позволяет перемещать и устанавливать платформу с датчиками в любом месте исследуемого водного потока или конструкции сооружения;
— подсистема автоматизированного контроля и управления расходом воды в гидравлическом лотке.
Трехкоординатный (X, Y, Z) позиционер позволяет проводить исследования режимов течения жидкости, нагрузок на исследуемое сооружение, волновых процессов и других нагрузок по заранее подготовленному исследователем плану проведения эксперимента.
Позиционер осуществляет перемещение платформы, на которую устанавливается необходимый для проведения исследования набор датчиков. Управление позиционером и обработка сигналов, поступающих с датчиков, производятся с помощью специализированных программ, установленных на компьютере входящего в состав позиционера.
Для выполнения планов исследований необходимо применять специальные программы на G-коде (язык программирования), чтобы обеспечить перемещение платформы позиционера с датчиками в нужные точки потока и проведение измерений. Такое управление позиционером крайне неудобно и не эффективно.
С целью решения данной проблемы была поставлена задача, разработать новую программу, которая будет являться надстройкой над существующей программой управления позиционером и позволит проводить исследования максимально просто.
В результате этого исследователь получает возможность в составлении плана проведения исследований (измерений), подстраивать позиционер под геометрические размеры гидравлического лотка, в котором проводятся исследования, устанавливать координаты точек водного потока, в которые необходимо будет переместить платформу с датчиками, а также время нахождения в каждой из этих точек. На основе такого плана программа сгенерирует нужный G-код и создаст специальный файл-макрос.
При загрузке данного файла G-код будет распознан и все необходимые для выполнения плана команды будут отправлены на позиционер.
В интерфейсе разработанной программы предусмотрена возможность перехода программному пакету для проведения анализа показаний датчиков и последующей обработкой результатов измерений.
Программа написана на языке программирования С++ при помощи кроссплатформенного инструментария Qt, который значительно облегчает создание пользовательского интерфейса.
Управление движением позиционера осуществляется при помощи программного пакета Mach3 (рис. 1).
В возможности Mach3 входят [1]:
— управление 6-координатами;
— импорт DXF, BMP, JPG и HPGL файлов и генерирование файлов УП G-кодов с помощью программы LazyCam, входящей в пакет;
— трехмерная графическая визуализация УП G-кодов;
— создание пользовательских M-кодов и макросов на основе VB-скриптов;
— управление частотой вращения двигателей;
— многоуровневое релейное регулирование;
— применение ручных генераторов импульсов (MPG);
— окно видеонаблюдения за ходом обработки.
Рис.1- Пользовательский интерфейс Mach3
Регистрация измерений и показаний датчиков, их анализ производиться анализатором спектра компании «АКТАКОМ», в комплект которого входит специальное программное обеспечение (рис. 2), осуществляющий обработку результатов измерений [2].
Рис. 2 Вид панели анализатора спектра «АКТАКОМ»
Для разработки программы был выбран язык С++, поддерживающий такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, а также обеспечивающий модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции.
С++ — один из самых известных и широко используемых языков программирования. Выбор именно С++ был обусловлен во многом тем, что у автора данной работы уже есть определенный опыт работы с ним.
Для компиляции программы использовался Microsoft Visual C++ (MSVC), поставляющийся в комплекте с Microsoft Visual Studio 2013.
Управление перемещением позиционера осуществляется при помощи команд записанных в виде так называемого G-кода. -код — условное именование языка программирования устройств с числовым программным управлением (ЧПУ). Был создан компанией Electronic Industries Alliance в начале 1960-х. Окончательная доработка была одобрена в феврале 1980 года как стандарт RS274D. Комитет ISO утвердил G-код как стандарт ISO 6983-1:2009, Госкомитет по стандартам СССР — как ГОСТ 20999-83. Используется G-код в качестве базового подмножества языка программирования, расширяя его по своему усмотрению.
Программа, написанная с использованием G-кода, имеет жесткое строение. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд.
Для осуществления вывода на экран трехмерной визуализации пути перемещения позиционера, с тем чтобы максимально наглядно было представлено не только его перемещение по осям X и Y в пределах исследуемого водного потока в гидравлическом лотке, но и перемещение по оси Z, или глубину, на которую опускается платформа с датчиками, необходим программный интерфейс использующий двумерную и трехмерную компьютерную графику.
Для реализации этой задачи был выбран OpenGL (Open Graphics Library)- спецификация, определяющая платформонезависимый (независимый от языка программирования) программный интерфейс для написания приложений. В Qt можно работать либо с функциями OpenGL напрямую, либо использовать специфическую для Qt «надстройку» над OpenGL – Qt3D. Однако Qt3D – относительно новый компонент Qt и по сравнению с OpenGL хуже задокументирован. Кроме того, умение работать с OpenGL позволит в дальнейшем выйти за рамки Qt или даже перейти к работе c Vulkan, к4оторый является продолжением Open GL и обеспечивает более высокую производительность.
В первую версию программы не включена трехмерная визуализация перемещения позиционера. На начальном этапе было решено в первую очередь создать прототип, в котором отрисовка пути перемещения будет происходить при помощи двухмерной графики, а функциональность, связанная с осью Z (глубиной), будет реализована через всплывающие контекстные меню.
В первом прототипе программы главное окно выглядит следующим образом:
Рис.3 Главное окно программы
На вкладке «Настройки» (рис. 4) можно выставить необходимые размеры лотка, а также шаг сетки с ключевыми точками. Кроме того, здесь можно указать и необходимый расход воды. Эта функция – задел на будущее, когда программа будет взаимодействовать с модулем контроля расхода воды, также входящим в универсальный измерительный комплекс.
Выводы
Результатом проделанной работы стала первая версия программы, предназначенной для облегчения управления трехкоординатным позиционером в лабораторных условиях. Программа легко интегрируется с существующим программным обеспечением и обладает простым и понятным пользовательским интерфейсом, что облегчит ее освоение для исследователей.
Литература
- Официальный веб-сайт компании Newfangled Solutions [Электронный ресурс] URL: https://www.machsupport.com/
- Официальный веб-сайт компании АКТАКОМ [Электронный ресурс] URL: https://www.aktakom.ru/
- Интернет-магазин Darxton [Электронный ресурс] URL:
- Веб-сайт CppStudio [Электронный ресурс] URL:
- Официальная документация Qt [Электронный ресурс] URL: type=»book» name=»ИНТЕЛЛЕКТУАЛЬНАЯ ПОДСИСТЕМА УПРАВЛЕНИЯ СБОРА И ОБРАБОДКИ ДАННЫХ ЛАБОРАТОРНЫХ ИССЛЕДОВАНИЙ ГИДРАВЛИКИ ГТС » description=»В работе представлена программа являющаяся надстройкой над специальной программой управле-ния трех координатным позиционером. Этот трех координатный позиционер предназначен для проведе-ния исследований гидравлических режимов работы гидротехнических сооружений (ГТС). Необходи-мость в разработке такой подсистемы определяется автоматизацией выполнения лабораторных исследований гидравлики ГТС, составления плана проведения измерений параметров водного потока, обработкой и предварительным анализом полученных результатов. Управление трех координатным позиционером требует знания специальной программы работающей на G-кодах. Такое управление позиционером не удобно и неэффективно. Поэтому наличие такой подпрограммы позволит проводить лабораторные исследования максимально просто. » author=»Фартуков Василий Александрович, Землянникова Марина Владимировна» publisher=»БАСАРАНОВИЧ ЕКАТЕРИНА» pubdate=»2017-02-14″ edition=»ЕВРАЗИЙСКИЙ СОЮЗ УЧЕНЫХ_30.01.2017_1(34)» ebook=»yes» ]