Skip to content

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».

КолонкаНазначениеПример
aliasАлиас блока (идентификатор для подстановки на листе шаблона)base, scale_V1, scale_PID1
TreiFB (или заголовок, содержащий TreiFB)Тип FB в Unimod 2PID_IT, Stretch, AiProc3

Строки данных в первой колонке помечаются символом d. Строки, у которых алиас начинается с @, не учитываются.

Пример листа UnimodFB

Рис. — Лист 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)

Рис. — Связь алиасов (UnimodFB) с листом-шаблоном Split модели PID_IT: алиасы задают группы параметров на шаблоне.

Если в модели ПЛК объявлен экземпляр PID_IT с шаблоном Split, по листу UnimodFB и списку алиасов этого шаблона будут созданы следующие экземпляры FB Unimod 2:

АлиасТип FB Unimod 2Имя экземпляра (пример при TAG=P072PIC6752)
basePID_ITP072PIC6752
scale_V1StretchP072PIC6752_Scale_V1
scale_V2StretchP072PIC6752_Scale_V2
scale_PID1StretchP072PIC6752_Scale_PID1
scale_PID2StretchP072PIC6752_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

Рис. — Пары колонок IGM.POU и PouName для JSM и файла вывода.

По рисунку выше пример связей по файлу SpotDetector_1_PLC.xls (лист UnimodFB). Шаблон пути из строки H: [GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\$S.jsm.

aliasFB Unimod 2JSM1 (полный путь)Файл вывода 1JSM2 (полный путь)Файл вывода 2
baseFB_SpotDetector_1[GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\Inp_SpotDetector_1.jsmassign_kau_sensors[GLOBAL_OBJECTS_PATH]\Unimod\[opt.unimod]\pou\afas\KauSensors\Out_kau_sensor.jsmout_kau_sensors
reReqResetFire_FB