EnglishУкраїнськаmRussian
Login/New
Topic with many replies

[Alarms][Сигнализация]Есть ли способ формирования алармов без виджетов?


Author Message
Written on: 25. 05. 2012 [14:09]
enpro
Александр Смирнов
registered since: 11.04.2012
Posts: 8
Здраствуйте, пытаюсь выводить алармы в элемент протокол, как написано в быстром старте.

Сделал тестовую программку:

if ((ch0_Out >= 0) && (ch0_Out < 2))
{
SYS.message("alCategory", 3, "Параметр: норма");
}

if ((ch0_Out >= 3) && (ch0_Out < 5))
{
SYS.message("alCategory", -3, "Параметр: нарушение");
}

Запускаю проект, в командной строке предупреждения выводятся:

3|alCategory | Параметр: норма
3|alCategory | Параметр: норма
3|alCategory | Параметр: норма
-3|alCategory | Параметр: нарушение
-3|alCategory | Параметр: нарушение
-3|alCategory | Параметр: нарушение
-3|alCategory | Параметр: нарушение

А вот в элемент "Протокол" в режиме реального времени они не добавляются. Но если остановить, и поновой запустить проект, то в Протоколе выводятся предупреждения от предыдущего запуска.
http://s1.ipicture.ru/uploads/20120525/thumbs/TmVR7KkT.png

На картинке в териминале видны предупреждения 3|alCategory | Параметр: норма , но в протоколе они не выводятся, а появятся только после перезапуска. Подскажите, пожалуйста, как мне решить данную проблему?

[This article was edited 1 times, at last 25.05.2012 at 14:15.]
Written on: 25. 05. 2012 [18:58]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"enpro" wrote:

3|alCategory | Параметр: норма
3|alCategory | Параметр: норма
3|alCategory | Параметр: норма
-3|alCategory | Параметр: нарушение
-3|alCategory | Параметр: нарушение
-3|alCategory | Параметр: нарушение
-3|alCategory | Параметр: нарушение

Нарушения нужно генерировать только при появлении и уходе, а не постоянно.

"enpro" wrote:

А вот в элемент "Протокол" в режиме реального времени они не добавляются. Но если остановить, и поновой запустить проект, то в Протоколе выводятся предупреждения от предыдущего запуска.

Не установлен период слежения, да и настроен некорректно виджет протокола. Продолжаем читать "Быстрый старт"!

Learn, learn and learn better than work, work and work.
Written on: 29. 05. 2012 [15:42]
enpro
Александр Смирнов
registered since: 11.04.2012
Posts: 8
Спасибо, с генерацией сообщений разобрался. Но возник вопрос по поводу сохранения данных сообщений в архив. Сейчас сообщения сохраняются в архив, их можно просмотреть если в качестве архиватора выбрать <bufer>.
http://s2.ipicture.ru/uploads/20120529/thumbs/oPKFSRQf.png

Пытаюсь выполнять сохраниение сообщений в БД. Подключил архиватор:
http://s2.ipicture.ru/uploads/20120529/thumbs/p7FV3aZM.png

но сообщения в него не сохраняются. В быстром старте информармацию не нашел, большая просьба подсказать решение данной проблемы, либо указать на конкретное место в документации, где об этом сказано.
Written on: 29. 05. 2012 [17:59]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"enpro" wrote:

но сообщения в него не сохраняются.

Разбирайтесь в настройках, смотрите прямо в БД. В любом случае у меня нет таких проблем.

P.S. Живой пример архивации сообщений на БД MySQL во вложении, из ДемоБД, кстати!

Learn, learn and learn better than work, work and work.
Attachment

messToArch.png (File type: image/png, Size: 162.09 kilobytes) — 786 downloads
Written on: 30. 05. 2012 [09:24]
enpro
Александр Смирнов
registered since: 11.04.2012
Posts: 8
Большое спасибо, сравнил настройки с демо проектом, и все заработало.
Но возник ещё один вопрос по графическому элементу Протокол.
В скриншоте на странице http://oscada.org/ru/glavnaja/reshenija/odinochnaja-stranica/article/acs-tp-of-the-ball-mills-shbm-287410-of-the-boiler-bkz-160-100-pt/
часть сообщений в элементе протокол раскрашено красным цветом. Как сделать тоже самое?
Пробовал так:
rnd_sq_gr11_lineClr="red";
Special.FLibSYS.messPut("Example",1,"Event: "+rnd_sq_gr12_leniClr);
но ничего не получилось.
Written on: 30. 05. 2012 [09:36]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"enpro" wrote:

Пробовал так:
rnd_sq_gr11_lineClr="red";
Special.FLibSYS.messPut("Example",1,"Event: "+rnd_sq_gr12_leniClr);
но ничего не получилось.

А это тут к чему?
Читаем документацию по элементу "Протокол", на предмет "Свойства элемента", http://wiki.oscada.org/Doc/VCAEngine#h668-19 и опять-же в ДемоБД есть пример!

Learn, learn and learn better than work, work and work.
Written on: 30. 08. 2012 [10:34]
s60ru
Антон Петров
registered since: 10.05.2012
Posts: 141
Зачем атрибут "alarm" имеет в своем формате ( {lev|categ|message|type|tp_arg}) поля categ, message , если это строка никуда в архив не записывается, нигде не отображается, а действующими полями являются lev, type ???

Причем попробовал строку типа alarm = "50|||7"; - не работает...
Попробовал строку типа alarm = "50| | |7"; - не работает...
Попробовал строку типа alarm = "50|a |b |7"; - работает...
Written on: 30. 08. 2012 [10:38]
s60ru
Антон Петров
registered since: 10.05.2012
Posts: 141
Уровень нарушений отображается только во всплывающей подсказке зеленого круга.
Можно до него как-нибудь достучаться в обработке страницы ?
Written on: 30. 08. 2012 [10:55]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

Зачем атрибут "alarm" имеет в своем формате ( {lev|categ|message|type|tp_arg}) поля categ, message , если это строка никуда в архив не записывается, нигде не отображается, а действующими полями являются lev, type ???

Потому что уведомление и архив это разные вещи, а сообщение там для синтеза речи.
Читам здесь http://wiki.oscada.org/Doc/QuickStart#h988-31 до прояснения!

"s60ru" wrote:

Уровень нарушений отображается только во всплывающей подсказке зеленого круга.
Можно до него как-нибудь достучаться в обработке страницы ?

Зелёный круг берёт состояние из атрибут "alarmSt" корневой страницы.

Learn, learn and learn better than work, work and work.
Written on: 30. 08. 2012 [10:58]
s60ru
Антон Петров
registered since: 10.05.2012
Posts: 141
"s60ru" wrote:

Уровень нарушений отображается только во всплывающей подсказке зеленого круга.
Можно до него как-нибудь достучаться в обработке страницы ?


Вроде нашел

JAVASCRIPT
//> Alarms display
  soLst = this.nodeList("pg_");
  for( i = 0; i < soLst.length; i++ )
  {
    curSO = soLst[i].slice(3);
    aSt = this["pg_"+curSO].attr("alarmSt");
    aLev = aSt&0xFF;
    if( aLev && aSt&0x100 )
    {  
      if( aLev > 30 ) wColor = "#ff0000";
      else wColor = "#ffff00";



11456