Генератор отчетов labview с использованием...
TRANSCRIPT
DR. BOB DAVIDOV
Генератор отчетов LabVIEW с использованием macros
Цель работы: освоение правил построения отчетов в LabView с использованием macros.
Задача работы: построение отчетов в LabView.
Приборы и принадлежности: LabView c NI Report Generation Toolkit, Microsoft Office.
ОБЩИЕ СВЕДЕНИЯ
LibView имеет средства генерации pdf и HTML документов.
Пакет NI Report Generation Toolkit обладает следующими возможностями. • Создание произвольных отчетов с помощью экспресс-функций Microsoft Office Report
Express VI • Примеры и заготовки шаблонов • Программное создание и редактирование отчетов в Microsoft Word и Excel • Отправка отчетов по электронной почте и выполнение макросов • Возможности вставки, форматирования, редактирования текста, таблиц, изображений
и графиков
Шаблоны
Создание больших отчетов со сложным форматированием – процесс, занимающий много времени. Лучший способ увеличить производительность – это создать шаблон отчета, содержащий компоненты, которые являются общими для всех отчетов и поля, которые будут заполняться данными.
Word и Excel, предоставляют различные способы для вставки пустых полей в документы. В Word, самый простой путь задать пустые поля, которые будут заполняться данными – это использовать закладки. В качестве пустых полей в Excel используются именованные диапазоны.
Создание собственных функций
Инструменты для создания отчетов содержат функции, которые можно использовать для вызова макросов на Visual Basic Applications непосредственно из LabVIEW. Эту возможность можно использовать для того, чтобы создать собственные функции управления отчетом.
Таблица. Типы отчетов и способы их распространения.
Standard HTML Word Excel
Print Да - Да Да
Save - Да Да Да
Email - - Да Да
Template - - Да Да
Во всех четырех типах отчетов можно использовать команды:
• Вставить текст • Вставить таблицы • Вставить изображение лицевой панели, элементов управления, рисунков из файлов • Вставить гиперссылку • Определить различные параметры слоев (заголовок, шрифт, ориентацию и т.п.)
Команды следующего списка могут пригодиться для управления выводом данных.
\a control-g, C-g \b backspace, <BS>, C-h \t tab, <TAB>, C-i \n newline, C-j \v vertical tab, C-k \f formfeed character, C-l \r carriage return, <RET>, C-m \e escape character, <ESC>, C-[ \s space character, <SPC> \\ backslash character, \ \d delete character, <DEL>
Рис. 1. Пример включения команды перевода строки \n в строковую переменную.
ПРИМЕРЫ СОЗДАНИЯ PDF И HTML ДОКУМЕНТОВ.
Примеры генерации pdf и HTML документов содержатся в следующих папках.
Рис. 2. Примеры генерации pdf и HTML документов.
Библиотека HTML.llb имеет два примера: HTML Report.vi и Sample Test Report.vi
Рис. 3. Содержимое библиотеки HTML.llb
Рис. 4. Результат HTML Report.vi
Рис. 5. Результат Sample Test Report.vi
Рис. 6. Содержимое библиотеки TextReport.llb
Рис. 7. Результат Text Report.vi
Рис. 8. Передняя панель и результат PrintControlReport.vi
Рис. 9 Содержимое библиотеки DIAdem Report Express VI.llb. Внимание: Для выполнения этих примеров требуются NI DIAdem 9.1 Service Pack 2 (или более поздняя версия) и Adobe Acrobat Reader. Можно переконфигурировать DIAdem Report Express VI на "Принтер" или
"HTML" печать если Acrobat Reader не установлен.
ПРИМЕРЫ СОЗДАНИЯ WORD И EXCEL ДОКУМЕНТОВ.
Примеры пакета NI Report Generation Toolkit можно найти в следующей папке.
Рис. 10. Папка примеров NI Report Generation Toolkit создания WORD и EXCEL документов.
XY Graph Template.doc
Shock Absorber Report Template.doc
Sound Power Test Report Template.doc
Excel Template.xls
Рис. 11. Примеры шаблонов “Template” для заполнения данными LabView.
Рис. 12. Содержимое библиотеки Excel Reports.llb
Следующий пример Conditionally Formatted Spreadsheet.vi создает новый xls документ, вставляет в него числовую таблицу и вызывает Excel Set Cell Format VI для заполнения таблицы числами. Числа менее 0.5 отображаются красным цветом, а числа, превышающие 0.5, – голубым.
Рис. 13. Блок диаграмма и выходной файл примера Conditionally Formatted Spreadsheet.vi
Рис. 14. Передняя панель, блок-диаграмма и выходной файл примера Generate Report From Template (Excel).vi
Рис. 15. Блок диаграмма и выходной файл примера Insert Formulas in Spreadsheet.vi. Этот пример показывает как вставлять формулы в worksheet для анализа данных.
Рис. 16. Передняя панель, блок-диаграмма и выходной файл примера Sample Report (Excel).vi
Рис. 17. Содержимое библиотеки MSGraph Reports.llb
Рис. 18. Передняя панель, блок-диаграмма и выходной файл примера Bar Graph (Excel).vi
Рис. 19. Блок-диаграмма и выходной файл примера Bar Graph (Word).vi. Пример демонстрирует как вставить график в Word документ и установить значение формата
процент (%).
Temperature variations
0.00
5.00
10.00
15.00
20.00
Jan
Feb
Mar
ch AprM
ay
temp (c)
X
Y
Z
0.00
2.00
4.00
6.00
8.00
10.00
12.00
14.00
16.00
18.00
20.00
Jan Feb March Apr May
temp (c)
X
Y
Z
Column Graph (Excel).vi, Column Graph (Word).vi
-1.5
-1
-0.5
0
0.5
1
1.5
0 14 28 42 56 70 84 98
data 1
data 2
-1.5
-1
-0.5
0
0.5
1
1.5
0 13 26 39 52 65 78 91
data 1
data 2
Line Graph (Excel).vi, Line Graph (Word).vi
array[0]
array[1]
array[2]
array[3]
array[0]
array[1]
array[2]
array[3]
Pie Graph (Excel).vi, Pie Graph (Word).vi
0.00
0.20
0.40
0.60
0.80
1.00
1.20
9:03:11 9:03:11 9:03:11 9:03:11 9:03:11 9:03:11
data 1
data 2
0.00
0.20
0.40
0.60
0.80
1.00
1.20
9:04:31
9:04:
31
9:04:
31
9:04:
31
9:04
:31
9:04
:31
data 1
data 2
Time-stamped Line Graph (Excel).vi, Time-stamped Line Graph (Word).vi
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
XY Graph (Excel).vi, XY Graph (Word).vi
Рис. 20. Примеры выходных файлов.
Рис. 21. Содержимое библиотеки Shock Absorber Performance Report.llb
Рис. 22. Передняя панель, блок-диаграмма и выходной файл примера Shock Absorber Performance Report.vi
Рис. 23. Передняя панель и блок-диаграмма примера Simulated Data.vi
Рис. 24. Содержимое библиотеки Word Reports.llb
Рис. 25. Выходной файл примера Conditionally Formatted Word Table.vi
Рис. 26. Выходной файл примера Generate Report From Template (Word).vi
Рис. 27. Многостраничный выходной файл примера Multipage report with index.vi
ПОДКЛЮЧЕНИЕ MACROS К ДОКУМЕНТУ MICROSOFT OFFICE.
Пример подключения macros Normal.NewMacros.Deleemptylines к шаблону..\Report\ Template.doc
1. Откройте ..\Report\ Template.doc
2. Нажмите <Alt>/<F11>
3. В открывшемся окне переименуйте ThisDocument на NewMacros как показано ниже.
4. Дважды щёлкните по
5. Вставьте в новое окно следующий macros:
Sub Deleemptylines() Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " p̂ p̂" .Replacement.Text = " p̂" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
6. Сохраните macros:
7. Закройте окно.
8. Проверьте что Normal.NewMacros.Deleemptylines в списке macros, для этого
8.1. Откройте ..\Report\ Template.doc > Tools > Customize >
затем откройте .
8.2. Убедитесь, что Normal.NewMacros.Deleemptylines существует.
9. Убедитесь, что macros удаляет пустые строки. Для этого введите пустые строки в шаблон и запустите Normal.NewMacros.Deleemptylines macros.
10. Включите в генератор отчета LabView вызов макроса
11. Запустите генератор отчета и проверьте как он заполняет шаблон и убирает пустые строки.
Задание 1. Разработать генератор отчета в формате Word документа.
1. Используя представленные выше сведения, создайте шаблон документа с расширением doc, например:
Рис. 28. Пример верхней и нижней частей шаблона doc.
2. Разработайте в LabView блок-схему генерации данных и заполнения шаблона, например:
Рис. 29. Пример фрагментов блок-схемы заполнения шаблона doc.
Рис. 30. Пример шаблона doc заполненного данными модели LabView в автоматическом режиме.
3. Подключите macros для удаления пустых к шаблону doc. Пример макроса удаления пустых строк и его подключение к шаблону описаны выше - в разделе “ОБЩИЕ СВЕДЕНИЯ: ПОДКЛЮЧЕНИЕ MACROS …”.
4. Включите вызов macros для удаления пустых строк в блок-схему LabView.
5. Проверьте работу генератора отчета.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. В каких случаях целесообразно создавать отчеты в автоматическом режиме?
2. Какие преимущества может дать использование Macros при создании отчетов? БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. NI справочная информация.