|
автор: Аноним (01.11.2006 в 16:23) |
|
| MS Access 2000. Надо строить график по большому кол-ву данных (в день около 15000 точек). Строить надо быстро. Это показания температуры по времени.
Стандартный Microsoft Graph 2000 Chart позволяет не более 4000 точек за раз. Смотрел всякие activex, но подходящего не нашел - чтобы источник данных можно было бы указать на SQL или как ADO/DAO. Помогите, может кто сталкивался. | |
|
| |
|
|
|
| покажите эскиз графика, как вы его хотите видеть
вообще-то 15000 в день (сутки) - это одно значение каждые пять секунд - уверены, что вам нужна такая дискретность?
все терморегулирующие системы (обычного применения, не промышленно-производственно-технологические) имеют такую инертность, что пять секунд мне кажется явно избыточными.
например для контроля температуры в серверных мне хватает 10-ти минутных интервалов для понта делаю ежеминутные...
ЗЫ
еще большее значение имеет инертность приборов регистрации и вообще инертность обратной связи в цепочке:::
объект воздействия/наблюдения >
измеряющее устройство >
управляющее устройство >
регулирующее устройство >
объект воздействия/наблюдения <
если оценивать по объему данных 15000 в сутки это не так и много - вам просто нужно сделать свой инструмент визуализации тредов и использовать стандартные СУБД - Access подходит | |
|
| |
|
|
|
| 1. а если просто ставить точки в пикч.бокс или имидж с полосой прокрути?
можно вообще реализовать в реал-тайме.
у меня для 4000 точек график выводился без задержек.
2. можно выводить не все точки (каждую 2;3; и т.д.) и сделать отдельное окно для просмотра графика на указанный диапазон времени | |
|
| |
|
|
|
| 1 - я, например так и делаю (можно точки можно лайны) и именно рилтайм
2 - хорошая идея - воспользуюсь
ЗЫ у меня в договорах забит температурный режим и допуски по температуре (зима/лето) и продолжительности отклонений, родной софт не позволяет вести контроль и давать оповещения - пришлось писать свою приладу :)) | |
|
| |
|
автор: Аноним (01.11.2006 в 18:03) |
|
| Спасибо за ответы. Такую дискретность запросил заказчик. (вообще-то хотели 3 сек., уломал на 5). График - просто две линии, с двумя осями Y. На 4000 точек построение (именно построение, фильтрация оптимизирована) двух линий занимает около 4-5 сек.(комп P4 3). Данных накапливается немеряно. Еще надо чтобы красиво печаталось (эту проблему решил). Пропускать точки нельзя.
Пробую делать выборку по блокам 4000 точек - составляю список блоков по заданному периуду. Переключение тормозит(всё те же 4-5сек на блок). Нашел activex - DynaPlot - то что надо, но работает только с массивами и в VB. В Access'е при обращении к объекту плюётся.
Просто стреляюсь. | |
|
| |
|
|
автор: Аноним (01.11.2006 в 18:54) |
|
| Забыл сказать - зто БД как раз промышленный вариант.
Еще ко всему надо чтоб пользователь задавал сетку(по X, Y1, Y2), цвета, толщину линий, метки по осям(типа короткое/длинное время+дата, только дата, только время - в SQL это всё красиво вписывается). В стандартном контроле это всё оч.просто. По ходу, видимо, альтернативы стандартному нет. Тра...юсь с блоками. Пускай сами задают количество точек (до 4000) в блоке, а дальше составлю список блоков по интервалу и будет "щастье". В автоматическом режиме (real-time) буду отображать последний блок (по последнему ID-точек в блоке). Кривенько конечно, но ... | |
|
| |
|
автор: Аноним (01.11.2006 в 23:02) |
|
| Всем спасибо за помощь!
После разбиения на блоки и оптимизации со стандартным контролом работает очень быстро. | |
|
| |
|
|
|
| а где же кусочки кода?
посмотреть, может что позаимствовать... | |
|
| |