УДК 303.064
РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ МОДЕЛИРОВАНИЯ МОНТАЖНО-КОММУТАЦИОННОГО ПРОСТРАНСТВА
Козлов Александр Александрович,
инженер-программист ОАО «Научно-производственный центр "Полюс"», Россия, 634050, г. Томск, пр. Кирова, 56в. E-mail: polus@online.tomsk.net
Коблов Николай Николаевич,
канд. техн. наук, начальник лаборатории САПР ОАО «НПЦ "Полюс"», Россия, 634050, г. Томск, пр. Кирова, 56в; ассистент каф. точного приборостроения Института неразрушающего контроля Национального исследовательского Томского политехнического университета, Россия, 634050, г. Томск, пр. Ленина, д. 30. E-mail: nnk2002@mail.ru
Актуальность работы обусловлена необходимостью уменьшения трудоемкости разработки электромонтажных чертежей в приборостроении, повышения качества конструкторской документации и исключения несоответствий между таблицей соединений, таблицей контактов и графическим изображением раскладки электромонтажного жгута.
Цель исследования: разработка приложения для автоматического моделирования монтажно-коммутационного пространства, выделение основных принципов структуры программного обеспечения.
Методы исследования: объектно-ориентированный и структурный методы программирования; методы поиска на графах; методика моделирования монтажно-коммутационного пространства; применение DBX-интерфейса для чтения данных списка цепей активного проекта P-CAD 2006 Schematic, реляционной базы данных SQLite для хранения информации о разъемах и типах проводов, библиотеки QT при проектировании интерфейса приложения.
Результаты. Разработано программное обеспечение для автоматического моделирования монтажно-коммутационного пространства. Рассмотрены характеристики программного обеспечения:
• САПР-независимый ввод, хранение, графическое отображение данных электрической схемы;
• входной контроль данных;
• автоматизированное получение таблиц соединений и контактов электрической схемы;
• интерактивная и автоматическая прокладка жгута;
• отображение диаметра, длины и количества проводов в любой точке сегмента прокладываемого жгута;
• формирование отчетов о текущем состоянии данных конструкции;
• экспорт графики электромонтажного чертежа.
Показан ряд алгоритмов, позволяющих автоматизировать загрузку данных электрической схемы из системы P-CAD 2006 Schematic. Выведен алгоритм определения состояний цепей электрической схемы на базе библиотеки Boost Graph Library, основанный на алгоритме поиска в ширину на графе. Предложены структуры баз данных для хранения информации о разрешенных типах разъемов и проводов электромонтажа.
Ключевые слова:
Монтажно-коммутационное пространство, ЭРИ, P-CAD, QT, BGL, DBX, SQLite, таблица соединений, таблица контактов, база данных, интерфейс приложения, граф, поиск в ширину.
Оптимальная организация межмодульных соединений является одним из самых важных этапов в работе конструктора. На этом этапе конструктору необходима вся оперативная информация о прокладываемых жгутах, диаметрах проводников в любой точке. Для решения поставленной задачи может быть использована методика моделирования монтажно-коммутационного пространства (МКП). Коммутационным пространством конструктивного модуля называют область, ограниченную его габаритами, в которой располагаются модули предыдущего уровня и осуществляются электрические соединения их контактов (рис. 1).
Модуль Плата
Панель
Шкаф
Рис. 1. Иерархия конструктивных узлов Fig. 1. Structural assembly hierarchy
В качестве контактов могут использоваться выводы разъемов, колодок, лепестков, других элек-трорадиоизделий (ЭРИ). Необходимое условие для автоматизированного моделирования МКП - наличие принципиальной электрической схемы моделируемого конструктивного модуля [1, 2].
При моделировании МКП на этапе компоновки конструктору необходим инструмент для минимизации длины соединений, оптимизации диаметров прокладываемых жгутов в любой точке, исходя из конструктивных ограничений [3-5]. На завершающем этапе выпуска конструкторской документации на разрабатываемый модуль должна быть предоставлена возможность автоматически получить таблицы соединений и контактов, оформленные в соответствии с государственными стандартами [6-8]. Для этого требуется: • база данных (БД) по разъемам (компонентам схемы), включающая информацию об их типах, количестве контактов, максимальном сечении присоединяемой жилы, максимальном пропускаемом токе;
Рис. 2. Обобщенная структурная схема работы приложения Fig. 2. Generalized block diagram of application operation
• БД по проводам, включая наименование провода, диаметр жилы, диаметр изоляции, максимальное значение пропускаемого тока;
• список цепей принципиальной электрической схемы.
Для решения поставленной задачи в ОАО «НПЦ «Полюс»» разработано программное обеспечение (рис. 2). Функционал приложения позволяет решать следующие задачи:
• ввод, хранение, графическое отображение данных электрической схемы;
• автоматизированное получение таблиц соединений и контактов электрической схемы;
• визуальная прокладка жгута;
• отображение диаметра, длины и количества проводов в любой точке сегмента прокладываемого жгута.
Приложение написано с использованием библиотек: QT (интерфейсная часть программы), SQLite (модуль взаимодействия с внешними БД) и Boost Graph Library (BGL), применяемой для реализации графовых алгоритмов [9-14].
Главное окно приложения (рис. 3) содержит следующие элементы:
• строка меню - 1 (используется для быстрого доступа к основному функционалу приложения);
ф мкп
3
I ° В а 1
Панель цепей 0
УЬ fe* Ъ ft "gf
* Цепь - смпснент Кол-во кснтйктсе | Кол-во жил I Сечение W
+АК2 2 1 □ u
& Н* +Н6СА61 ... 2 1
в Ф +Н6СА62 2 1
tp Н* +Н6СА63 ... 2 1 -
да в Ф +Н27 2 1
- • +Н61 ... 4 - -
tjl ХТ32:7 ХТ32 -/-
Q ХТ32:29 ХТ32 -/-
Ql 1X715:2 1ХП5 -/-
Q. 1ХТ16:2 1ХТ16 - -
в* +НН27 2 1
¡1* В# +НШОО ... 2 1 А
. Ш -t-KVI 4 0
HJ-1 LÜU
Панель проводов
Провод
Откуда
Куда
Цепь
Кол-вожил _
В
ИШШЭИ ÜEH
12
1/1 1Л
XS48:6 XS25:29 TEMP СН100-48.6 - -
12 in
... ... 12 1/1
12 1Л
... ... 12 1/1
Рис. 3. Гпавное окно приложения Fig. 3. Main window of application
// Пример чтения цепей и их контактов активного проекта P-CAD 2006 Schematic
long res = dbxHelper: :openDesign(&library, DBX LANGUAGE, DBX VERSION, // Вызов обертки над Dbx32-2006 interface для получение первой цепи
QString pinDes = item.pin.compPin.pinDes; // Чтение имени контакта цепи QString compRefDes = item.pin.compRefDes;// Чтение имени компонента контакта цепи resl = dbxHelper::getNextNetNode(&library, &context, &item); //Чтение следующего контакта
res = dbxHelper::getNextNet(&library, &context, &net); //Чтение следующей цепи
Рис. 4. Файл Main Window.cpp Fig. 4. Main Window.cpp file
Таблица 1. Таблица соединений Table 1. Wiring list
№ проводника Conductor Позиция Position Откуда идет Where from Куда поступает Where to Длина, см Length, cm Имя цепи Circuit name
1 37 X1:1 X31:9 50 Net1
2 23 X1:23 X31:10 50 Net1
3 23 X1:12 X2:14 20 Net3
4 23 X1:34 X2:23 23 Net15
5 37 X1:2 X3:15 16 Net2
6 50 X1:35 X1:33 5 Net10
Таблица 2. Таблица контактов разъема Table 2. Pin table
Контакт Проводник Контакт Проводник
Pin Conductor Pin Conductor
1 1 6 23, 9, 7
2 5 7 18, 44
3 335 8 69
4 678 9 12
5 90 10 84
• панель компонентов схемы - 2 (служит для отображения параметров компонентов схемы, навигации по компонентам, а также для доступа к функционалу добавления, удаления и редактирования компонентов схемы);
• панель цепей схемы - 3 (предназначена для отображения параметров цепей схемы, навигации по цепям, а также для доступа к функционалу добавления, удаления и редактирования цепей схемы);
• графическое пространство приложения - 4;
• панель проводов схемы - 5. Предлагаемый интерфейс позволяет конструктору видеть актуальное состояние разрабатываемой схемы, статус любого объекта схемы представлен своей иконкой и цветом, что существенно облегчает навигацию по объектам и их свойствам. При желании данные схемы могут быть сохранены во внутренний файл проекта или экспортированы в виде таблиц соединений (табл. 1) и контактов (табл. 2).
При автоматизированном формировании проекта приложения список цепей может быть получен программным способом из файла проекта принципиальной электрической схемы P-CAD 2006 Schematic с использованием интерфейса P-CAD DBX, который предоставляет возможность управления системой P-CAD из внешних программ [15-17]. Например, для программного обра-
щения к проекту принципиальной электрической схемы Schematic могут быть использованы следующие функции DBX-интерфейса:
• TGetFirstNet (DbxContext* pContext, TNet* pNet) - инициализирует указатель pNet, возвращая первую электрическую цепь;
• TGetNextNet (DbxContext* pContext, TNet* pNet) - инициализирует указатель pNet, возвращая следующую электрическую цепь;
• TGetFirstNetNode (DbxContext* pContext, TI-tem* pNetNode) - инициализирует указатель pNetNode, возвращая первый узел электрической цепи;
• TGetNextNetNode (DbxContext* pContext, TI-tem* pNetNode) - инициализирует указатель pNetNode, возвращая следующий узел электрической цепи.
Для чтения списка цепей активного проекта Schematic с помощью DBX-интерфейса могут быть применены подпрограммы (рис 4, 5).
#include "Dbx32-2006.h"
// Пример обертки над функцией TGetFirstNet библиотеки Dbx32-2006.dll long dbxHelper::getFirstNet(QLibrary * library,
DbxContext* pContext, TNet* pNet)
TGetFirstNetFunc func = (TGetFirstNetFunc)library->resolve("TGetFirstNet"); return func(pContext, pNet);
Рис. 5. Файл DbxHelper.h Fig. 5. DbxHelper.h file
Для исключения использования в схеме неразрешенных ЭРИ или типов проводов приложение имеет функционал взаимодействия с внешними базами данных (рис. 6, 7). Выбор зарегистрированного в БД типа провода осуществляется посредством диалогового окна (рис. 8).
графе [13]. В библиотеке используется концепция «посетителя» алгоритма, позволяющая сравнительно легко адаптировать тот или иной графовый алгоритм под конкретную задачу разработчика. Для определения текущего состояния цепи может быть применен алгоритм, представленный на рис. 9, который определяет номера состояний цепей: 0 - цепь не разведена, 1 - цепь разведена без избыточности (в графе цепи существует единственный путь, составленный из его ребер, соединяющий все его узлы) и 2 - цепь разведена с избыточностью (в графе цепи существуют несколько путей, соединяющих все его узлы). Состояния цепей отображаются на соответствующей панели приложения (рис. 10).
Рис. 7. Структура БД по типам проводов схемы Fig. 7. Data base circuit wire type structure
Рис. 6. Структура БД по компонентам схемы Fig. 6. Data base circuit component structure
Приведенные выше БД спроектированы с помощью библиотеки SQLite и не нуждаются в сервере баз данных, что обеспечивает большую гибкость при разработке и поддержке приложения [14].
Для автоматического определения и индикации состояний цепей, разводимых в проекте схемы, предложено использовать API-библиотеки BGL. При этом каждая цепь схемы представляется графом, узлы которого - контакты компонентов схемы, а ребра - соединения с сопоставленными им наборами проводников. Библиотека BGL имеет ряд готовых к применению графовых алгоритмов: поиск в ширину, поиск в глубину, поиск путей на
Рис. 8. Диалоговое окно выбора типа провода Fig. 8. Dialog box of selecting wire type
Разработанное программное обеспечение позволяет уменьшить трудоемкость оформления электромонтажных чертежей, исключить несоответствия между таблицей соединений, таблицей контактов и графическим изображением раскладки жгута, а также дает возможность конструктору видеть всю информацию схемы в достаточно удобной форме. В дальнейшем планируется осуществить интеграцию приложения с разрабатываемой на предприятии автоматизированной системой управления инженерными данными и производством [18-20].
Рис. 9. Блок-схема алгоритма определения состояния цепи схемы Fig. 9. Block diagram of the algorithm for determining circuit chain state
Рис. 10. Панель цепей главного окна приложения Fig. 10. Chain board of the application main window
СПИСОК ЛИТЕРАТУРЫ
Алексеев В.П., Коблов Н.Н., Хрулев Г.М. Современные технологии автоматизации проектирования РЭА специального назначения. - Томск: Изд-во Института оптики атмосферы СО РАН, 2003. - 134 с.
Коблов Н.Н., Черватюк В.Д., Чекрыгин С.С. Повышение эффективности проведения изменений в конструкторской документации // Электронные и электромеханические системы и устройства: тез. докл. науч.-техн. конф. молодых специалистов ОАО «НПЦ «Полюс»». - Томск, 2013. - С. 213-215. Разработка и оформление конструкторской документации для радиоэлектронной аппаратуры: справочник / Э.Т. Романычева и др. 2-е изд., перераб. и доп. - М.: Радио и связь, 1989. -448 с.
САПР и Графика: сквозная система проектирования электрифицированных систем в аэрокосмической отрасли на примере связки E3.series и NX. URL: http://www.e3series.ru/uploa-ded/articles/16/042011_SAPR_i_Gr_ 1.pdf (дата обращения: 28.05.13).
САПР и Графика: Автоматизированное получение монтажных схем - решение на основе E3.series. URL: http://www.e3seri-es.ru/uploaded/articles/14/Sapr_i_gr_092010_ Kalintsev.pdf (дата обращения: 28.05.13).
ГОСТ 23592-96. Монтаж электрический радиоэлектронной аппаратуры и приборов. Общие требования к объемному монтажу изделий электронной техники и электротехнических. - М.: Стандартинформ, 2003. - 10 с.
ГОСТ 2.710-81. Единая система конструкторской документации. Обозначения буквенно-цифровые в электрических схемах. - М.: Стандартинформ, 2007. - 10 с. ГОСТ 19701-90 Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения. - М.: Стандартинформ, 2010. - 22 с.
9. Бланшет Ж., Саммерфилд М. Qt 4: программирование GUI на C++ / пер. с англ. 2-е изд., доп. - М.: КУДИЦ-ПРЕСС, 2008. -736 с.
10. Summerfield M. Advanced Qt Programming Creating Great Software with C++ and Qt4. - New Jersey: Prentice Hall, 2010. - 554 p.
11. Ezust A., Ezust P. Introduction to Design Patterns in C++ with Qt. - New Jersey: Prentice Hall, 2011. - 768 p.
12. Шлее М. Qt 4.8: Профессиональное программирование на C++. - СПб.: БХВ-Петербург, 2013. - 912 с.
13. Lumsdaine A., Siek J.G., Lie-Quan Lee. The Boost Graph Library: User Guide and Reference Manual. - Indianapolis: Addison-Wes-ley Professional, 2001. - 321 p.
14. Allen G., Owens M. The Definitive Guide to SQLite. - Berkely: Apress, 2010. - 368 p.
15. Лопаткин А.В. Проектирование печатных плат в системе P-CAD 2001. - Нижний Новгород: НГТУ, 2002. - 190 с.
16. Саврушев Э.Ц. P-CAD 2006: руководство схемотехника, администратора библиотек, конструктора. - М.: ООО «Бином-Пресс», 2007. - 768 с.
17. Разевиг В.Д. Система проектирования печатных плат ACCEL EDA 12.1 (P-CAD для Windows). - М.: СК Пресс, 1997. - 368 с.
18. Коблов Н.Н. Разработка и внедрение автоматизированной системы управления инженерными данными // Электронные и электромеханические системы и устройства: тез. докл. XVIII науч.-техн. конф. - Томск, 22-23 апреля 2010. - С. 228-230.
19. Концепция информатизации Роскосмоса, утверждена 01.03.2010 // Федеральное космическое агенство. URL: http://www.federalspace.ru/main.php?id=13&did= 928&print=1 (дата обращения: 01.09.2013).
20. Екимова О.Ю., Коблов Н.Н., Чекрыгин С.С. Построение электронного состава изделия в рамках единого информационного пространства приборостроительного предприятия // Контроль и диагностика. - 2012. - № 13. - С. 22-26.
Поступила 25.11.2013 г.
UDC 303.064
DEVELOPMENT OF WIRING SPACE SOFTWARE
Alexander A. Kozlov,
JSC «Scientific & Industrial Centre "Polyus"», 56v, Kirov Avenue, Tomsk, 634050,
Russia. E-mail: polus@online.tomsk.net
Nikolay N. Koblov,
Cand. Sc., JSC «Scientific & Industrial Centre "Polyus"», 56v, Kirov Avenue, Tomsk, 634050, Russia; Tomsk Polytechnic University, 30, Lenin Avenue, Tomsk, 634050, Russia. E-mail: nnk2002@mail.ru
The relevance of the work is caused by the need to reduce the labor intensity of electrical design drawings in the instrument as well as by the quality improvement of the design documentation and the need to prevent discrepancies between the table of compounds, a table of contacts and pictures of wiring harness layout.
The main aim of the study is to review the basic questions of application development for the automatic modeling of assembly and switching space, to identify the basic principles of the software structure.
Methods: object-oriented and structured programming techniques; search methods on graphs; installation and switching space modeling technique; application of DBX interface for reading netlist data of the active project P-CAD 2006 Schematic, SQLite databases for storing information about the types of connectors and cables; the QTlibrary while designing the application interface. Results. The authors have developed the software for automatic modeling of assembly and switching space. The software features:
• CAD-independent input, storage, graphical display of circuitry data;
• input data control;
• automated receiving of connections tables and electrical circuit contacts;
• interactive and automatic wiring harness;
• mapping of the diameter, length and number of wires at any point of the routed harness segment;
• reporting on data structures current state;
• wiring drawings export.
The paper introduces a series of algorithms which allow automating data loading circuitry of the system P-CAD 2006 Schematic. The authors proposed the algorithm for determining states of circuits circuitry based on the Boost Graph Library, which is formed of the breadth-first search on a graph algorithm and the structures for storing information on the permitted types of connectors and wiring harness.
Key words:
Wiring space, electro radio products, electronic components, P-CAD, QT, BGL, DBX, SQLite, wiring list, pin table, database, application interface, graph, breadth first search.
REFERENCES
1. Alekseev V.P., Koblov N.N., Khrulev G.M. Sovremennye tekhno-logii avtomatizatsii proektirovaniya REA specialnogo naznacheni-ya [Modern technologies of automation of designing REE for special purpose]. Tomsk, Publishing house of Institute of optics of atmosphere of the SB RAS, 2003, 134 p.
2. Koblov N.N., Chervatyuk V.D., Chekrygin S.S. Povyshenie effek-tivnosti provedeniya izmeneny v konstruktorskoy dokumentatsii [Increase of efficiency of changing the design documentation]. Elektronnye i elektromekhanicheskie sistemy i ustroystva: tezisy dokladov naucho-tekhnicheskoy konferentsii molodykh spetsiali-stov [Proc. of scientific and technical conference of young experts. Electronic and electromechanical systems and devices], Tomsk, 14-15 February 2013. pp. 213-215.
3. Romanycheva E.T. Razrabotka i oformlenie konstruktorskoy dokumentatsii dlya radioelektronnoy apparatury: spravochnik [Radio electronics construction documentation design]. Moscow, Radio i svyaz Publ., 1989. 448 p.
4. SAPR i Grafika: skvoznaya sistema proektirovaniya elektrifitsiro-vannykh sistem v aerokosmicheskoy otrasli na primere svyazki E3,series i NX, [CAD and Graphics: circuit design system for aerospace electronics based on E3.series and NX]. Available at: http://www.e3series.ru/uploaded/artic-les/16/042011_SAPR_i_Gr_1.pdf (accessed 28 May 2013).
5. SAPR i Grafika: avtomatizirovannoe poluchenie montazhnykh skhem - reshenie na osnove E3,series, [CAD and Graphics: automatic wiring diagram designing based on E3.series]. Available at:
http://www.e3series.ru/uploaded/articles/14/ Sapr_i_gr_092010_ Kalintsev.pdf (accessed 28 May 2013).
6. GOST 23592-96. Montazh elektricheskoy radioelektronnoy apparatury i priborov. Obshchie trebovaniya k obemnomu montazhu iz-dely elektronnoy tekhniki i elektrotekhnicheskikh [State Standard 23592-96. Electrical wiring of radio-electronic equipment and devices. General requirements for three-dimensional wiring of electronic and electrical devices]. Moscow Standartinform Publ., 2003. 10 p.
7. GOST 2.710-81. Edinaya sistema konstruktorskoy dokumentatsii. Oboznacheniya bukvenno-tsifrovye v elektricheskikh skhe-makh [State Standard 2.710-81. Unified system for design documentation. Alpha-numerical designations in electrical diagrams]. Moscow, Standartinform Publ., 2007. 10 p.
8. GOST 19.701-90 Edinaya sistema programmnoy dokumentatsii. Skhemy algoritmov, programm, dannykh i sistem. Uslovnye oboz-nacheniya i pravila vypolneniya [Unified system for program documentation. Data, program and system flowcharts, program network charts and system resources charts. Documentation symbols and conventions for flowcharting]. Moscow, Standartinform Publ., 2010. 22 p.
9. Blanshet Zh., Sammerfild M. Qt 4: programmirovanie GUI na C++ [Qt 4: GUI programming with C++]. Moscow, KUDIC-PRESS Publ., 2008. 736 p.
10. Summerfield M. Advanced Qt Programming Creating Great Software with C++ and Qt4. New Jersey, Prentice Hall, 2010. 554 p.
11. Ezust A., Ezust P. Introduction to Design Patterns in C++ with Qt. New Jersey, Prentice Hall, 2011. 768 p.
12. Shlee M. Qt 4.8: Professionalnoe programmirovanie na C++ [Qt 4.8: Professional programming with C++]. St. Petersburg, BHV-Peterburg Publ., 2013. 912 p.
13. Lumsdaine A., Siek J.G., Lie-Quan Lee. The Boost Graph Library: User Guide and Reference Manual. Indianapolis, Addison-Wesley Professional, 2001. 321 p.
14. Allen G., Owens M. The Definitive Guide to SQLite. Berkely, Apress, 2010. 368 p.
15. Lopatkin A.V. Proektirovanie pechatnykh plat v sisteme P-CAD 2001 [Printed circuit board designing with P-CAD 2001]. Nizhny Novgorod, NGTU Publ., 2002. 190 p.
16. Savrushev E.Ts. P-CAD 2006: rukovodstvo skhemotekhnika, ad-ministratora bibliotek, konstruktora [P-CAD 2006: application guide for circuit-engineer, library administrator, design- engineer]. Moscow, Binom-Press Publ., 2007. 768 p.
17. Razevig V.D. Sistema proektirovaniya pechatnykh plat ACCEL EDA 12.1 (P-CAD dlya Windows) [ACCEL EDA 12.1 circuit design system (P-CAD for Windows)]. Moscow, SK Press Publ., 1997. 368 p.
18. Koblov N.N. Razrabotka i vnedrenie avtomatizirovannoy sistemy upravleniya inzhenernymi dannymi [Working and introduction of the automated control system by engineering data]. Elektron-nye i elektromekhanicheskie sistemy i ustroystva: tezisy dokladov XVIII nauchno-tehnicheskoy konferentsii [Electronic and electromechanical systems and devices. Theses of the report of XVIII scientific and technical conference]. Tomsk, 22-23 April 2010. pp. 228-230.
19. Kontseptsiya informatizatsii Roskosmosa, utverzhdena 01.03.2010 [Roskosmos informatization consept. Accepted 01 March 2010]. Available at: http://www.federalspa-ce.ru/main.php? id=13&did=928&print=1 (accessed 03 September 2013).
20. Ekimova O.Yu., Koblov N.N., Chekrygin S.S. Postroenie elktron-nogo sostava izdeliya v ramkakh edinogo informatsionnogo pro-stranstva priborostroitelnogo predpriyatiya [Electronic product components forming within the single information field of enterprise]. Kontrol i diagnostika, 2012, no. 13, pp. 22-26.
Received: 25 November 2013.