УДК 681.3.069
Вестник СибГАУ 2014. № 4(56). С. 74-80
РАЗРАБОТКА ПРОГРАММНО-АЛГОРИТМИЧЕСКОГО КОМПЛЕКСА ПРОЕКТИРОВАНИЯ ЭЛЕКТРОМОНТАЖНЫХ ЧЕРТЕЖЕЙ В ПРИБОРОСТРОЕНИИ
А. А. Козлов1, H. Н. Коблов12
1ОАО «Научно-производственный центр «Полюс» Российская Федерация, 634050, г. Томск, просп. Кирова, 56в E-mail: [email protected] Национальный исследовательский Томский политехнический университет Российская Федерация, 634050, г. Томск, просп. Ленина, 30 E-mail: [email protected]
Рассматриваются основные вопросы разработки программно-алгоритмического комплекса проектирования электромонтажных чертежей в приборостроении. Показана актуальность его применения для уменьшения трудоемкости разработки, повышения качества конструкторской документации, исключения несоответствий между таблицей соединений, таблицей контактов и графическим изображением раскладки электромонтажного жгута. Обозначены основные принципы структуры программного обеспечения. Выделены основные модули обобщенной структурной схемы программно-алгоритмического комплекса, выполняющие следующие задачи: импорт данных электрической схемы в формате файла САПР; экспорт данных проекта приложения в виде графических, текстовых или бинарных файлов САПР; проверка корректности входных данных; хранение данных проекта; формирование отчетов о состоянии данных проекта; синхронизация данных конструкции и модифицированной электрической схемы; формирование извещений об изменениях проектного решения; визуализация данных проектного решения; прокладка траекторий жгутов, вычисление сечений и диаметров проводников, входящих в жгуты.
Предложен алгоритм определения состояний цепей электрической схемы на базе библиотеки Boost Graph Library, основанный на алгоритме поиска в ширину на графе. Дана обобщенная схема работы программно-алгоритмического комплекса, выделены основные характеристики, необходимые для решения задачи проектирования электромонтажного жгута. Показана возможность применения библиотеки компонентов графического интерфейса Qt для разработки интерфейса программного комплекса. Разработано приложение для проектирования электромонтажных чертежей, обладающее следующими характеристиками: САПР-независимый ввод, хранение, графическое отображение данных электрической схемы; входной контроль данных; автоматизированное получение таблиц соединений и контактов электрической схемы; интерактивная и автоматическая прокладка жгута; отображение диаметра, длины и количества проводов в любой точке сегмента прокладываемого жгута; формирование отчетов о текущем состоянии данных конструкции; экспорт графики электромонтажного чертежа.
Ключевые слова: система автоматизированного проектирования, P-CAD, Qt, BGL, Boost Graph Library, SQLite, база данных, интерфейс приложения, граф, поиск в ширину.
Vestnik SibGAU 2014, No. 4(56), P. 74-80
PROGRAM-ALGORITHMIC ELECTRICAL DRAWING COMPLEX DESIGN
A. A. Kozlov1, N. N. Koblov1,2
1JSC "Scientific & Industrial Centre "Polyus" 56v, Kirova Av., Tomsk, 634050, Russian Federation E-mail: [email protected] 2Tomsk Polytechnic University 30, Lenin Av., Tomsk, 634050, Russian Federation E-mail: [email protected]
The main issues of development of program-algorithmic design complex electrical drawings in the instrument are reviewed. The urgency of its application for reducing the complexity of the development, quality improvement of the design documentation, prevention discrepancies between the connection table, a table of contacts and pictures, layout wiring harness are shown. The key principles of the software structure are mentioned. The software main modules are shown, which can solve the following problems: electrical schema CAD file data import; export design data in text or
binary CAD file format; input data checking and verification; design data storing; data state information reports forming; design and electrical schema data synchronization in order to form change notice reports; design data visualization; wire trace routing, wire thread cross section and diameter calculations.
An algorithm for determining states of circuits circuitry based on the Boost Graph Library is proposed, which is formed of the breadth-first search on a graph algorithm. The generalized scheme of software and algorithmic complex, the main characteristics needed for solving the problem of designing wiring harness are given. The possibility of using a component library for Qt GUI interface development software package is shown. The software for the automatic modeling of assembly and switching space is developed. 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.
Keywords: CAD system, P-CAD, Qt, BGL, Boost Graph Library, SQLite, database, application interface, graph, breadth first search.
Введение. Выпуск электромонтажного чертежа является одним из самых трудоемких этапов в работе инженера-конструктора в приборостроении. Получив от разработчика принципиальную электрическую схему прибора, конструктор должен оформить электромонтажный чертеж, таблицу соединений и таблицу контактов, предварительно организовав оптимальным образом межмодульные соединения проектируемой конструкции с учетом предъявляемых требований. На этом этапе ему необходима вся оперативная информация о геометрии прокладываемых жгутов, их диаметрах и проводниках в любой точке [1].
Множество требований, предъявляемых к организации межмодульных соединений, можно условно разделить на категории [2]:
- схемотехнические, согласно списку цепей, прокладке отдельных цепей (цепи питания, экранированные и т. д.);
- конструктивные, ограничивающие объем свободного места в конструкции, где предполагается прохождение межмодульных жгутов;
- технологические, накладывающие ограничения на используемые типы проводов (свивка проводов, наличие плетенок и т. д.) и типы электрорадиоизде-лий (распределение токовой нагрузки, максимально допустимое суммарное сечение проводов, распаиваемых на контакты и т. д.).
Монтажный чертеж, таблицы соединений и контактов оформляются согласно требованиям государственных стандартов и должны в полной мере соответствовать исходной принципиальной электрической схеме [3-6].
Оформление электромонтажного чертежа усложняется организацией взаимодействия разработчика и конструктора. Так, передав актуальный вариант схемы конструктору, разработчик может продолжить ее модернизацию. При этом возникает задача синхронизации изменений в электрической схеме с уже разрабатываемой конструкцией. Зачастую конструктор может неявно внести изменения в схему, например, сменить тип соединителя или перераспределить узлы в цепях, исходя из удобства их расположения. Существующие программно-алгоритмические комплексы и системы автоматизированного проектирования (САПР), такие как «Кабели и жгуты - КОМПАС 3D», «SOLIDWORKS - SWR Электрика» и др., в основном предполагают объединение электрической и механической частей проектного решения, что существенно
усложняет разделение задач по проектированию [7; 8]. Следует заметить, что современные САПР предусматривают наличие трехмерной модели прибора, которая может отсутствовать на момент начала проектирования электромонтажного чертежа. Также к недостаткам таких систем следует отнести сложность настройки отображения данных в таблицах соединений и контактов, отсутствие исчерпывающей полноты отображения данных, что затрудняет работу монтажника и может привести к ошибкам в распайке проводов. При этом формализация требований к организации межмодульных соединений в современных САПР сложна и малоприменима в отечественном приборостроении. САПР-независимый программно-алгоритмический комплекс проектирования электромонтажных чертежей, учитывающий специфику параллельной работы инженера-конструктора и адаптированный для отечественного приборостроения, способен ускорить время разработки проектного решения и существенно повысить его качество.
В настоящий момент в ОАО «НПЦ «Полюс» разрабатывается подобный комплекс, который позволит разработчику и конструктору действовать параллельно, автоматически синхронизировать данные, формировать извещения об изменениях. В соответствии с техническим заданием «Автоматизированное формирование таблицы соединений и таблицы контактов. Визуальная прокладка жгута» в конструкторские отделы предприятия передано программное обеспечение, дающее возможность еще до начала проектирования ЗБ-модели прибора оценивать раскладку жгутов конструкции, их диаметры и сечения в любой точке, автоматически получать электромонтажный чертеж, таблицы соединений и контактов, оформленные по стандарту. Комплекс соответствует основным требованиям, предъявляемым к современным программным продуктам, и обладает следующими характеристиками:
- САПР-независимый ввод, хранение, графическое отображение данных электрической схемы;
- входной контроль данных;
- автоматизированное получение таблиц соединений и контактов электрической схемы;
- интерактивная и автоматическая прокладка жгута;
- отображение диаметра, длины и количества проводов в любой точке сегмента прокладываемого жгута;
- формирование отчетов о текущем состоянии данных конструкции;
- экспорт графики электромонтажного чертежа.
Разрабатываемый программно-алгоритмический
комплекс реализован в виде программного продукта (приложения) с современным графическим пользовательским интерфейсом. Приложение не нарушает лицензионные соглашения и может поставляться с открытым исходным кодом. В качестве графического программного инструментария применяется библиотека компонентов графического интерфейса Qt, широко используемая в проектировании современных программных продуктов и поставляемая с открытым исходным кодом под лицензией LGPL [9; 10]. Она является переносимой между платформами и хорошо адаптирована к взаимодействию с другими библиотеками [11; 12]. Для решения задач раскладки жгутов, хранения и отображения данных служит С++ библиотека графовых алгоритмов BGL (Boost Graph Library), которая также имеет открытый исходный код и способна существенно ускорить разработку графовых алгоритмов, включенных в состав комплекса [13]. Для хранения данных о разрешенных типах проводов, разъемов и соединителей электрической схемы спроектированы соответствующие базы данных с системой управления SQLite, поддерживающей стандартные запросы, транзакции и механизм многопользовательского чтения данных.
Основные модули обобщенной структурной схемы разработанного программно-алгоритмического комплекса (рис. 1) выполняют следующие задачи:
- импорт данных электрической схемы в формате файла САПР или внутреннего файла проекта приложения;
- экспорт данных проекта приложения в виде графических, текстовых или бинарных файлов САПР;
- проверку корректности входных данных;
- хранение данных проекта;
- формирование отчетов о состоянии данных проекта;
- синхронизацию данных конструкции и новой модифицированной электрической схемы, формирование извещений об изменениях проекта;
- визуализацию данных проектного решения;
- прокладку траекторий жгутов, вычисления сечений и диаметров проводников, входящих в жгуты.
При работе приложения (рис. 2) в качестве входных данных используется файл принципиальной электрической схемы в формате P-CAD 2006 Schematic.
Разработанный интерфейс главного окна приложения (рис. 3) позволяет конструктору видеть актуальное состояние проектного решения: статус любого объекта схемы представлен своей иконкой и цветом, что существенно облегчает навигацию по объектам и их свойствам. Интерфейс главного окна приложения содержит следующие элементы:
- строка меню 1, которая используется для быстрого доступа к основному функционалу приложения;
- панель компонентов схемы 2, служащая для отображения параметров компонентов схемы, навигации по компонентам, а также для доступа к функционалу добавления, удаления и редактирования компонентов схемы;
- панель цепей схемы 3, предназначенная для отображения параметров цепей схемы, навигации по цепям, а также для доступа к функционалу добавления, удаления и редактирования цепей схемы;
- графическое пространство приложения 4;
- панель проводов схемы 5.
Для автоматического определения и индикации состояний цепей, разводимых в проекте схемы, используется API-библиотека BGL. При этом каждая цепь схемы представляется графом, узлы которого -контакты компонентов схемы, а ребра - соединения с сопоставленными им наборами проводников. Библиотека BGL имеет ряд готовых к применению графовых алгоритмов: поиск в ширину, поиск в глубину, поиск путей на графе. В ней используется концепция «посетителя» алгоритма, позволяющая адаптировать тот или иной графовый алгоритм под конкретную задачу программиста. Для определения текущего состояния цепи применен алгоритм (рис. 4), который формирует номера состояний цепей: 0 - цепь не разведена, 1 -цепь разведена без избыточности (в графе цепи существует единственный путь, составленный из его ребер, соединяющий все его узлы), 2 - цепь разведена с избыточностью (в графе цепи существуют несколько путей, соединяющих все его узлы). Состояния цепей отображаются на соответствующей панели приложения (рис. 5).
Рис. 1. Обобщенная структурная схема приложения
Рис. 2. Обобщенная схема работы приложения
Рис. 3. Главное окно приложения
N - количество вершин графа.
М - максимальное возможное число ребер графа.
Проверка полноты графа.
Вызов функции BGL boost: :breadth first search от первой вершины графа, формирующей список предшественников для всех вершин графа.
Сформированный выше список предшественников неявно хранит найденные «древесные» ребра графа, отсутствие хотя бы у одного ребра концевой вершины говорит об отсутствии пути, соединяющего все вершины графа.
Инициализация бинарной матрицы А размером п х п, формируемой по списку найденных «древесных» ребер графа, где значение элемента А[1, ]] равно числу ребер из ьн вершины в ¡-ю вершину.
Пусть е - найденное ребро с концевыми индексами вершин в и 1 Тогда если А[в, 1] = 0 или А[г, в] = 0, то путь, соединяющий все вершины графа, не является единственным.
Рис. 4. Блок-схема алгоритма определения состояния цепи схемы
Панель цепей ш
Щ ф Jp + 'U.
Цепь Компонент Кол-ао | Кол-во жил | Сеченне I Статус I Примечание
В • IMETOOQOO 4 11 - 2 Цепь с избыточностью
>■■■ Сф XP1:A1 XP1 5 0,5/4 2
Qt XP1:A2 XP1 6 0.72/4 2
# A € XP1:E1 XPl - В 10.96/4 in
Ci XP1:B2 XP1 I-_ 3 0.36/4 2
С # NET00001 2 3 - 1 Цепь разведена
4 Of ХР2Д1 XP2 - 3 0,36/4 3
Gf XP2:A2 XP2 - 3 0,36/4 3
в- > NETOOOO; 3 1- 0 Цепь не разведена
f--O- XP1:A3 XPl 1- -/4 1
h Qi XP1:A4 XPl 1- -/4 1
C- XP1:B3 XPl 1- -/4 1
_ _1 - _
Рис. 5. Панель цепей главного окна приложения
Заключение. Собственная разработка ОАО «Научно-производственный центр «Полюс» уменьшает трудоемкость выпуска электромонтажных чертежей, исключает несоответствия между таблицей соединений, таблицей контактов и графическим изображением раскладки жгута и успешно используется в конструкторских бюро для автоматизации работы инженеров-конструкторов. В дальнейшем планируется осуществить интеграцию приложения с разрабатываемой на предприятии автоматизированной системой управления инженерными данными и производством, а также реализовать инструмент синхронизации данных электрической схемы и конструкции [14; 15].
Библиографические ссылки
1. Алексеев В. П., Коблов Н. Н., Хрулев Г. М. Современные технологии автоматизации проектирования РЭА специального назначения. Томск : Изд-во Ин-та оптики атмосферы СО РАН, 2003. 134 с.
2. Коблов Н. Н., Черватюк В. Д., Чекрыгин С. С. Повышение эффективности проведения изменений в конструкторской документации // Электронные и электромеханические системы и устройства : тез. докл. науч.-техн. конф. молодых специалистов ОАО «НПЦ «Полюс». Томск, 2013. С. 213-215.
3. Разработка и оформление конструкторской документации для радиоэлектронной аппаратуры : справочник / Э. Т. Романычева [и др.] 2-е изд., пере-раб. и доп. М. : Радио и связь, 1989. 448 с.
4. ГОСТ 23592-96. Монтаж электрический радиоэлектронной аппаратуры и приборов. Общие требования к объемному монтажу изделий электронной техники и электротехнических. М. : Стандартинформ, 2003. 10 с.
5. ГОСТ 2.710-81. Единая система конструкторской документации. Обозначения буквенно-цифровые в электрических схемах. М. : Стандартинформ, 2007. 10 с.
6. ГОСТ 19701-90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения. М. : Стандартинформ, 2010. 22 с.
7. САПР и Графика: сквозная система проектирования электрифицированных систем в аэрокосмической отрасли на примере связки E3.series и NX [Электронный ресурс]. URL: http://www.e3series.ru/up-loaded/articles/16/042011_SAPR_i_Gr_1.pdf (дата обращения: 28.05.14).
8. САПР и Графика: aBTOMarronpoBaHHoe получение монтажных схем - решение на основе E3.series [Электронный ресурс]. URL: http://www.e3series.ru/ uploaded/articles/14/Sapr_i_gr_092010_ Kalintsev.pdf (дата обращения: 28.05.14).
9. Бланшет Ж., Саммерфилд М. Qt 4: программирование GUI на C++ : пер. с англ. 2-е изд., доп. М. : КУДИЦ-ПРЕСС, 2008. 736 с.
10. Шлее М. Qt 4.8: профессиональное программирование на C++. СПб. : БХВ-Петербург, 2013. 912 с.
11. Ezust A., Ezust P. Introduction to Design Patterns in C++ with Qt. New Jersey : Prentice Hall, 2011. 768 p.
12. Summerfield M. Advanced Qt Programming Creating Great Software with C++ and Qt4. New Jersey : Prentice Hall, 2010. 554 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. Коблов H. H. Разработка и внедрение автоматизированной системы управления инженерными данными // Электронные и электромеханические системы и устройства : тез. докл. XVIII науч.-техн. конф. (22-23 аир. 2010, г. Томск). С. 228-230.
15. Екимова О. Ю., Коблов Н. Н., Чекрыгин С. С. Построение электронного состава изделия в рамках единого информационного пространства приборостроительного предприятия // Контроль и диагностика. 2012. № 13. С. 22-26.
References
1. Alekseev V. P., Koblov N. N., Hrulev G. M. Sovremennye tekhnologii avtomatizatsii proektirovanija RJeA spetsial'nogo naznachenija [Modern technologies of automation of designing of REE of a special purpose]. Tomsk, Publishing house of Institute of optics of atmosphere of the SB RAS, 2003, 134 p.
2. Koblov N. N., Chervatjuk V. D., Chekrygin S. S. [Increase of efficiency of carrying out of changes in the design documentation]. Jelektronnye i jelektromekhani-cheskie sistemy i ustrojstva : tez. dokl. nauch.-tehn. konf. molodyh specialistov. [Electronic and electromechanical systems and devices: theses of reports of scientific and technical conference of young experts]. Tomsk, on February, 14-15th, 2013, p. 213-215.
3. Je. T. Romanycheva. Razrabotka i oformlenie kon-struktorskoj dokumentatsii dlja radiojelektronnoj appara-tury: spravochnik. [Radio electronics construction documentation design]. Moscow, Radio i svjaz' Publ., 1989, 448 p.
4. GOST 23592-96. Montazh jelektricheskij radiojelektronnoj apparatury i priborov. Obshhie trebovanija k objemnomu montazhu izdelij jelektronnoj tekhniki i jelek-trotekhnicheskikh. [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.
5. GOST 2.710-81. Jedinaja sistema konstruktorskoj dokumentatsii. Oboznachenija bukvenno-tsifrovye v jelek-tricheskikh skhemakh. [State Standard 2.710-81. Unified system for design documentation. Alpha-numerical designations in electrical diagrams]. Moscow, Standartin-form Publ., 2007, 10 p.
6. GOST 19.701-90 Jedinaja sistema programmnoj dokumentatsii. Skhemy algoritmov, programm, dannykh i sistem. Uslovnye oboznachenija i pravila vypolnenija. [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.
7. SAPR i Grafika: skvoznaja sistema proektirovanija jelektrifitsirovannykh sistem v ajerokosmicheskoj otrasli na primere svjazki E3.series i NX. [CAD and Graphics:
circuit design system for aerospace electronics based on E3.series and NX]. (In Russ) Available at: http://www.e3series.ru/uploaded/articles/16/042011_SAP R_i_Gr_1.pdf (accessed 28.05.14)
8. SAPR i Grafika: avtomatizirovannoe poluchenie montazhnykh skhem - reshenie na osnove E3. series. [CAD and Graphics: automatic wiring diagram designing based on E3. series]. (In Russ) Available at: http://www.e3series.ru/uploaded/articles/14/Sapr_i_gr_09 2010_ Kalintsev.pdf (accessed 28.05.14).
9. Blanshet Zh., Sammerfild M. Qt 4: programmiro-vanie GUI na C++ [Qt 4: GUI programming with C++]. Moscow, KUDIC-PRESS Publ., 2008, 736 p.
10. Shlee M. Qt 4.8: Professional'noe programmiro-vanie na C++. [Qt 4.8: Professional programming with C++]. St.Petersburg, BHV-Peterburg Publ., 2013, 912 p.
11. Ezust A., Ezust P. Introduction to Design Patterns in C++ with Qt. New Jersey, Prentice Hall, 2011. 768 p.
12. Summerfield M. Advanced Qt Programming Creating Great Software with C++ and Qt4. New Jersey, Prentice Hall, 2010. 554 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. Koblov N. N. [Working and introduction of the automated control system by engineering data]. Jelektronnye i jelektromehanicheskie sistemy i ustrojstva : tez. dokl. XVIII nauch.-tehn. konf. [Electronic and electromechanical systems and devices: Proc. of XVIII scientific and technical conference]. Tomsk, 22-23 apr. 2010, p. 228-230 (In Russ.).
15. Ekimova O. Ju., Koblov N. N., Chekrygin S. S. [Electronic product components forming within the single information field of enterprise]. Kontrol' i diagnostika. 2012, no 13, p. 22-26 (In Russ.).
© KO3^ob A. A., KOÔ^OB H. H., 2014