Разработка виртуального лабораторного стенда по стандартным интерфейсам измерительных систем

Обзор интерфейсов измерительных систем. Анализ интерфейсных функций типового прибора. Состав и структура лабораторного стенда по стандартным интерфейсам измерительных систем. Решение задачи по сопряжению измерительных приборов с компьютерной техникой.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.12.2019
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

2) Poweroff (рис. П 2.8) - переводит стенд в состояние выключения, все элементы передней панели, кроме тумблера сети, переходят в состояние Disabled and Grayed Out. Глобальные переменные, необходимые для управления родом работы двойным нажатием, обнуляются, а программной строке присваивается значение default (таблица П 3.1).После этого программа переходит в режим ожидания события Wait for event. Так как все элементы неактивны, пользователь может либо включить стенд, либо остановить программу кнопкой Stop. Событие выполняется при переводе тумблера "Power" на передней панели в состояние false.

3) Poweron (рис. П 2.9) - включение стенда. Все управляющие элементы становятся активными, включается подсветка дисплея, инициализируется проверка интерфейсных параметров - Transfer Checking. Событие выполняется при переводе тумблера "Power" на передней панели в состояние true.

4) Transfer Checking (рис. П 2.10) - на этом этапе производится проверка параметров передачи данных с помощью подприбора TransferSettingsCheck (разд. 4.2.4). На его вход поступает имя стенда, затем проверяется значение выхода "Checked?". Если проверка прошла успешно, то выполняется кейс ButtonReaction, иначе выводится соответствующее сообщение об ошибке и стенд выключается (Power off).

5) Button Reaction, Cluster Reaction (рис. П 2.11), Display Reaction - эта связка событий выполняется последовательно и позволяет стенду корректно реагировать на входную программную строку. На первом этапе в ВП Bench_programming (разд. 4.2.3) поступает ссылка на кластер основной программы, его свойства изменяются в зависимости от программной строки. Затем следует case "Cluster Reaction", который, при отсутствии ошибок, изменяет строку результата измерений и режима, при необходимости, или только режима, по средствам передачи соответствующей команды в программную строку. После этого происходит реакция дисплея передней панели на произошедшие изменения. Кейс "Button Reaction" задействуется только при нажатии кнопок и проверке интерфейсных параметров - то есть, при изменении программной строки.

6) U (рис. П 2.12),I,R,F,T - эти события выполняются при нажатии соответствующих кнопок. В каждом из нихпроисходит передача соответствующей программной строки, изменение формата индикации, а также, где это необходимо, проверка номера нажатия, чтобы реализовать переключение рода работы двойным нажатием кнопки.

7) Range Up, Range Down (рис. П 2.13) - кейсы, отвечающие за переключение диапазона измерений. Инициализируются при нажатии одноименных кнопок. Происходит сравнение текущего значения диапазона и максимального, если они отличаются - производится переключение, выполняется case "ClusterReaction".

8) Led ON/OFF (рис П 2.14) - включение/выключение подсветки индикатора. Выполняется при нажатии соответствующего тумблера, в зависимости от состояния которого происходит передача программной строки L0 или L1, изменяется параметр Text.BGColorдля дисплея.

9) Wait for Event (рис П 2.15) - основной case программы. Он содержит структуру Event Structure, которая реагирует на изменение значений элементов передней панели. Каждое изменение инициализирует последовательность событий (1-8), затем программа возвращается к данному этапу и опять ждет действий пользователя. В данном кейсе реализована потоковая передача данных в стенд: в случае активной сессии передачи, в EventCase "Timeout", который выполняется каждую секунду, происходит инициализация события Continious_Data_Transfering (рис П 2.16) - передача глобальных переменных Benchbuffer и TransferSettingsCheck в свойство Val(Sgnl) одноименных элементов передней панели. Затем выполняются соответствующие EventCase - "Benchbuffer Value Change", в котором производится проверка совпадения нового и старого значения индикатора, для избежания реакция на повторяющуюся строку, а затем выполняется событие проверки буфера и стенд реагирует на входящую строку. После этого срабатывает событие "TransferSettingsCheck Value Change", в котором запускается проверка интерфейсных параметров передачи.

10) Exit - остановка программы. Происходит по нажатию кнопки Stop на передней панели.

Таким образом, после запуска ВП и включения тумблера "Power" происходит непрерывная программная обработка входных данных, синхронизация управляющих элементов и ожидание действий пользователя. Такая структура программы верхнего уровня позволяет избежать перегрузки оперативной памяти, а также зависаний программы.

