Автор работы: Пользователь скрыл имя, 18 Февраля 2013 в 14:24, дипломная работа
В настоящее время технологии сбора данных нашли самое широкое применение: от научно-исследовательских приложений до различных задач испытаний и автоматизации в промышленности. Для осуществления сбора данных ученые и инженеры используют персональные компьютеры (ПК) с шинами PCI, PXI, CompactPCI, PCMCIA, USB, FireWire, а также с последовательными и параллельными портами. Многие устройства сбора данных устанавливаются непосредственно в компьютер и передают данные напрямую в его память. В ряде задач используются удаленные устройства сбора данных, которые подключаются к ПК через сеть или через последовательный и параллельный порт.
ВВЕДЕНИЕ………………………………………………………………………..3
І ГЛАВА………………………………………………………………………...…4
Обзор существующих систем сбора данных.
Обоснование выбора и формулировка поставленной задачи……………..4
1.1.1 Типы и характеристики измеряемых сигналов………………....4
1.1.2 Персональный компьютер. Шины и порты,
используемые для передачи данных………………………………..…8
1.2. Средства решения задачи……………………………………………...14
1.2.1. Сом-порт: особенности, достоинства
и применение……………………………………………………….…14
1.2.2 Использование Visual Basic for Applications
при работе с Microsoft Excel………………………………………….18
ПОСТАНОВКА ЗАДАЧИ………………………………………………………31
ІІ ГЛАВА…………………………………………………………………………32
2.1 Практическое приложение
разработанного программного пакета………………………………….…32
2.1.1 Подключение СОМ-порта………………………………………32
2.1.2 Управление СОМ-портом из Excel……………………………..35
2.2. Установка «Запись объемных амплитудно-фазовых
голограмм на окрашенных щелочно-галоидных
кристаллах». Структура и задачи…………………………………….……40
ВЫВОДЫ……………………………………………………………………...…46
СПИСОК ЛИТЕРАТУРЫ……………………………………
Рис. 6 Подготовленный лист
Программа Excel, как в прочем и другие офисные программы от Microsoft (например, Word, Acsess и т.д.) имеют встроенную поддержку языка программирования VBA (Visual Basic For Application). Чтобы перейти в редактор программы дважды щелкните по кнопке "Открыть порт", ведь именно с нее начнется процесс выполнения программы.
Открывается редактор VBA, где появляется пустая заготовка кода для обработки события нажатия кнопки (Рис. 7).
Рис. 7 Окно редактора VBA
Прежде чем начнем непосредственно писать программу, необходимо подключить компонент MSComm. Для этого в редакторе VBA в меню необходимо выбрать Tools -> References....(Рис. 8).
Рис. 8 Диалоговое окно меню References
Далее, необходимо нажать кнопку Browse.. В появившемся окне выбора файлов найти компонент MSCOMM32.OCX - он должен находится в директории C:\Windows\system32\, нажать Открыть,а затем - кнопку Ok (Рис. 9).
Рис. 9 Диалоговое окно выбора файлов Add References
Далее необходимо написать код. Создаем экземпляр компонента для работы с портом, настраиваем его параметры и в конце открываем порт.
'Создаем экземпляр компонента для работы с портом
Dim USBDevice As New MSComm
Private Sub CommandButton1_Click()
'Настраиваем порт
USBDevice.CommPort = Val(TextBox1.Value)
USBDevice.Settings = "9600,N,8,1"
USBDevice.Handshaking = comNone
USBDevice.InputLen = 0
USBDevice.InBufferSize = 40
USBDevice.OutBufferSize = 40
USBDevice.RThreshold = 0
'Открываем порт
USBDevice.PortOpen = True
End Sub
Для обмена данными с устройством, последнему необходимо передавать команда и следом за ними, при необходимости, данные. Формат используемых команд приведен в таблице:
Команда |
Описание | |
Запись |
0x80 data 0x90 data 0xA0 data 0 data 1 |
Вывести данные data на выход 0 Вывести данные data на выход 1 Вывести данные data0 на выход 0 data1 на выход 1 |
Чтение |
0x81 0x91 0xA1 |
Ввести данные с входа 0 Ввести данные с входа 1 Ввести данные с входа 0 и входа 1 |
Далее для записи данных необходимо оформить процедуру в виде следующего кода:
Private Sub CommandButton2_Click()
'Выдаем команду чтения с входа 0 устройства $80 и читаем данные
USBDevice.Output = "$80"
TextBox3.Value = USBDevice.Input
'Выдаем команду чтения с входа 1 устройства $90 и читаем данные
USBDevice.Output = "$90"
TextBox4.Value = USBDevice.Input
TextBox2.Value = TextBox4.Value – TextBox3.Value
'Выдаем команду записи c выхода 0 устройства $81 и читаем данные
USBDevice.Output = "$81"
USBDevice. Output = TextBox3.Value
End Sub
Следующий код выполняет чтение данных с входов:
Private Sub CommandButton3_Click()
Sub TestForNext()
Пишем заголовок и тело цикла, в котором For - ключевое слово, означающее начало цикла; iCount - переменная, определяющая число повторений цикла; 1 - начальное значение счётчика; To - ключевое слово, разделяющее начальное и конечное значение счётчика; 4095 - конечное значение счётчика; Step - ключевое слово, определяющее шаг счётчика; 1 - шаг счётчика. В инструкции For Next ключевое слово Step является не обязательным. При его отсутствии, шаг выполнения счётчика будет равен 1 [12].
For I Count = 1 To 4095
'Выдаем команду записи c выхода 0 устройства $81 и читаем данные
USBDevice.Output = "$81"
USBDevice. Output = i
'Выдаем команду чтения с входа 0 устройства $80 и читаем данные
USBDevice.Output = "$80"
Range("В20"& і).Value = USBDevice.Input
'Выдаем команду чтения с входа 1 устройства "$90" и читаем данные
USBDevice.Output = "$90"
Range("C20"& і).Value = USBDevice.Input
Далее, ключевое слово, при достижении которого значение счётчика изменяется на величину шага, после чего управление опять переходит в начало цикла.
Next
End Sub
Данный макрос осуществляет периодическое выполнение необходимых процедур контроля записи голограмм.
2.2. Установка «Запись объемных амплитудно-фазовых голограмм на окрашенных щелочно-галоидных кристаллах». Структура и задачи
Основной задачей создаваемого макета является управление установкой «Записи объемных амплитудно-фазовых голограмм на окрашенных щелочно-галоидных кристаллах».
Внешний вид установки показан на Рис. 9, а ее оптическая схема – на Рис. 10.
Задачами устройства в установке (см. рис. 10.) являются:
Рис. 9 Внешний вид универсальной голографической установки для регистрации голограммных оптических элементов (ГОЭ).
Рис. 10 Принципиальная схема пространственной стабилизации записываемой интерференционной картины при регистрации трехмерных голограмм на фотохромных материалах
1 – лазер; 2 – делитель; 3 – зеркало, 3′ – зеркало, укрепленное на пьезокерамике; 4 – термостат с фотохромным о6разцом (голограммой), 5 – фотодиоды; 6 – осциллограф; 7 – анализатор (компьютер с устройством управления пъезокерамикой 3′).
Для автоматизации измерений универсальной голографической установки для регистрации голограммных оптических элементов был разработан и изготовлен блок сопряжения SUSB-DAC.
В простейшем случае это устройство представляет из себя цифро-аналоговый преобразователь (ЦАП) для управления пьезокерамикой с USB интерфейсом для подключения к персональному компьютеру.
Устройство реализовано на USB-мосте FT232RL (FTDI), микроконтроллере ATmega8 (Atmel) и цифро-аналоговом преобразователе DAC7513 (Texas Instruments). Была разработана прошивка для микроконтроллера, реализующая простой протокол обмена с ПК.
На рисунке 11 представлен внешний вид устройства и изготовленной печатной платы с элементами.
Рис.11 Внешний вид устройства и изготовленной печатной платы с элементами.
Основные функции интерфейса обеспечивает микропроцессор с собственной программой, а для программной оболочки прибора, реализованного на персональном компьютере устройство представляет собой виртуальный COM-порт. Программный обмен данными и управляющими словами осуществляется с помощью стандартных Win32 API функций.
Для полной автоматизации измерений и длительного мониторинга как быстрых так и квазистационарных процессов был разработан и изготовлен универсальный интерфейсный блок (рис. 12). Это устройство представляет собой двухканальный цифро-аналоговый преобразователь и двухканальный аналого-цифровой преобразователь (АЦП) с USB интерфейсом для подключения к ПК, совмещенных с восьмиканальным гальванически-развязанным коммутатором в одном устройстве. Применение коммутаторов позволяет проводить практическое любое активное воздействие на объект, например, при помощи электро-механических преобразователей. Кроме того возможно управление световыми пучками и самими источниками излучения.
Рис.12 Внешний вид изготовленного устройства и печатной платы с элементами.
Устройство использует USB-мост FT232RL (FTDI), микроконтроллер ATmega8 (Atmel), цифро-аналоговый преобразователь AD5322 (Analog Devices), аналого-цифровой преобразователь AD7924 (Analog Devices) и оптические реле G3VM-61G1 (OMRON). Прошивка для микроконтроллера обеспечивает реализацию таких функций как: непосредственный ввод-вывод информации с ПК, ввод-вывод информации в потоковом режиме, автономная от ПК генерация тестовых сигналов, автоматические измерения пиковых и среднеквадратичных значений, фазовые измерения, автоматическое проведение АЧХ-теста.
Макрос основного рабочего приложения позволяет проводить измерения сигналов, полученных с двух входов устройства и по определенному алгоритму вычислять, какие данные необходимо записывать в устройство для поддержания необходимых режимов для успешной записи голограмм. В процессе контроля записи голограмм, происходит отображение состояния, показанное на рис. 13.
Рис. 11 Лист МЕ, отображающий процессе контроля записи голограмм.
Контроль и управление голографической записью.
При быстром
изменении сдвига фаз в диапазоне
от 0 до 2π точка на экране будет
описывать эллипс, полуоси которого
пропорциональны величинам
Если не проводить искусственного сдвига фаз, то при полной стабилизации процесса записи рабочая точка находится на эллипсе в положении, обусловленном физикой записи. Для сред с локальным механизмом записи рабочая точка будет находится в области А для негативной записи, и В – для позитивной. Случайные процессы (вибрации, локальный нагрев частей голографической установки и т.д.) смещают точку из оптимального положения, при смещении на π начинается процесс затирания ранее записанной голограммы.
Поэтому задачей создаваемой системы активной стабилизации является удержание рабочей точки в заданных границах.
Эту задачу можно решить доступными в EXCEL средствами VBA, и это является наиболее простым методом программирования используемого нами устройства управления фазой опорного пучка. При этом преимуществом MS EXCEL является гибкость и простота управления данной среды, что позволяет упрощать сопровождение, совершенствование и модифицирование основного специализированного программного обеспечения. Кроме того, данная среда позволяет достаточно легко и быстро производить считывание внешних данных с использованием виртуального СОМ-порта
Таким образом, можем подытожить, что сбор данных начинается с оцифровки физического параметра, который надо измерить. Преобразователь, или датчик, - это прибор, который конвертирует физический параметр в измеримый электрический сигнал, такой как напряжение или сила тока. Оборудование для сбора данных действует как интерфейс между компьютером и внешним миром. Первоначально оно функционирует как прибор, который оцифровывает входящие аналоговые сигналы таким образом, чтобы компьютер мог их интерпретировать. Прочий функционал оборудования для сбора данных включает аналоговый выход, цифровой ввод/вывод, счетчики/таймеры, триггеринг и графики синхронизации. Программное обеспечение трансформирует ПК и оборудование для сбора данных в полностью завершенный механизм по сбору данных, их анализу, и визуализации.
Существует
два основных уровня ПО в системе
сбора данных: программный драйвер
и прикладное программное обеспечение.
Программный драйвер
Существует множество вариантов ПО, которые можно подобрать под конкретное оборудование по сбору данных. Утилиты, основанные на конфигурации, такие как NI LabVIEW SignalExpress, не требуют программирования, что делает проведение базовых измерений, регистрацию данных и анализ данных простыми в использовании. Не менее интересны и возможности, предоставляемые StrokeReader - ActiveX для управления последовательным портом.
При создании своего собственного приложения, можно выбирать из нескольких APIs для языков программирования, таких как LabVIEW, ANSI C/C++, C#, и Visual Basic .NET.
Незаменимой оказывается возможность писать код на основе Visual Basic для приложений в Microsoft Office Excel. Ведь VBA соединяет в себе все положительные черты самого простого языка программирования VB со всеми вычислительными возможностями Excel. VBA имеет полный доступ ко всем командам и структурам Excel. Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется посредством объектно-ориентированной модели кода и данных. С помощью этого кода входные данные будут мгновенно обрабатываться и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами.
Использование среды MS EXCEL на стадии отработки алгоритмов, формирования требований к функциям и сервисам специализированного программного обеспечения существенно сокращает затраты как программистов так и разработчиков аппаратных средств. Несомненным преимуществом является гибкость данной среды, что позволяет упрощать сопровождение, совершенствование и модифицирование основного специализированного программного обеспечения. Кроме того, данная среда позволяет проводить диагностику и локализацию неизбежных багов, появляющихся при создании больших проектов.
Опытная проверка
разработанных программных