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 | Параметр: нарушение
А вот в элемент "Протокол" в режиме реального времени они не добавляются. Но если остановить, и поновой запустить проект, то в Протоколе выводятся предупреждения от предыдущего запуска.
На картинке в териминале видны предупреждения 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>.
Пытаюсь выполнять сохраниение сообщений в БД. Подключил архиватор:
но сообщения в него не сохраняются. В быстром старте информармацию не нашел, большая просьба подсказать решение данной проблемы, либо указать на конкретное место в документации, где об этом сказано.
|
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:
Уровень нарушений отображается только во всплывающей подсказке зеленого круга.
Можно до него как-нибудь достучаться в обработке страницы ?
Вроде нашел
//> 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";
|