Зависают тренды

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Зависают тренды

Сообщение mrstrong7 » 29 ноя 2016, 11:41

Установлен Easybulder Pro V5.05.01.091
Панель Weintek MT8121XE.
Используя передачу данных, каждую секунду 12 переменных типа float 32 bit из ПЛК помещаются во внутренние переменные.
Создан объект "выборки данных", в котором 12 переменных типа float 32 bit, интервал выборки 1 секунда.
На стартовом окне создано "косвенное окно" и кнопки для изменения адреса чтения.
На окне с трендами создано:
1) объект "график журналов" в котором используются динамическая временная ось, управление журналом и линия наблюдения, тип графика - журнал, 12 каналов и управление их видимостью.
2) также на окне располагаются 12 объектов "Числа" для отображения параметров на линии наблюдения и выпадающий список для изменения временной оси.
Окно с трендами вызывается из стартового окна. Выборка записывается на SD карту.
Проблема следующая: после включения панели, окно с трендами работает нормально, по прошествии где-то 2 часов начинает подтормаживать (например, при нажатии на "график журналов", линия наблюдения появляется через несколько секунд). По прошествию около 6 часов, при преходе на окно с трендами, полностью зависает. В чем может быть причина?
Проблема возникает именно при переходе на окно с трендами, на других окнах никаких проблем нет.
Последний раз редактировалось mrstrong7 22 дек 2016, 11:44, всего редактировалось 2 раз(а).
mrstrong7
 
Сообщения: 8
Зарегистрирован: 24 ноя 2016, 19:57

Re: Зависают тренды

Сообщение mrstrong7 » 01 дек 2016, 11:20

Сомневаюсь, что я первый кто использует подобного рода тренды (на одном объекте "График журналов" достаточно большое количество трендов и относительно маленький интервал выборки 1 с). Может кто-нибудь поделится проектом с похожей выборкой данных. Самое неприятное в этой ситуации то, что проблема была выявлена только при пусконаладке.
mrstrong7
 
Сообщения: 8
Зарегистрирован: 24 ноя 2016, 19:57

Re: Зависают тренды

Сообщение den_po » 02 дек 2016, 11:04

Разработчики не рекомендуют держать на экране графики с большим количеством каналов долгое время. Пытаюсь убедить их, что это не дело, но вероятно, они ограничатся примечанием в документации.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Зависают тренды

Сообщение mrstrong7 » 02 дек 2016, 14:18

Дело в том, что эта проблема возникает даже если не держать экран с трендами открытым, а если просто перейти на этот экран через продолжительное время. Скорее всего зависания начинаются после того как значительное количество данных накопится в архиве. У меня интервал выборки 1 с значит за 24 часа 86400 значений в архиве для одной переменной, у меня таких 12, что дает более миллиона значений. Способ отображения на объекте "график журналов" мне не известен, возможно точки ставятся даже за пределами текущего значения временной оси ( например для ускорения перемещения по оси времени).
Наверное придется переделывать часть проекта, хотелось видеть тренды на одном "графике журналов" , а придется прыгать по разным экранам.
mrstrong7
 
Сообщения: 8
Зарегистрирован: 24 ноя 2016, 19:57

Re: Зависают тренды

Сообщение xenonci » 04 дек 2016, 16:04

Доброго дня.
У вас в выборке установлено количество записей - 1000. А секунд в сутках - 86400. Я думаю в этом причина. Также можно убрать высокий приоритет и снизить частоту выборки до 2 сек. Посмотрите загрузку процессора LW-9025. У меня при 95% пропадала связь с контроллерами.

Изображение
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: Зависают тренды

Сообщение xenonci » 04 дек 2016, 16:12

Да еще - может быть конвертануть скорости насосов 32bit float в 16 bit unsigned - чтобы не грузить процессор панели операциями с большими числами? В чем у вас скорость - Герцах или об/мин ?
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: Зависают тренды

Сообщение xenonci » 04 дек 2016, 16:27

P.S. Цвета трендов у вас не сильно отличаются и при 12 трендах - будет полная каша. Или цвета сделайте контрастнее или линии разной толщины. У меня при 6-ти иногда пересекаются и не поймешь где какой.
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: Зависают тренды

Сообщение mrstrong7 » 05 дек 2016, 11:00

Добрый день, параметр "количество записей" не должен влиять в моем случае, возможно я ошибаюсь.

Изображение

