Skip to content

Правила заполнения Excel-файлов

При работе с файлами моделей Uniplant Atomix применяет общие правила разбора файла.

  • Листы с именем, начинающимся с @, считаются закомментированными и не участвуют в обработке.
  • Имена листов могут начинаться с префикса (prefix.). По префиксу парсер определяет, какие правила применять к содержимому листа и к объектам, описанным в нём.

Рис. — Пример листов с префиксами в файле OBJTYPE (UnimodFB, DevSt., HMI., Wntk.)

При обработке листов учитываются следующие правила заполнения:

  • если первая ячейка строки начинается с @ — строка закомментирована, не участвует в обработке;
  • если первая ячейка начинается с $ — строчная запись объявления (см. подраздел ниже);
  • если первая ячейка начинается с # — объявление строк и переменных по колонкам (см. подраздел ниже).

Полная таблица служебных символов и ключевых слов: Служебные символы и ключевые слова в моделях.

В значениях ячеек на листе можно использовать обращения к системным константам Uniplant Atomix в формате %имя% (например, %JSC%). Это не распространяется на ячейки с инструкциями и на ячейки со служебными символами # и $. Список констант см. в подразделе Системные константы Uniplant Atomix.

Строчная запись объявления

Section titled “Строчная запись объявления”

Строка считается строчной записью объявления: в колонках заданы служебный символ, инструкция (например VQ, LST; см. Служебные символы и ключевые слова в моделях), имя переменной и значение(я). То, как читаются и интерпретируются ячейки строки, зависит от указанной в ней инструкции.

Рис. — Пример строчной записи объявления на листе (колонки: служебный символ, инструкция, имя переменной, значение)

Объявление строк и переменных по колонкам

Section titled “Объявление строк и переменных по колонкам”

Если первая ячейка строки начинается с #, предполагается, что следующие две строки должны начинаться с H и @ соответственно.

СтрокаСодержимое колонок
#Инструкции
HИмена переменных
@Краткое описание переменной в каждой колонке

После этих трёх строк могут идти:

СтрокаСодержимое колонок
@Строки комментариев — игнорируются при разборе
dСтроки объявления экземпляров объектов

Для каждой строки с экземпляром количество колонок может быть любым: в колонках могут объявляться переменные для экземпляров, подключаться файлы моделей более низкого уровня и т.д.

В строке # для каждой колонки задаётся инструкция — правило разбора ячеек этой колонки в строках 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, строки данных).

Внешние переменные — подстановки в формате [имя] в ячейках листа. При разборе Uniplant Atomix подставляет вместо [имя] значение переменной, объявленной в модели верхнего уровня / в глобальных настройках. Так в подключаемых моделях (OBJTYPE и др.) доступны тег экземпляра, шаблон, место установки и другие параметры родительского контекста.

ПараметрОписание
Формат[имя] — латиница, цифры, точки, подчёркивания (без пробелов)
Где используютсяНа всех листах Excel-модели (напр. OBJTYPE)
Откуда значенияМодели верхнего уровня (ПЛК, NetSwitches и т.д.) или список глобальных переменных (см. утилиту SettingManager)

Пример применения внешних переменных в модели OBJTYPE

Рис. — Применение внешних переменных в модели 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 и GetPrjTag

Рис. — Вызов пользовательской функции 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%Каталог библиотек