Alarm Logging
Александр Родин, ООО "Нева Электрик"; 15.5.01

Имеетеся сеть из N контроллеров. Программы и наборы переменных в них идентичные. В WinCC сконфигурирован проект. В текущий момент времени работа графического интерфейса идет только с одним контроллером. При этом, в зависимости от выбранного контроллера, переменные из него копируются во внутреннюю область памяти. В Alarm Logging-е сформирован список сообщений, классы, типы, виды строк и окон сообщений. Сообщений для одного контроллера порядка 400. Но есть необходимость в текущий момент времени принимать сообщения от всех контроллеров сразу. Если браться за эту задачу в лоб, то получается, что необходимо завести N*400 сообщений, причем одних и тех же, а это не очень удобно. Есть ли какая-нибудь возможность избежать столь утомительного труда ?

Re: Alarm Logging
Костенич Дмитрий; 7.2.02

Можно предложить следующее решение:

привязать к какому-нибудь из Process Value Block каждого сообщения тег, содержащий идентификатор контроллера.
Re: Alarm Logging
Костенич Дмитрий; 7.2.02

Можно предложить следующее решение:

привязать к какому-нибудь из Process Value Block каждого сообщения тег, содержащий идентификатор контроллера.
Re: Alarm Logging
Alexis; 8.2.02

Можно написать софтинку которая относительно имеющихся сообщений для одного контроллера сгенерит для оставшихся. Получится N*400 сообщений, но ручками прописать прийдется только 400.

Использовать MSCSEnumSingleMessageEx и
MSCSGenSingleMessageEx.
Re: Alarm Logging
Чистяков Дмитрий ОАО СеверСталь; 8.2.02

А что мешает экспортировать сообщения в, например, в Excel.

Там скопировать все 400 сообщений.
Изменить одно из полей, указывающее контроллер.
И импортировать обратно в WinCC
Re: Alarm Logging
Александр Родин, ООО "Нева Электрик"; 15.2.02

Всем доброго времени суток.


Дже не ожидал, что вдруг вытянут эту тему... :)

Что касается решения этой проблемы, я как раз поступал в соответствии с последним сообщением (от Чистякова Дмитрия). Но здесь тоже всплывает неудобство - для каждой группы сообщений надо назначать свои переменные... Так например: Для ПЛК 1 мы формируем таги регистрации тревог под именами Alarm_1_1, Alarm_2_1, и т.д. Зависит от количества тревог и размерности переменных. Для ПЛК 2 делаем тоже самое, только последний индекс ставим _2. И т.д. Далее в AlarmLogging-е ставим соответсвие битов сформированных переменных соответсвующим строкам в списке сообщений, который мы импортировали из Excel. Как ни крути, а ручками работать все-равно приходится... :) Впрочем, название переменной в Excel имеет строковый тип, можно поменять. Однако названия классов и типов имеют численное значение. Честно-говоря, по памяти ставить эти значения очень осложнительно. :)


Непонятность
Александр Родин, ООО "Нева Электрик"; 12.8.02

Наткнулся на большую проблему при работе AlarmLoggingRT.

Веду два архива: ShortTerm на 1000 сообщений, селектирование выполняется по статусу; LongTerm на 365 дней, селектрирование выполняется так же по статусу (пришедшее/ушедшее/квитированное).
Окно для вывода архива сформировано для вывода ShortTerm-архива. Какое-то время все архивировалось нормально. Даже при общем количестве сообщений больше 1000 новые сообщения добавлялись в конец, а более старые затирались. Потом, вдруг, затирание прекратилось. Новое сообщение на какое-то время показывается в конце списка и пропадает, затираясь новым.... Хорошо. Переконфигурировал окно на вывод LongTerm-архива. Опять. Какое-то время все архивировалось нормально. Потом, станцию отключили - ненормальностей не наблюдалось. При последующем включении обнаружилось, что часть сообщений куда-то пропала. Посмотрел при помощи SCVIEW таблицу MSArc в RT-базе проекта. Записи о пропавших сообщениях есть, однако в окно они не выводятся. Проверил свойства фильтра для окна - селектирование выполнено по статусу. Однако часть сообщений в окно так и не выводится. Причем новые сообщения корректно добавляются в конец архива.

Кто может объяснить в чем дело ?.
Версия WinCC 4.02 SP2

Заранее спасибо.