This is topic Архивирование в ТМ6 in forum TRACE MODE 6 (предложения / suggestions) at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/20/t/000008.html

Posted by Tag (Участник № / Member № 34) on :
 
Будут ли внесены какие-нибудь существенные изменения в систему архивирования по сравнению с ТМ5?
 
Posted by Lev Anzimirov (Участник № / Member № 25) on :
 
Уважаемый Tag,

мы удоволетворены работой системы архивов TRACE MODE 5: они быстрые (особенно на запись информации), надежные, имеют ODBC-доступ. В новой версии планируются ряд улучшений: работа с множеством томов, оптимизация операций ввода/вывода, развитие сервиса по связи с СУБД и т.д.

А что бы Вы хотели видеть в системе архивирования ТМ6?
 


Posted by Tag (Участник № / Member № 34) on :
 
А я честно говоря не удовлетворен.

1. Вот выдержка из документации по ТМ5:

********************************************************************
Следует учитывать, что в таблицу заносится время изменения значений. Поэтому, чтобы узнать значение в определенный момент времени, нужно сделать следующее:

· Ввести в фильтр для поля времени выражение вида <TIME, где TIME – значение времени в формате данной прикладной программы;

· Отсортировать значения поля TIME в обратном направлении.
*********************************************************************

Именно по этой причине я никому не рекомендую пользоваться ODBC-драйвером к архиву, поскольку ради одного значения приходится выбирать весь архив, потом его еще отсортировать и еще проверить, работала ли система...
Для чего люди придумали SQL-сервера - чтобы не таскать набор данных целиком, а только результат запроса. Разве не очевидно, что работа по поиску данных должна выполняться ODBC-драйвером, а не клиентом?

2. Часто необходимо хранить разные параметры с разной глубиной (например, параметр с периодичностью обновления в 1 сек хочу хранить 3 дня, а параметр с периодичностью 1 сутки - год)

3. Часто необходима настройка архивирования отдельно каждого атрибута канала, а не как в ТМ5 - или все архивируем или ничего. Сейчас приходится либо создавать ради архивирования отдельного атрибута дополнительные каналы либо замусоривать архив значениями ненужных для архивации атрибутов.

4. Входное и аппаратное значение вообще невозможно архивировать, не прибегая к доп. каналам. Хотя сплош и рядом ситуация, когда при разборе аварий КИПовцу нужно входное или аппаратное значение, а технологу - реальное.
 


Posted by Lev Anzimirov (Участник № / Member № 25) on :
 
Уважаемый Tag,

>Разве не очевидно, что >работа по поиску данных должна выполняться >ODBC-драйвером, а не клиентом?

Не очевидно. Принятая нами система промышленных архивов оптимизирует следующие параметры:

1) быстрая запись данных,
2) быстрое из извлечение данных
3) компактное хранение
4) резервирование, синхронизацию и восстановление данных

За эти свойства (для нас они представляются имеющими наивысший приоритет) приходится платить некоторым неудобством. У нас реализовано хранилище данных, в которое значения каналов заносятся по изменению, а не с указанным периодом. Это позволяет хранить данные очень компактно и иметь точную информацию о времени изменения параметра, чего нельзя добиться при сохранении с заданным периодом. В проекте Нассирия по ГРЕС в день заполняется 100 мегабайт - винчестера 100 Гб хватит на 3 года (такой винчестер стоит сейчас менее 200$).

Для чего люди придумали SQL-сервер? Не для АСУ ТП, а для хранения бизнесс-информации. Поэтому SQL-сервер очень медленный. Он оптимизирован на исполнение структурированных запросов к данным. Тогда как архив АСУ ТП должен в первую очередь обеспечивать быструю запись данных, быстрое из извлечение и компактное хранение. Поэтому основой ситемы архивов ТМ6 будет модернизированнаый СПАД. Впрочем писать данные в SQL-сервер можно уже и в ТМ5. Но не советую!

>2. Часто необходимо хранить разные >параметры с разной глубиной (например, >параметр с периодичностью обновления в 1 >сек хочу хранить 3 дня, а параметр с >периодичностью 1 сутки - год)

Это будет решено путем введения множества томов (об этом я уже писал).


>3. Часто необходима настройка архивирования >отдельно каждого атрибута канала,

Поясните, какие атрибуты каналов Вам требуется сохранять? В общем случае сохранение абсолютно всех атрибутов нецелесообразно. Это сильно раздует структуру канала и усложнит систему архивирования, что в свою очередь снизит быстродействие архивов и раздует их объем. Кроме того мы получим замедление пересчета базы каналов, более высокие требования по памяти и кучу других проблем. С другой стороны, атрибуты каналов меняются редко (как часто меняются границы каналов), а если они не меняются, то и запись в архив не производится - так что места в архиве они почти не занимают. Поэтому не очень понятно, чем реально Вы не довольны. Объем "мусора" минимален!


