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

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

   
Автор / Author Тема / Topic: Из БД в тренд
Катя
Junior Member / Новичок
Участник № / Member № 5756


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте! У меня есть база данных SQL в которую средствами трейсмод пишутся раз в 2 минуты значения переменной + текущее время. Из этой базы я хочу построить тренд. Я создаю 2 канала ChGroupReq, на 720 аргументов каждый (один для переменной, другой для метки времени) чтобы вывести данные за последние сутки.
Делаю как в примере запрос в базу данных,
посылаю во входное значение число 65535. После этого в канале ChGroupReq, вместо заданных мной 720 аргуметов оказывается больше аргументов, например 850 - что соответствует количеству всех строчек БД на настоящий момент. Т.е. в канал читаются все строчки БД, а не заданное мной количество.
Так и должно быть или я что-то сделала не правильно?
Спасибо

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

Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
При выполнении SQL-запроса в каналах Call.ChGroupReq автоматически создаются аргументы, количество которых соответствуют числу строк, возвращенных оператором SELECT.

Пример несколько устарел (в ближайшее время мы его обновим). В Вашем случае проще сразу из канала вызова SQL-запроса передавать считанные значения в канал Call.TVC (смотрите параграф "Формирование кривых в CALL.TVC" в разделе справочной системы "Выполнение SQL-запросов в реальном времени").

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


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я сделала как написано в справочной системе. Но получилось что-то не то. У меня в канале TVC на местах метки времени почему-то оказывается вот эта дата: 01.01.1970 4:00:55.000. Этой даты в моей БД нету. Значение переменной которую я считываю из БД для таких меток времени какое-то есть, похоже взятое из БД. Где-то в середине аргументов канала TVC оказываются метки времени, взятые из БД, например 05.09.2012 16:54:00.000. Но значение переменной для такой метки времени - 0, хотя в БД с этой меткой времени лежит не 0, а какое-то число. С чем это может быть связано?
Спасибо

Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нужно посмотреть проект, чтобы ответить.
Вышлите файл проекта вместе с файлом базы данных на hotline3@adastra.ru.

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


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
отправила, спасибо
Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Катя
Junior Member / Новичок
Участник № / Member № 5756


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
и еще один вопрос - можно ли данные хранящиеся в БД при помощи trace mode читать из БД и экспортировать в excel?
Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В принципе задача решаемая. С Excel есть возможность связаться через DDE и ODBC.

Однако нам кажется такое решение громоздким и нерациональным. Не понятно, зачем требуется использовать Trace Mode в качестве шлюза между базой данных и Excel.

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


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, получила ответ на почту. Но у меня есть база данных, я бы хотела вывести значения из нее в какой-то документ который можно посмотреть, сохранить и распечатать. Раз с Excel'ем это сложно, в Trace Mode существует "Документ". А в такой документ я могу как-то вывести данные из моей БД?
Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Данные из канала Call.TVC Можно вывести в html-документ в табличной форме (через механизм SubNum) либо в виде тренда.
В таком случае МРВ должен поддерживать функцию документирования.

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


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте! В конце-концов я построила график по данным из БД. Но у меня появилось несколько вопросов, ответьте на них пожалуйста.
На экране трендов мной нарисована кнопка "Показать", а также указывются сутки за которые надо показать график. По нажатию на кнопку делается запрос в БД с выборкой по времени и данные появляются в канале TVC. Но на тренде они отображаются только после нажатия какой-нибудь кнопки типа "на час назад", "на день назад". А как сделать так, чтобы по обновлению канала TVC график сразу отображался?

И еще вопрос - я делаю запрос в БД с выборкой данных за сутки. Если например за первые сутки у меня в БД будет 200 строчек, а за вторые только 50. Тогда при запросе за вторые сутки в канал TVC запишутся 50 строчек относящиеся к запрошенным суткам (ARG_002 - ARG_052), а в аргументах ARG_053 - ARG_0200 останутся данные от первого запроса?

Пока я вижу на своем тренде следующее: делаю запрос за (13 сентября 12 00 - 14 сентября 12 00) - вижу его. Делаю следующий запрос за (12 сентября 12 00 - 13 сентября 12 00) - вижу его на тренде, но предыдущий график (за 13-14) сентября никуда не пропадает. Аргументя канала TVC ARG_000 и ARG_001, отвечающие за временнной диапазон отображения тренда, привязаны к 2-м каналам TIME, где хранится начало и конец запрашиваемого из БД временного интервала. Поэтому я не очень понимаю из каких данных строится график на тренде. Ведь БД должна была положить в TVC данные за 12-13 сент, откуда же график за 13-14?
Спасибо

Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Чтобы данные на тренде в архивном режиме обновились необходимо изменить отображаемый временной интервал.
Один из вариантов автоматизировать обновление графиков - задать у тренда в свойстве "Ось времени" "Тип привязки" "Input" , а в качестве левой и правой границы использовать два первых аргумента канала Call.TVC.

2. Если канал Call.TVC сконфигурирован на одну кривую, то после каждого выполнения соответствующего SQL-запроса будет автоматически создано нужное число аргументов.

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


3. Нужно опять смотреть проект, чтобы ответить.

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


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за ответы!
Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Катя
Junior Member / Новичок
Участник № / Member № 5756


Icon 1 отправлено / posted      Профиль для / Profile for Катя           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте! Скажите пожалуйста, а возможно ли создать несколько каналов TVC, в каждый записывать данные по одной переменной из БД, но потом все эти каналы вывести на одном ГЭ Тренд одновременно? Т.е. несколько каналов TVC привязать к разным кривым одного тренда? Я пробовала - у меня ничего на тренде не отображается, возможно и не должно?
Спасибо

Сообщения / Posts 28 | Из / From: россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В общем случае должно отображаться.
Для конкретного анализа нужно иметь проект и БД.

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close 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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2