Страница 1 из 1

Работа с TDMS

Добавлено: 03 июн 2019, 08:26
GT21
Здравствуйте, первый раз сталкиваюсь с хранением в базах данных, решил остановиться на tdms. Нужно сохранять отчеты (генерируемые раз в несколько минут). Решил делать так - TDMS-файл за месяц, в нем группы - номер отчета; в них 2 канала - основные данные и подробные данные.
Пара вопросов:
1) будет ли доступ для записи к уже открытому файлу отчета?
2) где можно посмотреть, как создать форму отчета для отображаемых данных (с возможностью печати)
3) можно ли там хранить разные типы данных (например значение потребляемого тока и рядом скриншот с экрана)?
Вообще, TDMS для этого лучший вариант? Майкрософт офис не установлен, поэтому экспорт в ексель не подойдет. К тому же мне надо, чтобы просто так сторонним людям файл нельзя было отредактировать
И, может быть, где-нибудь можно найти руководство по работе с TDMS?

Re: Работа с TDMS

Добавлено: 03 июн 2019, 10:32
Vitekkz88
Добрый день! Как я понимаю, Вам нужно самостоятельно генерировать отчеты, вести их историю и давать возможность редактирования в некоторых случаях?
Основное преимущество TDMS-формата - это возможность синхронной/асинхронной записи/чтения в один файл нескольких потоков данных, которые поступают с разной частотой. Вы верно отметили, что TDMS даёт возможность создавать группы и страницы для экспортируемых/импортируемых данных. Вставлять картинки в TDMS файл у Вас не получится, только исходные данные этого изображения(если это график - то его отсчеты по Х и по Y, т.е. цифровое представление). Сам файл TDMS возможно открывать с помощью Exel.
Далее, у Вас отдельным особняком есть требование к возможности редактирования. Это можно настроить на уровне ОС(запрет для редактирования), а можно попробовать посмотреть в сторону генерации отсчета в .pdf(в явном виде при открытии штатными средствами редактировать его не будет возможности). Однако, у меня лично не было опыта генерации отсчетов в таком формате, особенно с вставкой картинок в требуемых местах(не от балды).
В общем случае, понятие базы данных несколько обширнее и выходит за рамки TDMS-формата.
1) Да, вы можете проводить запись в открытый файл. Под записью имеется ввиду, что программа сможет записывать в файл, если он у Вас будет открыт фоном. Однако, результат Вы увидите только после закрытия и повторного открытия файла. Перед закрытием Вам будет предложено сохранить текущую книгу, т.к. в неё были внесены изменения из вне. Если откажитесь сохраняться, то предыдущие данные будут потеряны, а на их месте появятся новые.
2) Форма отчета на основе TDMS: обычно для этих целей пишут дополнительный программный модуль "Просмоторщик". В нём Вы самостоятельно определяете дизайн и форму представления на основе вычитанных данных из файла.
3) Разные типы данных хранить можно, но не разные представления информации. То есть изображение(в виде визуальной картинки)- это одна форма представления информации, числа - вторая, текст - третья.
Если не смущает отсутствие полной автоматизации по созданию отчета, попробуйте примерно так: создаем файл с исходными данными, пишем. Для редактирования/сохранения отчета используется отдельное приложение или программный модуль. Этот модуль представляет из себя реализацию чтения данных из tdms файла, построение графиков и автоматический скриншот FP с сохранением(Report Generation Toolkit, Easy Print Front Panel.vi). Таким образом отчет для пользователя - это скрин, а для администратора - это приложение с возможностью редактирования.
Более гибким будет решение в виде одной кнопки: мол, нажал её и отчет автоматически сгенерировался. Однако, простота использования с точки зрения пользователя - это кошмар для разработчика. Можно и с html-отчетом заморочиться :crazy:

Re: Работа с TDMS

Добавлено: 03 июн 2019, 13:21
GT21
Спасибо. А нет мануала по этому формату? Как им пользоваться, как подавать данные, и т.д.
И еще - скриншоты имелось в виду данные формата image data (двухмерный массив) или его преобразованные виды типа pixmap - с возможностью потом посмотреть в просмотрщике.
А автоматизация нужна такая - закончена проверка и программа автоматом записывает данные в файл, но просматривать результат нужно потом вручную из просмотрщика результатов. Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)

И еще есть ли возможность сделать файл более иерархичного вида, чтобы было не только 3 уровня (файл, группа, канал), а больше, например: файл с отчетами->конкретный отчет->тест №Х->результат->подробности (измеренные значения)?

Re: Работа с TDMS

Добавлено: 03 июн 2019, 18:32
IvanLis
GT21 писал(а):Спасибо. А нет мануала по этому формату? Как им пользоваться, как подавать данные, и т.д.
Посмотрите: http://www.ni.com/product-documentation/3727/ru/
там все понятно.
GT21 писал(а):И еще - скриншоты имелось в виду данные формата image data (двухмерный массив) или его преобразованные виды типа pixmap - с возможностью потом посмотреть в просмотрщике.
Изображения записать можно, но именно как массив.

В качестве исходника просмотрщика и вообще для понимания структуры TDMS посмотрите стандартный пример:
TDMS - File Viewer.vi
GT21 писал(а):Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)
Отчет можно и в PDF и в ODF (OpenOffice) и в HTML сделать, но ничто не защитит его от редактирования.
GT21 писал(а):И еще есть ли возможность сделать файл более иерархичного вида, чтобы было не только 3 уровня (файл, группа, канал), а больше, например: файл с отчетами->конкретный отчет->тест №Х->результат->подробности (измеренные значения)?
Продумайте структуру более грамотно.
Скорее всего и № и название теста и подробности можно записать в теги.
А вот сами данные (то что множественное значение), то писать в данные.

Re: Работа с TDMS

Добавлено: 04 июн 2019, 08:15
Vitekkz88
GT21 писал(а): А автоматизация нужна такая - закончена проверка и программа автоматом записывает данные в файл, но просматривать результат нужно потом вручную из просмотрщика результатов. Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)
В таком случае нет никаких проблем. Сохраняйте данные в TDMS, структуру файла прорабатывайте на свой вкус.
Дизайн и логику программы для просмотра можете заложить любую: с редактированием и без, с сохранением картинок и без.
Так же по работе с TDMS посмотрите стандартные примеры Find- Examples - TDMS. Там есть примеры и для чтения, и для записи.

Re: Работа с TDMS

Добавлено: 04 июн 2019, 12:21
Borjomy_1
Опять-же, на работу с TDMS заточен пакет DIAdem. В том числе - автоматизированные отчеты.