4.4 Компоненты-аналоги инструментов VISA

Для того, чтобы имитировать процесс взаимодействия с виртуальным стендом через инструменты палитры VISA, были созданы аналоги (рис. 27), которые полностью повторяют действия оригинальных прототипов, имеют схожие названия, с подписью "Sim" (Simulation), передние панели, иконки и терминалы.

Рис. 27. Библиотека VISA_SIM

Виртуальные приборы VISA_Configure_Sim, VISA_Close_Sim

Первый инструмент (рис.28) - аналог VISA-Configure. Передняя панель построена аналогичным образом, за исключением параметра flow control, который неактивен. Иконка инструмента выполнена аналогично исходной, с пометкой S, а все терминалы расположены абсолютно идентично. Принцип работы заключается в передаче интерфейсных параметров в одноимённые глобальные переменные, для их последующей проверки внутри Bench_Main (разд. 4.2.5). Инструмент работает только при отсутствии входной ошибки на терминале errorin. Также, при запуске программы, инициализируется начало сессии обмена данными с прибором - значение переменной TransferSession становится true. Блок-диаграмма изображена на рисунке П 2.17.

Рис.28. VISA_Configure_Sim

Чтобы завершить сеанс работы со стендом, используется ВП VISA_Close_Sim - аналог VISA_Close. Блок-диаграмма и иконка с назначением терминалов изображены на рисунке 29. Если наименование порта на входе VISA resource name совпадает с портом стенда, то переменной TransferSession присваивается значение false. В данном случае внутри стенда прекратится чтение глобальных переменных с информацией из внешних программ.

Рис. 29. VISA_Close_Sim

Виртуальные приборы VISA_Write_Sim, VISA_Read_Sim

Функционал инструментов взаимодействия с виртуальным стендом реализован через компоненты VISA_Write_Sim (рис. 30), для записи в буфер устройства, и VISA_Read_Sim (рис. 31), для чтения строки состояния. Программы выполняют свои функции только при активной сессии взаимодействия, совпадении наименовании порта подключения с портом стенда и отсутствии входных ошибок.

VISA_Write_Sim получает на входной терминал значение строки "write buffer"и передаёт его в глобальную переменную, ответственную за буфер устройства. Также, на выходе инструмента, можно получить численное значение длины строки буфера. Внутри данного модуля реализована имитация стандартных ошибок инструментов VISA. При возникновении несоответствия интерфейсных параметров сессии с внутренними настройками стенда, помимо изменения отображения информации на дисплее происходит изменение глобальной переменной VisaErrors. Например, при несовпадении настроек стоп-бит, переменная принимает значение "framing", далее на выход errorout поступает соответствующий код ошибки, и сообщение, соответствующие разделу справки LabVIEW "VISA Error Codes". Подобная реализация имитации программных ошибок позволяет легко добавлять или удалять дополнительные значения, подражая тем самым модели поведения реального инструмента. В дальнейшем можно скопировать эту часть блок-диаграммы в другие компоненты VISA_SIM, если такая необходимость появится.

Рис. 30. VISA_Write_Sim

VISA_Read_Sim возвращает на выход строки "read buffer" часть строки состояния стенда с длиною, равною значению на входном терминале "byte count". Кроме того, с выходного терминала "return count" можно получить реальное значение длины строки состояния.

Рис. 31. VISA_Read_Sim

Глава 5. Апробация виртуального стенда

Процесс апробации виртуального лабораторного стенда происходил на каждом этапе разработки. Финальная версия была протестирована с помощью созданных инструментов VISA_Sim (разд. 4.3).

Рис.32. Блок-диаграмма TEST

На блок-диаграмме специального ВП TEST.vi (рис.32) представлена схема теста устройства. На входные терминалы VISA_Configure_Sim подключены заведомо правильные интерфейсные параметры, символ окончания termination char отключен, для удобства ввода программных данных. После запуска подпрограммы, начинается сессия управления виртуальным стендом: в цикле while с помощью инструмента VISA_Write_Sim происходит запись с клавиатуры в буфер устройства, а индикатор VISA_Read_Sim отображает реакцию стенда на входные данные. По нажатию кнопки STOP сессия обмена данных с прибором заканчивается.

