arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144
отправлено / posted
Пытаемся из динамической базы данных (MySQL)в ТМ выводить тренд в динамике. Везде Вы пишете , что аргументы при этом создаются автоматически. Скажите пожалуйста,в каком канале будут создаваться аргументы автоматически: с типом Call.ChGroupReg, Call.TVC, Call.Move? Как правильно организовать вывод данных в динамике на тренд?
Сообщения / Posts 143 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
В релизе 6.09 аргументы, адекватные реальному объему выборки, создаются как в каналах Call.ChGroupReg, так и Call.TVC. Чтобы оперативно выводить данные из БД на архивный тренд через канал Call.TVC, надо к левой границе временной шкалы тренда привязать 140-й атрибут канала Call.TVC.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144
отправлено / posted
У нас релиз 6.08. Объясните, пожалуйста, немного поподробнее: создаю шаблон БД с запросом SELECT где вывожу всего 2 параметра ДатаиВремя и Значение, соответственно к ним привязываю CALL. ChGroupReg(Date and Time, Real) Реальные значения. (Нужно ли в этих каналах CALL создавать аргументы?) Далее создаю CALL TVC. В нем создаю 2 служебных аргумента Date and Time и 2 аргумента: Real и Date and Time (И все?) Создаю канал CALL MOVE и в нем 4 аргумента для Date and Time: 2(IN и OUT)и для Real 2 (IN и OUT) (Какие в нем создавать аргументы?). TVC реальное значение привязан к кривой архивного тренда. К левой границе временной шкалы тренда привязан 140-й атрибут канала Call.TVC.Этот вариант не работает. Где может быть ошибка?
Сообщения / Posts 143 | Из / From: Украина
| IP / IP: IP адрес / IP address |
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144
отправлено / posted
В БД пишутся данные 1 раз в сек.То что данные поступают в канал TVC мы контролируем , кроме этого отображаем ГЭ БД. Пытаемся вывести эти данные на архивный тренд. При настройках, описанных в предыдущем посте, мы видим на графике значения в виде точки в определенный момент времени, в легенде значение тоже есть. Динамического изменения кривой нет. Как вывести кривую в динамике???
Сообщения / Posts 143 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
У канала TVC, получающего данные из БД, 2 начальных аргумента должны обозначать временной диапазон полученных данных. Это надо увидеть в аргументах канала. При настройке оси времени тренда надо привязать левую границу через аргумент D&T к 140-у атрибуту канала TVC, а кривую на тренд выводить из 142-го атрибута канала TVC.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
arkos
Forum Haunter / Завсегдатай форума
Участник № / Member № 6144
отправлено / posted
В таком варианте кривая не строится вообще.Высылаем Вам наш проект. Проанализируйте его пожалуйста, т.к. вывод динамических графиков из БД одно из основных требований нашего тех. задания. БД - My SQL 5, таблица очень простая (время, значение).
Сообщения / Posts 143 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Вам отправлен работающий тестовый проект, в котором реализована Ваша задача. Приложены краткая инструкция и БД. В качестве БД используется MS Access.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
Решаю такую же задачу. Только применительно к postgreSQL. Прошу вас направить мне пример, упомянутый выше.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
На форуме в топике с примерами есть пример "Вывод данных из БД на тренд (для базовой и профессиональной версии)": http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/54/t/000001.html В примере рассматривается Ms.Access для наглядности. Методически подключение со стороны TRACE MODE не будет отличаться, только в Администраторе ODBC надо будет выбрать другой драйвер – для работы с postgreSQL. Пример разрабатывался в релизе 6.08, перед тестированием необходимо сохранить и скомпилировать его в актуальном релизе.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
Пример работает. Но в рамках примера реализован вывод ограниченного и заранее определенного количества "точек" графика. Но ведь объем выборки из базы может быть примерно любой. Как решить задачу отображения содержимого базы данных в том случае, если их количество заранее не известно и определяется количеством строк в выборке?
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by dus_112: ... в рамках примера реализован вывод ограниченного и заранее определенного количества "точек" графика.
Пример реализован на считывание заранее НЕопределенного количества точек. Считанные данные записываются в канал класса Call с типом вызова TVC. У данного канала аргументы создаются автоматически. Вы можете в приложенной к примеру базе данных добавить несколько дополнительных точек (строк в БД) и убедиться, что при считывании из БД в канале будут все значения, включая добавленные Вами. Но вот сам графический элемент Тренд настроен на отображение всех значений на заданном интервале времени.
Если в реальном времени (в Профайлере или МРВ) на отображаемом интервале времени не помещаются всех значения, то Вы можете 1. использовать полосы прокрутки (в нижней части ГЭ Тренд, выше Легенды) 2. временно изменить отображаемый интервал времени, с помощью комбинации клавиш Ctrl+<клавиши навигации> 3. в Среде Разработки при редактировании ГЭ Тренд задать другой интервал времени
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
Прошу разъяснить назначение канала SQL_TVC программы_1 в направленном вами примере.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
Прошу разъяснить назначение канала SQL_TVC и программы_1 в направленном вами примере. Так правильно.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
Создал свой проект на базе вашего примера. График строится правильно. Но, количество точек графика совпадает с количеством аргументов, пересылаемых в канал типа CALL.TVC. Количество данных в базе больше чем количество аргументов в CALL.TVC. Как отвязать количество выводимых точек графика от количества аргументов, в которые засылаются данные при вызове CALL.MOVE?
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
С графиком все получилось. Но вот вопрос с назначением программы 1 актуален. Как получить доступ к отдельным аргументам канала SQL.TVC?
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
dus_112
Junior Member / Новичок
Участник № / Member № 9122
отправлено / posted
Добрый день, требуются ваши разъяснения по ситуации, а именно — записываю в базу данных и считываю из нее же случайный значения. В моем случае используется postgresql. В проекте создано несколько SQL запросов. Один из них — выборка из базы данных по времени и дате. Запрос работает правильно. Что подтверждается данными, выводимыми в таблицу. При попытке вывода данных в архивный тренд данные выводятся, как будто с задержкой на сутки. Т.е. значения правильные, время как будто то же, значение даты +1 день. При этом, если делать выборку за сегодня — то все работает правильно. Как сделать так, что бы архивный тренд отображал бы любые данные правильно, а не только данные за сегодня?
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by dus_112: При попытке вывода данных в архивный тренд данные выводятся, как будто с задержкой на сутки. Т.е. значения правильные, время как будто то же, значение даты +1 день. ... Как сделать так, что бы архивный тренд отображал бы любые данные правильно, а не только данные за сегодня?
На тренд выводятся данные с метками времени, которые были получены из Базы Данных. На форуме в топике с примерами есть пример "Вывод данных из БД на тренд (для базовой и профессиональной версии)": http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/54/t/000001.html Если данный проект запустить профессиональной Средой, то на тренд будут выведены данные за 2009(!) год.
quote:Отправитель / Originally posted by dus_112: Как получить доступ к отдельным аргументам канала SQL.TVC?
Если Вам необходимо считывать или записывать определенные аргументы канала Call.TVC, то их необходимо предварительно создать, а затем произвести привязку к ним со стороны компонентов, которые будут получать или посылать данные.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |