понедельник, 18 февраля 2008 г.

Optical Spectrum Analyzer: сливаем данные

преамбула:

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

удалённое управление:

Первый этап, сохранение графиков, с анализатора спектра на флеш. Прибор может быть подключён к компу посредством Ethernet, rs-232, GP-IB, остановимся на первом варианте (последний - пока экзотика, а ком-порта у меня на ноуте нет). К анализатору предлагается хороший мануал с описанием команд, которые можно посылать прибору через любой из этих интерфейсов. Таким образом задача сводиться к отправке команд в прибор,и в некоторых случаях, к анализу ответа. В качестве инструмента я остановился на python-е, погуглил как с его помощью работать с сетью, постаивл доки по стандартным функциям языка.

постановка задачи:

Чего хотелось бы прямо сразу:

  1. Скрипт, который по заданному шаблону формировал имена для файлов с крафикой и с данными. (для каждого типа - свой фиксированный префикс файла, основная часть имени задаётся пользователем)
  2. Сохранение графики и указанных спектров (в csv) на флеш (напрямую по сети можно получить лишь сырые csv, но с другой стороны есть простые команды для сохранения всего на флеш, т.е. нет необходимости заморачиваться ещё и обработкой, так что выбираем второй вариант)
  3. Файловые операции: переход в рабочую директорию или её создание, если таковой не существует, создание директории формата ггммдд для сохранения всех файлов.

решение:

На скорую руку в течении дня дня написал скрипт, который более-менее справляется с поставленной задачей. Написан он сейчас крайне не оптимально, контроль ошибок - минимальный, нет контроля от перезаписи файлов. Выложил файлик OSA_storage.py, вскоре причешу его и положу обновлённый вариант. Вскоре буду организовывать запись и сохранение нескольких участков спектра. Буду рад замечаниям и предложениям.

Комментариев нет: