Нужна помощь

Вопросы, не попадающие в другие разделы.

Нужна помощь

Сообщение Blaze » Пт окт 02, 2009 5:53 am

Просто необходимо как-то реализовать журнал событий в СКАДЕ. Допусти, если оператор открывает задвижку или нажимает кнопку (аларма тут никакого нет), то это действие (объект, действие, оператор, узел) должно фиксироваться где-то в архиве на будущее.
В InTouch нет такого журнала по умолчанию. Может кто-то делал себе что-то подобное?
Blaze
 
Сообщения: 66
Зарегистрирован: Пн июн 23, 2008 6:34 pm

Сообщение Klinkmann_Msk » Пт окт 02, 2009 6:15 am

To Blaze:
А почему нельзя это нельзя сделать с помощью аларма с особым приоритетом? :)
Например, информационные сообщения - приоритет 100, цвет в AlarmViewCtrl зелёный;
предупредительные сообщения - приоритет 200, цвет - жёлтый;
аварийные сообщения - приоритет 300, цвет - красный.
Всё можно просматривать одним объектом и хранить в одном месте (WWAlmDB).
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Re: Нужна помощь

Сообщение skom » Пт окт 02, 2009 6:16 am

Blaze писал(а):Просто необходимо как-то реализовать журнал событий в СКАДЕ. Допусти, если оператор открывает задвижку или нажимает кнопку (аларма тут никакого нет), то это действие (объект, действие, оператор, узел) должно фиксироваться где-то в архиве на будущее.
В InTouch нет такого журнала по умолчанию. Может кто-то делал себе что-то подобное?

Как это нет?
Есть алармы и есть события (галочка LogEvents в TagName Dictionary).
Причем и алармы и события можно сохранять в БД.
skom
 
Сообщения: 173
Зарегистрирован: Вт окт 02, 2007 5:25 pm

Сообщение skom » Пт окт 02, 2009 6:32 am

Klinkmann_Msk писал(а):To Blaze:
А почему нельзя это нельзя сделать с помощью аларма с особым приоритетом?


Тогда их надо будет операторам квитировать, либо писать скрипт, который будет квитировать автоматически алармы с определенным приоритетом.
Там же реализован механизм регистрации событий, зачем изобретать велосипед заново?
skom
 
Сообщения: 173
Зарегистрирован: Вт окт 02, 2007 5:25 pm

Сообщение Blaze » Пт окт 02, 2009 6:45 am

Эти действия не могут быть алармами, их нельзя будет отображать в табло алармов. Они должны быть в отдельном файле/базе.
Blaze
 
Сообщения: 66
Зарегистрирован: Пн июн 23, 2008 6:34 pm

Сообщение skom » Пт окт 02, 2009 6:50 am

Blaze писал(а):Эти действия не могут быть алармами, их нельзя будет отображать в табло алармов. Они должны быть в отдельном файле/базе.

События хранятся в WWALMDB в отдельной таблице.
Их можно отображать в отдельном табло.
Я просто понять не могу чего вы хотите добиться и чем не устраивает встроенный механизм регистрации событий?
skom
 
Сообщения: 173
Зарегистрирован: Вт окт 02, 2007 5:25 pm

Сообщение Blaze » Пт окт 02, 2009 7:01 am

Может я что-то не так понимаю? Что такое встроенный механизм регистрации событий?

Мне надо записывать в архив все ключевые действия оператора с элементами визуального интерфейса. Например, открыта задвижка. Должна быть информация:
Задвижка "Х"
Действие "Открыть"
Оператор "Иванов"
Узел "N"
Время "00:00:00 + дата"
Blaze
 
Сообщения: 66
Зарегистрирован: Пн июн 23, 2008 6:34 pm

Сообщение skom » Пт окт 02, 2009 7:14 am

Blaze писал(а):Может я что-то не так понимаю? Что такое встроенный механизм регистрации событий?

Мне надо записывать в архив все ключевые действия оператора с элементами визуального интерфейса. Например, открыта задвижка. Должна быть информация:
Задвижка "Х"
Действие "Открыть"
Оператор "Иванов"
Узел "N"
Время "00:00:00 + дата"


У меня на нажатие кнопки открыть присваивается 1 в тег CmdOpenValve типа discrete.
У этого тега следующие свойства:
LogEvents, приоритет 800.
Group - TankGroup1.
Комментарий: Команда открыть задвижку.
OnMsg: Открыть
OffMsg: Снят
Настроен AlarmDBLogger на запись как алармов, так и событий.

В итоге в БД попадает строчка в таблицу Events со всем нужными полями: время, группа (узел), оператор, наименование сигнала (комментарий).

Если надо отображать в табло в InTouch, можно сделать QueryType="Hist" + фильтр по приоритету(800).
skom
 
Сообщения: 173
Зарегистрирован: Вт окт 02, 2007 5:25 pm

Сообщение Blaze » Пт окт 02, 2009 7:21 am

А у тебя такие дискреты заведены для всех действий? Скажем для: открыть, закрыть, остановить.

И, если задвижек у меня 20, то надо для каждой присвоить группу дискретов (т.е. 20 групп всего)?
Blaze
 
Сообщения: 66
Зарегистрирован: Пн июн 23, 2008 6:34 pm

Сообщение skom » Пт окт 02, 2009 7:42 am

Blaze писал(а):А у тебя такие дискреты заведены для всех действий? Скажем для: открыть, закрыть, остановить.

И, если задвижек у меня 20, то надо для каждой присвоить группу дискретов (т.е. 20 групп всего)?

Да, у меня для каждого действия свой дискрет. Причем задвижек у меня штук 300. :)
Если не хочется заводить тег на действие, то я вижу только такой выход:
сделать простенькую таблицу в БД и написать функцию добавления строчки. И эту функцию вставлять на Action в каждую кнопку.
skom
 
Сообщения: 173
Зарегистрирован: Вт окт 02, 2007 5:25 pm

Сообщение Blaze » Пт окт 02, 2009 9:12 am

А можешь привести один пример такой функции?

И еще, при нажатии на кнопку у тебя дискрет = 1. Он остается в 1 до каких пор? Пока не нажата кнопка с противоположным действием? Или это значение спадает сразу же?

И, пока не забыл, для своего дискрета ты ставишь галочку в LogData или только в LogEvents? И где стоит галочка для AlarmState - On или None (т.е. является ли тег алармовым)?
Blaze
 
Сообщения: 66
Зарегистрирован: Пн июн 23, 2008 6:34 pm

Сообщение skom » Пт окт 02, 2009 10:09 am

Blaze писал(а):А можешь привести один пример такой функции?

И еще, при нажатии на кнопку у тебя дискрет = 1. Он остается в 1 до каких пор? Пока не нажата кнопка с противоположным действием? Или это значение спадает сразу же?

И, пока не забыл, для своего дискрета ты ставишь галочку в LogData или только в LogEvents? И где стоит галочка для AlarmState - On или None (т.е. является ли тег алармовым)?


Значение тега в 0 сразу же сбрасывает контроллер.
Стоит только галочка LogEvents, LogData — это сохранение значения сигналов для отображения тренда. При этом AlarmState не стоит.
skom
 
Сообщения: 173
Зарегистрирован: Вт окт 02, 2007 5:25 pm

Сообщение Klinkmann_Msk » Вт окт 06, 2009 4:18 am

To Blaze:
ИМХО, проще использовать встроенные возможности логировани и отображения алармов и событий.
Можно, конечно, писать с БД или текстовый файл, но в этих случаях слишком о многом придётся позаботиться (просмотр записанных данных (вьюер), периодическая чистка БД или файла данных,...).
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am


Вернуться в Другое

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4