Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: ARV от 30 Сентября 2024, 09:13:13

Название: Подстановки для сообщений
Отправлено: ARV от 30 Сентября 2024, 09:13:13
У меня в проекте большинство тегов структурированные.
Т.е., скажем, для сигнала сигнала есть тег DEV_STATE_1, который на самом деле соответствует структуре типа такого (псевдоязык):
Код
STATE { 
   H : WORD; // описание: назначение поля структуры
   Val : BOOL; // описание: назначение поля структуры
   T : WORD // описание: назначение поля структуры
}
И тегу, и каждому его полю сопоставлена переменная. Фактически, переменная тега совпадает с его первым полем, т.е. как бы задваивается, и я имею такой набор переменных для каждого тега:
DEV_STATE_1 (нужное мне описание для сообщения)
DEV_STATE_1_H
DEV_STATE_1_Val (нужное мне значение для сообщения)
DEV_STATE_1_T
при чем первые две переменные полностью идентичны, но имеют разные описания

Осмысленное описание назначено самому тегу, т.е. переменной DEV_STATE_1, а, сообщения выдавать надо по значению DEV_STATE_1_Val (если TRUE).

В состоянии шаблонного сообщения я хочу задать текст с подстановкой описания структуры нужного тега, т.к. там уже содержится нужный текст (типа "авария такого-то девайса").
И у меня возникает проблема с тем, как более-менее просто сделать шаблоны сообщений.

Если я задаю в шаблоне Переменная=%Тег%, а затем задаю Тег=DEV_STATE_1, то я смогу вывести в сообщении описание, но само сообщение вызовется не по значению нужной переменной.
Если я задаю Переменная=%Тег%_Value, сообщение вызовется по нужной переменной, вывести в нем описание не получится...

Есть какой-нибудь способ решить мою проблему элегантно?

Пока на ум приходит отслеживать (скриптом по изменению переменной) изменение всех нужных мне переменных и скриптами же добираться до нужных мне описаний... Т.е. отказаться от механизма сообщений Simple-Scada. Но, поскольку я уже не раз попадал впросак с применением скриптов, начинаю сомневаться в своих подходах...