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
Заранее спасибо.