Генерация из MS Excel позволяет:

Для генерации требуется XLSX файл определенного формата. На необходимом модуле нажать «Импорт», указать файл и в качестве типа файла выбрать «Генерация из MS Excel (*.xlsx)».   Полигон проверяет начало названия листа и выполняет соответствующий алгоритм импорта.

   create – листы данного типа предназначены для добавления программ и блоков

   io – предназначен для изменения значений, комментариев и прочих свойств входов и выходов

   ii - предназначен для изменения значений на группах входов

   links – предназначен для проведения связей

Если при импорте будет обнаружена ошибка, то изменения не применяются и происходит откат версии до начала импорта. Генерация оперирует с именами блоков, поэтому они должны быть уникальны. Листы считываются слева направо, поэтому в начале необходимо разместить листы типа «create». Процесс импорта сопровождается сообщениями в окне «Прогресс» и завершается выдачей информации о кол-ве добавляемых блоков, программ и т.п. Алгоритм импорта не выполняет удаление блоков, программ, свойств и связей.

В итоговом файле для импорта не должны содержаться формулы, все значения должны быть посчитаны.

create – Добавление программ и блоков

Заголовок таблицы предопределен, при несоответствии импорт прекратится с выдачей предупреждения на указанный лист.

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

Для программы: при наличии указанной программы в проекте (независимо от места работы), программа не добавляется. В противном случае проверяется наличие указанного места работы и добавляется программа.

Для блока: при наличии указанного кол-ва блоков (независимо от типа блоков и программы), блоки не добавляются. В противном случае проверяется наличие указанной программы и добавляются блоки начиная с 0 номера. Если в программе присутствует часть блоков, новые блоки добавляются начиная с последнего номера +1. Блоки вставляются друг за другом, если у блока много входов/выходов используется формат А3.

io – изменение/добавление свойств входа/выхода

Заголовок таблицы предопределен частично (первые 3 столбца), при несоответствии импорт прекратится с выдачей предупреждения на указанный лист.

Остальные заголовки должны иметь название, совпадающее со свойствами полигона. Если оставить ячейку пустой соответствующее свойство не будет добавлено/изменено.

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

Также можно организовывать циклы и повторения в таком же формате как и links (см. алгоритм links)

В данном примере строка 204 приведет к тому что на всех блоках prm4_00, prm4_01….. на всех выходах типа o выставятся одинаковый комментарий comment1 и алиас alias1.

Строки 206-214 будут использовать имя блока с предыдущей строки

ii – изменение значений на группах входов

Заголовок таблицы предопределен частично (первые 2 столбца), при несоответствии импорт прекратится с выдачей предупреждения на указанный лист.

Остальные заголовки должны совпадать с началом имени входа блока. В примере, указанном на рисунке выше, будут выполнены следующие действия:
bsup_00.adr1=150, bsup_00.ini1=-25, bsup_00.min1=-50, bsup_00.max1=50, bsup_00.typ1=II
bsup_01.adr3=151, bsup_01.ini3=-26, bsup_01.min3=-51, bsup_01.max3=49, bsup_01.typ3=AI

Алгоритм работает не только на циклических входах, главное, чтобы <имя заголовка + номер входа> присутствовал у блока.

Если оставить ячейку пустой соответствующее значение не будет изменено.

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

links – проведение связей

Заголовок таблицы предопределен, при несоответствии импорт прекратится с выдачей предупреждения на указанный лист.

Для проведения простой единичной связи укажите блоки и входы/выходы.

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

Обязательным условием использования циклических связей является непрерывность имен блоков. Т.е. если существуют bsup_00 и bsup_03, обязаны существовать bsup_01, bsup_02, иначе импорт завершится ошибкой. А также обязательна нумерация с 0, т.е. если имеется 3 блока bsup_01, bsup_02, bsup_03, к ним не получится обратится bsup_##

Для задания циклических связей используйте символы «#» «,»  «[ - ]» . Возможно 3 типа цикла.

Примеры.