Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Подстановки для сообщений  (Прочитано 1486 раз)

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Подстановки для сообщений
« : 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. Но, поскольку я уже не раз попадал впросак с применением скриптов, начинаю сомневаться в своих подходах...