>4. Входное и аппаратное значение вообще >невозможно архивировать, не прибегая к доп. > каналам. Хотя сплош и рядом ситуация, >когда при разборе аварий КИПовцу нужно >входное или аппаратное значение, а >технологу - реальное.

Во-первых, возможно, но с расходом каналов. А во-вторых, в Ваших словах есть рациональное зерно, но аргументы против те же, что и в предыдущем пункте. Хотя, возможно, стоит подумать об этом в будущей версии.
 


Posted by Tag (Участник № / Member № 34) on :
 
Моя критика касается не общей идеологии СПАД, а слабой функциональности ODBC-драйвера. Поэтому реклама СПАД здесь не в тему. ODBC драйвер - это программа для чтения, а не записи архивов, которая работает независимо от МРВ и не выполняет никаких задач реального времени. Мне ну абсолютно не понятно, какой ущерб быстродействию может нанести нормальная реализация элементарного запроса "дай мне значение параметра за такое-то время". При работе с Супервизором или сервером документирования если нужна информация за какое-то время мне же не надо шерстить архив чтобы найти последнее изменение параметра, так почему же это нужно делать при обращении к архиву через Ваш ODBC-драйвер?


<В проекте Нассирия по ГРЕС в день заполняется 100 мегабайт - винчестера 100 Гб хватит на 3 года (такой винчестер стоит сейчас менее 200$).>

Не надо уж так, всех под одну гребенку, далеко не у всех задачи 1:1 как в Насирии. И то что хорошо подходит для них вовсе не означает, что это именно то что нужно всем остальным. Кстати, не могли бы Вы озвучить такую статистику: как распределяются объемы продаж МРВ на 128, 1024, 32000 и 64000 точек в.в.?
Просто любопытно, какая же средняя "Крупность" АСУТП.


<Впрочем писать данные в SQL-сервер можно уже и в ТМ5. Но не советую!>

Я тоже не советую делать этого средствами ТМ5. БД то нынче "навороченные" пошли, хранимые процедуры и транзакции там всякие, понимаш... С простейшим INSERT INTO и не суйся.


<Поясните, какие атрибуты каналов Вам требуется сохранять? >

Помните, как на форуме asutp@yahoogroups.com на вопрос чем число точек в/в отличается от числа тэгов Вы ответили, что в ТМ на каждую точку в/в приходится >100 (точную цифру не помню) внутр. переменных. Замечательно, но допустимое число каналов = числу точек в/в. Платить за каждую перменную, требующую архивироания как за отдельный канал многим не по карману, поэтому исполнительные модули покупаются, как правило, именно строго по числу точек в/в. Как же быть с расчетными параметрами, если их нужно архивировать или сохранять в дамп? Вот и приходится писать их в атрибуты каналов.


<В общем случае сохранение абсолютно всех атрибутов нецелесообразно.
Это сильно раздует структуру канала и усложнит систему архивирования, что в свою очередь снизит быстродействие архивов и раздует их объем. Кроме того мы получим замедление пересчета базы каналов, более высокие требования по памяти и кучу других проблем.>

Сами же прекрасно осознаете проблему, не сделали наоборот - атрибуты можно архивировать только все сразу.


<С другой стороны, атрибуты каналов меняются редко (как часто меняются границы каналов), а если они не меняются, то и запись в архив не производится - так что места в архиве они почти не занимают.>

А вот это неправда. Запись по изменению производится только для реальных значений. Прочие атрибуты пишутся при каждом пересчете, независимо от того, менялись они или нет. Спросите у собственной техподдержки.
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Уважаемый Tag!

Запрос "дай мне значение параметра за такое-то время" - это штатная функция ODBC-драйвера, которая реализуется, если клиент обратится к нему с помощью соответствующего SQL-запроса. Для этого действительно не надо клиенту шерстить весь архив.

<Прочие атрибуты пишутся при каждом пересчете, независимо от того, менялись они или нет.>
Детальный анализ Вашего проекта показывает, что в пределах одного цикла пересчета выбранному атрибуту присваивается последовательно несколько различных значений от FBD, вызываемых разными каналами. Каждое присвоение вызывает запись в архив, но с одной и той же меткой времени - началом цикла пересчета базы каналов. В архиве может существовать только одна запись какого-либо атрибута с конкретной меткой времени - такова структура архива. Поэтому в архиве всегда остается та запись, которая в цикле пересчета базы была последней. Создается иллюзия, что в архив пишутся неизменяющиеся значения атрибутов.
Здесь надо бы начинать с постановки задачи - что Вы хотите хранить в этом атрибуте? Почему Вы допускаете, что в одном цикле пересчета в него могут быть записаны разные значения? Какое из этих значений должно быть правильным?
Если Вы соберете все операции присвоения значения этому атрибуту в одной FBD и безальтернативно определите это значение, все вопросы будут сняты.
 


