ArcticSEA — различия между версиями

Материал из SRNS
Перейти к: навигация, поиск
Строка 2: Строка 2:
 
{{notice|Этой странице не хватает гламурной фотографии собранного стенда}}
 
{{notice|Этой странице не хватает гламурной фотографии собранного стенда}}
 
== Цель ==
 
== Цель ==
 
+
Приборы Rohde & Schwarz позволяют достаточно просто управлять собой через локальную сеть. При этом некоторую сложность представляет огромное число специфичных команд управления, отвечающих стандарту SCPI (Standard Commands for Programmable Instruments). Цель создания данной библиотеки - написать классы - фасады, методы которых позволят выполнять необходимые действия с приборами без явного использования команд SCPI.
 +
  
 
== Состав библиотеки ==
 
== Состав библиотеки ==
Строка 8: Строка 9:
  
 
== Общие методы для всех классов управления приборами  ==
 
== Общие методы для всех классов управления приборами  ==
*'''SetConnection(IP, port)'''<br />
 
Установка соединения с прибором <br />
 
''Входные аргументы:''<br />
 
IP, string - адрес устройства в сети<br />
 
port - порт, для приборов Rohde & Schwarz port = 5025 <br />
 
''Возвращает:'' <br />
 
1, если соединение установлено успешно, иначе 0
 
  
 
+
{|table class="wikitable collapsible collapsed"
*'''CloseConnection'''<br />
+
! colspan ="3"|Общие методы классов управления приборами
 +
|-
 +
! Метод
 +
! Входные аргументы
 +
! Возвращает
 +
|-
 +
|'''SetConnection(IP, port)'''<br />Установка соединения с прибором <br />||IP, string - адрес устройства в сети<br />port - порт, для приборов Rohde & Schwarz port = 5025||1, если соединение установлено успешно, иначе 0
 +
|-
 +
|'''CloseConnection'''<br />
 
Закрытие соединения с прибором <br />
 
Закрытие соединения с прибором <br />
 
''Возвращает:'' <br />
 
''Возвращает:'' <br />
 
1, если соединение закрыто успешно, иначе 0
 
1, если соединение закрыто успешно, иначе 0
 
+
|-
 
+
|'''SendCommand(strCommand)'''<br />
*'''SendCommand(strCommand)'''<br />
+
 
Отправка команды в формате SCPI (т.е. как в документации на прибор) <br />
 
Отправка команды в формате SCPI (т.е. как в документации на прибор) <br />
 
''Входные аргументы:''<br />
 
''Входные аргументы:''<br />
 
strCommand, string - команда в формате SCPI<br />
 
strCommand, string - команда в формате SCPI<br />
 
''Возвращает:'' <br />
 
''Возвращает:'' <br />
1, если команда отправлена успешно, иначе 0. Если отправленная команда не может быть выполнена прибором (например, прибор не поддерживает заданную частоту), сообщение от прибора будет выведено в командную строку.  
+
1, если команда отправлена успешно, иначе 0. Если отправленная команда не может быть выполнена прибором (например, прибор не поддерживает заданную частоту), сообщение от прибора будет выведено в командную строку.
 
+
|}
  
 
*'''SendQuery(strCommand)'''<br />
 
*'''SendQuery(strCommand)'''<br />

Версия 11:53, 10 марта 2013

ArcticSEA (System for Experiment Automatization) - библиотека функций в виде совокупности matlab-скриптов, предназначенных для проведения автоматизированных экспериментов и испытаний навигационной аппаратуры с помощью лабораторного оборудования.

Blue check.png Этой странице не хватает гламурной фотографии собранного стенда


Содержание

Цель

Приборы Rohde & Schwarz позволяют достаточно просто управлять собой через локальную сеть. При этом некоторую сложность представляет огромное число специфичных команд управления, отвечающих стандарту SCPI (Standard Commands for Programmable Instruments). Цель создания данной библиотеки - написать классы - фасады, методы которых позволят выполнять необходимые действия с приборами без явного использования команд SCPI.


Состав библиотеки

На данный момент в состав библиотеки входят 3 класса для управления приборами и класс для общения с навигационным модулем.

Общие методы для всех классов управления приборами

  • 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.
На данный момент реализованы следующие возможности:

  1. Установка центральной частоты в режиме анализа спектра
  2. Установка полосы в режиме анализа спектра
  3. Измерение мощности сигнала в заданной полосе

Методы

  • 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.
На данный момент реализованы следующие возможности:

  1. Установка частоты сигнала
  2. Установка мощности сигнала
  3. Имитация сигналов заданного числа спутников(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.
На данный момент реализованы следующие возможности:

  1. Установка заданного ослабления

Методы

  • SetAttenuation(ATT)

Установка заданного ослабления
Входные аргументы:
ATT - ослабление, дБ
Возвращает:
1, если операция успешна, иначе 0


Класс CReceiver

Описание

Класс, созданный для работы с навигационными модулями.
На данный момент реализованы следующие возможности:

  1. Рестарт приемника (для GEOS - 3)
  2. Получение статуса решения и сохранение его в переменную класса FixType (для GEOS - 3)
  3. Чтение данных, посылаемых приемником по последовательному порту

Методы

  • SerialConfig(COM, Baud)

Настройка соединения
Входные аргументы:
COM,string - имя порта
Baud - скорость передачи данных


  • SerialConnect

Соединение с приемником
Возвращает:
1, если операция успешна, иначе 0


  • RecieveString

Однократное чтение данных
Возвращает: [Answer]
строка данных


  • SerialClose

Закрытие соединения
Возвращает:
1, если операция успешна, иначе 0


  • Reset

Перезагрузка приемника


  • GetSolutionStatus

Получение статуса решения и сохранение его в переменную класса FixType (для GEOS - 3)


Пример использования

Описание твоего эксперимента, можно привести листинг основного скрипта

Ссылки

Ссылка на репозиторий

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты