Развитие электротехнических технологий ведёт к уменьшению размеров как элементов электросхем, так и самих электросхем. Сегодня некоторые компании (например, 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. Общая блок-схема программы
Для взаимодействия пользователя с программой разработан графический интерфейс пользователя, состоящий из:
- Основного редактора (рабочей области, содержащей в себе элементы схемы).
- Левой боковой панели, содержащей в себе примитивные элементы, из которых составляются схемы.
- Правая выпадающая боковая панель, содержащая значения некоторых показателей (сила тока, напряжения, сопротивление и прочее) для конкретного выбранного элемента.
- Верхняя панель инструментов, облегчающая редактирование схемы (рис. 2).
Рис. 2. Главное окно программы
Для реализации примитивного элемента схемы предполагается создание абстрактного класса «Примитивный элемент» и более специфичные классы, наследующие данный класс («Источник питания», «Лампочка», «Соединительный элемент (провод)», «Разветвлённый соединительный элемент» и другие), список которых и будет составлять схему. Свойствами абстрактного класса будут являться такие переменные, как
- Сила тока, проходящего через данный элемент.
- Поданное на него напряжение
Дочерние классы будут иметь так же специфичные свойства (ЭДС для «Источника тока», Сопротивление для «Лампочки» и другое).
Заключение о работоспособности схемы выводится в строку состояния.
В целом, предоставляемые фреймворком Qt5 средства создания и организации графического интерфейса пользователя, достаточно удобны, хотя и имеют относительно высокий порог вхождения, по сравнению с такими фреймворками и библиотеками, как Windows Forms, GTK+, wxWidgets и другими, в основном, основанными на функциях обратного вызова (callback functions). Механизм слотов-сигналов Qt5 достаточно удобен, но может быть сложен в понимании своего устройства и функционирования.
Qt5 предоставляет базовый набор абстрактных классов для работы с графической сценой и берёт на себя многие аспекты обработки и отрисовки графики, предоставляет базовые классы для реализации Drag-and-drop механизма. Работа самой сцены основана на технологии «интервью» (так же известной как «модель-представление»), что упрощает отображение больших объёмов данных, позволяя, например, отображать содержимое одной и той же модели в различных, не зависимых друг от друга представлениях.
Таким образом, Qt5 существенно облегчает программирование front-end составляющей приложения, оставляя программисту больше времени и сил для продумывания и реализации внутренних механизмов.
Литература:
- Официальный сайт проекта Qt: [Электронный ресурс] URL: https://www.qt.io
- Документация проекта Qt: [Электронный ресурс] URL: https://doc.qt.io
- Официальный сайт проекта PSPICE: [Электронный ресурс] URL: http://www.pspice.com
- Официальный сайт проекта Micro-CAP: [Электронный ресурс] URL: http://spectrum-soft.com/index.shtm
- Официальный сайт проекта Multisim: [Электронный ресурс] URL: http://www.ni.com/multisim/