This is topic Выбор из СПАД значение в определенный момент времени in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.
Возможно ли из СПАД выбрать значение соответствующее какому-либо моменту времени, например 1.09.2006 8:10:15 ? Если возможно, то какими средствами это можно сделать ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В разделе "Архивирование" описаны каналы типа CALL, осуществляющие выборки из архивов. В их числе - каналы, осуществляющие выборки на определенный момент времени (выборки типа СРЕЗ). Кроме того, выборки типа СРЕЗ можно делать в документе с помощью архивной таблицы.
Posted by Константин Арапов (Участник № / Member № 1998) on :
OK. Использую DataSnap. Значение в данный момент времени взять получилось. Но это работает очень МЕДЛЕННО. Пробовал уменьшать период и время пересчета - чуть-чуть быстрее, но проблему не решает. Скорость где-то 7 запросов в секунду. Меня это не устраивает. Как заставить работать БЫСТРЕЕ ? Ведь Вы же говорили, что SIAD 6 - суперскоростная база данных.
У меня сервак CPU 2*3 ГГЦ + 3 ГБ RAM ! И все равно быстрее не получается.
Posted by Константин Арапов (Участник № / Member № 1998) on :
Не DataSnap, а LocalSnap, извиняюсь...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В SIAD обеспечивается высокоскоростная запись. Выборки из архива имеют приоритет ниже, чем все операции реального времени и процедуры записи в архив. Каждый канал LocalSnap не может осуществлять выборку чаще, чем 3-4 периода его обработки. Наши эксперименты показывают, что при организации параллельных выборок из архива можно достичь скорости 64 выборки в сек. и более. При объединении в одной выборке каналов "быстрых" и "медленных" время выборки увеличивается.
Posted by Константин Арапов (Участник № / Member № 1998) on :
Извиняюсь, бросил заниматься этой темой в свое время... Сейчас опять решил к ней вернуться.
>Наши эксперименты показывают, что при >организации параллельных выборок из архива можно >достичь скорости 64 выборки в сек. и более.
Не могли бы Вы выслать проекты, в которых проводились эти эксперименты ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Предлагаем дождаться выхода релиза 6.05. Структура архива была несколько оптимизирована.
Posted by Константин Арапов (Участник № / Member № 1998) on :
quote:Предлагаем дождаться выхода релиза 6.05. Структура архива была несколько оптимизирована
Правда ? И в чем же эти улучшения, можно полюбопытствовать ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Например, добавлены некоторые метки, которые позволяют с большей скоростью обрабатывать архивные данные.
Posted by Алексей Шелепов (Участник № / Member № 6361) on :
Здравствуйте! Подскажите пожалуйста, если можно поподробней как сделать выборку из СПАД в определенный момент времени.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Надо использовать возможности канала CALL.DifSnap (см. описание этого канала).
Posted by Алексей Шелепов (Участник № / Member № 6361) on :
Целый день никак не могу победить настройки CALL.DifSnap. 1.в ARG000 вводится время с экрана 2.к ARG001 привязал реал. знач. архивируемого канала 3.с ARG002 считываю значение среза. 4.Параметр=0 5.Во вх.значение CALL.DifSnap посылаю 513.(СПАД=1, Обработка=2) Подскажите пожалуйста где ошибка.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Из документации: "Байт 0 значения канала DifSnap задает номер архива, байт 1 – тип обработки, аргументы arg0 и arg1 – времена срезов. ...
Если Параметр = 0 и тип обработки = 2, то последующие аргументы используются группами по 3: к первому привязывается архивируемый канал, во второй записывается срез по этому каналу на время arg0, в третий – срез на время arg1. "
Т.о., должно быть 1.В ARG_000 и ARG_001 вводятся времена с экрана 2.К ARG_002 привязывается реальное значение архивируемого канала. 3.Параметр=0 4.Во вх.значение CALL.DifSnap посылаю 513.(СПАД=1, Обработка=2) 5.С ARG_003 и ARG_004 считываются значения срезов на моменты времени, задаваемые аргументами ARG_000 и ARG_001.
Posted by Алексей Шелепов (Участник № / Member № 6361) on :
Спасибо, значение стало считываться при вводе значений в архивируемый канал, однако после перезапуска RTM по тем же временным меткам нули. СПАД пишется, на графике архивные значения просматриваются. Подскажите в чем может быть причина?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Присылайте Ваш проект вместе с папкой узла на адрес техподдержки с указанием методики воспроизведения Вашей ситуации.
Posted by Nico (Участник № / Member № 5342) on :
в 45 атрибуте канала
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Выборка из архива по каналам, у которых текущее значение атрибута 45 (времени последнего изменения значения канала) не входит во временной диапазон данных, хранимых в архиве (например, равно 0) не осуществляется. Задайте архивируемым каналам флаг сохранения в ДАМП и задайте файл дамп. В момент загрузки узла у каналов будут восстановлены метки времени последних изменений и по ним будет осуществляться выборка из архива.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В проекте неверно настроен канал CALL.DifSnap (см. наш пост от 3.10.2014).
Проект откорректирован, в том числе, с учетом предыдущего поста и послан Вам.