Графики и Графики Про V6

Просмотр 15 сообщений - с 16 по 30 (из 58 всего)
  • Автор
    Сообщения
  • #23694
    manjey73
    Участник

    Не выходит каменный цветок, или что-то не так в Датском королевстве. В Web пропало отображение каналов..

    Таки прошу объяснить как записывать канал в 30-ти минутный архив и при этом он показывался в WEB вместе с остальными каналами.

    #23695
    manjey73
    Участник

    DatViewer работает только с базой текущих данных, что записывается и как в других базах им не получается, не поддерживает он их.

    #23696
    manjey73
    Участник

    Посмотрел через TrandTableViewer пишутся все каналы ???? Почему, если я только на некоторых поставил маску в 30-ти минутный архив.
    Теперь надо на всех каналах удалить по умолчанию и настраивать чтобы только в минутные и часовые писались ?

    #23698
    manjey73
    Участник

    Убрал галочку «По умолчанию» в таблице Архивов, только указанные каналы записываются.
    Вопрос с отображением в таблице Web и на графиках остается открытым.

    #23699
    manjey73
    Участник

    Коммуникатор отвечает за получение и передачу данных. Отображение должно настраиваться на другом уровне системы.

    Отсюда вопрос, почему на уровне системы указано запись в 30-ти минутный архив, а WEB таблицы и графики не показывают данные из настроенного в системе расположения ?
    Какой смысл создавать другие архивы, маски и т.д. если система не может это отобразить ?

    #23703
    Mikhail
    Модератор

    Существуют архивы 3 видов: текущий, исторический и события.
    Они работают по-разному: на схемах показываются данные из текущего архива. А на графиках выводятся тренды из исторического архива.

    Откройте свойства архива Minute Archive или Hourly Archive. Там есть параметр Режим записи. Его можно поставить «По требованию». Если навести на иконку периода, то отобразится дополнительная информация.

    Если нужно показывать данные на схемах и на графиках, то канал должен записываться и в текущий и в исторический архивы. Но тогда и Коммуникатор должен передавать эти данные не только как срезы, но и как текущие данные.

    Присылайте скриншоты, т.к. сложная тема с архивами, которые выкачиваются из прибора.

    Нет механизма исключения тегов каналов для общей команды Invalidate

    В DeviceData есть Invalidate по конкретным тегам.

    #23704
    manjey73
    Участник

    По Invalidate. При потере связи делаем Invalidate всех каналов, чтобы исключить преобразование в не валидное состояние придется отказаться от данного механизма и делать не валидными только те, запросы которых не прошли. Кривой и длинный путь с костылями, учитывая что в приборах типа счетчиков нет групповых запросов всех параметров.
    Было бы неплохо, имея таблицу DeviceTag какой-то командой исключить каналы из этого списка, который бы приводил к переводу в не валидное состояние при команде Invalidate() Это было бы правильным решением.

    Так вроде срезом я пишу в Исторический архив с настройкой 30 минут. Так же пишу и как текушие данные — на графиках НЕТ соединения точек… Покажите пример настроек архива с записью 30 минут на примере Modbus чтобы точки были соединены. Что для этого надо сделать?

    #23705
    manjey73
    Участник

    Я правильно понимаю, что я должен настроить маской в Cur и созданный 30-ти минутный архив при этом выполнять команды
    DeviceData.Set и DeviceData.EnqueueSlice

    Читаю данные каналы раз в 30 минут, из-за скорости чтения оно происходит к примеру в 15:30:47 соответственно чтобы запись произошла в БД на 15:30:00 использую срез.

    Как в данном случае будет построен график и отображение в таблице?
    Что будет с текущими данными, если в промежутке между 30-ти минутами произойдет обрыв связи ?

    #23708
    Romiros
    Участник

    По Invalidate
    Используйте Invalidate только для тех каналов, которым нужно поставить недостоверность. Как раз подходит для неответевшей группы тегов на запрос.

    Как в данном случае будет построен график и отображение в таблице?
    Что будет с текущими данными, если в промежутке между 30-ти минутами произойдет обрыв связи ?

    График, я так понимаю, нужен будет про, в котором можно будет выбрать шаблон для отображения данного архива.
    В таблице можно настраивать отображение, но настройка глобальная на все таблицы в приложении.

    Михаил, может добавить к таблицам возможность открывать с параметрами по аналогии со схемами?

    При обрыве связи они станут недостоверными по истечении времени установленного в настройках сервера. По идее как и в пятой версии.

    • Этот ответ был изменен 1 год, 10 месяцев назад от Romiros.
    #23710
    manjey73
    Участник

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

    Сеансы  (всего / ошибок) : 41 / 1
    Команды (всего / ошибок) : 0 / 0
    Запросы (всего / ошибок) : 617 / 2

    Вот сегодня перезапустил, одна ошибка связи и соответственно все переменные не валидные, до следующего чтения профилей 30 минут минус сколько-то.

    Если не отвечает на определенный запрос, то Invalidate только на группу тегов.

    Тогда не понимаю, зачем были нужны дополнительные архивы, если штатные Таблицы их не переваривают. Теперь будут Таблицы Про и еще ручками придется как-то настраивать получение только требуемых каналов из другой БД. А если канал пишется И в минутные срезы И в получасовые и хочется открыть график и одной базы и другой ? Не продуманно все это… Визуально осталось как в 5-й версии…

    • Этот ответ был изменен 1 год, 10 месяцев назад от manjey73.
    #23715
    Mikhail
    Модератор

    Напишите свой метод Invalidate с нужными параметрами. Он будет внутри вызывать Invalidate(int tagIndex)

    может добавить к таблицам возможность открывать с параметрами по аналогии со схемами?

    Может быть, но сейчас надо скорее выпустить 6-ю версию, чтобы не поддерживать 2 версии одновременно.

    Покажите пример настроек архива с записью 30 минут на примере Modbus чтобы точки были соединены. Что для этого надо сделать?

    Установите параметр GapBetweenPoints равным 2000, тогда точки с разрывом 30 минут будут соединяться.

    Читаю данные каналы раз в 30 минут, из-за скорости чтения оно происходит к примеру в 15:30:47 соответственно чтобы запись произошла в БД на 15:30:00 использую срез.

    Всё верно.

    Как в данном случае будет построен график и отображение в таблице?
    Что будет с текущими данными, если в промежутке между 30-ти минутами произойдет обрыв связи ?

    Имеет значение, как данные записаны в архиве.
    Записанный срез не влияет на текущие данные, текущие данные отправляются Коммуникатора автоматически.

    #23716
    manjey73
    Участник

    Установите параметр GapBetweenPoints равным 2000, тогда точки с разрывом 30 минут будут соединяться.

    а, данный вариант не подходит, так как влияет на все. И не подходит, если я буду писать канал только в свою базу, так как обычные Таблицы просто не видят данных.

    Надо чтобы штатные таблицы могли брать данные канала из другой БД, если этот канал не записывается в штатную минутную базу. Проверяя где хранятся данные канала по маске…

    #23720
    Mikhail
    Модератор

    В Графиках Про можно будет выбрать профиль.

    #23722
    manjey73
    Участник

    Ну это немного не дело, Графики Про, Таблицы Про это все расширение функционала.
    Речь идет о системе из коробки. Иначе это ставит крест на нововведениях в драйверах и собственно разделения БД в 6-й версии

    Объясню. Например в Меркурий 23х профили средних мощностей расчетная величина, которая неизменна на весь период, указанный в счетчике. Нет необходимости читать данный параметр постоянно, так как значение при всем желании не изменится.

    Добавив такой канал в БД с 30-ти минутной записью более чем достаточно, записав его при помощи среза в БД. Если мы используем штатную Таблицу, то она должна проверять, есть канал в БД по умолчанию ? показываем из БД по умолчанию, если нет, то показываем из той БД, которая прописана в маске.
    Я имею ввиду в полях на часовых метках. Текущие мы предположим отдельно закинем, не вопрос.
    Если вдруг кому в голову взбредет сделать минутный срез не кратный часу, скажем период 7 минут, то к часовым меткам подтягивать последнюю запись.

    А теперь штатные графики, они так же должны уметь показывать как БД по умолчанию, так и иметь переключатель на вторую, третью. и т.д. БД если она есть у канала или из единственной БД канала, если она отличается от штатной сразу показать график канала. причем желательно сразу соединять все точки, так как запись может быть полностью по точкам.

    Просто и-за того, что ни штатные Таблицы, ни штатный График не может показать канал из другой БД получается половина плюшек драйверов коту под хвост и опять городить колхоз..

    А вот всякие *** Про уже могут уметь гораздо больше и т.д.

    смысл простой, сделали разделение баз в ядре, значит штатные средства должны с этим разделением как-то работать…

    #23725
    Mikhail
    Модератор

    смысл простой, сделали разделение баз в ядре, значит штатные средства должны с этим разделением как-то работать…

    Поддерживаю данное утверждение.

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

    Записал данную проблему с отображением. Вернусь к ней, когда будет портироваться система отчётов, т.к. отчёты, таблицы и графики взаимосвязаны.

    Плагин Графики Про скоро появятся. Используйте этот плагин для отладки драйвера.

Просмотр 15 сообщений - с 16 по 30 (из 58 всего)
  • Вы должны авторизироваться для ответа в этой теме.