На вход стенда, через соответствующую глобальную переменную, подавались различные тестовые строки. Отслеживалась реакция виртуального прибора, способность воспринимать данные из внешней программы, а также корректность рабочих алгоритмов. Примеры тестовых строк с соответствующей реакцией стенда приведены в таблице 3.

Таблица 3. Тестирование виртуального стенда

Реакция стенда

Строка

B2

I1B1L1H2

F1

В ходе апробации были выявлены и устранены некоторые проблемы в ПО стенда - потоковый приём входных данных происходил не зависимо от состояния тумблера "Power", что было исправлено с помощью добавления проверки его свойства Value в EventCase "Timeout". В остальном прибор работает корректно - управление происходит из внешней программы, при этом оно также возможно с передней панели стенда, все элементы синхронизируются, выходные данные корректны, все инструменты обмена данных с прибором работают правильно.

Заключение

В ходе выполнения данной работы были решены задачи, необходимые для выполнения целей работы, а именно:

- были изучены основные стандартные интерфейсы и протоколы, которые используются для построения измерительных систем;

- проанализированы возможности среды LabVIEW по работе с интерфейсами, а также изучена программная архитектура NI-VISA;

- по результатам работы с реальным прибором - универсальным вольтметром В 7-65/2 выявлены типовые особенности поведения отечественных измерительных приборов и порядок работы с прибором через интерфейс EIA/TIA-232, который стал основой виртуального стенда;

- в среде NI LabVIEW разработан виртуальный лабораторный стенд по стандартным интерфейсам измерительных систем, в том числе:

– разработаны программные модули виртуального стенда (разд. 4.3);

– создана удобная передняя панель виртуального стенда (рис.15)

– разработаны и компоненты-аналоги инструментов VISA-Serial (разд. 4.4).

- виртуальный стенд протестирован (глава 5)

- подготовлены методические указания по работе с виртуальным стендом (приложение 3).

Достоинствами получившихся программных компонентов является простота использования и оптимизации. Изменяя значение глобальных переменных, ответственных за параметры интерфейса, можно эмулировать поведение различных приборов, а компоненты палитры VISA_Sim можно использовать для создания других виртуальных приборов - аналогов реальных устройств. Данное программное обеспечение и методические указания (приложение 3) могут быть использованы в курсе изучения разделов дисциплин по измерительным технологиям, для лабораторных и курсовых работ.

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

Список сокращений и условных обозначений

ПО - Программное обеспечение.

ВП - Виртуальный прибор.

КОП - Канал общего пользования.

ЭВМ - Электронно-вычислительная машина.

ASCII - American standard code for information interchange.

CIC - Controller-in-Charge.

COM - Communications port.

DCE - Data Communication Equipment .

DTE - Data Terminal Equipment.

EIA - Electronic Industries Alliance

GPIB - General Purpose Interface Bus

HP - Hewlett-Packard.

ISO - International Organization for Standardization.

ITU - International Telecommunication Union.

IVI - Interchangeable Virtual Instrument.

LabVIEW - Laboratory Virtual Instrument Engineering Workbench.

LXI - LAN eXtensions for Instrumentation.

NI - National Instruments.

PCI - Peripheral component interconnect.

PXI - PCI eXtension for Instrumentation.

SCL - Serial Clock.

SCPI - Standard Commands for Programmable Instruments.

SDA - Serial Data.

RS - Recommended Standard.

VISA - Virtual Instrument Software Architecture.

VI - Virtual Instrument.

Список литературы

1. Luft M., Cioc R., Pietruszczak D.. Integrated measurement system based the IEEE-488 bus. Elektro, 2012.

2. General Purpose Interface Bus. Institute of Electrical and Electronics Engineers, 1992.

3. Интерфейс IEEE488. IEC 60488. GPIB. [Электронный ресурс]. URL: http://www.softelectro.ru/ieee488.html (Дата доступа: 14.05.2019).

4. Lunca E., Salceanu A., Cretu M.. Implementing the I2C communication protocol in LabVIEW. Faculty of Electrical Engineering

5. Шина I2C и применение её в МК STM32. [Электронный ресурс]. URL:http://catethysis.ru/stm32_i2c/ (Дата доступа: 15.04.2019).

6. Caesar G. Integrating PXI with VXI, GPIB, USB, and LXI instrumentation. IEEE Autotestcon, 2005.

7. Платформа PXI. [Электронный ресурс]. URL: http://engineering-solutions.ru/products/pxi/ (Дата доступа: 14.05.2019).

