Форум TRACE MODE: техническая поддержка
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE » выборка данных из СПАД и запись их в БД

   
Автор / Author Тема / Topic: выборка данных из СПАД и запись их в БД
KAV
Forum Haunter / Завсегдатай форума
Участник № / Member № 2889


Icon 1 отправлено / posted      Профиль для / Profile for KAV           Редактировать/удалить сообщение / Edit/Delete Post 
Уважаемая поддержка! С Наступающим Вас Новым Годом!
У меня такой вопрос: в моём проекте происходит выборка с ОРС HDA сервера и сохранение данных в локальный СПАД архив, всё работает, данные СПАД архива отображаются на тренде, но теперь встала задача хранить эти данные в другой БД (Оракл). Подскажите какими методами возможно это сделать? если есть простой пример с любой БД хоть Акцесс, пришлите пожалуйста.
Спасибо. [Улыбка / Smile]

Сообщения / Posts 126 | Из / From: Россия РТ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Готовых примеров решения таких задач нет. Задача для Trace Mode 6 в некотором смысле экзотическая - использование в качестве шлюза между OPC-сервером и БД.
Возможные варианты.
1. Считывать из OPC HDA сервера данные с помощью каналов ChGroupReq и передавать эти данные SQL-запросами с групповой записью в БД.
2. Делать выборки из СПАД (с обработкой или без) с помощью каналов CALL и передавать эти данные SQL-запросами с групповой записью в БД.
3. Экспортировать данные из СПАД в файлы (txt, xml или html) с последующим импортом их в БД.

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Катя
Junior Member / Новичок
Участник № / Member № 5756


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте! Не знаю как решить такую задачу: данные нескольких каналов пишутся в спад,
а потом, например раз в сутки данные из этого спада полностью переписываются в Базу данных. Если я правильно понимаю,
то я могу прочитать данные из архива спад при помощи переменной Data_from_SIAD и канала CALL? А потом эти прочитанные данные записать в БД?
Прочитать данные из архива у меня не получается, хотя архив пишется.
Таким ли способом вообще надо решать эту задачу? Объясните пожалуйста.
Тоже самое мне нужно сделать с архивом тревог, то есть через определенные промежутки времени переписывать архив тревог в Базу данных.
Спасибо

Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Экспортировать в БД все архивированные в СПАД данные по каким-то каналам - задача очень ресурсоемкая. И по производительности ODBC-драйвера, возможно, трудно реализуемая.
Целесообразнее передавать данные в БД "на лету", а не из архива.
Возможно, есть смысл более детально обсдить решаемую задачу в рабочем порядке по hotline@adastra.ru. Опишите задачу, характеристики потоков данных. Если есть попытки решения, пришлите соответствующие проекты, тесты, примеры.

Отчет тревог представляет собой текстовый файл с разделителями. Экспорт из этого файл не предусмотрен.
Можно штатными средствами Trace Mode 6 делать в реальном времени копии ОТ и их импортировать в БД с соответствующими фильтрами системными средствами или дополнительными приложениями.

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте!
Разъясните, пожалуйста. На данный момент производится запись одного канала в СПАД с последуюшей выборкой по времени и записью в БД Access SQL запросом. Для выборки из СПАД используется канал CALL с типом вызова LocalStatistic. Необходимо произвести выборку из СПАД двух каналов по одному времени с последующей записью в БД. Как наиболее рационально это реализоать?

Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Канал LocalStatistic может делать выборку только по одному каналу.
Групповую выборку с усреднением может делать канал LocalList.
Выборки осуществляются асинхронно, поэтому надо осуществлять запись в БД только после завершения выборки (см. описание канала LocalList).

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post 
Если можно поподробней.
1. Каждый канал из СПАД привязывается к отдельному ChGroupReq?
2. Временной диапазон в ARG000 и ARG001 канала LocalList?
3. Какие аргументы в ChGroupReq и LocalList связывать?
4. Какие значения записывать в параметр каналов?
5. Какие каналы "активировать" входным значением.
Извиняюсь за возможно банальные вопросы, но информация в справке очень скудна.

Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Ответы на все поставленные вопросы содержатся в разделе справочной системы "Архивирование/Архивы СПАД/Выборка и обработка.../Выборка данных из локального архива по каналу".
Там же имеется ссылка на описание системы задания временного диапазона и свойства ПАРАМЕТР.

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post 
Если информация в справочной системе не совсем понятна ПОКУПАТЕЛЮ Trace Mode, то кому, как не тех. поддержке поддержать свой продукт и разъяснить в доступной для восприятия форме ответы на поставленные вопросы. Всвязи с этим прошу ответить на предыдущие вопросы, тем более что часть вопросов в справке не раскрывается.
Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
1 да
2 да t_from / t_to (астроном время)
3 привязка D&D
4 LocalList: (0x10 ver <6.09) мл 4 бита рериод усреднения
5 только LocalList

Сообщения / Posts 806 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо, Nico.
Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Добрый день!
Подскажите как можно организовать запись данных в БД "на лету" без использования СПАД.

Сделал проект по видео примеру Перенаправление данных в БД.
Данные записываются по изменению реального значения, но не успевают записываться все.Примерно 3 значения из 14 попадают в БД. Скорость изменения значений довольно медленная для того чтобы успевали записываться данные в БД.

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

Вообщем посоветуйте что-нибудь

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
А если вместо "реальных переменных" использовать значения генераторов с типом данных FLOAT, запись будет осуществляться в нужном темпе?

Как Вы получаете значения "реальных переменных"?
Где Вы увидели, что значение "реальной переменной" изменилось именно 14 раз?

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Да, если использовать значения генераторов с типом данных FLOAT то значения переменных изменяются согласно периоду пересчета 1 сек, как настроено.

