Применение средств библиотеки QT5 для программирования моделей электрических цепей | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: , ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №19 (205) май 2018 г.

Дата публикации: 10.05.2018

Статья просмотрена: 513 раз

Библиографическое описание:

Коптенок, Е. В. Применение средств библиотеки QT5 для программирования моделей электрических цепей / Е. В. Коптенок, С. И. Родькин, Н. О. Крахмалев. — Текст : непосредственный // Молодой ученый. — 2018. — № 19 (205). — С. 115-117. — URL: https://moluch.ru/archive/205/50152/ (дата обращения: 18.12.2024).



Развитие электротехнических технологий ведёт к уменьшению размеров как элементов электросхем, так и самих электросхем. Сегодня некоторые компании (например, IBM) представляют ЭВМ, по размеру сравнимые с кристаллом соли. Для производства столь малых схем необходимо специальное оборудование, время и средства. Поэтому, разрабатывать и тестировать электросхемы с помощью средств компьютерного моделирования, зачастую, проще, дешевле и быстрее, отдавая в производство уже оттестированные планы схем.

Различные элементы, соединенные проводниками электрического тока между собой, образуют электрические цепи.

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

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

Программа Модели Электрических Цепей предназначена для обучения, проверки и получения новых навыков по сборке электрических схем. Она дополняет естественное обучение в средних и специальных учебных заведениях, а так же позволяет проверить знания студентов.

Существующие аналоги являются профессиональными платными программами, выпускающимися под не свободными лицензиями. Среди таких программ:

Pspice. Представляет собой модификацию программы-моделятора интегральных схем SPICE (Simulation Program with Integrated Circuit Emphasis). В настоящее время считается эталонным решением в области моделирования электронных схем и устройств. Имеет множество библиотек компонентов.

Micro-CAP. Является разработкой компании Spectrum Software. Основное преимущество данной программы — удобный графический интерфейс. Имеет широкую библиотеку элементов от производителей Европы, Японии и США. Предоставляет возможности замеров параметров схем и аналитики.

Multisim. Разработана компанией National Instruments Corporation. Особенностью данной программы является наличие виртуальных измерительных устройств, имитирующих реальные аналоги. Первые версии являются продуктами компании Electronics Workbench и имели то же название.

Наш аналог написан на языке C++. В качестве фреймворка и средства построения графического интерфейса выбран Qt5, написанный на C++.

Qt5 — это мощный кроссплатформенный фреймворк для разработки приложений для персональных компьютеров, мобильных и встроенных систем. Имеет множество поддерживаемых платформ, среди которых Linux, OS X (macOS), Windows, Android, iOS, Sailfish OS и другие. Несмотря на то, что в Qt используются конструкции не являющиеся частью C++ (такие, как сигналы и слоты), Qt не является отдельным языком, а все эти конструкции перед обработкой компилятором C++ перерабатываются в код на этом языке средствами специального препроцессора, входящего в состав утилит Qt — так называемого мета-обьектного компилятора (Meta-Object Compiler — MOC). Программа представляет собой конструктор, в котором из примитивных элементов схемы можно собрать схему с проверкой на работоспособность схемы. Общая блок-схема программы представлена на рис.1.

Рис. 1. Общая блок-схема программы

Для взаимодействия пользователя с программой разработан графический интерфейс пользователя, состоящий из:

  1. Основного редактора (рабочей области, содержащей в себе элементы схемы).
  2. Левой боковой панели, содержащей в себе примитивные элементы, из которых составляются схемы.
  3. Правая выпадающая боковая панель, содержащая значения некоторых показателей (сила тока, напряжения, сопротивление и прочее) для конкретного выбранного элемента.
  4. Верхняя панель инструментов, облегчающая редактирование схемы (рис. 2).

Рис. 2. Главное окно программы

