График

График — компонент. Предназначен для отображения массивов данных в виде графика. В отличие от компонента Многоканальный осциллограф, который предназначен для отображения формы сигнала и работает с измерительными каналами, компонент. Один компонент может использоваться для отображения нескольких графиков (размер массивов должен совпадать).

Внешний вид компонента

Режим проектировщика Режим оператора
График - Режим проектировщика График - Режим оператора

Параметры:

Входные

  • {Y} — получение массива данных, отображаемых на графике по оси Y. Компонент позволяет отображать несколько графиков в одних осях. Интерфейс контакта — «Численный массив». Наиболее часто подключаемые компоненты — компоненты анализа (Узкополосный спектр, Долеоктавный спектр).
  • {X} — данные, отображаемые по оси X. Контакт не поддерживает множественное соединение. Интерфейс контакта — «Численный массив».
  • Курсор — определяет положение курсора на графике.
  • Синхро — импульс для обновления графика. Интерфейс контакта — логическое значение (0/1).
  • Сброс — импульс для очистки поля графика. Интерфейс контакта — логическое значение (0/1) .
  • Запись — импульс для записи отображаемых данных в файл.

Выходные

  • Курсор — позволяет сохранять положение курсора на графике;
  • XStart — позволяет сохранять начало отображения по оси X;
  • XFinish — позволяет сохранять конец отображения по оси X.

Для отображения данных важно, чтобы у компонента, с которого поступает массив, был идентификатор (общее свойство m_sHelpString). Идентификаторы компонентов, поключаемых ко входам «Y» и «X», используются как название графика или оси X и отображаются в легенде графика. Если у компонента, с которого поступают данные, нет идентификатора, то данные не будут отображены на графике. При получении нескольких массивов с одного компонента идентификаторы указываются через точку с запятой. Идентификаторы задаются в порядке выходных контактов.

Настраиваемые свойства:

Общие свойства (окружение)

Частные свойства (в скобках значение, установленное по умолчанию):

  • XAutoscale (true) — включение/выключение автомасштабирования по оси X.
  • YAutoscale (true) — включение/выключение автомасштабирования по оси Y.
  • xystate (y(n)) — режим отображения графиков: График в полярных координатах
    1. 1. y(n) — массив данных, пришедших на вход «Y» будет отображен по оси Y, при этом по оси Х будут отображаться номера элементов массива
    2. 2. y(x) — равномерно. Отображение по оси Y массива данных, пришедших на вход «Y», по оси Х — массива данных, пришедших на вход «X». Также используется для отображения данных, имеющих неравномерное распределение значений — при этом требуется указать тип развертки..
    3. 3. y(t) — длительно.
    4. 4. y(x) — реально.
  • XString — установка единицы измерения по оси X.
  • YString — установка единицы измерения по оси Y.
  • Referense (0.001) — значение для установки расчета уровней в дБ.
  • Ystart (0) — начало отображения по оси Y.
  • Yfinish (1) — конец отображения по оси Y.
  • FileName — установка имени и расположения файла, в котором данные будут сохранены в виде отдельного файла.
  • xprecision (0.01) — точность отображения значений по оси X.
  • yprecision (0.01) — точность отображения значений по оси Y.
  • LineWidth (1) — установка толщины линии графика.
  • BackColor (ece9d8) — цвет заднего фона.
  • GridColor (c0c000) — цвет координатной сетки.
  • typeline (Горизонтальные) — тип линии графика:
    1. 1. Горизонтальные.
    2. 2. Ломанные.
  • typeyaxis (Равномерная) — развёртка вертикальной шкалы:
    1. 1. Равномерная.
    2. 2. Логарифмическая.
    3. 3. Децибельная.
  • typexaxis (Равномерная) — развёртка горизонтальной шкалы:
    1. 1. Равномерная.
    2. 2. Логарифмическая.
    3. 3. Децибельная.
  • ColorAdjustment (False) — разрешение настройки цветов графика:
    • true — разрешить настройку цветов графика.
    • false — не разрешить настройку цветов графика.
  • GraphColors (128;32768;8388608;255;65280;16711680;8388672;8421376;8388736;12615680;16384;16711935;16711808;16744576;16744448;8421440;8388863; 64;64;16744576;8421631;10485760;4194304;16744703;9125927;52582;6513646;2500301;3355597;17803;7737549;7877325;9127773; 16760576;10156544;2263842;2237106;9639167;13828244;9109504;13487360;52582;9639167;15597806;16724123;5197647;8983278; 9109504;9145088;35653;13434880;25600;8721863;3107669;5197615;14053594;13459258;3816075;9109643;550283;) — цвета графиков:
  • Xstart (False) — начало отображения по оси X.
  • Xfinish (False) — конец отображения по оси X.

Примечание:

Вопрос. Программа не записывает данные в массив и не передает данные на график.(Более полный вопрос и ответ находится в компоненте «Программирование компонента»)

Ответ. У компонента «График» есть свойство «xystate», которое отвечает за вид осей графика. В выбранном вами варианте «y(n)» графику безразличен массив на входном контакте «X» и он строит новый график по мере получения массивов по контакту «Y». Важно помнить, чтобы поле «m_sHelpString» было не пустым, так как по строке в этом поле задаётся имя графика в легенде, а нет имени — нет и графика. Чтобы показывать ось X в виде даты необходимо выбрать вариант «y(x) — реально».

