Регистрация действий операторов

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

Регистрация действий операторов

Сообщение Bender » Ср янв 27, 2010 8:09 am

Здравствуйте!

Необходимо регистрировать действия операторов (нажатие на кнопки и т.п.) время этих действий и, соответственно, логин оператора с последующим просмотром подобного лога средствами InTouch.

Подскажите каким образом лучше это реализовать?

Спасибо.
Bender
 
Сообщения: 28
Зарегистрирован: Ср янв 21, 2009 8:31 pm

Сообщение Klinkmann_Msk » Ср янв 27, 2010 11:10 am

To Bender:
1. Tagname Dictionary - Log Events (номер приоритета выбирайте сами)
2. AlarmDBLogger Manager - настраиваете MSSQL-базу для ведения алармов, в окне Advansed Settings устанавливаете "галочку" Log Events
3. В окно InTouch добавляете элемент AlmDBViewer. Его можно настроить на просмотр конкретного приоритета.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Bender » Пт янв 29, 2010 9:42 am

Спасибо за подсказку!

Создал тег actions (memory message ) установил галочку Log Events. Добавил следующую QuickFunction (LogActions):
actions = commentaction;

Для регистрации входа добавил скрипт Condiction $AccessLevel>0
со следующим содержимым:
CALL LogActions("Вход в систему");

На кнопку "Выход" повесил скрипт:
CALL LogActions("Выход из системы");
затем LogOff;

Сообщение о входе регистрируется, а сообщение о выходе нет, хотя в теге action нужные строки.

Может кто-нибудь объяснит почему регистрируется только одно событие?
Bender
 
Сообщения: 28
Зарегистрирован: Ср янв 21, 2009 8:31 pm

Сообщение Klinkmann_Msk » Пт янв 29, 2010 10:39 am

To Bender:
Попробуйте между
CALL LogActions("Выход из системы");
и
LogOff;
вставить пустой цикл. Скорее всего не успевает отработать система эвентов, слишком быстро LogOff срабатывает.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Bender » Пт янв 29, 2010 2:36 pm

Не работает.
Для тестовых целей сделал следующее:
добавил Condition скрипт test1 (on true) с содержимым
CALL LogOperatorAction("TEST");

На кнопку повесил скрипт:
test1 = NOT test1;

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

Такое ощущение что регистрация срабатывает только при изменении качества тега...

Как же тогда быть?
Bender
 
Сообщения: 28
Зарегистрирован: Ср янв 21, 2009 8:31 pm

Сообщение Klinkmann_Msk » Пн фев 01, 2010 7:56 am

To Bender:
Ааааа
Тогда всё просто. У Вас условие срабатывет по OnTrue.
Сделайте 2 тега.
Test1, Test 2.
По Data Change (Test1) Test2=NOT Test1;
На Test1 - LogIN
На Test2 - LogOff
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Bender » Пн фев 01, 2010 8:30 am

Добавил Condition скрипт на NOT test 1. Действительно регистрирует событие. Получается, что на каждый тип события нужно заводить отдельный тег, хотя в справке сказано
Select Log Events if you want to log all data value changes to the tagname that are initiated by the operator, I/O, a QuickScript or by the system.

Tip When you define a tagname to do event monitoring, an event message is logged to the alarm system each time the tagname's value changes. The event message logs how the value changed. For example, whether the operator, I/O, QuickScripts or the system initiated the change.

When you select Log Events, the Priority field becomes active. The value you type for the Priority determines the event priority level for the tagname. Valid entries in this field are 1 to 999, where 1 is the highest and 999 is the lowest priority.

Пробовал по кнопке вызывать QuickScript LogOperatorAction. Ни разу не регистрирует, хотя значение меняется.
Bender
 
Сообщения: 28
Зарегистрирован: Ср янв 21, 2009 8:31 pm

Сообщение Klinkmann_Msk » Пн фев 01, 2010 8:49 am

To Bender:
Нуууу
В семье, т.е. софте, не без уро.., тьфу не без бага :)
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Klinkmann_Msk » Вт фев 02, 2010 7:46 am

To Bender:
Попробуйте писать не только значение строковой переменной, но и поле .Alarm Coment (строка) этой же переменной.
У меня работает как на вход в проект, на и на выход.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Bender » Вт фев 02, 2010 1:52 pm

Из QuickScript все равно не работает.
Сделал так: завел дискретный тег, повесил его в datachange, в нем делаю запись в регистрируемый тег (Action = CommentAction). Вызываю сие безобразие следующим образом:
Код: Выделить всё
CommentAction = "Выход из системы";
LogAction = NOT LogAction;
Bender
 
Сообщения: 28
Зарегистрирован: Ср янв 21, 2009 8:31 pm

Сообщение Klinkmann_Msk » Вт фев 02, 2010 2:24 pm

To Bender:
Я пробовал без QuickScript-а, просто на Action-кнопке. Попробуйте отказаться от QuickScript в этом случае, не думаю, что это принципиально :)
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение aman » Пн фев 07, 2011 11:52 am

