работа с БД
Версия для печати


Форум:  НТО Терси-КБ
Тема:  http://tersy.ru/index.php?module=pnForum&func=viewtopic&topic=74

работа с БД


1.  Neurox,  10.06.2009 15:05
Добрый день!

Такой вопрос возник.

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

После данных операций исчезли значения точек из архивной БД при просмотре через архивный менеджер.
как избежать подобных случаев в дальнейшем и как сделать значения точек доступными для отображения ???
(объем БД не изменился, видимо данные там таки остались).

2.  Roman,  11.06.2009 09:00
Все дело в сроках хранения данных в архиве. По умолчанию для точных значений срок хранения составляет 1 месяц.

Как только Вы перевели часы на 2 месяца вперед, архив обнаружил, что на контроллере наступили новые сутки и автоматически удалил устаревшие (по его понятиям) данные. Естественно, что после отката времени назад никаких данных на трендах Вы не видите - их в архиве уже нет.

Размер архива пусть не вводит Вас в заблуждение - архив это база данных, у сервера БД свои понятия о том, когда надо увеличивать/уменьшать ее размер.

3.  Neurox,  11.06.2009 10:30
Спасибо за ответ!!

Еще один ньюанс обнаружен.

При сознании некоторых из входных точек был задан диаппазон ТЕ 0-5.
Система работала с такой настройкой некоторое время.
Затем ТЕ был изменен до 0-100.
однако в менеджере арховных трендов при установке маштабирования графика на ТЕ, так и осталось 0-5
конфигурация точек применена.
и контроллер и архивнвя база неоднократно перегружалась.

как обеспечить правильное маштабирование по существующему ТЕ?


4.  Roman,  11.06.2009 10:50
Для обновления конфигурации точек каналов, включая ТЕ диапазон, название описание и т.д. необходимо обновить тренд вручную. Для этого выберите в меню Вид команду Обновить или нажмите F5.

ТЕ диапазоны не хранятся в архиве, при просмотре трендов используется текущий диапазон точки. Поэтому в перезагрузке архива смысла нет. Кроме того, менеджер архивных трендов не имеет связи с контроллером, из-за чего перезагружать контроллер также не нужно. По этой же причине (нет связи с контроллером) менеджер архивных трендов не получает уведомлений об изменении конфигурации точек и не обновляет диапазон автоматически. Поэтому Вы видите "старый" диапазон.

5.  Neurox,  11.06.2009 11:22
""Для обновления конфигурации точек каналов, включая ТЕ диапазон, название описание и т.д. необходимо обновить тренд вручную. Для этого выберите в меню Вид команду Обновить или нажмите F5. ""

1.В том то и дело, что маштабирование по ТЕ никак неполучается сделать с новым значением ТЕ. даже после обновления.
Нажимаешь "диаппазон пользователя"---маштаб 0-100.
нажимаешь на ТЕ---0-5

2. можноли для отдельных точек обеспечить период хранения точных значений больше месяца?

P.S. в адрес тех.поддержки (cascade@tersy.ru) и в адрес Александра Худова (ankh@mail.tersy.ru) повторно отправлялись запросы с уточнением необходимой конфигурации системы КАСКАД-САУ. Прошу подтвердить получение. надеюсь на скорый ответ.


Изменено: Neurox, 11.06.2009 11:28

6.  Roman,  11.06.2009 11:41
NeuroxВ том то и дело, что маштабирование по ТЕ никак не получается сделать с новым значением ТЕ. даже после обновления.
Нажимаешь "диапазон пользователя"---маштаб 0-100.
нажимаешь на ТЕ---0-5

Только что проверил: Открыл менеджер архивных трендов, вывел тренд по точке. В окне трендов нажата кнопка "Диапазон ТЕ". Одновременно открыл программу Настройка параметров точек, поменял у этой точки ТЕ диапазон, применил конфигурацию. Переключился в окно менеджера трендов, нажал F5. Диапазон канала тренда обновился на новый.

А что делаете Вы?

NeuroxМожно ли для отдельных точек обеспечить период хранения точных значений больше месяца?

Время хранения архивов задается сразу для всех точек. Задавать разное время хранения для отдельных точек нельзя.

7.  Neurox,  11.06.2009 12:03
ЦитатаА что делаете Вы?


