PDA

Просмотр полной версии : обращение к журналу из скрипта



Михаил Ч.
09.07.2010, 16:06
Добрый день! Я хотел бы узнать, как с помощью C# скрипта обратится к записям журнала событий объекта, в частности, добавить туда какое то сообщение. По всей видимости, как то с помощью HostFB.TreeItemHlp.Project.AlarmManager. Заранее спасибо!

Sniper007
09.07.2010, 16:55
в частности, добавить туда какое то сообщение.
просто добавить? а зачем тогда скрипт? почему бы не использовать модуль событие. если у вас текст будет меняться, то можно в закладку "сообщение" модуля событие добавить переменную.
P.S. Вы только указывайте что MasterScada ввиду имеете.А то SCAD много, а отдельный раздел под MasterSCADA, несмотря на обещание так и не сделали.

Михаил Ч.
10.07.2010, 21:35
Дело в том, что в скрипте есть некий цикл, который на каждом проходе должен выдавать сообщение в журнал. А если, просто, на каждом проходе менять значение какой то логической переменной, которая вызывает, а затем завершает событие, из значения false в true и обратно, MasterScada не успевает его обработать, и, соответственно, выдается сообщение только первого прохода, и то, незавершенное.

Sniper007
11.07.2010, 10:33
интересная задача.
а нельзя тогда сделать так, два выхода скрипта, два события? в один цикл одно запускается, другое завершается, в следующий наоборот.
еще вариант - можно использовать периодический опрос с собственным временем цикла.

Михаил Ч.
12.07.2010, 01:06
Спасибо за совет!
Попробовал вариант с двумя событиями - эффекта никакого, выдается только то событие, которое должно быть первым и, опять же, не завершенное.
На данный момент я и сделал, периодический опрос у скрипа, организовал строковый массив из сообщений и в каждом проходе цикла в скрипте в этот массив заносится строка, которая должна быть текстом сообщения. А потом, при каждом опросе скрипта, из этого массива берется строка и сразу удаляется, то запуская, то завершая событие.
Думаю, что рациональнее было бы сразу во время выполнения цикла записывать сообщения в журнал событие. Может, еще есть какие то варианты, если такой возможности нет в MasterScada...

Sniper007
12.07.2010, 15:22
думаю, что рациональнее было бы сразу во время выполнения цикла записывать сообщения в журнал событие.
вы конечно можете обратится в техподдержку за описанием класса журнала, но мне кажется что гораздо лучше пользоваться стандартными средствами. не стоит лишний раз лезть в классы, тем более раз у вас все работает.