PDA

Просмотр полной версии : СПК107 Журнал тревог



Linker1989
26.10.2020, 22:14
Здравствуйте, пытаюсь настроить журнал тревог при компиляции выдает набор ошибок, куда смотреть что не так. Ориентируюсь на пример из инструкции по визуализации.
51524

Евгений Кислов
27.10.2020, 06:21
Добрый день.
Проект выложите, пожалуйста.

Cs-Cs
29.10.2020, 10:19
А можно я тут доспрошу тоже?
Пример не смог запустить, потому что на СПК он не завёлся (а как работает виртуальный ПЛК я так и не понял).
КАК вообще эти тревоги должны работать-то? У меня получается так: случилась тревога (пропала фаза сети, например) - тревога появилась в таблице. Но как только фаза появилась - тревога исчезает из таблицы О_о. Это вообще как так?
Я думал, что эти тревоги будут чем-то типа лога ошибок: что можно будет заходить в таблицу и смотреть что-то типа "вот, три дня назад в 15 часов пропала горячая вода, потом в 16 часов её дали, а потом в 18 снова отключили" - ну, то есть как лог ошибок. Но они чего-то не логятся никуда.

Больше всего мне не понятно про активацию и деактивацию тревог. В PDF про визуализации мало чего написано про то, как это работает и должно работать. А пример вроде как предполагает, что юзер будет сам тыкать на кнопку деактивации. А мне это не подходит.
У меня ща в проекте два класса тревог - Error и Warning. На обоих подтверждение стоит как REP - которое по идее подтверждается автоматически.

В группе тревог все тревоги - булевые, вида "VVodL1 = FALSE", в графе "Деактивация" - пусто. Что я делаю не так?

Евгений Кислов
29.10.2020, 10:22
что можно будет заходить в таблицу и смотреть что-то типа "вот, три дня назад в 15 часов пропала горячая вода, потом в 16 часов её дали, а потом в 18 снова отключили" - ну, то есть как лог ошибок. Но они чего-то не логятся никуда.

Для этого надо переключить таблицу тревог в режим История.
Вот видео, которое демонстрирует настройку элемента:
https://youtu.be/LlLMSElG59I

Активация/деактивация нужна для временного отключения контроля тревог (например, на время отладки, когда они могут генерироваться десятками в секунду). Речь об этом?


Что я делаю не так?

Нужен проект и подробное описание проблемы, чтобы мы могли ее воспроизвести.
Или TeamViewer.

Cs-Cs
29.10.2020, 10:32
Ааа!!! ИСТОРИЯ!!! И спрятанная прямо в переменных визуализации (куда обычно никто не смотрит) и не прокоментированная переменная bHistory в примере! )))
Да, это ОНО! РАБОТАЕТ!! Весь лог есть, всё как мне хотелось!
Забацаю её всегда TRUE! =)

Нет, это я говорил о том, что столбец "Деактивация" в группе тревог (где мы заполняем список условий для разных тревог) пуст. Но для REP он и не нужен же.

Спасибо!! Дальше у меня есть идея забацать FB, который будет вызываться по действию класса Error, и повесить туда отправку СМСок через ПМ-01. Чтобы, хех, два раза не возиться с отображением тревог и с отправкой их по СМСкам =)

Евгений Кислов
29.10.2020, 10:37
и не прокоментированная переменная bHistory в примере! )))

Там есть поясняющий рисунок, в принципе.

51574


Нет, это я говорил о том, что столбец "Деактивация" в группе тревог (где мы заполняем список условий для разных тревог) пуст. Но для REP он и не нужен же.

Он как раз позволяет отключать обработку конкретных тревог, если это необходимо.

Cs-Cs
29.10.2020, 10:47
Чёрт. А я честно этот момент в мануале пропустил, потому что прочитал: "тут можно автоматически вставить [стандартные] управляющие элементы", решив что они мне не нужны =)

Ща всё работает. Причём мне ПОНРАВИЛОСЬ! Это ж можно будет определить несколько групп тревог (образно, "Самые важные", "Расширенная инфа") и через групповые переменные разрешать диагностику разного уровня.
Скажем, в одной группе важных событий будут прописаны только аварийные вещи (пропала фаза, упало давление).
А в другой группе - события их восстановления (появилась фаза, давление вернулось в норму). И тогда в настройках проекта можно будет навтыкать галочек типа "Слать по СМС: Аварии, Приходы в норму"

ОЧЕНЬ КРУТО!! Ааа!! Как же круто! )) И прогать ничего не надо дополнительно (кроме FB для тревог)!

Cs-Cs
31.10.2020, 15:57
А кто-нибудь сталкивался с тем, что тревоги вообще перестают работать?
У меня чего-то случилось. Все тревоги есть, всё прописано, деактиваций нет - но они и в таблице не отображаются (никакие - не активные, не история) и их обработчики тоже не вызываются ни фига.
С чего началось - не знаю. Прогал-прогал, а потом смотрю что тревоги никуда не записываются и таблица не дополняется новыми... чёрт!
Ща попробую заново все тревгоди набить... их там уже штук по 10 в каждой группе...

Евгений Кислов
31.10.2020, 16:02
Я думаю, перебивать тревоги смысла нет.
Для начала можно сделать Сброс заводской и заново загрузить проект - возможно, с файлами тревог что-то случилось при очередной загрузки проекта (или выполнялось онлайн-изменение).