Высокий приоритет поставил уже после выявления проблемы. Загрузка процессора после 2-х часов работы в районе 20%, во время полного зависания экран не обновлялся и просмотреть загрузку не удалось (можно было конечно записывать в выборку, но сейчас уже проверить возможности нет).
На счет конвертировать в int, идея хорошая, обдумаю. Частоту выборки снижать не хочется, давление быстро изменяется.
Цвета трендов не принципиальны.
mrstrong7
 
Сообщения: 8
Зарегистрирован: 24 ноя 2016, 19:57

Re: Зависают тренды

Сообщение mrstrong7 » 22 дек 2016, 13:47

Решил проблему следующим образом, за идею спасибо xenonci.

1. Передача данных из контроллера во внутренние переменные каждую секунду

Изображение

2. Макрос, который преобразует переменные float в int, сохраняя точность 2 знака после запятой (формула на картинке ниже), выполняется циклично

Изображение

3. Создана выборка, привязанная к переменным int, создается новая ежедневно

Изображение

4. Окно с трендами, с некоторыми нюансами: оси выполнены в виде картинки, так как значения в выборке умноженные на 100.

Изображение

5. Для корректного отображения значений на линии наблюдения, в поле вывода применены следующие настройки

Изображение

Выводы:
+: раньше длина выборки была 24 слова, теперь 12. Процессору проще работать с int чем с float.
-: для успокоения пришлось увеличить частоту выборки до 5 секунд. При бэкапе выборки, данные умноженные на 100.
Главное: панель не зависает

Первоначально пытался сделать без предварительного копирования тегов из контроллера во внутреннюю память во float, используя скрипт, который сразу в int переделывал, но почему-то иногда значения в int были равны 0, отказался от этого.

Проблема с зависанием возникает при относительно большом объеме выборки, проблему можно было бы решить делая ее меньшего размера, но тогда не удастся удобно просматривать тренды за предыдущие даты.

mrstrong7 писал(а):Добрый день.
Если создать выборку с именем файла %Y%m%d%H и автоматическим его созданием при изменении имени, т.е выборка будет создаваться каждый час, то функция FindEventLogIndex, работает некорректно.
Создал следующие выборки:
2016120700.dtl
2016120701.dtl
2016120702.dtl
2016120703.dtl
2016120903.dtl
2016120904.dtl
2016120905.dtl
2016121105.dtl
2016121106.dtl
2016121107.dtl
2016121108.dtl

result =FindEventLogIndex(2016, 12, 11, index), index=0, ожидаю 0
result =FindEventLogIndex(2016, 12, 10, index), index=-1, ожидаю -1
result =FindEventLogIndex(2016, 12, 9, index), index=1, ожидаю 4, вместо необходимой отображается 2016121107.dtl
result =FindEventLogIndex(2016, 12, 8, index), index=-1, ожидаю -1
result =FindEventLogIndex(2016, 12, 7, index), index=2, ожидаю 7, вместо необходимой отображается 2016121106.dtl
result =FindEventLogIndex(2016, 12, 6, index), index=-1, ожидаю -1

Причем, если вывести "управление журналом" в поле ввода/вывода и вручную вводить туда значения index, то выборка 2016121108.dtl соответствует 0, а выборка 2016120700.dtl соответствует 10.
Каким образом отображать данные из разных выборок в "график журналов" если выборка создается не каждый день, а например каждый час (также нужно учесть, что панель может быть отключена в некоторые дни)?
Спасибо.


На что был получен ответ

den_po писал(а):К сожалению, решения для вашего случая нет и не планируется.


mrstrong7 писал(а):
den_po писал(а):К сожалению, решения для вашего случая нет и не планируется.

Это бы решило проблему с зависанием трендов. Можно было бы делать выборки меньшего размера, что привело бы к решению проблемы с зависанием трендов. Но какой смысл делать их чаще, если посмотреть накопленные данные в удобном виде на панели невозможно. Может следовало бы запланировать решение данного вопроса или сделать так чтобы тренды работали должным образом?


den_po писал(а):
mrstrong7 писал(а):
den_po писал(а):К сожалению, решения для вашего случая нет и не планируется.

Это бы решило проблему с зависанием трендов. Можно было бы делать выборки меньшего размера, что привело бы к решению проблемы с зависанием трендов. Но какой смысл делать их чаще, если посмотреть накопленные данные в удобном виде на панели невозможно. Может следовало бы запланировать решение данного вопроса или сделать так чтобы тренды работали должным образом?

А вот по зависанию обещали подумать, как можно побороть.


Ждать решения проблемы производителем времени нет, пришлось делать данным способом. Решил написать, вдруг кому-то пригодится.
mrstrong7
 
Сообщения: 8
Зарегистрирован: 24 ноя 2016, 19:57


Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 19