PDA

Просмотр полной версии : Ошибка визуализации тренда



eigor_vl
21.01.2020, 09:54
Добрый день.
После нескольких часов работы тренда после выключения питания появилась ошибка в окне где находился тренд.
46766
После выключения питания данные на тренде оказались вне диапазона. Оказалось часы на СПК перескочили на 2021 год.
После перевода часов визуализация работает пока не перелистнешь на экран с трендом (та же ошибка).
Перезагрузка проекта не помогает.
Пишу 7 переменных, две оси Y, раз в 2 сек, ограничение размера 16 Мб.
Что делать?

eigor_vl
21.01.2020, 09:57
Просит нажать на экран. Визуализация не загружается. Ошибка та же.

Евгений Кислов
21.01.2020, 10:07
Добрый день.

В текущих версиях CODESYS тренды действительно могут перестать корректно работать после перезагрузки по питанию.

В данный момент вам надо удалить проект через конфигуратор СПК и загрузить его заново.

eigor_vl
22.01.2020, 01:58
Спасибо помогло. Работает снова.
Но как тогда быть? Хочется видеть историю в гафиках. Пользоваться только OwenArchive или SCADA?

Евгений Кислов
22.01.2020, 06:48
Спасибо помогло. Работает снова.
Но как тогда быть? Хочется видеть историю в гафиках. Пользоваться только OwenArchive или SCADA?

Выключение питания в основном происходит контролируемо (оператор выключает установку в конце смены) или самопроизвольно (регулярно отключают электропитание на объекте) ?

eigor_vl
22.01.2020, 07:54
Выключал я во время наладки.

Евгений Кислов
22.01.2020, 08:25
Выключал я во время наладки.

А в процессе эксплуатации что ожидается?

eigor_vl
22.01.2020, 15:25
Выключение питания не должно приводить к сбоям визуализации на объекте.
Алгоритм на СПК продолжает работать, но чтобы уйти с экрана тренда приходится сбросить питание.
Пользоваться только OwenArchive, SCADA? Или есть еще решение?

Евгений Кислов
22.01.2020, 16:47
Если подразумевается неконтролируемое выключение питание - то да, в данный момент лучше отказаться от трендов.
В следующей прошивке (релиз запланирован на февраль) эта проблема должна быть устранена.

Zhuko_OFF
27.01.2020, 15:42
Получили такую же ошибку по одному из трендов на СПК107.
До нового года (2020) все работало более-менее хорошо и стабильно. Были вопросы к плавности, но это нюансы. Сейчас один из трендов отказывается работать и получаем аналогичную ошибку.
Прикрепляю лог файл полученный с панели.
Остальные тренды (6 штук) пока работают нормально.
Также добавляю ссылку на видео работы СПК и получения ошибки: https://youtu.be/cfgAllwTGCk.
Будем благодарны за помощь!

=provincial=
29.01.2020, 10:16
Здравствуйте.
Две ошибки, связанные с работой трендов.
В проекте 2 исторических тренда по 7 переменной в каждом. Запись 1 раз/сек, максимальный объём 128 Мб.

46916
Первую вылечил загрузкой проекта через USB Flash (FAT32).

46915
Вторая возникает в процессе работы спонтанно. Перезаливка помогает не надолго.

Евгений Кислов
29.01.2020, 10:56
Добрый день.
Посмотрите, что в логе контроллера отображается (Device - Журнал).

Дам чуть больше комментариев по теме. Определенные проблемы с трендами в CODESYS были/есть.

В SP14 были исправлены две критические ошибки, связанные с ними:

46922 46923

Релиз прошивки с поддержкой SP14 для СПК запланирован на февраль.
Также в ней включено автоматическое бэкапирование .sqlite файлов, что тоже должно редуцировать проблемы.

Тем не менее, есть проблемы, которые разработчики CODESYS не исправили до сих пор:

46924 46925

Как видно из скриншотов - их исправление запланировано в SP16, который выйдет в конце мая.
В более отдаленном будущем мы планируем перейти и на эту версию.

=provincial=
29.01.2020, 11:48
Журнал экспортировал. Для чистоты эксперимента необходимо не перезагружать СПК, иначе плюсом падает БД тренда.
Ошибку с паданием БД решил по совету из подобной темы: сделал кнопку перезагрузки из раздела watchdog.
Однако, когда возникает красный экран смерти, до неё не добраться и приходится дёргать питание на ходу.
Повторно запустил проект с нуля. Как упадёт - напишу.

Due to the exception the visualization goes into a safe mode until restart
Exception happened while evaluating main visu 'Trend2', exception code: 0
*SOURCEPOSITION* App=[<app>Application</app>] area=<area>0</area>, offset=<off>4131956</off>
*EXCEPTION* App=[<app>Application</app>], Exception=[<excpt>FPU DivisionByZero
TrendStorageAccess: Database Error in function/method 140: Error code = 30441, Action = 3007

Евгений Кислов
29.01.2020, 11:58
DivisionByZero - где-то произошло деление на 0.

Могу посоветовать следующее:

1. Если у вас привязаны к тренду переменные ФБ (например, его выходы) - то сначала копируйте их в локальные переменные программы, и уже их привязывайте.
2. Перед копированием пропускайте значения через оператор Limit - например, если вы отображаете на тренде температуру, то вряд ли она когда-то должна превысить 1000.
(но может превысить, если в значении кодируется код ошибки - как, например, в наших модулях аналогового ввода)
Я несколько раз наблюдал, как резкие изменения отображаемых значений (типа - от несколько десятков до нескольких миллионов) приводили к такой ошибке.