ArcticSEA — различия между версиями
Korogodin (обсуждение | вклад) |
Dneprov (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
== Состав библиотеки == | == Состав библиотеки == | ||
+ | На данный момент в состав библиотеки входят 3 класса для управления приборами и класс для общения с навигационным модулем. | ||
+ | == Общие методы для всех классов управления приборами == | ||
+ | *'''SetConnection(IP, port)'''<br /> | ||
+ | Установка соединения с прибором <br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | IP, string - адрес устройства в сети<br /> | ||
+ | port - порт, для приборов Rohde & Schwarz port = 5025 <br /> | ||
+ | ''Возвращает:'' <br /> | ||
+ | 1, если соединение установлено успешно, иначе 0 | ||
+ | |||
+ | |||
+ | *'''CloseConnection'''<br /> | ||
+ | Закрытие соединения с прибором <br /> | ||
+ | ''Возвращает:'' <br /> | ||
+ | 1, если соединение закрыто успешно, иначе 0 | ||
+ | |||
+ | |||
+ | *'''SendCommand(strCommand)'''<br /> | ||
+ | Отправка команды в формате SCPI (т.е. как в документации на прибор) <br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | strCommand, string - команда в формате SCPI<br /> | ||
+ | ''Возвращает:'' <br /> | ||
+ | 1, если команда отправлена успешно, иначе 0. Если отправленная команда не может быть выполнена прибором (например, прибор не поддерживает заданную частоту), сообщение от прибора будет выведено в командную строку. | ||
+ | |||
+ | |||
+ | *'''SendQuery(strCommand)'''<br /> | ||
+ | Отправка запроса в формате SCPI<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | strCommand, string - запрос в формате SCPI, заканчивается вопросительным знаком<br /> | ||
+ | ''Возвращает:'' [Status, Result] <br /> | ||
+ | Status = 1, если запрос послан успешно, иначе 0. Result, string - ответ прибора на посланный запрос. | ||
+ | |||
+ | |||
+ | *'''GetIDN'''<br /> | ||
+ | Запрос информации о модели прибора, серийном номере<br /> | ||
+ | ''Возвращает:'' [Status, IDN] <br /> | ||
+ | Status = 1, если операция успешна, иначе 0. IDN, string - информация о модели прибора, серийном номере. | ||
+ | |||
+ | |||
+ | *'''Preset'''<br /> | ||
+ | Установка настроек прибора "по умолчанию", очистка лога ошибок<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''QueryError'''<br /> | ||
+ | Запрос ошибок<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если есть ошибки, сообщение прибора будет выведено в командную строку. 0 - ошибок нет. | ||
+ | |||
+ | |||
+ | == Классы == | ||
=== Класс CFSV === | === Класс CFSV === | ||
+ | ==== Описание ==== | ||
+ | Класс, созданный для управления анализатором спектра FSV. <br />На данный момент реализованы следующие возможности: <br /> | ||
+ | #Установка центральной частоты в режиме анализа спектра | ||
+ | #Установка полосы в режиме анализа спектра | ||
+ | #Измерение мощности сигнала в заданной полосе | ||
+ | ==== Методы ==== | ||
+ | *'''SetCenterFreq(Freq)'''<br /> | ||
+ | Установка центральной частоты в режиме анализа спектра<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | Freq - центральная частота, может быть как string 10GHz, так и число 10E9<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''SetSpan(Span)'''<br /> | ||
+ | Установка полосы в режиме анализа спектра<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | Span - полоса, может быть как string 10MHz, так и число 10E6<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''PowerMeasure(Bandwidth)'''<br /> | ||
+ | Измерение мощности сигнала в заданной полосе<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | Bandwidth - полоса измерения, может быть как string 10MHz, так и число 10E6<br /> | ||
+ | ''Возвращает:'' [Status, measure]<br /> | ||
+ | Status = 1, если операция успешна, иначе 0. measure - измеренная мощность, дБм. | ||
+ | |||
+ | |||
+ | === Класс CSMBV === | ||
==== Описание ==== | ==== Описание ==== | ||
+ | Класс, созданный для управления генератором сигналов SMBV. <br />На данный момент реализованы следующие возможности: <br /> | ||
+ | #Установка частоты сигнала | ||
+ | #Установка мощности сигнала | ||
+ | #Имитация сигналов заданного числа спутников(GPS, диапазон L1, расположение - Москва, статика, мощность всех сигналов одинакова) | ||
==== Методы ==== | ==== Методы ==== | ||
+ | *'''SetLevel(Level)'''<br /> | ||
+ | Установка мощности сигнала<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | Level - мощность сигнала, дБм<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''SetFreq(Freq)'''<br /> | ||
+ | Установка частоты сигнала<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | Freq - частота сигнала, может быть как string 10MHz, так и число 10E6<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''SetRFOutput(State)'''<br /> | ||
+ | Включение/выключение RF выхода<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | State, string - ON/OFF<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''SetGPS(SatNumber)'''<br /> | ||
+ | Имитация сигналов заданного числа спутников(GPS, диапазон L1, расположение - Москва, статика, мощность всех сигналов одинакова)<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | SatNumber - количество спутников<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | === Класс CRSC === | ||
+ | ==== Описание ==== | ||
+ | Класс, созданный для управления аттенюатором RSC. <br />На данный момент реализованы следующие возможности: <br /> | ||
+ | #Установка заданного ослабления | ||
+ | |||
+ | ==== Методы ==== | ||
+ | *'''SetAttenuation(ATT)'''<br /> | ||
+ | Установка заданного ослабления<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | ATT - ослабление, дБ<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | |||
+ | === Класс CReceiver === | ||
+ | ==== Описание ==== | ||
+ | Класс, созданный для работы с навигационными модулями. <br />На данный момент реализованы следующие возможности: <br /> | ||
+ | #Рестарт приемника (для GEOS - 3) | ||
+ | #Получение статуса решения и сохранение его в переменную класса FixType (для GEOS - 3) | ||
+ | #Чтение данных, посылаемых приемником по последовательному порту | ||
+ | |||
+ | ==== Методы ==== | ||
+ | *'''SerialConfig(COM, Baud)'''<br /> | ||
+ | Настройка соединения<br /> | ||
+ | ''Входные аргументы:''<br /> | ||
+ | COM,string - имя порта<br /> | ||
+ | Baud - скорость передачи данных<br /> | ||
+ | |||
+ | |||
+ | *'''SerialConnect'''<br /> | ||
+ | Соединение с приемником<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''RecieveString'''<br /> | ||
+ | Однократное чтение данных<br /> | ||
+ | ''Возвращает:'' [Answer]<br /> | ||
+ | строка данных | ||
+ | |||
+ | |||
+ | *'''SerialClose'''<br /> | ||
+ | Закрытие соединения<br /> | ||
+ | ''Возвращает:''<br /> | ||
+ | 1, если операция успешна, иначе 0 | ||
+ | |||
+ | |||
+ | *'''Reset'''<br /> | ||
+ | Перезагрузка приемника<br /> | ||
+ | |||
+ | |||
+ | *'''GetSolutionStatus''' <br /> | ||
+ | Получение статуса решения и сохранение его в переменную класса FixType (для GEOS - 3) | ||
+ | |||
== Пример использования == | == Пример использования == |
Версия 19:36, 6 марта 2013
ArcticSEA (System for Experiment Automatization) - библиотека функций в виде совокупности matlab-скриптов, предназначенных для проведения автоматизированных экспериментов и испытаний навигационной аппаратуры с помощью лабораторного оборудования.
Этой странице не хватает гламурной фотографии собранного стенда |
Содержание |
Цель
Состав библиотеки
На данный момент в состав библиотеки входят 3 класса для управления приборами и класс для общения с навигационным модулем.
Общие методы для всех классов управления приборами
- SetConnection(IP, port)
Установка соединения с прибором
Входные аргументы:
IP, string - адрес устройства в сети
port - порт, для приборов Rohde & Schwarz port = 5025
Возвращает:
1, если соединение установлено успешно, иначе 0
- CloseConnection
Закрытие соединения с прибором
Возвращает:
1, если соединение закрыто успешно, иначе 0
- SendCommand(strCommand)
Отправка команды в формате SCPI (т.е. как в документации на прибор)
Входные аргументы:
strCommand, string - команда в формате SCPI
Возвращает:
1, если команда отправлена успешно, иначе 0. Если отправленная команда не может быть выполнена прибором (например, прибор не поддерживает заданную частоту), сообщение от прибора будет выведено в командную строку.
- SendQuery(strCommand)
Отправка запроса в формате SCPI
Входные аргументы:
strCommand, string - запрос в формате SCPI, заканчивается вопросительным знаком
Возвращает: [Status, Result]
Status = 1, если запрос послан успешно, иначе 0. Result, string - ответ прибора на посланный запрос.
- GetIDN
Запрос информации о модели прибора, серийном номере
Возвращает: [Status, IDN]
Status = 1, если операция успешна, иначе 0. IDN, string - информация о модели прибора, серийном номере.
- Preset
Установка настроек прибора "по умолчанию", очистка лога ошибок
Возвращает:
1, если операция успешна, иначе 0
- QueryError
Запрос ошибок
Возвращает:
1, если есть ошибки, сообщение прибора будет выведено в командную строку. 0 - ошибок нет.
Классы
Класс CFSV
Описание
Класс, созданный для управления анализатором спектра FSV.
На данный момент реализованы следующие возможности:
- Установка центральной частоты в режиме анализа спектра
- Установка полосы в режиме анализа спектра
- Измерение мощности сигнала в заданной полосе
Методы
- SetCenterFreq(Freq)
Установка центральной частоты в режиме анализа спектра
Входные аргументы:
Freq - центральная частота, может быть как string 10GHz, так и число 10E9
Возвращает:
1, если операция успешна, иначе 0
- SetSpan(Span)
Установка полосы в режиме анализа спектра
Входные аргументы:
Span - полоса, может быть как string 10MHz, так и число 10E6
Возвращает:
1, если операция успешна, иначе 0
- PowerMeasure(Bandwidth)
Измерение мощности сигнала в заданной полосе
Входные аргументы:
Bandwidth - полоса измерения, может быть как string 10MHz, так и число 10E6
Возвращает: [Status, measure]
Status = 1, если операция успешна, иначе 0. measure - измеренная мощность, дБм.
Класс CSMBV
Описание
Класс, созданный для управления генератором сигналов SMBV.
На данный момент реализованы следующие возможности:
- Установка частоты сигнала
- Установка мощности сигнала
- Имитация сигналов заданного числа спутников(GPS, диапазон L1, расположение - Москва, статика, мощность всех сигналов одинакова)
Методы
- SetLevel(Level)
Установка мощности сигнала
Входные аргументы:
Level - мощность сигнала, дБм
Возвращает:
1, если операция успешна, иначе 0
- SetFreq(Freq)
Установка частоты сигнала
Входные аргументы:
Freq - частота сигнала, может быть как string 10MHz, так и число 10E6
Возвращает:
1, если операция успешна, иначе 0
- SetRFOutput(State)
Включение/выключение RF выхода
Входные аргументы:
State, string - ON/OFF
Возвращает:
1, если операция успешна, иначе 0
- SetGPS(SatNumber)
Имитация сигналов заданного числа спутников(GPS, диапазон L1, расположение - Москва, статика, мощность всех сигналов одинакова)
Входные аргументы:
SatNumber - количество спутников
Возвращает:
1, если операция успешна, иначе 0
Класс CRSC
Описание
Класс, созданный для управления аттенюатором RSC.
На данный момент реализованы следующие возможности:
- Установка заданного ослабления
Методы
- SetAttenuation(ATT)
Установка заданного ослабления
Входные аргументы:
ATT - ослабление, дБ
Возвращает:
1, если операция успешна, иначе 0
Класс CReceiver
Описание
Класс, созданный для работы с навигационными модулями.
На данный момент реализованы следующие возможности:
- Рестарт приемника (для GEOS - 3)
- Получение статуса решения и сохранение его в переменную класса FixType (для GEOS - 3)
- Чтение данных, посылаемых приемником по последовательному порту
Методы
- SerialConfig(COM, Baud)
Настройка соединения
Входные аргументы:
COM,string - имя порта
Baud - скорость передачи данных
- SerialConnect
Соединение с приемником
Возвращает:
1, если операция успешна, иначе 0
- RecieveString
Однократное чтение данных
Возвращает: [Answer]
строка данных
- SerialClose
Закрытие соединения
Возвращает:
1, если операция успешна, иначе 0
- Reset
Перезагрузка приемника
- GetSolutionStatus
Получение статуса решения и сохранение его в переменную класса FixType (для GEOS - 3)
Пример использования
Описание твоего эксперимента, можно привести листинг основного скрипта
Ссылки
Ссылка на репозиторий