2.3. Компоненты GRU
Vinokurov Viacheslav Vinokurov edited this page 11 months ago

Компоненты ГРУ

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

Принцип работы

Платы ГРУ управляются по локальной сети с использованием протокола на основе UDP. При запуске программа попросит ввести IP-адресс соответствующей платы:

ПК и платы ГРУ общаются сообщениями. Каждое сообщение состоит из нескольких 16-битных слов. С ПК или платы ГРУ отправляются сообщения и команды в формате:

  1. Магическое слово 2 байт: 0xAAAA
  2. Код команды или сообщения 2 байт
  3. Тело (если предусмотренно)

В текущей версии терминала для ГРУ предусмотренны следующие команды:

  1. Включение источников
  2. Выключение источников
  3. Запрос версии прошивки
  4. Запрос версии протокола
  5. Запрос состояния
  6. Загрузка траектории
  7. Выгрузка интерполированной траектории (в файл downloaded_traj.txt)
  8. Выгрузка отработанных токов (в файл downloaded_current.txt)

Если траектория была загружена, ГРУ начнет ее отработку при падении синхросигнала.

Механизм загрузки траектории

Загрузка траектории в память платы ГРУ осуществляется последовательной отправкой нескольких пакетов с данными. В каждом пакете содержатся до 200 точек перегиба траектории. После отправки каждого из пакетов плата подтверждает загрузку сегмента траектории. Когда все пакеты загружены и загрузка траектории в память платы ГРУ завершена, микроконтроллер посылает сообщение о завершении загрузки траектории.

gru_cmd_line

Данная версия программы работает, как полноценный ручной терминал для запуска команд ГРУ.

Пример команды запроса состояния:

Пользователь запрашивает версию:

Enter command: v

Ответ сервера (плата в простое):

State: GRU_STATE_IDLE

GRU_udp_test

Данная версия программы представляет из себя последовательность заранее прописанных команд запроса состояния, API, прошивки и загрузки траектории. Используется в GUI автоматизированного запуска.