Вопрос. в компоненте график в настраиваемых свойствах непосредственно в окне программы установить значения Xstart и Xfinish, но при запуске проекта шкала Х отображается с совсем другими значениями. Как правильно управлять шкалой Х графика при подключении к нему долеоктавного спектра?

Ответ. работа компонента «График» не зависит от того с какой программой происходит работа, она зависит от того какие данные вы подаете в него. Проблемы с выставлением XStart и XFinish возникают из-за того что происходит неверная установка параметров и внутри компонента установлены проверки на задаваемые пользователем параметры.

Пример 1.На графике отображается интервал от 10 до 20, и вы устанавливаете XEnd равное 5, у вас ничего не произойдет, потому что вы установили XEnd(5) меньше чем текущий установленный XStart(10). Аналогичная ситуация с установкой XStart когда новый XStart меньше чем текущий XFinish

Пример 2. На графике отображается интервал от 10 до 20, и вы устанавливаете XStart равное 25, логика компонента так заложена что при изменении XStart меняется текущая левая граница без изменения ширины графика (в данном случае 20 — 10 = 10, в итоге у вас получится интервал от 25 до 25 + 10, то есть 35.

Для решения вашей проблемы есть несколько способов, в прилагаемом с письмом проекте ZETView приведен один из них — задавать значения XStart и XEnd одновременно 2 раза, чтобы обойти проблемы описанные в примере 1 и 2.

Программирование

При использовании компонента в сценарии и программируемом компоненте (скрипте) необходимо учитывать диапазоны значений подаваемых на входные ножки компонента, диапазоны значений свойств компонента, а также диапазоны значений параметров методов компонента.

Параметры:

Входные

  • {Y} — входной числовой массив со значениями, которые будут отображены по оси ординат (любое число).
  • {X} — входной числовой массив со значениями, которые будут отображены по оси абсцисс (любое число).
  • Курсор — устанавливается положение курсора на графике.

Настраиваемые свойства:

Общие свойства (окружение)

Частные свойства (в скобках значение, установленное по умолчанию):

  • VARIANT_BOOL XAutoscale — установка и чтение автомасштаба по оси X:
    • true — автомасштаб по оси X включен;
    • false — автомасштаб по оси X выключен.
  • VARIANT_BOOL YAutoscale — установка и чтение автомасштаба по оси Y:
    • true — автомасштаб по оси Y включен;
    • false — автомасштаб по оси Y выключен.
  • BSTR XYState — установка и чтение режима отображения графиков: y(n); y(x) — равномерно; y(t) — длительно; y(x) — реально (строка).
  • BSTR XString — установка и чтение единицы измерения по оси X (строка).
  • BSTR YString — установка и чтение единицы измерения по оси Y (строка).
  • FLOAT Referense — установка и чтение значения для расчета уровней в дБ (любое значение).
  • FLOAT Ystart — установка и чтение начала отображения по оси Y (любое значение).
  • FLOAT Yfinish — установка и чтение конца отображения по оси Y (любое значение).
  • BSTR FileName — установка и чтение имени файла для записи результатов в файл формата *.dtu (после задания этого параметра происходит запись в указанный файл).
  • BSTR XPrecision — установка и чтение точности отображения по оси Х: 1; 0.1; 0.01; 0.001; 0.0001; 0.00001; 0.000001 (строка).
  • BSTR YPrecision — установка и чтение точности отображения по оси Y: 1; 0.1; 0.01; 0.001; 0.0001; 0.00001; 0.000001 (строка).
  • LONG LineWidth — установка и чтение толщины всех линий графика (число).
  • LONG BackColor — установка и чтение цвета заднего фона (число).
  • LONG GridColor — установка и чтение цвета координатной сетки (число).
  • BSTR TypeLine — установка и чтение типа линий графика: Горизонтальные; Ломаные (строка).
  • BSTR TypeYAxis — установка и чтение развёртки вертикальной шкалы: Равномерная; Логарифмическая; Децибельная (строка).
  • BSTR TypeXAxis — установка и чтение развёртки горизонтальной шкалы: Равномерная; Логарифмическая; Долеоктавная (строка).
  • VARIANT_BOOL ColorAdjustment — установка и чтение разрешения настройки цветов графика:
    • true — разрешение настройки цветов графика включено;
    • false — разрешение настройки цветов графика выключено.
  • BSTR GraphColors — установка и чтение цвета графиков (строка).
  • FLOAT Xstart — установка и чтение начала отображения по оси X (число).
  • FLOAT Xfinish — установка и чтение конца отображения по оси X (число).

Пример

Проект в SCADA ZETView

Диапазон значений - Пример
В этой схеме компонент Диапазон значений предназначен для получения мгновенных значений сигнала канала в заданном диапазоне времени. Таймер служит для подачи синхронизирующих импульсов на Время сервера и График. Это нужно, чтобы График и Диапазон значений работали в едином временном пространстве. Синусоидальный сигнал нужен для создания пробного сигнала, а Многоканальный осциллограф — для его текущего графического отображения.

Результат работы проекта
Диапазон значений - Результат работы проекта

Авторизация
*
*

Потеряли пароль?

Политика конфиденциальности персональных данных

Регистрация
*
*
*

Политика конфиденциальности персональных данных

Генерация пароля