Cs-Cs
31.10.2020, 16:08
Делал. Даже приложение удалял.
Если у него сбои - то он обычо поверх таблицы пишет, что сбой с файлом тревог. Это как раз при онлайн-обновлениях бывает.

ООО!! Вот я не знаю, ЧТО это было - но я удалил весь компонент тревог, набил его заново (копипастой строк с описаниями тревог из копии проекта, чтобы с нуля не вспоминать условия) - завелось!

Евгений Кислов
31.10.2020, 16:14
Кстати, набитые тревоги можно экспортировать/импортировать через .csv (вместо копипасты).
ПКМ на любой столбец в группе тревог - и через соответствующие команды контекстного меню.

Cs-Cs
31.10.2020, 16:37
Ага! Это я в мануале читал. Но тут проще было скопипастить: их же все разом можно выделить, и разом скопировать.
CSV удобен был бы, если бы надо было иметь пресет стандартных тревог для стандартных проектов и каждый раз в новый проект его загружать.
А тут на один раз - можно и копирнуть.

ЗЫ. С вызово FB для СМСок тоже получается прикольно! Я тебе потом этот проект весь пришлю, как его допилю. Я там замутил вызов FB при срабатывании тревог, который формирует нужные СМСки по тревогам и не сразу их шлёт, а ставит в очередь на отправку. А дальше уже задача модема шлёт их с небольшой задержкой, забирая их из очереди исходящих СМСок.

Cs-Cs
31.10.2020, 16:42
И ещё спрошу, хоть и смущаюсь (вдруг в мануале было). А принудительно всю историю тревог из программы можно очистить?

Евгений Кислов
31.10.2020, 18:44
И ещё спрошу, хоть и смущаюсь (вдруг в мануале было). А принудительно всю историю тревог из программы можно очистить?

Штатного способа пока нет - должны добавить в следующей версии CODESYS.

Cs-Cs
31.10.2020, 19:05
Понял! Будем ждать! =)

SemAndr
18.11.2020, 12:21
А какой вариант сделать не штатно? Вариант с удалением файла архива не пойдет. После перезагрузки контроллер восстанавливает файл. Вариант программно сделать количество "пустых" аварий по глубине архива - тоже не очень - медленно и таблица приобретает не очень хороший вид. Наличие аварий в архиве на объекте может вызвать вопросы.

Евгений Кислов
18.11.2020, 12:25
А какой вариант сделать не штатно? Вариант с удалением файла архива не пойдет. После перезагрузки контроллер восстанавливает файл. Вариант программно сделать количество "пустых" аварий по глубине архива - тоже не очень - медленно и таблица приобретает не очень хороший вид. Наличие аварий в архиве на объекте может вызвать вопросы.

Какая у вас версия прошивки?

Cs-Cs
18.11.2020, 13:14
SemAndr Как это восстанавливает? У меня всё очищал, когда я файл базы данных тревог удалял с ПЛК.

SemAndr
18.11.2020, 14:21
Версия прошивки 1.2.0623.1009

Cs-Cs, Пробовал пока что просто подключаясь к контроллеру через удалять с его памяти файл. После перезагрузки контроллера таблица сообщений была в полном составе, в папке появлялся файл архива тревог

Евгений Кислов
18.11.2020, 14:27
Версия прошивки 1.2.0623.1009

Cs-Cs, Пробовал пока что просто подключаясь к контроллеру через удалять с его памяти файл. После перезагрузки контроллера таблица сообщений была в полном составе, в папке появлялся файл архива тревог

А какой именно файл вы удаляли? Их обычно там несколько в папке /alarms/

Cs-Cs
18.11.2020, 14:44
Евгений Кислов Так там же их конфиги лежат и прочие штуки. И есть файл с расширением .sqlite - SQLite-база тревог.
Зовётся как Application.alarmstorage.sqlite. Application - название приложения.
Можно даже внутренности посмотреть через SQLite Browser: 52080

SemAndr
18.11.2020, 14:47
PlcLogic/alarms/1/Application.Alarmstorage.sqlite (Папка 1 задана в настройках для сохранения). Хм. Сейчас для проверки попробовал его еще раз удалить. История почистилась. Прошу прощения. Получается правильный файл удаляю для очистки журнала. То есть через работу с файлами можно удалять этот файл для очистки.
Еще один вопрос до кучи. Мою текущую прошивку можно обновить до версии 1.2.0803.1220?

Евгений Кислов
18.11.2020, 15:15
PlcLogic/alarms/1/Application.Alarmstorage.sqlite (Папка 1 задана в настройках для сохранения). Хм. Сейчас для проверки попробовал его еще раз удалить. История почистилась. Прошу прощения. Получается правильный файл удаляю для очистки журнала. То есть через работу с файлами можно удалять этот файл для очистки.
Еще один вопрос до кучи. Мою текущую прошивку можно обновить до версии 1.2.0803.1220?

1. Нет гарантий, что после перезагрузки этот файл автоматически начнет записываться заново - надо проверять.
И кроме того, в следующих версиях CODESYS это поведение может измениться - так что надо понимать, что это костыль.

2. Да, вы можете обновить прошивку.


Евгений Кислов Так там же их конфиги лежат и прочие штуки.

...поэтому я и хотел бы убедиться, что SemAndr удаляет именно файл БД, а не конфиги.