только что:

открыл архивные тренды--вывел точку(но клику на значении точки на мнемосхеме): на графике ТЕ 0-5 в настройках 0-100
изменил значение в настройках точки на 0-70-----программа просмотров тренда запросила обновление тренда. тренд обновился--маштаб 0-70.

изманил на 0-100---тоже самое-- на тренде 0-100.

закрыл просмотрщик трендов.
открыл заново--маштаб 0-5 . =-О



Изменено: Neurox, 11.06.2009 12:04

8.  Roman,  11.06.2009 12:24
Действительно, удалось повторить.

Это ошибка окна трендов в мнемосхемах: тренд не обновляет диапазон ТЕ, а использует тот, который был в момент самого первого открытия тренда с мнемосхемы по этой точке. Перезапуск АРМ ничего не меняет.

Ошибку исправим в ближайшем обновлении.

PS. В менеджере архивных трендов, который идет как отдельное приложение и запускается из меню Пуск такой ошибки нет. Именно про него я и писал выше.


9.  Neurox,  11.06.2009 12:27
Спасибо.
ждем обновления))
кстати ваш диск почтой получили.

10.  Neurox,  11.06.2009 12:35
В этой проблеме помогает копирования элемента управления "Значение точки" с которого тренд открывался с нужным маштабом.
ну т.е при создании точки диаппазон 0-100. сохранили. запустили с клика тренд.
затем в редакторе мнемосхем копируем этот "правилный" элемент управления и привязываем к нужной точке.
после етого маштаб 0-100. )))

возможно также помогает пересоздание точки с новым номером.

11.  Neurox,  11.06.2009 12:57


Планируется ли добавления в перечень функций алгоритмов методов для работы архивными значениями точек?

ну например что-то типа GetVal(int NomerTo4ki,int TimeDate,int Type(точное или среднее расчитаное)) а возвращаемое значение по типу точки().
+ получение массива значений в диаппазоне времени.
кстати отчутствие возможности работы с массивом значений создает некоторое неудобство. переменных много плодится.

Вообще алгоритмы управления довольно хорошо реализуются на данной платформе, а вот расчет различных ТЭП как-то на костылях получается(((

12.  flash,  11.06.2009 13:30
Neurox

Планируется ли добавления в перечень функций алгоритмов методов для работы архивными значениями точек?

ну например что-то типа GetVal(int NomerTo4ki,int TimeDate,int Type(точное или среднее расчитаное)) а возвращаемое значение по типу точки().
+ получение массива значений в диаппазоне времени.
кстати отчутствие возможности работы с массивом значений создает некоторое неудобство. переменных много плодится.

Вообще алгоритмы управления довольно хорошо реализуются на данной платформе, а вот расчет различных ТЭП как-то на костылях получается(((


Отвечу по пунктам:
1. Внедрение функций работы с архивами не планируется. Причина в том, что контроллер, на котором исполняются алгоритмы, не имеет доступа к архивам. Кроме того, архив - это довольно неповоротливая штука, время доступа к архивным данным недетерминировано. Осуществлять доступ к архиву из real-time контроллера, на наш взгляд, не является хорошей идеей.

2. Поддержка массивов планируется в версии 4.0, в версии 3.х поддержки массивов не будет.

Извините, но просто любопытно: а что такое ТЭП?

13.  Neurox,  11.06.2009 13:34
технико-экономические показатели

14.  Neurox,  11.06.2009 13:38
Цитата1. Внедрение функций работы с архивами не планируется. Причина в том, что контроллер, на котором исполняются алгоритмы, не имеет доступа к архивам.


может стоит подобные операции выполнять на арховном сервере? что-то вроде отдельного расчетного модуля(проектами вычислений) имеющий связь с контроллером (через тотже OPC)/

15.  Roman,  11.06.2009 13:53
В Каскад-САУ версии 3.2 записью данных в архив занимается такой же АРМ, как и АРМ Оператора. Соответственно у него нет своего рабочего цикла, он не может вычислять алгоритмы. Это - принципиальное ограничение версии 3.2.

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

В следующих версиях, мы сделаем поддержку алгоритмов на архиве, и тогда, возможно, доступ к данным из архива станет возможным (с учетом оговорок насчет времени считывания данных).