Интеграция систем автоматизированного проектирования  радиоэлектронной аппаратуры
с системой управления данными ENOVIA SMARTEAM

И.И. Савенко,
 учебн. мастер, igsavenko@sibmail.
com, каф. АиКС,

В.Н. Вичугов,
доц., к.т.н.,
vlad@aics.ru, каф. АиКС,

С.Г. Цапко,
доц., к.т.н.,
serg@aics.ru, каф. АиКС,

ТПУ, г. Томск

В докладе рассматривается комбинированный подход к интеграции двух программных продуктов, из которых только один имеет зарегистрированные в операционной системе библиотеки, на примере интеграции системы проектирования электронных приборов Altium Designer с программным комплексом управления данными об изделии ENOVIA SmarTeam. В результате был разработан программный модуль интеграции, который представляет собой COM-компонент, взаимодействующий с внешними программными системами посредством COM-интерфейсов. Основная часть модуля интеграции указанных систем реализована с использованием языка программирования C# и выполняется в общеязыковой среде выполнения CLR. В докладе описаны разработанные модули, их основные функции, а так же взаимодействие между собой.

 

In the report the combined approach to integrate the two software products, of which only one have registered in the operating system libraries, is considered. As an example, integration of electronic devices design system Altium Designer with product data management software package ENOVIA SmarTeam, is considered. As a result, the program integration module, that is a COM-component that interacts with external software systems through the COM-interfaces, was developed. The main part of the module is implemented using C# programming language and runs in the Common Language Runtime (CLR). The report describes the developed modules, their basic functions, and their interaction.

Введение

На современном этапе создания и развития информационных технологий в промышленном производстве наблюдается стремление к объединению информационных ресурсов или, другими словами, интеграция различных информационных технологий в единый комплекс. В качестве средства, интегрирующего промышленные автоматизированные системы проектирования и управления в единую многофункциональную систему, выступают CALS-технологии (Continuous Acquisition and Life cycle Support).

Промышленные автоматизированные системы могут работать автономно, но эффективность автоматизации будет заметно выше, если данные, генерируемые в одной из систем, будут доступны в других системах, поскольку принимаемые в них решения станут более обоснованными.

Чтобы достичь должного уровня взаимодействия промышленных автоматизированных систем, требуется создание единого информационного пространства в рамках предприятия. Единое информационное пространство обеспечивается благодаря унификации информации о конкретных изделиях на различных этапах их жизненного цикла. Управление данными в едином информационном пространстве на протяжении всех этапов жизненного цикла изделий возлагается на систему PLM (Product Lifecycle Management). Под PLM понимается процесс управления информацией об изделии на протяжении всего его жизненного цикла. Понятие PLM-система представляется как интегрированная совокупность автоматизированных систем CAE/CAD/CAM/EDA/PDM и ERP/CRM/SCM.

На данный момент информационные системы многих компаний представляют собой комплекс автономных приложений, использующих различные способы хранения данных, дублирующих справочную информацию, отличающихся по пользовательскому интерфейсу и системам обеспечения безопасности и функционирующих на различных программно-аппаратных платформах. Все это приводит к существенному повышению стоимости владения подобной информационной системы, снижает эффективность использования накапливаемых в них информации и знаний, а также делает крайне трудным развитие подобной системы. Проблема интеграции, часто обозначаемая как EAI (Enterprise Application Integration), в настоящее время стала одной из ключевых при внедрении любого приложения в корпоративной информационной системе.

Стандарт интеграции COM

Из всех существующих стандартов интеграции самым оптимальным является стандарт COM, все остальные стандарты используются для создания распределенных систем, которые взаимодействуют между собой по сети Интернет. Также, при использовании стандарта COM, в отличие от JavaRMI, отсутствует привязка к языку, т.е. для создания СОМ-компонентов может использоваться любой язык, и эти компоненты могут использоваться большим числом языков и инструментов.

Модель компонентных объектов (Component Object Model, COM)–- стандартный механизм, включающий интерфейсы, с помощью которых одни объекты предоставляют свои сервисы другим. Он является основой многих объектных технологий, в том числе OLE и ActiveX. Основным понятием, которым оперирует стандарт COM, является COM-компонент (объект). Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый СОМ-объект является экземпляром некоторого класса, каждому классу может быть присвоен GUID идентификатор класса (CLSID), который может одновременно использоваться многими программами. Компонент взаимодействует с другими программами через COM-интерфейсы - наборы абстрактных функций и свойств.

Интеграция двух приложений, одно из которых не имеет COM–объектов

Не все программные продукты имеют открытый программный интерфейс. Возникают ситуации, когда приложение имеет внутренний API, т.е. не имеет зарегистрированных в системе компонентов. В таком случае, программирование осуществляется через встроенную среду разработки, а в качестве языков программирования чаще всего используются скриптовые языки программирования. Если необходимо интегрировать два приложения, одно из которых не имеет COM-компонентов, то чаще всего используется промежуточный текстовый файл, в котором содержатся временные данные. Общая схема интеграции приложений представлена на рисунке 1.

 

рис. 1. Интеграция двух приложения, одно из которых не имеет COM–объектов

На рисунке 1 видно, что приложение A не имеет зарегистрированных компонентов в системе. Используя внутреннюю платформу приложения A создается временный текстовый файл, который содержит всю нужную информацию, которую необходимо передать приложению B. Промежуточный файл помещается во временную директорию пользователя, которая очищается в определенные моменты времени, в зависимости от настройки операционной системы. После того, как файл был успешно сформирован, данные из файла могут использоваться объектами классов, которые были получены из COM-компонентов приложения B.

В качестве текстового формата данных может быть использован любой из существующих форматов: XML, JSON, CSV. Разработчик сам может выбрать формат промежуточного файла, в зависимости от объема и типа данных.

Недостатки данного подхода к интеграции:

Невозможно реализовать двухстороннюю интеграцию, так как одно из приложений не имеет зарегистрированных в системе COM-объектов;

a.      данный подход к интеграции является небезопасным, так как полученные из приложения A данные являются открытыми и хранятся во временном файле;

b.      при установке приложения C на систему пользователя администратору необходимо проводить настройки системы A, так как вызов приложения C должен осуществляться непосредственно из приложения, которое не обладает зарегистрированными компонентами;

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

Несмотря на такой большой список недостатков, есть и одно главное преимущество. Внутренний программный интерфейс приложений содержит больший набор классов, функций, констант. Таким образом, разработчик может решить больше поставленных перед ним задач при интеграции приложений.

Интеграция EDA-системы Altium Designer и PLM-системы SmarTeam с использованием COM-технологии

Рассмотрим данный подход на примере интеграции системы автоматизации проектирования электронных приборов Altium Designer и системы управления данными об изделии SmarTeam. Система Altium Designer не имеет зарегистрированных в операционной системе COM-объектов, поэтому взаимодействие с ней осуществляется через внутреннюю платформу, которая включает в себя пять программных интерфейсов:

-           управления схемами;

-           управления печатными платами;

-           управления проектами;

-           управления программной платформой;

-           программирования и отладки программируемых логических интегральных схем (ПЛИС) на стенде NanoBoard.

рис.2.  Пример реализации подхода к интеграции

Система Altium Designer позволяет создавать различные виды проектов, одним из которых является скрипт-проект. Это набор документов, в которых сохраняются один или несколько сценариев Altium Designer. Набор инструкций, которые интерпретируются каждый раз при запуске в Altium Designer. Инструкции создаются и отлаживаются в одной и той же среде разработки. В проекте могут быть использованы прикладные программные интерфейсы для модификации проектируемых объектов в документах проекта. В качестве языка программирования для обработки проектируемых объектов используется язык Visual Basic. Полученные данные о проекте, схемах и печатных платах сохраняются в текстовый документ в формате JSON. После того, как файл был сформирован, осуществляется преобразование JSON файла в объектную модель. Это необходимо для удобной работы с полученными данными; в результате данной операции каждая запись в файле становится объектом определенного класса, и они объединяются в коллекции.

Данные коллекции могут использоваться как вспомогательными объектами, которые используются при интеграции, так и объектами системы SmarTeam. Затем данные помещаются в систему управления данными об изделии, т.е. создаются экземпляры необходимых классов, в которые помещаются полученные данные и осуществляется сохранение в базу данных системы управления данными об изделия.

Данная интеграция не является полностью автоматизированной, так как после внедрения приложения (COM-компонента) «Altium To SmarTeam», необходимо осуществлять вручную дополнительные настройки в системе Altium Designer. Также нет возможности управлять разрабатываемым проектом в системе автоматизации проектирования электронных приборов Altium Designer из другого приложения.

Модуль интеграции EDA-системы Altium Designer и PLM-системы ENOVIA SmarTeam

В результате был разработан программный модуль интеграции EDA-системы Altium Designer и PLM-системы ENOVIA SmarTeam, который представляет собой COM-компонент, взаимодействующий с внешними программными системами посредством COM-интерфейсов.

 

рис.3. Схема взаимодействия модулей программного модуля интеграции с внешними программными системами

Большая часть механизма интеграции EDA-системы Altium Designer с PDM-системой ENOVIA SmarTeam реализована с использованием языка программирования C# и выполняется в общеязыковой среде выполнения CLR. Структура модуля и схема взаимодействия с внешними системами показана на рисунке 3. Пунктирными линиями показано, что связь между отдельными частями системы осуществляется через файл.

Модуль интеграции состоит из следующих частей:

·      Модуль getSchemeComponentForm обеспечивает чтение данных об электронном изделии из проекта Altium Designer, сохранение этих данных в файл в формате JSON и передачу управления модулю AltiumToSmarTeam.

·      Модуль AltiumToSmarTeam обеспечивает проведение аутентификации пользователя, выбор пользователем проекта PDM-системы ENOVIA SmarTeam, выбор пользователем изделия, выбор пользователем сборочной единицы, а также создание в PDM-системе ENOVIA SmarTeam объектов классов «Проект Altium» и «Файл Altium» в соответствии с данными, полученными из проекта EDA-системы Altium Designer.

·      Модуль AltiumSupport запускается по запросу пользователя из PDM-системы ENOVIA SmarTeam и обеспечивает формирование следующих конструкторских документов: «Перечень элементов», «Ведомость покупных изделий», «Спецификация» — и структуры выбранной сборочной единицы на основе данных, хранящихся в PDM-системе ENOVIA SmarTeam. Также данный модуль формирует справочник стандартных изделий при формировании структуры сборочной единицы.

·      Модуль CommonUtils содержит общие функции для работы с PDM-системой ENOVIA SmarTeam, а также функции для работы с форматом JSON; он используется другими модулями программного модуля интеграции.

Заключение

В докладе предложен подход к интеграции двух приложений, одно из которых не имеет COM-объектов. Данный подход позволил разработать программный модуль интеграции EDA-системы Altium Designer и PLM-системы SmarTeam. Программный модуль может использоваться для сквозной автоматизации процесса проектирования радиоэлектронных средств с использованием технологий интегрированной поддержки жизненного цикла наукоемких изделий. Модуль успешно прошел апробацию в рамках приборостроительного направления ОАО «Информационные спутниковые системы» имени академика М.Ф. Решетнева, г. Железнолорск.

Литература

1.  Яблочников Е.И, Молочник В.И., Миронов А.А. ИПИ-технологии в приборостроении/ Учебное пособие – СПб: СПбГУИТМО, 2008. – 128 с.

2.  А. Е. Сабунин. Altium Designer. Новые решения в проектировании электронных устройств. – Солон-Пресс, 2009 г. – 432 стр.

3.  Олег Шиловицкий. ENOVIA SmarTeam: реальные PLM-решения для реального использования [Электронный ресурс]. Режим доступа: http://www.smarteam.ru/publications/article10.pdf, свободный. – Загл с экрана (дата обращения: 05.05.2012).

4.  Сравнительный анализ современных систем класса PDM / PLM российских производителей / Соловкин А.А., Носков В.Н., Носков М.В. и др. // Качество и ИПИ (CALS) - технологии. - 2006. - N 3(11). - С.24-34. – Библиогр.: 9 назв.

5.  Распределенный СОМ Microsoft (DCOM) [Электронный ресурс] – 1999. Режим доступа: http://www.interface.ru/magazine/tcs/Archive/198/DCOM/dcom.htm, свободный – Загл с экрана (дата обращения: 12.05.2012).