Шаблоны формирования тэгов (TagAssignement)
В папке JSC\Conf\Models\TagAssignement хранятся модели соответствия полевых тэгов наименованиям сигналов, которые используются для генерации обвязки исполнительных механизмов и схем Visio.
Для каждого типового блока создаётся своя книга, в которой в виде листов с префиксом Map.* задаются различные модели преобразования тэгов.
Назначение механизма
Section titled “Назначение механизма”Механизм шаблонов 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)
Список типовых блоков
Section titled “Список типовых блоков”| 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.)
