Правила заполнения Excel-файлов
При работе с файлами моделей Uniplant Atomix применяет общие правила разбора файла.
Разбор листов
Section titled “Разбор листов”- Листы с именем, начинающимся с @, считаются закомментированными и не участвуют в обработке.
- Имена листов могут начинаться с префикса (
prefix.). По префиксу парсер определяет, какие правила применять к содержимому листа и к объектам, описанным в нём.

Обработка листов
Section titled “Обработка листов”При обработке листов учитываются следующие правила заполнения:
- если первая ячейка строки начинается с
@— строка закомментирована, не участвует в обработке; - если первая ячейка начинается с $ — строчная запись объявления (см. подраздел ниже);
- если первая ячейка начинается с # — объявление строк и переменных по колонкам (см. подраздел ниже).
Полная таблица служебных символов и ключевых слов: Служебные символы и ключевые слова в моделях.
В значениях ячеек на листе можно использовать обращения к системным константам Uniplant Atomix в формате %имя% (например, %JSC%). Это не распространяется на ячейки с инструкциями и на ячейки со служебными символами # и $. Список констант см. в подразделе Системные константы Uniplant Atomix.
Строчная запись объявления
Section titled “Строчная запись объявления”Строка считается строчной записью объявления: в колонках заданы служебный символ, инструкция (например VQ, LST; см. Служебные символы и ключевые слова в моделях), имя переменной и значение(я). То, как читаются и интерпретируются ячейки строки, зависит от указанной в ней инструкции.

Объявление строк и переменных по колонкам
Section titled “Объявление строк и переменных по колонкам”Если первая ячейка строки начинается с #, предполагается, что следующие две строки должны начинаться с H и @ соответственно.
| Строка | Содержимое колонок |
|---|---|
| # | Инструкции |
| H | Имена переменных |
| @ | Краткое описание переменной в каждой колонке |
После этих трёх строк могут идти:
| Строка | Содержимое колонок |
|---|---|
@ | Строки комментариев — игнорируются при разборе |
| d | Строки объявления экземпляров объектов |
Для каждой строки с экземпляром количество колонок может быть любым: в колонках могут объявляться переменные для экземпляров, подключаться файлы моделей более низкого уровня и т.д.
Инструкции колонок
Section titled “Инструкции колонок”В строке # для каждой колонки задаётся инструкция — правило разбора ячеек этой колонки в строках H и d:
| Инструкция | Назначение |
|---|---|
| VQ | Объявление переменной колонки; значение строки d доступно как [имя] в подключаемых моделях |
@ | Колонка игнорируется при разборе (служебные поля без переменной) |
| IOBJ | Подключение внешнего файла модели экземпляров. В строке H — шаблон пути (с $S и %JSC%); в строке d — относительный путь без расширения. Пример: Файл экземпляров DsModbusDevices |
| VS:имя | Подключение внешнего файла по именованному шаблону. В строке H — путь с $S; в строке d — имя файла без расширения. Пример: VS:portsTemplate в NetSwitches.xls |
Полный справочник служебных символов и ключевых слов — в Служебные символы и ключевые слова в моделях.
- В строке
#: в поле инструкции для колонки можно указать@— такая колонка при разборе игнорируется. - В строке
H: можно использовать конструкцию$S— подставится значение из ячейки этой же колонки в строке с объявлением экземпляра (строка сd). - В строках
Hиdв ячейках могут записываться внешние переменные (формат[имя]).

Рис. 1 — Пример объявления строк и переменных по колонкам (символ #, заголовки колонок VQ, строки данных).
Внешние переменные
Section titled “Внешние переменные”Внешние переменные — подстановки в формате [имя] в ячейках листа. При разборе Uniplant Atomix подставляет вместо [имя] значение переменной, объявленной в модели верхнего уровня / в глобальных настройках. Так в подключаемых моделях (OBJTYPE и др.) доступны тег экземпляра, шаблон, место установки и другие параметры родительского контекста.
| Параметр | Описание |
|---|---|
| Формат | [имя] — латиница, цифры, точки, подчёркивания (без пробелов) |
| Где используются | На всех листах Excel-модели (напр. OBJTYPE) |
| Откуда значения | Модели верхнего уровня (ПЛК, NetSwitches и т.д.) или список глобальных переменных (см. утилиту SettingManager) |

Рис. — Применение внешних переменных в модели OBJTYPE: строчная запись $ (путь с [FbdAssignmentMap]), колонка «Един. изм.» с [Units].
На рисунке выше использованы внешние переменные:
| Внешняя переменная | Где на листе | Назначение |
|---|---|---|
| [FbdAssignmentMap] | Строчная запись $, путь к файлу | Компонент пути к файлу карты назначений FBD |
| [Units] | Колонка «Един. изм.» (единицы измерения) | Единицы измерения параметров (напр. PV, OprHighSpeedLim) |
Подключение пользовательских скриптов C# (GAP)
Section titled “Подключение пользовательских скриптов C# (GAP)”В ячейках листов моделей допускается вызов пользовательских функций на C# (GAP). Описание доступных функций см. в Функции GAP. В значение ячейки будет записан результат выполнения функции.
Синтаксис вызова:
<script func(arg1, arg2, ..., argN)/>Аргументы: в качестве аргументов можно указывать переменные, определённые ранее в модели, и внешние переменные в формате [имя].
Пример. На рисунке ниже переменной designed.Text (колонка OptionName) присваивается значение, возвращаемое вызовом (колонка ApplyOptions):
<script [GAP.ScadaProjectBase.Tags.GetPrjTag](/reference/gap/ScadaProjectBase-Tags/tags-getprjtag/)([TAG])/>
Рис. — Вызов пользовательской функции C# в ячейке: переменная designed.Text, значение из <script [GAP.ScadaProjectBase.Tags.GetPrjTag](/reference/gap/ScadaProjectBase-Tags/tags-getprjtag/)([TAG])/>.
Системные константы Uniplant Atomix
Section titled “Системные константы Uniplant Atomix”Список доступных переменных (подставляются из настроек приложения):
| Переменная | Соответствие в конфигурации Uniplant Atomix |
|---|---|
| %JSC% | Каталог JSC |
| %HMI% | Каталог HMI |
| %Unimod% | Каталог проектов Unimod |
| %DevStudio% | Путь к DevStudio |
| %Weintek% | Путь к Weintek |
| %Libraries% | Каталог библиотек |