Posted by Tag (Участник № / Member № 34) on :
 
<Запрос "дай мне значение параметра за такое-то время" - это штатная функция ODBC-драйвера, которая реализуется, если клиент обратится к нему с помощью соответствующего SQL-запроса. Для этого действительно не надо клиенту шерстить весь архив.>

Вы не находите, что противоречите сами себе. Еще раз привожу выдержку из документации:
********************************************************************
Следует учитывать, что в таблицу заносится время изменения значений. Поэтому, чтобы узнать значение в определенный момент времени, нужно сделать следующее:

· Ввести в фильтр для поля времени выражение вида <TIME, где TIME – значение времени в формате данной прикладной программы;

· Отсортировать значения поля TIME в обратном направлении.
*********************************************************************
Да, формально такой SQL-запрос есть, но возвращает он как правило пусто. И шерстить (выбрать весь и отсортировать) архив придется.


<Мы уведомили Вас об этом (с предоставлением примера), когда Вы с этой проблемой обратились в службу техподдержки.>

За это Я вам искренне благодарен. К техподдержке у меня ни каких претензий нет. Более того, пользуясь случаем хочу выразить им благодарность за чуткость и оперативность. Просто не хочется, чтобы другие разработчики были введены в заблуждение, как я в свое время, сообщением "а если они (атрибуты) не меняются, то и запись в архив не производится", поскольку, как Вы весомо подтвердили, "атрибуты пишутся в архив при каждой попытке записать в них значения, в том числе и при повторе старого значения".
Прежде чем обходить проблему, нужно ведь знать о ее существовании. В документации об этом не слова.
Впрочем, опять мы начинаем отклоняться от темы ТМ6.
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Уважаемый Tag!

Неточности в документации необходимо признать. Мы их, безусловно, вылавливаем и документацию выправляем.
Но в данном случае это не так. Я вынужден был откорректировать свой предыдущий ответ (см.мой ответ от 9.11.01) по поводу проблемы "атрибуты пишутся в архив при каждой попытке записать в них значения, в том числе и при повторе старого значения".
Здесь нет ошибок.

По поводу выборок из архива с помощью ODBC-драйвера. Сейчас в случае, если на интересующий Вас момент времени по данному каналу записи нет, придется делать более сложную выборку вилочного типа, из которой затем уже на клиентском уровне искать необходимое значение.
В 6-й версии мы предполагаем этот механизм довести до уровня современных требований.
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Уважаемый Tag!

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

В соответствии с этим уточнением я откорректировал 2 своих предыдущих сообщения за 9.11.01

Фридлянд А.В.
 


Posted by Tag (Участник № / Member № 34) on :
 
Во второй раз акцентирую внимание техподдержки на том, что тема называется "TRACE MODE 6 (предложения / suggestions) » и на вопросы, поднятые здесь очень прошу отвечать по теме, а не переводить в русло "Детальный анализ Вашего проекта показывает...", поскольку с просьбой анализировать мои проекты я обращаюсь к Вам директом, а не сюда и мои сообщения в данный раздел форума не являются просьбой о помощи. Итак:

1.
05.11.2001 18:02 Дмитрий А. Попов, инженер службы техподдержки пишет (мне директом):
"Функция сохранения в СПАД по изменению реализована на данный момент только для реального значения канала. Реализация этой функции для других атрибутов канала связана с необходимостью существенной переработки существующей структуры базы каналов, что не планируется в текущей, пятой версии"

2.
08 November 2001 11:34 Lev Anzimirov wrote:
"С другой стороны, атрибуты каналов меняются редко (как часто меняются границы каналов), а если они не меняются, то и запись в архив не производится - так что места в архиве они почти не занимают."

Следуя законам формальной логики утверждение №1 противоречит утверждению №2. Прошу дать однозначный ответ, которое из них истинно,а которое ложно. Вот и все что требуется. У меня не стоит цель подловить кого бы то ни было. Я лишь хочу понять как работает ТМ5. Просто сначала мне говорят одно, а потом утверждают другое. Любой на моем месте возмутился бы
 


Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Уважаемый Tag!

Вы правы по поводу необходимости соблюдения тематической направленности данного раздела ФОРУМА. Извините.

Свои ответы переношу в раздел "Архивирование в Трейс Моуд", тема "Архивирование атрибутов".

Фридлянд А.В.
 




Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2