Создать компоновку шкафа на основе схемы
Описание кейса
От проектировщика поступил вопрос об интеграции электротехнических продуктов линейки Model Studio CS в части реализации компоновочных решений шкафов по спроектированной схеме в модуле MS Электротехнические схемы.
Об интеграции электротехнических модулей между собой практически нет никакой информации, поэтому этот вопрос при его первичном рассмотрении может вызвать довольно серьезные затруднения. На самом деле для интеграции между различными продуктами Model Studio CS существует вкладка "Задания", о которой поговорим ниже.
Зачем нужна вкладка "Задания"?
Данная вкладка находится в панели Model Studio CS прямо под вкладкой с БД оборудования и материалов:
Назначение вкладки задания очень простое: принимать информацию из обменного файла формата .XML или .CSV. На этом этапе возникают существенные затруднения у большинства пользователей.
В-первую очередь, откуда эта информация будет приходить? Если рассматривать кейс с передачей данных из схемы, то, соответственно, необходимо иметь схему в модуле MS Электротехнические схемы или любом другом стороннем ПО для разработки электрических схем, поддерживающим экспорт информации хотя бы в формате .CSV.
Во-вторых, как происходит дальнейшее взаимодействие с импортированными данными?
Давайте разбираться по порядку.
Пример схемы на стороне MS Электротехнические схемы
В качестве примера соберем небольшую схему с шестью автоматами. Примерный вид схемы отображен на рисунке ниже:
Далее необходимо опросить эту схему. Для этого воспользуемся функционалом Спецификатора. Сколотив простенький спецификатор, получим следующую информацию из схемы в табличном формате:
Столбец "Наименование задачи" не привязан к какому-либо параметру автомата и понадобится нам далее при настройке профиля импорта задания в MS Компоновщик щитов.
В настройках экспорта этого спецификатора выбираем "Файл в формате CSV" и оставляем настройки формата по-умолчанию.
В результате получаем файл формата .CSV, который открывается в Excel:
На этом работа со схемой в модуле MS Электротехнические схемы завершена.
Настройка профиля импорта задания в MS Компоновщик щитов
Переходим в MS Компоновщик щитов и открываем вкладку "Задания". Давайте обратим внимание на кнопки на этой вкладке:
- Создать задание - инструмент, позволяющий создать задание в формате .XML. Выбираем объекты в пространстве модели, нажимаем кнопку "Создать задание". Результат - создается файл формата .XML, в который вписываются все выбранные объекты вместе со всеми своими параметрами.
- Загрузить задание - инструмент, позволяющий импортировать файл задания в формате .XML или .CSV, сохраненный на компьютере.
- Обновить задание - инструмент, обновляющий список задач во вкладке.
- Выполнить задание - инструмент, позволяющий выполнить задание(-я) в списке задач.
- Просмотр задания в виде дерева/списка - инструмент, регулирующий способ отображения задач.
- Поиск задания - инструмент, позволяющий найти задачу поиском.
- Настройки задания - вкладка с настройками для вкладки "Задания".
Перед процедурой импорта нашего CSV-файла необходимо настроить задания. Обращаемся в настройки и видим всплывающее окно менеджера заданий:
У этого окна есть две вкладки: Текущее задание и параметры создания заданий. Давайте настроим внешний вид списка задач.
Для этого необходимо перейти в настройки профиля просмотра заданий:
Создадим выборку с типом "Приборы" со следующими параметрами:
В перечне доступных типов объектов указаны все типы объектов MS, которые можно создавать через вкладку "Задания" в данном модуле. Перечень типов объектов для каждого модуля MS свой (да и не все типы объектов на самом деле работают через задания).
Далее настроим нашу выборку в части ее просмотра: в виде дерева и в виде таблицы:
Просмотр в виде дерева сделаем вот таким:
Просмотр в виде таблицы сделаем с учетом ранее сохраненного CSV-файла:
При настройке просмотра в табличном виде нам совершенно не важно, что какого-то параметра из ЭТС нет в КЩ. Наш CSV-файл - это просто набор данных, которые мы можем обзывать как угодно при просмотре в панели "Задания". Например, на стороне КЩ нет параметра "Кодировка прибора в рамках схемы", поэтому здесь я заменил его на обычный "Идентификатор". Конечно, это все можно поправить, наладив идентичность параметров между модулями. А столбец "Наименование задачи" не задаем на просмотр в табличном виде, о нем поговорим чуть далее.
Настройка внешнего вида нашего задания во вкладке "задания" завершена.
Теперь следует вернуться в настройки менеджера заданий и задать Параметры создания заданий:
Здесь мы видим те же типы объектов, что и при настройке каталога просмотра заданий. Выбираем "Приборы" и добавляем параметр "Идентификатор":
А почему мы сюда добавили только "Идентификатор"?
Наша цель - наполнить шкаф автоматами. Вкладка "Задания" нужна нам для подбора автоматов из базы КЩ по параметрам из ЭТС. При подборе позиции из БД КЩ часть параметров задачи перезапишется, а другая часть - останется со значениями из ЭТС. Именно эти настройки (Параметры создания заданий) позволяют нам сохранить значение тех параметров из CSV-файла задания, которые мы сюда внесем.
Здесь я подумал, что полезно сохранить лишь идентификатор, но для реальной проектной ситуации конечно же можно добавлять и еще кучу необходимых параметров.
Теперь можно приступить к настройке профиля импорта задания.
Нажимаем "Загрузить задание" и выбираем "Новый формат CSV" и кликаем на наш файл:
Если бы у нас был хоть один созданный ранее профиль импорта. то он бы отображался в этом окне:
Жмем "Далее", задаем имя профиля, выбираем тип объекта задания "Приборы" и переходим к самому интересному.
Окно структуры импортируемых данных представляет из себя две области: область дерева (слева) описывает структуру выбранного типа объекта в виде дерева, область параметров (справа) - указывает на параметры элемента структуры:
Как видим, у нас уже есть наш Идентификатор, который пришел к нам из параметров создания заданий. Теперь сюда нужно добавить остальные параметры:
Вот мы и подошли к нашему столбцу "Наименование задачи".
Что такое задача? Это строка из нашего CSV-файла. У нас всего 6 задач (6 автоматов), которые мы хотим разместить внутри шкафа. Каждая задача имеет свои параметры, которые мы успешно задали выше в позиции "Текущее задание". А наименование задачи это системный параметр [@NAME], который присваивается каждой из 6 задач. Наименование задачи будет отображаться при просмотре списка задач в виде дерева.
Иногда бывает так, что при нескольких итерациях настройки профиля импорта задания название параметра [@NAME] на кириллице меняется с "<Наименование задачи>" на "Имя". Не стоит пугаться, это все то же наименование задачи
Нажимаем "Далее" и переходим к настройке столбцов:
Задача простая: воссоздать вид нашего CSV-файла в этом окне.
- Разделитель оставим в виде ";" (поскольку в ЭТС мы экспортировали именно с такой настройкой).
- Начальная/конечная строка - наш CSV-файл заканчивается 7 строкой, а начинается со 2. Если мы начало оставим =1, то шапка нашей таблицы (CSV-файла) станет задачей, поэтому начало указываем =2.
- Поиск объектов по параметрам - данный функционал полезен при использовании вкладки "Задания" как инструмента передачи параметров уже существующим объектам модели. В нашем случае эта функция не нужна.
- Автоматически подбирать параметры - если включить эту настройку, то параметры подберутся автоматически. Работает для случая, когда наименования столбцов в CSV-файле полностью повторяют наименования соответствующих параметров задачи.
Далее раскидаем каждый из параметров текущего задания в свой столбец:
Обратим внимание на столбец "Наименование задачи". Не просто так мы оставили его пустым, давайте зададим ему вычисляемое значение. Под параметром рядом с <Без расчета> нажмем на три точки:
Расчетные возможности при настройке профиля импорта задания позволяют производить вычисления между столбцами импортированного CSV-файла. Здесь я собираю значение "Наименование задачи" из значений столбцов 1 (Идентификатор) и 4 (Номинальный ток, А). В результате применения формулы столбец "Наименование задачи" перестанет быть пустым.
Итоговый результат настройки формы:
Нажимаем "Готово" и переходим во вкладку задания.
Фиксируем успешный успех, проверив варианты отображения списка задач: в табличном виде и в виде дерева:
На этом настройка профиля импорта задания завершена, можно переходить к следующему этапу.
Работа с импортированным списком задач
Перед тем как производить действия с задачами необходимо запомнить следующее:
- Нет никакой связи между CSV-файлом на компьютере и тем списком задач, которые мы импортировали во вкладку "Задания". Т.е. если в CSV-файле внести изменения, то эти изменения никак не перейдут в уже загруженный список задач. Чтобы измененные позиции появились во вкладке "Задания", необходимо очистить список задач и импортировать измененный CSV-файл.
- В окне "Задания" нельзя удалить импортированную задачу. Если импортировали лишнюю позицию, то вначале нужно очистить вкладку "Задания", затем исправить CSV-файл, удалив лишнее, а потом импортировать исправленный файл.
- Необязательно собирать одно общее задание в один CSV-файл, можно импортировать несколько файлов. В таком случае список задач будет пополняться.
Теперь разберемся что мы можем делать с задачей, перейдя в контекстное меню по ПКМ:
- Инструменты выделения задач думаю понятны.
- Выполнить задание - в нашем случае под выполнением задания подразумевается вставка объекта с параметрами, описанными в задании, в пространство модели.
- Проверить выполнение задания - система сравнивает позицию из списка задач с пространством модели. Если есть идентичное совпадение - задача подтверждается как выполненной. Если в пространстве модели нет объекта, имеющего точно такие же параметры, то задача считается невыполненной. Это полезно для случая внесения изменений, когда мы меняем исходные данные в CSV-файле (или добавляем новые задачи), а неизмененные (старые) задачи из файла мы уже выполнили.
- Подобрать объект для вставки из базы данных - обращение в БД СК с целью подбора объекта по параметрам задачи. Рассмотрим это позже.
- Указать результат выполнения задания на чертеже - используется для передачи параметров из CSV-файла в объекты в пространстве модели. Для нашей цели мы этот функционал не используем.
- Вставить как компонент существующего объекта - задача станет подчиненным элементом к выбранному в пространстве модели объекту.
- Свойства задания - можно посмотреть свойства задачи, которые повторяют структуру из ранее настраиваемой структуры текущей задачи в окне настройки профиля импорта.
Подберем для наших задач позиции из БД Компоновщика щитов:
Необязательно подбирать объект для вставки для каждой задачи отдельно, можно выделить хоть все разом
Опять пустое окно, давайте настраивать.
Выбираем "Настройки подстановок" (четвертая кнопка справа сверху):
Окно "Настройка подстановок" позволяет задать те условия, по которым мы собрались подбирать наши автоматы из БД СК Компоновщика щитов. Я буду подбирать по производителю, обозначению серии, номинальному току и количеству полюсов. Добавляем эти параметры в область параметров:
Для каждого параметра можно задавать несколько условий подстановок, но пока я не столкнулся с такой задачей и не могу сказать, как в этом случае будет работать подбор из БД СК. Также в столбце "Значение для подстановки" можно задавать формулы, а не просто писать [VALUE].
Обновляем условия поиска и получаем следующее:
Нажимаем "Ок" и переходим к подбору позиций. В случае, если указанным настройкам подбора соответствуют несколько позиций в БД СК, то система попросит выбрать подходящую:
Тут я выберу автомат с характеристикой "С". Если в БД СК лишь один объект соответствует ранее настроенным условия подбора, то этого окна вы не увидите.
Мы выбрали позицию из БД СК. Поскольку я до подбора выделил все позиции задачи, то у меня появилось окно применения параметров:
Недостаточно просто выбрать позицию из БД СК, нужно решить каким образом мы применим параметры выбранной позиции к нашим задачам. Для этого есть несколько вариантов:
- Только к текущему заданию - подобранная позиция применится только к той задаче, на которую мы кликнули ПКМ для вызова контекстного меню с действиями над задачей.
- Ко всем похожим заданиям - из кучи выделенных задач система распознает похожие и позволяет применить выбранную из БД СК позицию ко всем из них.
- Ко всем выделенным заданиями - применим параметры выбранной из БД СК позиции ко всей выделенной нами кучи задач.
Здесь я выберу "Ко всем выделенным", т.к. в моем списке задач 6 одинаковых автоматов.
Особо внимательные читатели увидят небольшие изменения. Рядом с иконкой категории у каждой задачи чуть поменялась картинка - теперь вместо пустого квадратика там образовался значок БД. Это является главным индикатором того, что задача была перезаписана с учетом подбора позиции из БД СК.
Давайте выполним наше задание. Выполнять задания можно как целиком, нажав кнопку на панели вверху, так и отдельно, прокликивая нужные задачи:
Далее следуем подсказкам из командной строки. Я заготовил одну DIN-рейку, на которой и буду располагать свои автоматы.
Следуя подсказкам, получаем итоговый результат:
Теперь обратим внимание на вкладку "Задания":
Возле задач опять поменялась иконка, теперь она имеет галочку. Это свидетельствует об успешности выполнения задания.
Следует отметить, что никакой связи между списком задач на вкладке "Задания" и объектами в пространстве модели нет. Если я поменяю параметры у объектов в модели, то в списке задач эти же параметры не поменяются. Например, испортим идентификатор у автомата 1QF1:
Со стороны списка задач ничего не поменялось:
Здесь мы можем только проверить выполнение задачи "1QF1". Получим следующее:
Задача для автомата 1QF1 стала невыполненной, поскольку система не нашла в пространстве модели объект с идентичными позиции задачи параметрами.
Заключение
В результате проектировщику был продемонстрирован подход по интеграции модулей MS Электротехнические схемы и MS Компоновщик щитов.
Стоит обратить внимание, что рассматриваемый в статье пример является демонстрационным и может не соответствовать реальным проектным ситуациям, с которыми сталкиваются проектировщики. Также стоит учитывать, что через вкладку "Задания" можно делать еще очень много полезных вещей: раскладывать кабели, расставлять оборудование по координатам, добавлять узлы и т.д.
Если у вас возникли вопросы по прочитанному материалу, то задавайте их в комментариях или в личные сообщения канала.