Аналогично, нужна регистрация алармов и событий. InTouch 10.0. Сделал 2-мя способами: через MSSQL+AlmDbViewCtrl и Alarm Printer.
Тэгов в моем проекте InTouch - 7000. При открытии окна AlmDbViewCtrl загружается постоянно разное количество записей - максимум 860, это примерно 2 - 3 часа истории, т.е. практически ничего. Максимальное количество загружаемых записей в свойстве AlmDbViewCtrl можно указать 1000. Как быть?

Alarm Printer мне понравился. На выходе создает текстовый файл с разделителем, который можно просмотреть как таблицу в Excel. История нового дня храниться в отдельном файле. Но это удобно если смотреть технологу или инженеру АСУТП. Но оператор эту информацию не может просмотреть. В InTouch 7.0 точно такие же файлы содавались без использования всяких Alarm Printer и потом доступны для просмотра в окне отображающем алармы (всего то нужно было в свойствах проекта отметить Alarm History). Я так понимаю в InTouch 10.0 результаты сохранения программой Alarm Printer в сам InTouch уже нельзя загрузить?
Как быть?
aman
 
Сообщения: 3
Зарегистрирован: Сб июл 10, 2010 10:13 am

Сообщение Klinkmann_Msk » Пн фев 07, 2011 12:20 pm

aman писал(а):Аналогично, нужна регистрация алармов и событий. InTouch 10.0. Сделал 2-мя способами: через MSSQL+AlmDbViewCtrl и Alarm Printer.
Тэгов в моем проекте InTouch - 7000. При открытии окна AlmDbViewCtrl загружается постоянно разное количество записей - максимум 860, это примерно 2 - 3 часа истории, т.е. практически ничего. Максимальное количество загружаемых записей в свойстве AlmDbViewCtrl можно указать 1000. Как быть?

Max record - колво записей, возвращаемое по запросу, который исполняется при вызове данного ActiveX. А справа есть стрелки (вверх/вниз), которыми можно листать историю алармов. Каждое листание будет возвращать Max Records записей из БД.
+ Пользуйтесь фильтрами, отображением алармов по приоритетам, группам алармов,...
Alarm Printer мне понравился. На выходе создает текстовый файл с разделителем, который можно просмотреть как таблицу в Excel. История нового дня храниться в отдельном файле. Но это удобно если смотреть технологу или инженеру АСУТП. Но оператор эту информацию не может просмотреть. В InTouch 7.0 точно такие же файлы содавались без использования всяких Alarm Printer и потом доступны для просмотра в окне отображающем алармы (всего то нужно было в свойствах проекта отметить Alarm History). Я так понимаю в InTouch 10.0 результаты сохранения программой Alarm Printer в сам InTouch уже нельзя загрузить?
Как быть?

Можно преобразовать (перименовать) эти файлыв CSV, XLS, и открывать с помощью ActiveX Microsoft Web Browser, который интегрировать в окно InTouch.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение aman » Пн фев 07, 2011 2:20 pm

Klinkmann_Msk писал(а):Можно преобразовать (перименовать) эти файлыв CSV, XLS, и открывать с помощью ActiveX Microsoft Web Browser, который интегрировать в окно InTouch.


Преобразование не подходит, к сожалению, нужна прозрачная связь файлов истории, хранящихся на локальном диске и пишущихся в реальном времени, с объектом InTouch, отображающим алармы. Я так понимаю, нужен специальный ActiveX Controls, умеющий работать с файлами, имеющими расширение *.ALG?
Может есть такой компонент у Wonderware?

А как такой вариант: в Alarm Printer можно задавать расширение выходного файла отличное от ALG, допустим задать расширение XML, а потом читать объектом AlarmTreeViewerCtrl или чем-то еще чего нет в стандартной поставке InTouch?
aman
 
Сообщения: 3
Зарегистрирован: Сб июл 10, 2010 10:13 am

Сообщение Klinkmann_Msk » Вт фев 08, 2011 5:16 am

aman писал(а):нужен специальный ActiveX Controls, умеющий работать с файлами, имеющими расширение *.ALG?
Может есть такой компонент у Wonderware?
А как такой вариант: в Alarm Printer можно задавать расширение выходного файла отличное от ALG, допустим задать расширение XML, а потом читать объектом AlarmTreeViewerCtrl или чем-то еще чего нет в стандартной поставке InTouch?

Alarm Printer мне понравился. На выходе создает текстовый файл с разделителем, который можно просмотреть как таблицу в Excel.

Всё уже есть. Назначаете выходной файл как XLS или настраиваете ОС, чтобы обработчиком по умолчанию файлов ALG был Excel. Затем делаете в InTouch окно, через Wizard ActiveX Installation кидаете на него ActiveX Microsoft Web Browser и просматриваете файлы в нём.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am


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

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

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