Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добрый день! Профи, посоветуйте - график по большому кол-ву данных...
 
 автор: Аноним   (01.11.2006 в 16:23)
 
 

MS Access 2000. Надо строить график по большому кол-ву данных (в день около 15000 точек). Строить надо быстро. Это показания температуры по времени.
Стандартный Microsoft Graph 2000 Chart позволяет не более 4000 точек за раз. Смотрел всякие activex, но подходящего не нашел - чтобы источник данных можно было бы указать на SQL или как ADO/DAO. Помогите, может кто сталкивался.

  Ответить  
 
 автор: Explorer   (01.11.2006 в 17:25)   личное сообщение
 
 

покажите эскиз графика, как вы его хотите видеть

вообще-то 15000 в день (сутки) - это одно значение каждые пять секунд - уверены, что вам нужна такая дискретность?

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

например для контроля температуры в серверных мне хватает 10-ти минутных интервалов для понта делаю ежеминутные...

ЗЫ

еще большее значение имеет инертность приборов регистрации и вообще инертность обратной связи в цепочке:::

объект воздействия/наблюдения >
измеряющее устройство >
управляющее устройство >
регулирующее устройство >
объект воздействия/наблюдения <

если оценивать по объему данных 15000 в сутки это не так и много - вам просто нужно сделать свой инструмент визуализации тредов и использовать стандартные СУБД - Access подходит

  Ответить  
 
 автор: ДрЮня   (01.11.2006 в 17:25)   личное сообщение
 
 

1. а если просто ставить точки в пикч.бокс или имидж с полосой прокрути?
можно вообще реализовать в реал-тайме.
у меня для 4000 точек график выводился без задержек.

2. можно выводить не все точки (каждую 2;3; и т.д.) и сделать отдельное окно для просмотра графика на указанный диапазон времени

  Ответить  
 
 автор: Explorer   (01.11.2006 в 17:35)   личное сообщение
 
 

1 - я, например так и делаю (можно точки можно лайны) и именно рилтайм
2 - хорошая идея - воспользуюсь

ЗЫ у меня в договорах забит температурный режим и допуски по температуре (зима/лето) и продолжительности отклонений, родной софт не позволяет вести контроль и давать оповещения - пришлось писать свою приладу :))

  Ответить  
 
 автор: Аноним   (01.11.2006 в 18:03)
 
 

Спасибо за ответы. Такую дискретность запросил заказчик. (вообще-то хотели 3 сек., уломал на 5). График - просто две линии, с двумя осями Y. На 4000 точек построение (именно построение, фильтрация оптимизирована) двух линий занимает около 4-5 сек.(комп P4 3). Данных накапливается немеряно. Еще надо чтобы красиво печаталось (эту проблему решил). Пропускать точки нельзя.
Пробую делать выборку по блокам 4000 точек - составляю список блоков по заданному периуду. Переключение тормозит(всё те же 4-5сек на блок). Нашел activex - DynaPlot - то что надо, но работает только с массивами и в VB. В Access'е при обращении к объекту плюётся.
Просто стреляюсь.

  Ответить  
 
 автор: Explorer   (01.11.2006 в 18:33)   личное сообщение
 
 

рисую в ИмаджКонтроле средствами VB данные в Access - для меня сроки рисования не критичны вообще. (можно даже и не рисовать - только если только есть нужда клэймить провайдера по нарушениям - с доками в руках )

отрисовка всего суточного графика на два датчика в одной серверной 2-3 (м.б. 4-5 в зав. от общей нагрузки процессора) секунды

Функция просто рисует линию по координатам из таблицы БД, сколько на отрисовку, а сколько на обработку данных - не замерял... не было нужды
никаких ЭктивЭкс, только стандартные возможности А97, VB и VBA.

поскольку сетка координат никогда не меняется (что, кстати элементарно, нужно только фоновую БМПшку в ОЛЕ поле БД заменить да коэффициенты переписать) то вся отрисовка сводится к прочерчиванию двух линий на картинке фона.

в 00:00 картинка сохраняется на диск как термограмма (imgControl.PictureData), поскольку экстремумов небыло - данные мне уже не нужны - удаляются если были сохраняется за час вперед час назад (до и после события)


А если есть экстремумы за границами норм - идет нотификэйшен на SMS и-мэйл провайдеру - он сам все проверяет и если что звонит - последний раз звонил в июле (это был вообще третий раз за пять лет) меняли блок сплит системы - два месяца серверная сидела на трех кондиционерах (номинально может и на двух)

вообще говоря я эту приладу фиг знает сколько уже не открывал - все засэйвленные термограммы можно посмотреть с сети (минус - только за вчерашний день), сам термометр пишет данные в *.TXT файл - можно посмотреть если что, а нотификейшены мне не нужны - это забота провайдера сервиса :)))

  Ответить  
 
 автор: Аноним   (01.11.2006 в 18:54)
 
 

Забыл сказать - зто БД как раз промышленный вариант.
Еще ко всему надо чтоб пользователь задавал сетку(по X, Y1, Y2), цвета, толщину линий, метки по осям(типа короткое/длинное время+дата, только дата, только время - в SQL это всё красиво вписывается). В стандартном контроле это всё оч.просто. По ходу, видимо, альтернативы стандартному нет. Тра...юсь с блоками. Пускай сами задают количество точек (до 4000) в блоке, а дальше составлю список блоков по интервалу и будет "щастье". В автоматическом режиме (real-time) буду отображать последний блок (по последнему ID-точек в блоке). Кривенько конечно, но ...

  Ответить  
 
 автор: Аноним   (01.11.2006 в 23:02)
 
 

Всем спасибо за помощь!
После разбиения на блоки и оптимизации со стандартным контролом работает очень быстро.

  Ответить  
 
 автор: час   (05.11.2006 в 18:16)   личное сообщение
 
 

а где же кусочки кода?
посмотреть, может что позаимствовать...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList