Отчет Шергина В. о работе за 1997 год. Работа с В.Рухлевым. Разработка программного набора MODA для моделирования процессов управления БТА. MODA создавалась под ОС Linux как развитие принципов моделирования в реальном времени разработанных В.Рухлевым и реализованных в программе А.Назаренко DIANA/DOS. Цели разработки: - ориентация на UNIX-like системы; - расширенный, более удобный формат описания схемы; - расширенные функциональные возможности (больший набор блоков и "бесконечная" схема); - более гибкая организация ввиде расширяемого набора программ на основе простого стандарта передачи "многоканальных сигналов" через файлы или pipe-каналы; - проработка вариантов синхронизации с настоящим реальным временем; - реализация интерпретатора схем с набором элементарных блоков ввиде библиотеки Си-функций готовой для включения в реальную программу управления. Состав: imoda - интерпретатор/исполнитель схем; xmoda - "многоканальный" визуализатор под X11; vmoda - ------ "" -------- прямо на SVGA-консоли; psp - рассчет спектров колебаний; adc4 - программа Р.Бахтеева формирующая 4-х канальный выход с платы АЦП PCL818 для подключения датчиков Рухлева. Использование: Проводились первые пробные наблюдения c записью показаний датчиков на подвеске БТА и анализом колебаний в разных режимах работы телескопа. Не смотря на печальное отбытие В.Рухлева программы частично используются мной при работе по новому МО АСУ БТА для: - графического представления работы температурных датчиков; - графического представления данных (например скоростей) в первой исседовательско-тестовой программе управления БТА под ОС Linux; - подготовки модели приводов и отработки принципов работы с датчиками положения для использования в программе управления. Работы по АСУ БТА. Исследование основной программы управления в рамках имеющихся текстов: - разбор принципов работы основных алгоритмов в режимах наведения и ведения, выяснение ситуаций плохой работы на реальном телескопе (например: скорость 40"/сек по Az, точки элонгации т.е. смена направления Az, коррекция на очень малых и очень больших скоростях Az); - поиск некорректностей в алгоритмах и ошибок в программе, например: разрывная функция отработки рассогласования и ошибка в цифровом фильтре рассогласований Az; сбои датчиков контролируются уже после использования в управлении, а сообщение оператору выдается по 10-му сбою (хоть за всю ночь); накопление изодрома(т.е.интеграла от рассогласования) включается сразу после отпускания кнопки коррекции, что его портит; алгоритм обратного пересчета через 2-3 сек. после окончания коррекции (когда все уже должно успокоится) наоборот начинает "гонять" телескоп еще 6-10 секунд; хитро "закопанная" константа согласования грубого и точного отсчета Z; Считывание нового датчика ДУП положения фокуса БТА: - исследование особенностей разработанного в АСУ контроллера передачи последовательного кода, разработка алгоритма управления оным, добавка в программу теста БТА проверки датчика фокуса; - вставка считывания положения фокуса в основную программу, исправление однократных сбоев передачи кода и обнаружение многократных, исследование и исправление нелинейной систематической ошибки (достигнутая точность ~0.02мм), индикация положения фокуса для оператора (тут возник побочный эффект: иногда при смене оператором режимов индикации возможен сбой ведения), передача положения фокуса во вторую машину АСУ в аппаратной; Модернизация в основной программе АСУ блока связи с серверной машиной в аппаратной: - переход на скорость 38000; - помехозащищенный пакетный протокол передачи информации в сервер, передача вставлена в прерывания 50Гц (тики 3, 8, 13, ... и т.д), 10 пакетов фиксированного состава в секунду (т.е. большинство значений обновляются раз в секунду, а некоторые чаще), каждый пакет с шапкой и контрольной суммой, сбойные пакеты просто отбрасываются (подтверждений нет); - помехозащищенный протокол приема данных от сервера, прием вставлен в 10-ти герцовую программу чтобы в будущем иметь возможность быстрой реакции на команды упраления, сейчас есть прием координат "подготавливаемой звезды" и данных Az/Z коррекции, при правильном приеме в поток передачи вставляется код подтверждения, при обнаружении ошибки данные отбрасываются и передается код сбоя (программа на сервере должна повторить передачу); Доработка серверного МО в аппаратной: - реализация в центральной серверной программе БТА (bta_serv на сервере в аппаратной tb.bta.sao.ru) поддержки еще одного RS232-канала и протокола обмена с управляющей машиной АСУ; - дополнение сетевого протокола обмена с клиентами через TCP-связи командами передачи координат обьектов и данных для Az/Z коррекции; Модернизация программ-клиентов которые работая на машинах в сети САО реализуют для конечных пользователей сетевой доступ к АСУ БТА: bta_client - X11 GUI обеспечивающий индикацию основных параметров: связь с управляющей программой АСУ (Есть/Нет), режим (наведение / ведение / ошибка в допуске), выбранный фокус (СПФ/Н1/Н2), положение П2 рассчетное и реальное, состояние привода П2 (Вкл/Выкл), время звездное и московское, текущие координаты объекта (откорректированные), исходные координаты объекта (введенные), поправки коррекции, подготовленные координаты (переданные), положение по Az/Z рассчетное и реальное, текущее рассогласование и скорость по Az/Z, положение фокуса; кроме того bta_client дает доступ к КАМАК-реализации пульта наблюдателя и через него позволяет: фокусировать телескоп, включать ручную коррекцию Az/Z, управлять П2; alp_del - передача коодинат из командных файлов; az_corr - коррекция по Az/Z из командных файлов; ad_corr - коррекция по Alpha/Delta из командных файлов; acs_bta - считывание параметров АСУ, передача коодинат и коррекции по Az/Z через файлы на диске, т.е. это сетевой (NFS) интерфейс для систем сбора под DOS; telescope - X11 GUI позволяющий: работать с файлами со списками координат обьектов, выбирать координаты из списка, вводить вручную, получать текущие координаты и поправки коррекции с АСУ, пересчитывать координаты со стандартной эпохи на текущую дату и обратно, вставлять в список, передавать координаты в АСУ, либо прямо, либо с пересчетом за поправки по Alpha/Delta или Az/Z, передавать в АСУ требуемые значения Az и Z с пересчетом в Alpha/Delta-координаты некоего "обьекта", запускать в программе АСУ коррекцию Alpha/Delta или Az/Z на нужное расстояние; Изучение аппаратуры системы управления: Разработка первых исседовательско-тестовых программ управления телескопом под ОС Linux: - установка ОС Linux на обе управляющие машины АСУ, подключение их через Ethernet в сеть САО и в Internet; - программа termo чтения (с АЦП PCL818) и индикации температурных датчиков для операторов; - освоение использования POSIX.1b средств реального времени в Linux; - разработка и отладка набора функций для управления телескопом через карты PCL722 и PCL730; - разработка программы одновременного чтения всех датчиков положения (определение состояния "Выкл.УСО",параллельное считывание всех ППНДД, контроль кодов ППНДД и ДУП, коррекция одиночных сбоев); - разработка алгоритма представления положения телескопа как полинома 2-й степени от времени (с помощью итераивного метода наименьших квадратов, дающего взвешенную апроксимацию нескольких последних показаний датчиков положения). P.S. А вообще-то я восновном занимался дочкой ...