UnimodFB и template
В модели OBJTYPE может использоваться либо лист UnimodFB, либо устаревший лист template — оба задают алиасы и типы функциональных блоков (FB) Unimod 2. От листа template постепенно отказываются в пользу UnimodFB. Эти данные используются на листах шаблонов: в колонке unimodFB указывается алиас (например base, scale_V1), а по строке alias на листе template определяются тип FB (TreiFB) и имя экземпляра (prefix + body + suffix, например [TAG] или [TAG]_CH). Полное имя канала в словаре: ИмяFB.parName — см. Алгоритм присвоения адресов Modbus. В статьях вики по типовым блокам алиасы попадают в раздел «Создаваемые FB Unimod 2».
Колонки листа UnimodFB
Section titled “Колонки листа UnimodFB”| Колонка | Назначение | Пример |
|---|---|---|
| alias | Алиас блока (идентификатор для подстановки на листе шаблона) | base, scale_V1, scale_PID1 |
| TreiFB (или заголовок, содержащий TreiFB) | Тип FB в Unimod 2 | PID_IT, Stretch, AiProc3 |
Строки данных в первой колонке помечаются символом d. Строки, у которых алиас начинается с @, не учитываются.

Рис. — Лист UnimodFB: алиасы и типы FB для подстановки на листах шаблонов.
Связь с листами шаблонов
Section titled “Связь с листами шаблонов”Активный набор алиасов для листа шаблона задаётся либо строкой вида $|LST|TechObject.UnimodAliases|base|alias1|... на этом листе, либо перечислением значений в колонке unimodFB на листе шаблона. Указанное там имя должно совпадать с alias на листе UnimodFB (или template); по нему подставляются тип FB (TreiFB) и имя экземпляра (name).
Пример: алиасы и лист-шаблон Split модели PID_IT
Section titled “Пример: алиасы и лист-шаблон Split модели PID_IT”На листе UnimodFB заданы алиасы (base, scale_V1, scale_V2, scale_PID1, scale_PID2, select, decoup) и соответствующие им типы FB (PID_IT, Stretch, Selector_4_1, DeCoupleUtil и т.д.). На листе-шаблоне Split модели PID_IT в строчной записи задаётся список алиасов, для которых создаются FB: $|LST|TechObject.UnimodAliases|base|scale_V1|scale_V2|scale_PID1|scale_PID2. Имена в этой строке должны совпадать с колонкой alias на листе UnimodFB. В колонке unimodFB на шаблоне строки данных помечаются как d base, d scale_V1, d scale_V2 и т.д. — так алиасы связываются с группами параметров на листе Split (FBD PID IT Split).

Рис. — Связь алиасов (UnimodFB) с листом-шаблоном Split модели PID_IT: алиасы задают группы параметров на шаблоне.
Если в модели ПЛК объявлен экземпляр PID_IT с шаблоном Split, по листу UnimodFB и списку алиасов этого шаблона будут созданы следующие экземпляры FB Unimod 2:
| Алиас | Тип FB Unimod 2 | Имя экземпляра (пример при TAG=P072PIC6752) |
|---|---|---|
base | PID_IT | P072PIC6752 |
scale_V1 | Stretch | P072PIC6752_Scale_V1 |
scale_V2 | Stretch | P072PIC6752_Scale_V2 |
scale_PID1 | Stretch | P072PIC6752_Scale_PID1 |
scale_PID2 | Stretch | P072PIC6752_Scale_PID2 |
Пары колонок для JSM и файла вывода (ST)
Section titled “Пары колонок для JSM и файла вывода (ST)”Помимо основных колонок могут быть добавлены пары колонок в любом количестве (напр. IGM.POU1 + PouName1, IGM.POU2 + PouName2 и т.д.). Каждая пара используется для подключения файла JSM (шаблон с привязкой) и задания имени выходного файла в текстовом формате. Как правило, такие конструкции применяются для формирования программ привязки FB на языке ST. Для каждой строки (алиаса) в этих колонках указывается, какие JSM-файлы и выходные имена используются для данного блока.
Формирование пути к JSM (IGM.POU1, IGM.POU2, …)
Section titled “Формирование пути к JSM (IGM.POU1, IGM.POU2, …)”Инструкция IGM.POU1, IGM.POU2 и т.д. формирует путь к файлу JSM из шаблона, заданного в строке H (заголовок колонки). Используемые в шаблоне символы и подстановки описаны в статье Служебные символы и ключевые слова в моделях.
Пример для колонки IGM.POU1: путь к JSM задаётся строкой в строке H, например:
[GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\$S.jsm- [GLOBAL_OBJECTS_PATH] — внешняя переменная (в данном случае глобальная настройка). Задаётся в утилите SettingsManager.
- [opt.unimod] — внешняя переменная из модели верхнего уровня (в данном случае — модель ПЛК).
- $S — подстановка: в итоговый путь подставляется значение ячейки этой же колонки в соответствующей строке данных (строка с
d).

Рис. — Пары колонок IGM.POU и PouName для JSM и файла вывода.
По рисунку выше пример связей по файлу SpotDetector_1_PLC.xls (лист UnimodFB). Шаблон пути из строки H: [GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\$S.jsm.
| alias | FB Unimod 2 | JSM1 (полный путь) | Файл вывода 1 | JSM2 (полный путь) | Файл вывода 2 |
|---|---|---|---|---|---|
base | FB_SpotDetector_1 | [GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\Inp_SpotDetector_1.jsm | assign_kau_sensors | [GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\Out_kau_sensor.jsm | out_kau_sensors |
reReq | ResetFire_FB | — | — | — | — |