Работа с TDMS

Простейшие вопросы в области инженерной разработки

Работа с TDMS

Postby GT21 on 03 Jun 2019, 08:26

Здравствуйте, первый раз сталкиваюсь с хранением в базах данных, решил остановиться на tdms. Нужно сохранять отчеты (генерируемые раз в несколько минут). Решил делать так - TDMS-файл за месяц, в нем группы - номер отчета; в них 2 канала - основные данные и подробные данные.
Пара вопросов:
1) будет ли доступ для записи к уже открытому файлу отчета?
2) где можно посмотреть, как создать форму отчета для отображаемых данных (с возможностью печати)
3) можно ли там хранить разные типы данных (например значение потребляемого тока и рядом скриншот с экрана)?
Вообще, TDMS для этого лучший вариант? Майкрософт офис не установлен, поэтому экспорт в ексель не подойдет. К тому же мне надо, чтобы просто так сторонним людям файл нельзя было отредактировать
И, может быть, где-нибудь можно найти руководство по работе с TDMS?
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Работа с TDMS

Postby Vitekkz88 on 03 Jun 2019, 10:32

Добрый день! Как я понимаю, Вам нужно самостоятельно генерировать отчеты, вести их историю и давать возможность редактирования в некоторых случаях?
Основное преимущество TDMS-формата - это возможность синхронной/асинхронной записи/чтения в один файл нескольких потоков данных, которые поступают с разной частотой. Вы верно отметили, что TDMS даёт возможность создавать группы и страницы для экспортируемых/импортируемых данных. Вставлять картинки в TDMS файл у Вас не получится, только исходные данные этого изображения(если это график - то его отсчеты по Х и по Y, т.е. цифровое представление). Сам файл TDMS возможно открывать с помощью Exel.
Далее, у Вас отдельным особняком есть требование к возможности редактирования. Это можно настроить на уровне ОС(запрет для редактирования), а можно попробовать посмотреть в сторону генерации отсчета в .pdf(в явном виде при открытии штатными средствами редактировать его не будет возможности). Однако, у меня лично не было опыта генерации отсчетов в таком формате, особенно с вставкой картинок в требуемых местах(не от балды).
В общем случае, понятие базы данных несколько обширнее и выходит за рамки TDMS-формата.
1) Да, вы можете проводить запись в открытый файл. Под записью имеется ввиду, что программа сможет записывать в файл, если он у Вас будет открыт фоном. Однако, результат Вы увидите только после закрытия и повторного открытия файла. Перед закрытием Вам будет предложено сохранить текущую книгу, т.к. в неё были внесены изменения из вне. Если откажитесь сохраняться, то предыдущие данные будут потеряны, а на их месте появятся новые.
2) Форма отчета на основе TDMS: обычно для этих целей пишут дополнительный программный модуль "Просмоторщик". В нём Вы самостоятельно определяете дизайн и форму представления на основе вычитанных данных из файла.
3) Разные типы данных хранить можно, но не разные представления информации. То есть изображение(в виде визуальной картинки)- это одна форма представления информации, числа - вторая, текст - третья.
Если не смущает отсутствие полной автоматизации по созданию отчета, попробуйте примерно так: создаем файл с исходными данными, пишем. Для редактирования/сохранения отчета используется отдельное приложение или программный модуль. Этот модуль представляет из себя реализацию чтения данных из tdms файла, построение графиков и автоматический скриншот FP с сохранением(Report Generation Toolkit, Easy Print Front Panel.vi). Таким образом отчет для пользователя - это скрин, а для администратора - это приложение с возможностью редактирования.
Более гибким будет решение в виде одной кнопки: мол, нажал её и отчет автоматически сгенерировался. Однако, простота использования с точки зрения пользователя - это кошмар для разработчика. Можно и с html-отчетом заморочиться :crazy:
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1080
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 302
hardware I/O VIP

Re: Работа с TDMS

Postby GT21 on 03 Jun 2019, 13:21

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

И еще есть ли возможность сделать файл более иерархичного вида, чтобы было не только 3 уровня (файл, группа, канал), а больше, например: файл с отчетами->конкретный отчет->тест №Х->результат->подробности (измеренные значения)?
Last edited by GT21 on 03 Jun 2019, 13:32, edited 2 times in total.
LabVIEW 8.6
GT21
user
user
 
Posts: 70
Joined: 29 Apr 2016, 09:22
LabVIEW Version: 8.6
Karma: 0

Re: Работа с TDMS

Postby IvanLis on 03 Jun 2019, 18:32

GT21 wrote:Спасибо. А нет мануала по этому формату? Как им пользоваться, как подавать данные, и т.д.

Посмотрите: http://www.ni.com/product-documentation/3727/ru/
там все понятно.

GT21 wrote:И еще - скриншоты имелось в виду данные формата image data (двухмерный массив) или его преобразованные виды типа pixmap - с возможностью потом посмотреть в просмотрщике.

Изображения записать можно, но именно как массив.

В качестве исходника просмотрщика и вообще для понимания структуры TDMS посмотрите стандартный пример:
TDMS - File Viewer.vi

GT21 wrote:Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)

Отчет можно и в PDF и в ODF (OpenOffice) и в HTML сделать, но ничто не защитит его от редактирования.

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

Продумайте структуру более грамотно.
Скорее всего и № и название теста и подробности можно записать в теги.
А вот сами данные (то что множественное значение), то писать в данные.
User avatar
IvanLis
professor
professor
 
Posts: 4815
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2015, 2016
Karma: 763
hardware VIP bloggers teachers

Re: Работа с TDMS

Postby Vitekkz88 on 04 Jun 2019, 08:15

GT21 писал(а): А автоматизация нужна такая - закончена проверка и программа автоматом записывает данные в файл, но просматривать результат нужно потом вручную из просмотрщика результатов. Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)

В таком случае нет никаких проблем. Сохраняйте данные в TDMS, структуру файла прорабатывайте на свой вкус.
Дизайн и логику программы для просмотра можете заложить любую: с редактированием и без, с сохранением картинок и без.
Так же по работе с TDMS посмотрите стандартные примеры Find- Examples - TDMS. Там есть примеры и для чтения, и для записи.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
expert
expert
 
Posts: 1080
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 302
hardware I/O VIP

Re: Работа с TDMS

Postby Borjomy_1 on 04 Jun 2019, 12:21

Опять-же, на работу с TDMS заточен пакет DIAdem. В том числе - автоматизированные отчеты.
Borjomy_1
expert
expert
 
Posts: 1896
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 329
VIP


Return to Для чайников

Who is online

Users browsing this forum: No registered users and 5 guests

cron