Содержание;pdf

РАЗРАБОТКА МОДУЛЯ ФОРМИРОВАНИЯ КОМПЛЕКТА
ФАЙЛОВ 3D-МОДЕЛЕЙ ДЕТАЛЕЙ И СБОРОК В СИСТЕМЕ
УПРАВЛЕНИЯ ИНЖЕНЕРНЫМИ ДАННЫМИ
«АЛЬТАИР:ЛОЦМАН:PLM»
Сутула Н.А., Поляков А.П.
(ФГБОУ ВПО «Национальный исследовательский университет «МЭИ»,
Москва, Россия)
Эффективная организация управления жизненным циклом изделий
помогает предприятию одновременно снизить затраты, улучшить качество
продукции, ускорить выход ее на рынок, обеспечить качественное
послепродажное сопровождение. Основу управления жизненным циклом
изделий (PLM) составляет корпоративная информационная система
управления для совместного создания, управления и использования
актуальной информации об изделиях, объединяющая в единое
информационное пространство процессы, исполнителей, изделия и
информацию.
Рисунок 1: Этапы Жизненного цикла изделия
PLM–это промышленная система информационного взаимодействия
расширенного предприятия по управлению всеми данными об изделии и
связанных с ним процессах на протяжении всего жизненного цикла
изделия. PLM в таком определении – это система для всего предприятия, а
значит именно PLM является средой, в которой и решаются все задачи
управления любой рабочей информацией об изделии. Для решения данной
задачи в системе существует свой набор приёмов и методов, отсюда
следует, что PLM - это и особая технология работы с данными.
При сохранении в «Альтаир:Лоцман:PLM» файла сборки 3D-модели
разработанной в САПР SolidWorks, возникает проблема утери файлов
некоторых деталей, участвующих в сборке. Связано это с тем, что файл
сборки в себе содержит только ссылки на файлы деталей.
Данная работа представляет собой разработку модуля для устранения
данного недостатка в «Альтаир:Лоцман:PLM», путём поиска недостающих
файлов деталей и прикрепления их к сборке, из которой они были утеряны.
Обзор «Альтаир:Лоцман:PLM» системы
Разработка модуля велась на основе «Альтаир:Лоцман:PLM», которая
используется на ОАО «Альтаир». Система «Альтаир:Лоцман:PLM» (далее
PLM-система) – система является собственной разработкой предприятия,
построенной на базовом программном обеспечении «ЛОЦМАН:PLM»
российской компании «АСКОН».
«ЛОЦМАН:PLM» [2] - программная система, обеспечивающая
структурированное хранение технической документации на изделие,
управление информацией о структуре, вариантах конфигураций изделий и
входимости компонентов в различные изделия.
ЛОЦМАН состоит из следующих частей:
ЛОЦМАН Клиент — центральный модуль системы ЛОЦМАН:PLM,
предназначенной для управления инженерными данными и жизненным
циклом изделия. Клиентское приложение позволяет множеству
пользователей одновременно работать с базами данных различного
содержания. При этом обеспечивается сохранность информации на всех
этапах доступа к ней.
«ЛОЦМАН Конфигуратор» (далее – Конфигуратор, ЛОЦМАН
Конфигуратор) является модулем настройки системы ЛОЦМАН:PLM.
Именно в Конфигураторе создается список типов объектов, которыми
будет оперировать система, задаются их свойства, устанавливаются
способы взаимодействия между объектами. Настройки, сделанные в
Конфигураторе, определяют, с какими именно объектами материального
мира будет работать система. Это могут быть чертежи, детали,
технологические процессы или, например, инженерные кадры, личные
дела, заявления и т.д.
Ниже приведена структурная схема системы и место разрабатываемого
модуля в ней(см. рисунок 2):
Рисунок 2: Структурная схема "Альтаир:Лоцман:PLM" и место
модуля в ней
Описание задачи и требования к программному модулю
При разработке 3D-модели сборки в связи с особенностями работы
SolidWorks каждая деталь, участвующая в сборке, сохраняется в отдельном
файле. Для корректного чтения сборки другим пользователем на другом
рабочем месте, в каталоге вместе с главным файлом сборки, должен
находиться полный комплект деталей участвующих в сборке. При загрузке
сборки в PLM-систему возникает проблема неполного комплекта деталей
(к примеру деталь была взята из базы данных(далее БД) шаблонов и
разработчик не посчитал нужным загрузить её вместе со своей сборкой
или вообще не была загружена в PLM-систему и хранится в сетевом
каталоге). При просмотре сборки в каталоге которой отсутствуют
некоторые детали, SolidWorks выдаёт ошибку о неполной конфигурации
сборки. Это сообщение можно перехватить и отправить на сервер запрос
для поиска недостающего файла. В этом и заключается идея данной
работы. Модуль, работающий на сервере, получит запрос на поиск файлов,
произведёт поиск по базам данных PLM-системы и вернет результат, в
случае успешного поиска прикрепит найденный файл к сборке SolidWorks.
Требования к разрабатываемому модулю:
1. Модуль должен являться частью PLM-системы и использовать ее API
(серверная часть – язык программирования PHP, клиентская часть - язык
программирования VBA).
2. Модуль должен работать с версией SolidWorks 2012.
3. Модуль должен обеспечивать поиск и подбор необходимых файлов по
нескольким базам PLM-системы (изделия собственного производства,
примененные изделия, стандартные изделия, прочие изделия и т.д.)
4. Модуль должен формировать отчет по ненайденным файлам и ошибок
копирования
Метод решения поставленной задачи
Для решения поставленной задачи была создана БД «SWInfo» в которой
хранится информация обо всех деталях SolidWorks загруженных в PLMсистему и сетевые каталоги предприятия. Данная БД хранит в себе: имя
файла и целочисленный идентификатор места где хранится файл(например
сетевая папка «Public» – 1, БД Эскизов – 2 и т.д.).
Разработанный модуль имеет две части: одна часть находится на
сервере, где установлена PLM-система, вторая часть будет интегрирована с
САПР SolidWorks.
Серверная часть была разработана на языке программирования PHP.
PHP [3] – скриптовый язык программирования общего назначения,
интенсивно применяемый для разработки веб-приложений, обладающий
большим набором встроенных средств для разработки. К особенностям
можно отнести - свободную типизацию данных, автоматическое
приведение типов в контексте операции и отсутствие необходимости
предварительного объявления переменных. В остальном по синтаксису и
стилю программирования язык очень близок к C.
Для подключения к БД из PHP необходимо указать: имя сервера, имя
пользователя, пароль пользователя, имя базы данных. Передача данных от
клиента к серверу осуществляется методом POST, главное отличие его от
метода GET заключается в том, что в адресе не указываются значения
передаваемых параметров, следовательно,
данный метод наиболее
безопасный.
Ниже представлены основные методы, разработанные на PHP, для
работы серверной части:
• switch($_GET["Action"]) - принимаются данные от клиента и
обрабатываем ошибки на возможный некорректный ввод данных
• function GetFile($FileName,$FileType) - проверяем корректность
полученных данных и получаем результат поиска
• function SF_FindFile($FileName,$FileType) - проверяем какой тип
файла необходимо найти и выполняем необходимую функцию для
его поиска
• function SW_FindFile_Dxf($FileName) - открываем каталог и
производим поиск
Клиентская часть модуля разработана на основе API-функций Solid
Works [4]. Клиент выполняет перехват сообщения с использованием APIфункции ReferenceNotFoundNotify( ByVal Filename As String) As Long,
данная функция уведомляет пользователя программы SolidWorks, что при
загрузке сборки не найден файл детали и предлагает пользователю найти
указанный файл. Функция является событием для объекта документа, с
которым сейчас производится работа в SolidWorks. В данном событии
происходит отправка запроса на сервер с использованием класса
HTTPReques, который предоставляет возможность посылать HTTPзапросы на сервер.
Алгоритм работы модуля следующий:
1. Запускается САПР SolidWorks
2. При
неполном
комлекте
файлов
срабатывает
событие
ReferenceNotFoundNotify( ByVal Filename As String) As Long,
которое формирует и отправляет запрос по http-протоколу с именем
файла и типом САПР на серверную часть
3. Обработка запроса, получение имени файла и типа САПР
4. Поиск полученного имени файла в базе данных хранящей в себе
информацию о зарегистрированных файлах в PLM-системе. Если
результат поиска положительный, работа модуля продолжается и
возвращается идентификатор базы данных, в которой хранится файл
с таким именем, в противном случае пользователю выдаётся
сообщение, что искомый файл не загружен в систему.
5. Подключение к файловому хранилищу базы данных, куда был
загружен файл. Подключение осуществляется с использованием APIфункций PLM-системы.
6. Копирование файла из хранилища на рабочую станцию с которой
поступил запрос. Копирование сопровождается сообщением,
уведомляющее пользователя о результате копирования файла.
В работе рассмотрена система «Альтаир:Лоцман:PLM» и представлено
решение проблемы, возникающей при эксплуатации данной системы.
Изучены методы подключения и работы с базами данных на языке PHP, а
так же API Solid Works.
Разработанное решение функционирует, когда файл уже загружен в
«Альтаир:Лоцман:PLM», но по каким-то причинам не был прикреплён к
сборке. Длительность выполнения каждого запроса зависит от размеров и
количества баз данных, в которых производится поиск. Численные
результаты работы не могут быть представлены, в связи секретностью
предприятия, на котором велась разработка.
ЛИТЕРАТУРА
1. Краюшкин В. А., Лешихина И. Е., Пирогова М.А. Система PLM корпоративная
информационная
среда
предприятия
по
автоматизации
совокупности
процессов
проектирования,
изготовления, сопровождения и утилизации изделия. Научнотехнический
журнал
«Информационные
технологии
в
проектировании и производстве», №1, 2010 г., с. 3 – 23
2. ЛОЦМАН:PLM. Руководство пользователя. ЗАО АСКОН:-2008г
3. Энди Харрис. PHP и MySQL для начинающих. М.:
КУДИЦ_ОБРАЗ. 2005г
4. Справка по SolidWorks 2013. DSS SolidWorks Corp:-2013г