8. Reggie R. & Detomasi S. PXI Platform Overview [Electronic resource]. URL: http://www.pxisa.org/files/resources/Presentations%20and%20

9. Tutorials/PXI_Overview.pdf (accessed: 04.04.2019).

10. Кузьминов А. Интерфейс RS232. Связь между компьютером и микроконтроллером. М: ДМК Пресс, 2006.

11. Machacek J., Drapela J. Control of serial port (RS-232) in LabVIEW. International Conference - Modern Technique and Technologies, 2008.

12. American National Standart. ANSI/TIA/EIA-232-F-1997 Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange. 1997

13. Обзор стандарта RS-232. [Электронный ресурс]. URL: http://www.gaw.ru/html.cgi/txt/interface/rs232/start.htm (Дата доступа: 04.04.2019).

14. RS232 - Национальная библиотека им. Н.Э. Баумана. [Электронный ресурс]. URL: https://ru.bmstu.wiki/RS-232 (Дата доступа: 04.04.2019).

15. Яшкардин В.Л. RS-485 - стандарт передачи данных по последовательному симметричному каналу. SoftElectro, 2009.

16. Knowledge Base / Neteon Industrial Networking [Electronic resource] URL: www.neteon.net/solutions/ (accessed: 04.04.2019).

17. RS-485 / Умный дом / stD [Электронный ресурс]. URL: https://istarik.ru/blog/ymniidom/71.html (Дата доступа: 15.04.2019).

18. Трэвис Д., Кринг Д. LabVIEW для всех. 4-издание, переработанное и дополненное. М.: ДМК Пресс, 2011.

19. Кудрин А.В. Использование программной среды LabVIEWдля автоматизации проведения физических экспериментов. Нижегородский государственный университет им. Н.И. Лобачевского, 2014

20. П.Блюм. LabVIEW: Стиль программирования. ДМК Пресс, 2008

21. Измерения в LabVIEW Руководство по применению, April 2003 Edition

22. Вольтметр универсальный В 7-65 (В 7-65/1, В 7-65/2). Руководство по эксплуатации. ОАО "МНИПИ".

Приложение 1.

Результаты анализа интерфейсных функций вольтметра B7-65/2

Программная строка

Поведение вольтметра

U2H0

U2H1

U2H2A1

U2H2Q1

U2H2W1

U2H2G1Q1W1

Z4H0

Z4H1

Z4H2

Приложение 2.

Программные компоненты стенда

Рис. П 2.1 Блок-диаграмма MeasResultString_(SubVI)

Рис. П 2.2 Блок-диаграмма ModeString_(SubVI)

Рис. П 2.3 Блок-диаграмма "Проверка символа окончания" Bench__programming_(SubVI)

Рис. П 2.4 Блок-диаграмма "Проверка правильности ввода" Bench__programming_(SubVI)

Рис. П 2.5 Блок-диаграмма "Программирование" Bench__programming_(SubVI)

Рис. П 2.6 Блок-диаграмма "Name check" TransferSettingsCheck_(SubVI)

Рис. П 2.7 Блок-диаграмма "Initialize"Bench_Main

Рис. П 2.8 Блок-диаграмма "Power off" Bench_Main

Рис. П 2.9 Блок-диаграмма"Power on" Bench_Main

Рис. П 2.10 Блок-диаграмма "Transfer Checking" Bench_Main

Рис. П 2.11 Блок-диаграмма "Cluster Reaction" Bench_Main

Рис. П 2.12 Блок-диаграмма "U" Bench_Main

Рис. П 2.13 Блок-диаграмма "Range Down" Bench_Main

Рис. П 2.14 Блок-диаграмма "Led ON/OFF" Bench_Main

Рис. П 2.15 Блок-диаграмма "Wait for Event" Bench_Main

Рис. П 2.16 Блок-диаграмма "Continious_Data_Transfering" Bench_Main

Рис. П 2.17 Блок-диаграмма VISA_Configure_Sim

Приложение 3.

Методические указания по работе с виртуальным стендом

Упражнение 1. Считывание данных с виртуального стенда

1. Откройте LabVIEW, создайте новый VI.

2. Откройте папку (библиотеку) с симулированными аналогами инструментов VISA_Sim. Перетащите VISA_Configure_Sim, VISA_Write_Sim, VISA_Read_Sim и VISA_Close_Sim на блок-диаграмму.

3. Для этого создайте для входов инструментов элементы управления (см. рис. П 3.1), для этого щелкните правой кнопкой мыши на нужном контакте, а затем Create - Control.

4. Соедините элементы, как показано на рис. П 3.1.

Рис. П 3.1

5. Перейдите к передней панели VI, аккуратно расположите получившиеся элементы.

6. Запустите виртуальный стенд Bench_Main.vi. Отметьте на его передней панели галочку в управляющем элементе "Advanced". Справа появится кластер с интерфейсными параметрами (рис. П 3.2) - запомните их.

7. Вернитесь к передней панели Interface Test.vi и укажите интерфейсные параметры. Также укажите VISA Resource Name: ASRL0::BENCH. Сохраните все введённые настройки как значения по умолчанию (меню Edit / Make Current Values Default).

8. Сохраните VI как Interface Test.vi и запустите его.

1.

Рис. П 3.2

9. Убедитесь, что виртуальный стенд Bench_Main.vi запущен.

10. Переведите тумблер "Power" в положение вверх. При правильной настройке интерфейсных параметров, стенд начнет работать в режиме "по умолчанию", на экране появится результат измерения. Если этого не произошло - остановите программу, проверьте корректность настройки интерфейсных параметров.

11. Передайте на виртуальный стенд код B2, введя его в строку "write buffer" на передней панели программы (подключена на одноименный вход инструмента VISA_Write_Sim). Стенд выдаст ошибку, проверьте значение по коду в табл. П 3.2.

12. Остановите Interface Test.vi, для поля "write buffer" включите представление "'/' Codes Display". Сохраните ВП и запустите его.

13. Убедитесь в получении строки режима работы прибора в поле "read buffer". Выделите полученную строку и скопируйте её в текстовый документ.

Упражнение 2. Программирование виртуального стенда

1. Измените параметры виртуального стенда, нажимая на кнопки его передней панели.

2. Вставьте полученную в упражнении 1 строку в окно "write buffer" на передней панели созданного ранее ВП.

3. Убедитесь, что программа работает корректно - стенд должен вернуться в состояние default.

4. Последовательно вводите произвольные коды различной длины, комбинируя символы из перечня (таблица П 3.1) и фиксируя изменения на передней панели виртуального стенда.

5. Передайте на прибор строку "F5". Зафиксируйте код ошибки, отображаемый на дисплее.

6. Руководствуясь таблицей П 3.1 подайте корректную строку для перевода прибора в режим измерения частоты.

7. Передайте прибору строку длиной 52 символа. Зафиксируйте код ошибки, отображаемый на дисплее.

8. Соотнесите полученные номера ошибок с таблицей П 3.2.

9. Зафиксируйте полученные результаты в отчёте.

Таблица П 3.1 Перечень программных символов

Программные символы

Реакция стенда

Род работы

U

Напряжение постоянное

V

Напряжение переменное

I

Ток постоянный

J

Ток переменный

R

Сопротивление двухпроводное

Z

Сопротивление четырехпроводное

F

Период

T

Частота

Диапазон измерения

0

200 мВ,Ом (1МГц и 50 мс)

1

2 В,кОм,А

2

20 В,кОм

3

200 В,кОм

4

2000 В,кОм

5

20 МОм

6

2 ГОм

Режим запуска

G0

запуск периодический

G1

запуск разовый

Режим АВП

A0

АВП выключен

A1

АВП включен

Фильтр

W0

фильтр выключен

W1

фильтр включен

Формат индикации

H0

3,5 разряда

H1

4,5 разряда

H2

5,5 разрядов

Периодическая коррекция нуля

N0

выключена

N1

включена

Вычисления

M0

выключен

M1

включен

Внешняя коррекция нуля

Q0

выключена

Q1

включена

Подсветка индикатора

L0

выключена

L1

включена

Звук

S0

выключен

S1

включен

Буфер

!!

очистить буфер

Строка default

U0G0A0W0S0H0M0N0L1Q0

Таблица П 3.2 Расшифровка ошибок устройства

Номер ошибки

Расшифровка

51

Нет стоп-бита

52

Нет чётности

53

Переполнение буфера

54

Неправильные программные данные

55

Не прошёл тест интерфейса

Таблица П 3.3 Результат измерения

Формат индикации

Выходные данные

5,5 разрядов

X.XXXXXE+/-0Y LF

4,5 разряда

X.XXXXE+/-0Y LF

3,5 разряда

X.XXXE+/-0Y LF

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.