Значение реальных переменных получаю из ОРС сервера, слежу за их изменением на МРВ и записываю приблизительно сколько раз значение изменилось за данный промежуток времени. Потом делаю выборку из БД за этот промежуток и смотрю что число изменений сильно не соответствует.

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
.при перенаправлении данных из архива в базу данных ничего не надо записывать !!!!!!!!!!
TM это делает автоматически по изменению реального значения
..посмотрите i2(92 атрибут) -> среднее число строк
ожидающих записи

Сообщения / Posts 806 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Хорошо, посмотрел атрибут 92 канала по изменению которого записываются данные в БД. Там значение равно 65535(ffff), т.е. среднее число строк ожидающих записи равно 65535?
Почему тогда реальное количество строк, записанных в БД, гораздо меньше этого значения? Я скорее всего что то не так понимаю, объясните.

Nico, что Вы имели ввиду, когда написали что :
"при перенаправлении данных из архива в базу данных ничего не надо записывать!" ... TM делает это автоматически по изменению реального значения. Вы думали как и куда я записываю эти изменения?

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Имеется в виду атрибут 92 канала CALL.SQL, который осуществляет перенаправление архивируемых параметров в БД. Этим каналом не надо управлять.

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

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
"слежу за их изменением на МРВ и записываю"
CALL.SQL не надо управлять

Сообщения / Posts 806 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Уже сообразил что имеется ввиду Call.SQL.
Значение атрибута 92 = 0.
Вроде все работает нормально. Не знаю что было когда в первый раз тестировал.

Как теперь значения, записанные в БД представлять на МРВ в виде графика?

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Надо считать из базы нужный массив данных из БД вместе с временными метками в аргументы канала CALL.TVC и вывести на тренд.
См. разделы документации "Выполнение SQL-запросов в реальном времени" и "Канал CALL.TVC".

Есть пример проекта на http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/52/t/000003.html

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Можно ли записывать в БД не по изменению, а по времени, скажем каждую минуту?
Либо контролировать значение изменения и если оно (изменение) превысило определенное dT, установленное пользователем, только тогда записывать контролируемую переменную в БД?

Иначе получается слишком частое изменение (на 0.1) переменных и большое количество значений.

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Смысл "перенаправления" архива в БД состоит в том, чтобы получить архив в БД без потерь информации.
Если Вас такой режим не устраивает, Вам надо пользоваться штатным механизмом SQL-запросов.
В этом случае можно запрограммировать (Вашей пользовательской программой) любой регламент записи данных в БД.

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Уважаемая техподдержка, подскажите, у меня по одной переменной сбой записи в БД, как и где посмотреть почему значение по данному каналу не записывается в БД?
Все настроено аналогично как и для остальных каналов, изменение по данной переменной есть, достоверность по каналу _T, должно записываться, но , значений в БД нет. Помогите разобраться.

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Если речь идет о перенаправлении архива в БД и все другие подобные переменные записываются в БД, а одна переменная не записывается, надо посмотреть, установлен ли у этой переменной флажок архивирования именно в тот архив, который задан для перенаправления.
Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Да, речь идет о перенаправлении в БД, у переменной установлен в редакторе, во вкладке архивирование номер архива 3, как и у остальных. Записи нет.
Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Все записываемые в БД переменные относятся к одному типу каналов - FLOAT/HEX?
Как заданы привязки у аргументов канала CALL.SQL?

Создайте копию используемого SQL-шаблона и организуйте с его помощью штатную (не перенаправлением архива!) запись именно этой переменной в ту же таблицу БД.
При этом контролируйте SQL-обмен с помощью трассировщика ODBC-драйвера.

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
1.Все переменные FLOAT.
2.Не понял про привязки SQL
3.Как контролировать SQL-обмен с помощью трассировщика ODBC-драйвера?

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1. Типы данных и привязки аргументов канала CALL.SQL можно увидеть, если открыть СВОЙСТВА этого канала (именно канала, а не шаблона!) и вкладку АРГУМЕНТЫ.
2. Файл трассировщика ODBC-драйвера задается и запускается в "Администраторе источников данных ODBC".

Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Файл трассировщика создал и запустил.
Подскажите как мне контролировать обмен?

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Читайте файл и ищите в нем сообщения об ошибках.
Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте!
У меня настроен механизм перенаправления данных в БД.
Данные приходят по Com порту (через конвертер USB/rs485), через ОРС сервер.
В какой то момент обнаружил что за определенный период данные в БД отсутствуют.

Как определить что произошло: ошибка в TM6 при передаче данных или зависание драйвера преобразователя USB/RS485?
Может в каком нибудь из конфигурационных файлов можно посмотреть?
Проверял каждый день реальные значения данных, опрос был. Не понятно только запись шла или нет.

Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
BUJH
Forum Member / Участник форума
Участник № / Member № 6737


Icon 1 отправлено / posted      Профиль для / Profile for BUJH           Редактировать/удалить сообщение / Edit/Delete Post 
Уважаемая техподдержка, могли бы Вы ответить на мой вопрос, который я задавал выше
Сообщения / Posts 43 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
В разделе "Перенаправление архива в базу данных" указаны средства диагностики процесса записи архива в БД через атрибуты канала соответствующего канала CALL.SQL и вкладку "Диагностика" "Панели МРВ".
Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Andrey Limonchenko
Junior Member / Новичок
Участник № / Member № 7318


Icon 1 отправлено / posted      Профиль для / Profile for Andrey Limonchenko           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте!
Не могли бы вы выслать пример выборки данных из СПАД с помощью CALL.LocalList?

Сообщения / Posts 5 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Отправлено.
Сообщения / Posts 17100 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Открыть тему / Open Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2