Skip to content

Шаблоны формирования тэгов (TagAssignement)

В папке JSC\Conf\Models\TagAssignement хранятся модели соответствия полевых тэгов наименованиям сигналов, которые используются для генерации обвязки исполнительных механизмов и схем Visio.

Для каждого типового блока создаётся своя книга, в которой в виде листов с префиксом Map.* задаются различные модели преобразования тэгов.

Механизм шаблонов TagAssignement предназначен для ситуаций, когда можно формализовать тэгирование полевых сигналов.

Преимущество такого подхода в том, что в модели ПЛК заметно сокращается количество колонок на листах OBJ.*.

За счёт этого:

  • многие тэги сигналов не требуется заполнять вручную
  • не нужно искать соответствующие тэги по другим листам
  • снижается вероятность ошибок (опечатки, пропуски, несоответствия) при заполнении модели

Как правило, TagAssignement применяется при обработке инструкций в FBD‑шаблонах: в тексте шаблона вызываются GAP‑функции, которые по типу (OBJTYPE), тэгу объекта, alias и имени шаблона (TAMapName) возвращают рассчитанные полевой/цифровой тэги.

Список функций см. в разделе GAP.AUCS.TagAssignement.

Структура модели TagAssignement

Section titled “Структура модели TagAssignement”

Листы с шаблонами имеют вид Map.<ИмяШаблона>, где <ИмяШаблона> — значение, которое указывается в параметре TAMapName (вызовы скриптов используют mapName без префикса Map.).

Внутри шаблона используются колонки:

  • alias: назначение сигнала (по этому значению выбирается строка при вызове скрипта)
  • fieldTag: формирование полевого тэга
  • digitalTag: формирование цифрового тэга (используется редко)
  • direct: направление сигнала (DI, DO, AI, AO)
OBJTYPEОписаниеШаблоны
ESD_VlvSDVОтсечной клапан (ПАЗ)SDV, PSaLA_MST
Htr2c5sНагреватель 2 команды / 5 сигналовGPP, GPP_SPB
Mot1c4sМотор 1 команда / 4 сигналаPSaLA_MST, PSaLA_MST_OverTemp, GPP
Mot1c5sМотор 1 команда / 5 сигналовGPP, PSaLA_MST, GPP_SPB
Mot2c4sМотор 2 команды / 4 сигналаGPP, PSaLA_MST, GPP_SPB, AFA_AUCS
Vlv1c2sКлапан 1 команда / 2 сигналаPSaLA_MST, DCS, DCS_SPB
Vlv2c2sКлапан 2 команды / 2 сигналаGPP, PSaLA_MST
Vlv2sКлапан 2 сигналаGPP, PSaLA_MST, DCS, DCS_SPB, NPO, AFA_AUCS
Vlv3c4sКлапан 3 команды / 4 сигналаPSaLA_MST, NPO, GPP
Vlv3c5sКлапан 3 команды / 5 сигналовGPP, PSaLA_MST, GPP_SPB

Указание модели преобразования

Section titled “Указание модели преобразования”

Модель можно указать глобально для модели ПЛК — параметр TAMapName на листе PlcOptions. Допустимые значения соответствуют именам листов Map.* в книге типового блока:

Имя шаблона
AFA_AUCS
DCS
DCS_SPB
GPP
GPP_SPB
NPO
PSaLA_MST
PSaLA_MST_OverTemp
SDV

Преобразование тэгов для модели ПЛК

Либо для каждого экземпляра отдельно:

Преобразование тэгов для экземпляров

Регулярное выражение для разбора тэгов

Section titled “Регулярное выражение для разбора тэгов”

В параметре RegExp указывается регулярное выражение, по которому тэг разбивается на префикс, тело и суффикс. Это позволяет при необходимости задать другое выражение для нестандартных тэгов.

Если в тэгах встречается символ _, то в выражении для группы prefix обычно требуется заменить базовый вариант на:

(?<prefix>^[A-Z0-9][0-9_]*)(?<body>[A-Z]+)(?<suffix>\d.*)

Регулярное выражение для тэгов

Скрипты подстановки тэгов

Section titled “Скрипты подстановки тэгов”

Подстановка тэгов происходит при помощи скриптов GAP.AUCS.TagAssignement.GetFieldTag и GAP.AUCS.TagAssignement.GetDigitalTag, которые принимают в качестве параметров имя типового блока, тэг, alias из модели и имя шаблона. Эти скрипты вызываются в FBD-шаблонах типовых блоков — в примере ниже показан вызов из FBD-шаблона:

Пример вызова (значение «To» в локальном словаре FBD):

<script GAP.AUCS.TagAssignement.GetFieldTag([OBJTYPENAME], [TAG], [alias], [mapName])/>

где:

  • [OBJTYPENAME]: имя типового блока (совпадает с именем книги в TagAssignement)
  • [TAG]: тэг исполнительного механизма
  • [alias]: назначение сигнала (колонка alias в шаблоне)
  • [mapName]: имя шаблона (Map.* без префикса Map.)

Пример вызова скриптов в FBD-шаблоне