Для реализации примитивного элемента схемы предполагается создание абстрактного класса «Примитивный элемент» и более специфичные классы, наследующие данный класс («Источник питания», «Лампочка», «Соединительный элемент (провод)», «Разветвлённый соединительный элемент» и другие), список которых и будет составлять схему. Свойствами абстрактного класса будут являться такие переменные, как

  1. Сила тока, проходящего через данный элемент.
  2. Поданное на него напряжение

Дочерние классы будут иметь так же специфичные свойства (ЭДС для «Источника тока», Сопротивление для «Лампочки» и другое).

Заключение о работоспособности схемы выводится в строку состояния.

В целом, предоставляемые фреймворком Qt5 средства создания и организации графического интерфейса пользователя, достаточно удобны, хотя и имеют относительно высокий порог вхождения, по сравнению с такими фреймворками и библиотеками, как Windows Forms, GTK+, wxWidgets и другими, в основном, основанными на функциях обратного вызова (callback functions). Механизм слотов-сигналов Qt5 достаточно удобен, но может быть сложен в понимании своего устройства и функционирования.

Qt5 предоставляет базовый набор абстрактных классов для работы с графической сценой и берёт на себя многие аспекты обработки и отрисовки графики, предоставляет базовые классы для реализации Drag-and-drop механизма. Работа самой сцены основана на технологии «интервью» (так же известной как «модель-представление»), что упрощает отображение больших объёмов данных, позволяя, например, отображать содержимое одной и той же модели в различных, не зависимых друг от друга представлениях.

Таким образом, Qt5 существенно облегчает программирование front-end составляющей приложения, оставляя программисту больше времени и сил для продумывания и реализации внутренних механизмов.

Литература:

  1. Официальный сайт проекта Qt: [Электронный ресурс] URL: https://www.qt.io
  2. Документация проекта Qt: [Электронный ресурс] URL: https://doc.qt.io
  3. Официальный сайт проекта PSPICE: [Электронный ресурс] URL: http://www.pspice.com
  4. Официальный сайт проекта Micro-CAP: [Электронный ресурс] URL: http://spectrum-soft.com/index.shtm
  5. Официальный сайт проекта Multisim: [Электронный ресурс] URL: http://www.ni.com/multisim/
Основные термины (генерируются автоматически): GTK, IBM, MOC, SPICE, абстрактный класс, графический интерфейс пользователя, класс, общая блок-схема программы, примитивный элемент схемы, программа, работоспособность схемы, сила тока, схема, устройство, Цепь, электрическая схема.


Похожие статьи

Использование библиотеки SFML для визуализации результатов моделирования процессов небесной механики

Использование математических пакетов Matlab & Simulink при разработке цифровых фильтров

Проектирование параметрических L-систем средствами языка Python

Применение абстрактных классов в объектно-ориентированном программировании моделей биологических объектов

Применение машинного обучения для обнаружения сетевых аномалий

Использование программных пакетов для решения экологических задач

Методика применения манипуляторов в потоках вывода в языке С++

Разработка алгоритмов для построения частотных словарей

Программирование линейного асинхронного двигателя в MATLAB

Конструирование электронных учебных материалов по математической логике

В статье описан процесс создания собственного генератора многовариантных заданий по математической логике.

Похожие статьи

Использование библиотеки SFML для визуализации результатов моделирования процессов небесной механики

Использование математических пакетов Matlab & Simulink при разработке цифровых фильтров

Проектирование параметрических L-систем средствами языка Python

Применение абстрактных классов в объектно-ориентированном программировании моделей биологических объектов

Применение машинного обучения для обнаружения сетевых аномалий

Использование программных пакетов для решения экологических задач

Методика применения манипуляторов в потоках вывода в языке С++

Разработка алгоритмов для построения частотных словарей

Программирование линейного асинхронного двигателя в MATLAB

Конструирование электронных учебных материалов по математической логике

В статье описан процесс создания собственного генератора многовариантных заданий по математической логике.

Задать вопрос