• Автор
    Тема
  • #49265

    Артем Кортусов
    Участник

    День добрый. Вопрос следующий. XYZ плоттер при запуске проекта zetview отображает зависимость сигнала X от Y (2 разных сигнала).
    Сохраняем эти данные в файл встроенной функцией ´запись в файл´. Открываем файл программой Просмотр результатов. И видим на одном экране 2 наложенных друг на друга графика — X(t) и Y(t). Нам же необходимо увидеть точно такой же график, как и в окне проекта — X(Y). Как это сделать? И ещё — как функционирует Импорт в программе просмотр результатов. Что имеется в виду под источником? Никакие другие элементы кроме неё и кнопки отмена не активны.

    Ждём с нетерпением ваш ответ!!

    Кортусов А.

Просмотр 15 ответов - с 1 по 15 (всего 23)
  • Автор
    Ответы
  • #49266

    Менеджер ZETLab
    Хранитель

    Добрый день, Артем.

    При записи сигналов XYZ-плоттером в записанном файле 4 столбца: T, X, Y, Z. Просмотровщик умеет отображать сигналы только в виде S(T), поэтому при открытии файлов, записанных XYZ-осциллографом или XYZ-плоттером, он отображает 3 сигнала (если какой-то канал при записи не был задействован, по нему были записаны нули): Х(T), Y(T), Z(T).

    В планах дальнейшего развития ZETLab предусмотрена доработка просмотровщика для отображения спектрограмм и параметрических зависимостей. Информация об этом появится на форуме «Развитие ПО и устранение замеченных ошибок»

    На данный момент для просмотра файлов, записанных программами XYZ-осциллограф и XYZ-плоттер, и аналогичных им, можно собрать небольшой scada-проект: для чтения данных из файла использовать детерминированный массив, для отображения графика — компонент «XYZ-плоттер». Пример можно посмотреть здесь:

    Пример SCADA-проекта для отображения файлов, записанных плоттером

    В приведенном примере используется компонент «Выбор файла», который был добавлен в SCADA систему в последней версии, но не попал в библиотеку компонентов.

    Узнать, доступен ли он в текущей версии SCADA системы можно, проверив наличие файла «ZetFileSelector.ocx» в директории «C:\ZetLab\scada» (директория хранения ocx-компонентов для scada-системы версии ниже 3.2) или «C:\ZetLab» (директория хранения ocx-компонентов для scada-системы версии 3.2).

    Если указаный файл существует, для добавления его в библиотеку необходимо добавить строку
    <28>< Выбор файла>
    в файл C:\ZetLab\scada\_LibInfo.inf (открывается блокнотом)
    например, после строки
    <28>< Выбор каталога>.

    С уважением, Татьяна.

    #49267

    Менеджер ZETLab
    Хранитель

    По поводу импорта данных в просмотровщике

    Функция «Импорт данных» в программе «Просмотр результатов» позволяет импортировать сигналы, записанные с помощью программы Запись Сигналов на удаленном компьютере ПК2 по сети на компьютер ПК1. Предназначена для использования в распределенных измерительных системах, когда в нескольких узлах производится регистрация сигналов, которые записываются единым потоком на сервере. С помощью функции «Испорт данных» можно просмотреть записанные сигналы на любом компьтере в локальной сети.
    Это новая функция, находящая, на данный момент, на этапе тестирования.

    С уважением, Татьяна.

    #49268

    Татьяна, здравствуйте!
    Вмешиваюсь в вашу беседу.
    Хотелось бы попросить Вас при плановой доработке просмоторщика добавить в него функцию ¨Экспорт¨. Для сохранения столбцов в более привычный формат — xls.
    И такой ещё вопрос — силами zetview в вашем примере возможно провести распечатку графика или для этого придётся использовать функцию printScreen-paste-print?
    И почему при компиляции проекта не сохраняются настройки границ видимости плоттера? Они сбрасываются в дефолтные.

    С Уважением, А. В. Баранов

    #49269

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Александр!

    По поводу формата xls:
    Файлы, созданные программами ZETLab и компонентами ZETView можно открывать не только просмотровщиком, но и любым текстовым редактором, программами Word и Excel. Описание структуры файла, созданного конкретной программой ZETLab приведено в руководстве оператора в разделе, посвященном данной программе. В общем могу сказать, что в первых строках идет описание: название программы, в которой были сохранены данные, названия каналов, дата и время сохранения. Далее следуют собственно значения сигналов. Символом-разделителем столбцов является знак табуляции, символом-разделителем целой и дробной части является точка. Файлы dtn имеют количество столбцов, равное количеству каналов и дополнительных графиков. файлы grn имеют большое количество столбцов, т.к. каждая точка графка имеет 3 координаты: частота, время, уровень.
    Кроме того, в самом просмотровщике данные отображаются не только в графическом (первая вкладка), но и в табличном виде (вторая вкладка). Таблицу значений можно скопировать (через контекстное меню) целиком или по столбцам и вставить данные в Word, Excel, текстовый редактор или в другой экземпляр программы «Просмотр результатов».
    Также работа с буфером обмена возможна в любой программе ZETLab, имеющей поле графика — см. подразделы «Перенос графической и численной информации в текстовые редакторы». В частности, для копирования численных значений ВИДИМОЙ части графика необходимо нажать клавишу на клавиатуре. Для копирования области графика служит комбинация + < С>.

    #49270

    Менеджер ZETLab
    Хранитель

    По поводу границ видимости плоттера

    На данный момент компоненты отображения SCADA системы поддерживают лишь функцию Autoscale (автомасштаб) — для некоторых компонентов можно включить автомасштаб по одной или по нескольким осям. Для некоторых компонентов можно управлять свойствами, отвечающими за границы видимости автоматически (для этого функция Autoscale для данного свойства должна быть отключена) — см пример к описанию частотомера, в котором на осциллографе постоянно отображается ровно 10 периодов сигнала.

    В планах дальнейшего развития ZETView заложено сохранение значений свойств, отвечающих за границы видимости — следите за форумом «Развитие ПО и устранение замеченных ошибок»

    #49271

    Менеджер ZETLab
    Хранитель

    По поводу печати

    Отправлять графики на принтер на данный момент умеет лишь просмотровщик: меню «Файл» команда «Печать».
    Силами ZETView пока можно лишь добавить график в отчёт, используя в сценарии функцию графика CopyPicture, предварительно обновив поле графика функцией UpdateGrafs. Картинка найдет свое место в документе по идентификатору компонента, из которого была скопирована. Поскольку график к отчёту не подключишь, в настроках отчёта указывается идентификатор графика как значение свойства BufferVar.

    С уважением, Татьяна.

    #49272

    Татьяна, здравствуйте!

    По пунктам.

    1. По поводу формата XLS. Все наши беды от непрочтенных инструкций) Теперь буду иметь в виду.
    2. Границы видимости — хотелось бы поскорее увидеть.
    3. А вот теперь вопрос — XYZ плоттер отказывается стирать содержимое координатной сетки. Ко входу сброс подключаю кнопку без фиксации. При нажатии график промаргивает и не стирается. Или туда не кнопка подключается, какой-то более хитрый алгоритм действий необходим?
    4. Мистические события с арифмометром. Собрал проект 24 числа, допустим. Всё работало. 25 запускаю его — не работает. Выясняется что нету сигнала на выходе арифмометра. Причем самым мистическим образом. К выходу арифмометра подключены 2 устройства. 1 — осциллограф и 2 — вольметр+ЖК индикатор. Так вот, на осциллографе сигнала нету. А на ЖК индикаторе значение с датчика отображается и меняется в реальном времени. Четыре часа пробился с ним, перезагружал ПК, АЦП. Удалял из схемы арифмометр (естественно сначала удаляя связи, потому что было замечено уже не раз, что если удалить элемент со связями, то, как минимум, до перезапуска среды zetview система будет помнить либо связи либо просто не заметит удаление блока). А потом снова вставлял. Потом бросил это дело. Вечером запустил исходный проект — всё работает как часы.
    Что делать, куда смотреть — тут моего разумения не хватает. 26 утром произошла точно такая же история. Но починилось всё чудесным образом за 1 час. Также не ничего не менялось в схеме.

    С уважением, А. В. Баранов

    #49273

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Александр!

    При работе с плоттером из приведенного выше проекта функция очистки графика справлялась со своей задачей (соответствующая кнопка из проекта была убрана для того, чтобы не перегружать пример). Из чего я делаю вывод, что проблема заключается не в очистке графике, а в его последующей перерисовке. Скорее всего, после очистки плоттера на него входы снова приходят накопленные значения, поэтому перед очисткой графика следует очищать массивы. Если у используемого Вами массива нет входа «Сброс», можно вызвать для него функцию ClearArray в сценарии. Если необходимо отображать данные за посление столько-то секунд, можно настроить формировщик массивов (число-массив): ArrayAutoSize=False, ArraySize=N. N рассчитать исходя из частоты дискретизации и необходимой длительности отображения.

    Компонент «Арифмометр» отправлен на тестирование.

    С уважением, Татьяна.

    #49275

    Здравствуйте Татьяна!

    По поводу очистки. Т.е. выходит что показания со входов поступают на вход массивов, а потом передаются на плоттер. Вызывая функцию сброс мы очищаем координатную сетку, а накопленные в массивах значения вновь в полном объёме поступают на плоттер? Я думал, что на плоттер массив передаёт последние значения (полученные со входов).
    Вообщем попробую поиграть с cleararray.

    Спасибо.

    #49276

    А скоро ожидается новая версия ZETView?

    #49277

    Менеджер ZETLab
    Хранитель

    Здравствуй Александр!

    Программа ZetView сейчас дорабатывается, делается новое полное описание. Надеемся к концу февраля выпустить новую версию.

    Удачи

    #49278

    Татьяна, ещё раз здравствуйте!

    Боюсь, я неправильно вас информировал по поводу арифмометра.

    Сегодня провёл эксперимент. Пришёл на работу, включил ноутбук+АЦП и запустил программу.
    Сигнала с арифмометра нет.
    Подключил многоканальный осциллограф к входному каналу (схема у меня сделана так входной канал — фильтр-арифмометр-вольтметр-ЖК индикатор и т.д.).
    Запускаю проект, смотрю на осциллограф — на нём 0 мВ и отсутствие сигнала. Но ЖК индикатор (как написал выше подключен он) показывает значения с канала.

    Тут же при рабочем проекте запускаю zetpanel, в ней запускаю встроенный осциллограф — и он работает!!!!!
    Т.е. получается, что при одновременно запущенных проектах с осциллографом на входном канале (моя программа) и zetpanel с её осциллографом на последнем сигнал есть, а в моём проекте его нету. Канал, естественно, выбран один и тот же.

    И более чем уверен через несколько часов всё заработает нормально без каких-либо действий с моей стороны.
    Чем это можно объяснить, куда исчезает осциллограма в проекте и почему ЖК инждикатор отображает значение сигнала?

    С Уважением, Александр.

    #49279

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Александр!

    Хочу уточнить некоторые моменты для тестирования компонентов.
    1) Получается, что в Вашем проекте через раз работает осциллограф, который подключен непосредственно к измерительному каналу, а не к каналу арифмометра? Или к чему бы ни был подключен, работает нестабильно? Тут важно понять, что сбоит: осциллограф или арифмометр?
    2) ЖК индикатор, подключенный через вольтметр к арифмометру, отображает значения ПО КАНАЛУ, т.е. сигнал проходит через арифмометр без изменений? Или индикатор отображает все правильно, и это служит индикацией работоспособности арифмометра, а, значит, проблемы все-таки с осциллографом?

    #49280

    Здравствуйте, Татьяна!

    1. Да, так оно и есть. Компонент осциллограф, подключенный непосредственно к измерительному каналу (токовый датчик DCTH500A если это важно). Естественно что подключая второй осциллограф к выходу арифмометра мы тоже ничего не увидим, т.к. данные на арифмометр приходят с измерительного канала.
    2. Арифмометр работает исправно. Т.е. исполняет свои функции и верно вычисляет сигнал и уже дальше отображает их на ЖК индикаторе.
    3. Проблемы не с осциллографом. Объясню почему я сделал такие выводы. Осциллограф я привел для примера для того, что бы показать отсутствие сигнала с измерительного канала (именно В ПРОЕКТЕ, потому что через вольтметр постоянного тока или осциллограф в ZETPanel тут же все работает).
    Дело в том, что сигнал с арифмометра идет на Синхронизатор. И вот он как-раз то и не работает. Последний настроен на срабатывание по уставке по восходящему фронту.

    Я считаю, что дело в компоненте «Измерительный канал» системы ZETView.
    Если бы дело было в блоке АЦП/ЦАП ZET210 — то через ZETPanel мы бы ничего не увидели. А раз видим там, а в параллельно запущенном проекте сигнал отсутствует — то дело в ZETVIew.

    Вообще, как показал опыт работы с ZETView система чудесна для выполнения любых измерений и расчетов.
    А если речь заходит об управлении исполнительными устройствами (через коммутационный блок, то ту постоянно возникают проблемы)…
    Конечно, большую роль играет тут наше незнание программы (но мы стараемся её осваивать).
    Скачал сегодня бету версию от 11 декабря 2010.
    Навскидку обнаружил что в ZETPanel адаптивный фильтр 50Гц при запуске вылетает через 3 секунды.
    А измерительный канал в ZETView работает вообще странно.
    Простейшая система: Измерительный канал->Осциллограф.
    Явно указываю ему датчик на первом канале — а он упорно видит датчик с 16 канала. И даже имя канала указывает по имена 16ого канала, а не первого)
    Снёс тут же эту бету от греха подальше и вернулся к проверенной от 22 ноября. Её глюки уже более-менее известны и понятно что с ними делать.

    С Уважением, А. В. Баранов

    P.S. Плюс вам и вашим программистам — в beta (декабрь 2010) версии программа «Управление блоком реле» (ZETPanel) коммутационного блока работает много быстрее. Сигнал передается быстрее, подтормаживания менее заметны и реле переключаются быстрее.

    #49281

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Александр!

    Если честно, я несколько запуталась, давайте начнем сначала.

    Итак, схема следующая: сигнал с измерительного канала поступает на осциллограф и на арифмометр, с арифмометра сигнал поступает на вольтметр, далее на цифровой индикатор. Остальную часть схемы пока не рассматриваем.

    Проблемная ситуация: исходный сигнал не отображается на осциллографе (впрочем, 0 мВ и отсуствие сигнала не одно и то же: отсутсвие сигнала = ничего нет на входе, 0 мВ = проблема с обнаружением устройства системой; либо это просто виртуальный канал = надо уже разбираться с источником), но показания на индикаторе отображаются (что именно отображается — какие-то непонятные шумы, значения по исходному каналу, правильный (?) результат работы арифмометра???).

    Возможные причины:
    1) выбран несуществующий канал
    2) канал выбран правильно, но не работает «Измерительный канал» или «Многоканальный осциллограф»
    3) «неразорванные связи»

    1) При тестировании описанной схемы было замечено, что, если измерительный канал, подключенный к арифмометру, выбран не правильно (указанного канала нет в системе, компонент отображается красным цветом), то арифмометр самостоятельно заменяет его на первый по списку в системе канал и шлет с выхода результат операций с ним. В таком случае на осциллографе, подключенном к измерительному каналу, сигнала не будет (поле графика пустое, в легенде только «Время … с»), но на осциллографе, подключенном к выходу арифмометра, будет отображаться виртуальный канал «А+Сигнал 1» (точнее «А+название первого канала в системе»), соответственно данный сигнал будет измеряться вольтметром и результаты будут отображаться на индикаторе.

    Проблема с измерительным каналом, когда дело касается входных каналов АЦП, может возникать, если не произошла загрузка сигнального процессора. Чтобы избежать подобных ситуаций, желательно сначала запускать панель ZETLab (при этом автоматически загружается сигналый процессор), а уже потом ZETView. Принудительно можно произвести загрузку сигнального процессора через панель ZETLab (меню «Сервисные», первый пункт).
    Вообще, я нули на осциллографе (виртуальные каналы не в счет) видела только когда система «теряла» устройство. При этом, если запустить программу «Время ZET-сервера», по всем каналам время не шло, тогда как при нормальной работе по всем каналам идет синхронный отсчет времени. Впрочем, если у Вас работает обычный осциллограф, это не Ваш случай.

    2) В неработоспособности компонентов «Измерительный канал» и «Многоканальный осциллограф» я сомневаюсь, поскольку сама использую их в каждом проекте (а некоторые проекты проработали на всех версиях SCADA системы начиная с ZETView 2.0). Если же действительно какой-либо из этих компонентов не работает, скорее всего, его можно будет заменить отдельно, не переустанавливая ZETView в целом. А вот арифмометр иногда демонстрировал отсутствие результатов на выходе без дополнительной загрузки сигнального процессора (впрочем, сама я такой ситуации добиться не смогла, но компонент отправлен на тестирование). Попробуйте вместо арифмометра использовать Формулу (придется пока ее отдельно от ZETView запускать) — с арифметическими операциями с каналами она справляется прекрасно, да и пара фильтров и обнаружителей, Вам подходящих, в ней есть.

    3) Проблема «неразорванных связей» появилась относительно недавно и сейчас решается программистами. Самостоятельно справляться с этим эффектом можно пересохранением проекта.

    По поводу вылетающего адаптивного фильтра — думаю, это связано с переходом на единый пакет ZETLab (на данный момент для каждого типа устройства собирается свой Setup, а в дальнейшем панель будет одна, а список программ меняться в зависимости от подключенного устройства) или с переходом на ключи (пользоваться программами ZETLab можно будет без подключенного устройства, вместо этого подключается специальный ключ, предназначается для обработки данных в многоканальных распределенных системах, в которых оцифрованные сигналы передаются по сети и обрабатываются на удаленном компьютере). В любом случае, к следующей версии ПО подобных проблем программами не будет.

    С уважением, Татьяна.

Просмотр 15 ответов - с 1 по 15 (всего 23)

Для ответа в этой теме необходимо авторизоваться.