Здравствуйте, первый раз сталкиваюсь с хранением в базах данных, решил остановиться на tdms. Нужно сохранять отчеты (генерируемые раз в несколько минут). Решил делать так - TDMS-файл за месяц, в нем группы - номер отчета; в них 2 канала - основные данные и подробные данные.
Пара вопросов:
1) будет ли доступ для записи к уже открытому файлу отчета?
2) где можно посмотреть, как создать форму отчета для отображаемых данных (с возможностью печати)
3) можно ли там хранить разные типы данных (например значение потребляемого тока и рядом скриншот с экрана)?
Вообще, TDMS для этого лучший вариант? Майкрософт офис не установлен, поэтому экспорт в ексель не подойдет. К тому же мне надо, чтобы просто так сторонним людям файл нельзя было отредактировать
И, может быть, где-нибудь можно найти руководство по работе с TDMS?
Работа с TDMS
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Работа с TDMS
Добрый день! Как я понимаю, Вам нужно самостоятельно генерировать отчеты, вести их историю и давать возможность редактирования в некоторых случаях?
Основное преимущество TDMS-формата - это возможность синхронной/асинхронной записи/чтения в один файл нескольких потоков данных, которые поступают с разной частотой. Вы верно отметили, что TDMS даёт возможность создавать группы и страницы для экспортируемых/импортируемых данных. Вставлять картинки в TDMS файл у Вас не получится, только исходные данные этого изображения(если это график - то его отсчеты по Х и по Y, т.е. цифровое представление). Сам файл TDMS возможно открывать с помощью Exel.
Далее, у Вас отдельным особняком есть требование к возможности редактирования. Это можно настроить на уровне ОС(запрет для редактирования), а можно попробовать посмотреть в сторону генерации отсчета в .pdf(в явном виде при открытии штатными средствами редактировать его не будет возможности). Однако, у меня лично не было опыта генерации отсчетов в таком формате, особенно с вставкой картинок в требуемых местах(не от балды).
В общем случае, понятие базы данных несколько обширнее и выходит за рамки TDMS-формата.
1) Да, вы можете проводить запись в открытый файл. Под записью имеется ввиду, что программа сможет записывать в файл, если он у Вас будет открыт фоном. Однако, результат Вы увидите только после закрытия и повторного открытия файла. Перед закрытием Вам будет предложено сохранить текущую книгу, т.к. в неё были внесены изменения из вне. Если откажитесь сохраняться, то предыдущие данные будут потеряны, а на их месте появятся новые.
2) Форма отчета на основе TDMS: обычно для этих целей пишут дополнительный программный модуль "Просмоторщик". В нём Вы самостоятельно определяете дизайн и форму представления на основе вычитанных данных из файла.
3) Разные типы данных хранить можно, но не разные представления информации. То есть изображение(в виде визуальной картинки)- это одна форма представления информации, числа - вторая, текст - третья.
Если не смущает отсутствие полной автоматизации по созданию отчета, попробуйте примерно так: создаем файл с исходными данными, пишем. Для редактирования/сохранения отчета используется отдельное приложение или программный модуль. Этот модуль представляет из себя реализацию чтения данных из tdms файла, построение графиков и автоматический скриншот FP с сохранением(Report Generation Toolkit, Easy Print Front Panel.vi). Таким образом отчет для пользователя - это скрин, а для администратора - это приложение с возможностью редактирования.
Более гибким будет решение в виде одной кнопки: мол, нажал её и отчет автоматически сгенерировался. Однако, простота использования с точки зрения пользователя - это кошмар для разработчика. Можно и с html-отчетом заморочиться
Основное преимущество TDMS-формата - это возможность синхронной/асинхронной записи/чтения в один файл нескольких потоков данных, которые поступают с разной частотой. Вы верно отметили, что TDMS даёт возможность создавать группы и страницы для экспортируемых/импортируемых данных. Вставлять картинки в TDMS файл у Вас не получится, только исходные данные этого изображения(если это график - то его отсчеты по Х и по Y, т.е. цифровое представление). Сам файл TDMS возможно открывать с помощью Exel.
Далее, у Вас отдельным особняком есть требование к возможности редактирования. Это можно настроить на уровне ОС(запрет для редактирования), а можно попробовать посмотреть в сторону генерации отсчета в .pdf(в явном виде при открытии штатными средствами редактировать его не будет возможности). Однако, у меня лично не было опыта генерации отсчетов в таком формате, особенно с вставкой картинок в требуемых местах(не от балды).
В общем случае, понятие базы данных несколько обширнее и выходит за рамки TDMS-формата.
1) Да, вы можете проводить запись в открытый файл. Под записью имеется ввиду, что программа сможет записывать в файл, если он у Вас будет открыт фоном. Однако, результат Вы увидите только после закрытия и повторного открытия файла. Перед закрытием Вам будет предложено сохранить текущую книгу, т.к. в неё были внесены изменения из вне. Если откажитесь сохраняться, то предыдущие данные будут потеряны, а на их месте появятся новые.
2) Форма отчета на основе TDMS: обычно для этих целей пишут дополнительный программный модуль "Просмоторщик". В нём Вы самостоятельно определяете дизайн и форму представления на основе вычитанных данных из файла.
3) Разные типы данных хранить можно, но не разные представления информации. То есть изображение(в виде визуальной картинки)- это одна форма представления информации, числа - вторая, текст - третья.
Если не смущает отсутствие полной автоматизации по созданию отчета, попробуйте примерно так: создаем файл с исходными данными, пишем. Для редактирования/сохранения отчета используется отдельное приложение или программный модуль. Этот модуль представляет из себя реализацию чтения данных из tdms файла, построение графиков и автоматический скриншот FP с сохранением(Report Generation Toolkit, Easy Print Front Panel.vi). Таким образом отчет для пользователя - это скрин, а для администратора - это приложение с возможностью редактирования.
Более гибким будет решение в виде одной кнопки: мол, нажал её и отчет автоматически сгенерировался. Однако, простота использования с точки зрения пользователя - это кошмар для разработчика. Можно и с html-отчетом заморочиться
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- user
- Сообщения: 74
- Зарегистрирован: 29 апр 2016, 09:22
- Версия LabVIEW: 8.6
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: Работа с TDMS
Спасибо. А нет мануала по этому формату? Как им пользоваться, как подавать данные, и т.д.
И еще - скриншоты имелось в виду данные формата image data (двухмерный массив) или его преобразованные виды типа pixmap - с возможностью потом посмотреть в просмотрщике.
А автоматизация нужна такая - закончена проверка и программа автоматом записывает данные в файл, но просматривать результат нужно потом вручную из просмотрщика результатов. Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)
И еще есть ли возможность сделать файл более иерархичного вида, чтобы было не только 3 уровня (файл, группа, канал), а больше, например: файл с отчетами->конкретный отчет->тест №Х->результат->подробности (измеренные значения)?
И еще - скриншоты имелось в виду данные формата image data (двухмерный массив) или его преобразованные виды типа pixmap - с возможностью потом посмотреть в просмотрщике.
А автоматизация нужна такая - закончена проверка и программа автоматом записывает данные в файл, но просматривать результат нужно потом вручную из просмотрщика результатов. Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)
И еще есть ли возможность сделать файл более иерархичного вида, чтобы было не только 3 уровня (файл, группа, канал), а больше, например: файл с отчетами->конкретный отчет->тест №Х->результат->подробности (измеренные значения)?
Последний раз редактировалось GT21 03 июн 2019, 13:32, всего редактировалось 2 раза.
LabVIEW 8.6
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Работа с TDMS
Посмотрите: http://www.ni.com/product-documentation/3727/ru/GT21 писал(а):Спасибо. А нет мануала по этому формату? Как им пользоваться, как подавать данные, и т.д.
там все понятно.
Изображения записать можно, но именно как массив.GT21 писал(а):И еще - скриншоты имелось в виду данные формата image data (двухмерный массив) или его преобразованные виды типа pixmap - с возможностью потом посмотреть в просмотрщике.
В качестве исходника просмотрщика и вообще для понимания структуры TDMS посмотрите стандартный пример:
TDMS - File Viewer.vi
Отчет можно и в PDF и в ODF (OpenOffice) и в HTML сделать, но ничто не защитит его от редактирования.GT21 писал(а):Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)
Продумайте структуру более грамотно.GT21 писал(а):И еще есть ли возможность сделать файл более иерархичного вида, чтобы было не только 3 уровня (файл, группа, канал), а больше, например: файл с отчетами->конкретный отчет->тест №Х->результат->подробности (измеренные значения)?
Скорее всего и № и название теста и подробности можно записать в теги.
А вот сами данные (то что множественное значение), то писать в данные.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Работа с TDMS
В таком случае нет никаких проблем. Сохраняйте данные в TDMS, структуру файла прорабатывайте на свой вкус.GT21 писал(а): А автоматизация нужна такая - закончена проверка и программа автоматом записывает данные в файл, но просматривать результат нужно потом вручную из просмотрщика результатов. Редактировать как раз нельзя допускать (майкрософт офис не установлен, надеюсь открываться вне программы не будет)
Дизайн и логику программы для просмотра можете заложить любую: с редактированием и без, с сохранением картинок и без.
Так же по работе с TDMS посмотрите стандартные примеры Find- Examples - TDMS. Там есть примеры и для чтения, и для записи.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Работа с TDMS
Опять-же, на работу с TDMS заточен пакет DIAdem. В том числе - автоматизированные отчеты.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 1 Ответы
- 1029 Просмотры
-
Последнее сообщение Artem.spb
-
- 16 Ответы
- 3263 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 220 Просмотры
-
Последнее сообщение Andrew Lunev