This is topic Автоматическое создание копий SIAD. in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.


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

Posted by stepan (Участник № / Member № 3589) on :
 
Добрый день. [Улыбка / Smile]

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

У меня в проекте используется 3 SIAD архива: SIAD1, SIAD2, SIAD3

Требуется сделать автоматическое копирование SIAD архива, по наполнению архива. (если один из 3 архивов заполнен на 95%, то автоматически создавать копию этого архива) (либо, если невозможно отслеживать степень наполненности архива, то делать копии каждые 3 месяца)
[Вращающиеся глаза / Roll Eyes]
 
Posted by stepan (Участник № / Member № 3589) on :
 
+ сопутствующие вопросы:

- если уже есть первая архива ([b] Архив1 [\b]), после создания новой копии архива ([b] Архив2 [\b]), что будет с первой копией ([b] Архив1 [\b])?


- можно ли после создания копии архива, основной файл SIAD архива удалить? (чтобы он начался заново, т.к. сам основной архив «немного» испорчен. (каналы Local Statistiс делает выборку из архива около 2 минут (раньше выборка производилась не дольше 6 сек)).
Будет ли работать в этом случае первая копия архива?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Системная переменная @q_SIAD_Q с параметром 32…43 (выбирается из списка Used SIAD) индицирует процент заполненности архива. Т.е. когда эта переменная больше или равна 95 (отслеживается программно), то следует послать значение в канал, связанные с переменной @Copy_SIAD. Учтите, что при последующем копировании, 95 процентов будет при заполнении на 90 % [Улыбка / Smile]

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

Удалить можно. Но лучше это делать при остановленном проекте. Не забудьте потом правильно указать процент, при котором будет происходить копирование.
 
Posted by stepan (Участник № / Member № 3589) on :
 
спасибо
 
Posted by stepan (Участник № / Member № 3589) on :
 
я попробовал руками сделать копию архива (меню Действия -> копировать SIAD ). Копия архива создалась. Перезапустил RTM. RTM автоматически работать с первой копией не захотел. Пришлось в ручную подключать копию (Действия -> Управление SIAD -> Подключить), после чего все заработало.

вопрос: почему RTM не работает с первой копией в автоматическом режиме как сообщалось в http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/40/t/000067.html ?

quote:
Первая копия - это всегда самая последняя сделанная копия архива. Работа с ней ведется в автоматическом режиме.


 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Автоматическое подключение первой копии работает только при копировании через переменную @Copy_SIAD.
 
Posted by drooha (Участник № / Member № 3306) on :
 
Какое значение следует послать в канал, связанный с переменной @Copy_SIAD, чтобы копия архива размещалась в директории основного файла архива+HH_DD_MM_YY?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
У Вас архив находится не в папке узла?
 
Posted by drooha (Участник № / Member № 3306) on :
 
Да, архив находится в папке узла.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Тогда нужно послать 2.
 
Posted by drooha (Участник № / Member № 3306) on :
 
Возник ещё вопрос, подключение копий архива,при копировании через переменную @Copy_SIAD происходит автоматически или нужно делать какие нибудь дополнительные каналы или еще что нибудь? В моем случае ни как не могу подключить сделанные копии, на тренде не отображаются данные из других архивов, пробывал и в МРВ(управление SAID), пишет что подключение прошло успешно, но данные на тренде так и не отобразились.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Самая последняя копия подключается автоматически. Если Вы хотите подключить другую копию, то легче всего это сделать через меню. При этом чтобы был доступ к ней из экрана или документа, надо соответствующему каналу послать в 41 атрибут номер архива.
 
Posted by drooha (Участник № / Member № 3306) on :
 
А под номером архива, в данном случае что подразумевается?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Оказалось, что достаточно просто послать единицу, как признак архивирования. Тогда он будет работать с активированными копиями
 
Posted by EvgenKinchin (Участник № / Member № 4164) on :
 
Заметил следующее поведение канала @q_siad_q:
1) МРВ запущен, данные в архив пишутся, процент заполненности растет. пусть будет 50%
2) останавливаем, выгружаем МРВ.
3) Запускаем МРВ. процент заполненности начинает считься с 0.

Допустим создание резервной копии должно производиться по достижении 95% (потом, например, 93%,90%, чтобы обеспечить неразрывность данных, пусть), тогда те данные, которые были записаны в архив до п2 потеряются. Что это (баг, фича, мой недосмотр?) и как бороться (ну кроме создания резервной копии сразу при старте МРВ).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Правильнее и более строго контролировать состояние архива не по степени его заполнения, а по глубине сохраненной информации (@q_SIAD_Q.First_SIAD и @q_SIAD_Q.Last_SIAD).
Надо запомнить @q_SIAD_Q.Last_SIAD_Copy для последней сохраненной копии и сравнивать его с @q_SIAD_Q.First_SIAD текущего архива.
Когда (@q_SIAD_Q.Last_SIAD_Copy - @q_SIAD_Q.First_SIAD) станет меньше некоторого dT, следует снова копировать архив и запоминать временной диапазон этой копии.
dT следует выбирать таким образом, чтобы при прогнозируемой динамике записей в текущем архиве при копировании не было потерь записей.
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
Уважаемая Техподдержка, а как корректно отобразить дату в имени файла? При записи "2" во входное значение канала имя копии выглядит как "Copy_arhiv_1308740171.rep".
Заранее спасибо за ответ!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Можно удовлетвориться созданием копии архива с именем HH_DD_MM_YY, для чего подать команду "3".
Если это не приемлемо, надо формировать имя канала программно и посылать в канал "1".
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
Спасибо, это мне подошло!
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
Подскажите, а архивы СПАД действуют только для каналов, созданных в RTM?
Если у меня есть узел Embedded с перечнем каналов, и я отображаю значения величин в узле RTM, ссылаясь на привязки к каналам в Embedded, то я не могу добавить в СПАД эти каналы? Получается, что надо создать каналы в RTM, в них принимать значения от аналогичных каналов в Embedded, и уже им задавать номер СПАД архива?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Только так.
И это более рационально с точки зрения организации связей между RTM и Embedded.
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
Непонятно про подключение. Если указанные за число, например, полугодовалой давности данные сохранены в одной из копий архива, то они не отобразятся сразу на тренде? Надо как-то подключать копии? А если от пользователей скрыто меню профайлера, и вызвать его нельзя, чтобы операторы не сделали ненужного. Объясните пожалуйста про подключение.
Заранее благодарю за ответ!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вам должно быть известно имя копии архива, которая хранит нужную Вам информацию.
Измените имя канала, связанного с @Copy_SIAD, на имя копии.
Задайте значение атрибута 90 этого канала, равное индексу второй копии (в зависимости от номера архива - 9, 10 или 11).
Пошлите 1 в этот канал.
Задайте 1 в атрибут 41 канала CALL, вызывающего экран с трендами, запрашивающими архивные данные из этого архива.
Все эти операции может выполнить программа, запускаемая оператором, с передачей ей соответствующих параметров.
Задайте на архивном тренде временной диапазон, соответствующий активированной копии.
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
Может некорректные вопросы, но пытаюсь понять.
Вы написали: "Измените имя канала, связанного с @Copy_SIAD, на имя копии."
Но канал, связанный с @Copy_SIAD для архива, например, СПАД1, у меня один. А копий же со временем будет много. Операции, которые вы описали, применимы для конкретной копии? То есть я вручную должна корректировать свою программу? Не поняла, извините ))
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
В дополнение - я работаю с ГЭ "Тренд", не "ахривный". Просто вы указали: "Задайте на архивном тренде временной диапазон, соответствующий активированной копии."
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
И еще дополнение: подскажите, как изменить путь для сохранения копии в папку вне узла проекта?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. По имени копии. Самый простой и надежный вариант - иметь имя копии, "вычисляемое" в зависимости от нужного временно диапазона. Этот алгоритм задания имени копии должен быть единым для генерации копии и для ее подключения. В противном случае необходимо таблицу имен вместе с их временными диапазонами хранить в узле, напримtр, в каналах CALL, которые должны сохраняться в DUMP.

2. Имелся в виду обычный тренд, переведенный в архивный режим.

4. Если Вы собираетесь считывать из копий в реальном времени, они должны находиться там же, где и текущий архив.
В других случаях направление сохранения копии задается в соответствии с указаниями раздела "Приложения/Функции общего назначения/Копирование архивов и отчета тревог".
 
Posted by Таня_dex (Участник № / Member № 5089) on :
 
Спасибо, буду пробовать.
 
Posted by BUJH (Участник № / Member № 6737) on :
 
Можно поподробнее про dT? Как его выбрать оптимальным ?
Может вышлите примерчик для автоматического создания копий архива?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вопрос непонятен.
Топик закрывается.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2