next up previous contents
Next: Интерфейс панели управления. Up: No Title Previous: Предисловие.

Архитектура МО.

\resizebox*{0.94\textwidth}{!}{\includegraphics{SEW_CAN_arc.eps}}

Программа взаимодействия с приводами, bta_sew_can, работает на компьютере acs1 и является клиентом для главной управляющей программы bta_control.

Главной функцией программы bta_sew_can является преобразование скоростей, которые главная управляющая программа расчитывает для выдачи на ПКН, в обороты в минуту для вала соответствующего двигателя и передача этих значений в контроллер 1 (наведения A), контроллер 2 (ведения A), контроллер 3 (Z) в соответствии с текущим режимом работы телескопа.

Обмен с контроллерами выполняется через CAN-интерфейс (карта PCL841 фирмы Advantech). Для этого в систему адаптирован универсальный драйвер простых CAN-карт can4linux-2.1 фирмы Port (http://www.port.de).

Программа bta_sew_can после запуска делится на 5 взаимосвязанных процессов. Один ведает обменом по CAN-шине, три управляют через него каждый своим SEW-контроллером, и еще один обеспечивает к ним прежний сетевой UDP-интерфейс (для SEWpanel).

При остановленном телескопе программа держит все контроллеры в заблокированном состоянии. Конкретный контроллер разблокируется и начинает принимать данные управления скоростью только на время включения соответствующего режима работы телескопа (режим наведение, режим ведение или тест). Одновременно оба контроллера A никогда не должны разблокироваться.

В канале управления контроллерами реализованы тайм - ауты по обрыву связи. Таким образом, с одной стороны, программа bta_sew_can определяет включено ли питание контроллера, а с другой - контроллеры следят за наличием связи с управляющим компьютером и при ее обрыве останавливают привода.

Дополнительно программа на каждом такте управления считывает три стандартных параметра из контроллера. Это статус контроллера, измеряемая скорость вала и ток в обмотках двигателя. По внешней команде программа также может считать или записать один дополнительный параметр.

Обратно, в главную управляющую программу (bta_control), передаются только сообщения для оператора (об ошибочных ситуациях или о состоянии контроллеров) и команда останов телескопа в случае аварийной ситуации.

Поскольку сейчас в программном интерфейсе пока нет специальных команд и информации для работы с новыми приводами, то в программу bta_sew_can добавлен специальный сетевой интерфейс для управления контроллерами с удаленного компьютера. Через него можно записывать и считывать параметры конкретного контроллера. Ответная часть расположена на компьютере рабочего места оператора acs5 и состоит из двух программ. Это собственно сетевой обмен, написанный на языке C, и интерфейс (экранная панель), написанный на языке Tcl/Tk. Внешне они выглядят как одна программа SEWpanel, загружаемая через иконку на рабочем столе оператора.

Для представления графиков использована программа xmoda
(ModaGraph), использовавшаяся для индикации графиков ветра и подвески.