Генерация из 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 типа цикла.

Примеры.

