5.2.2. Главное окно программы XILab в режиме управления одной осью

../../../_images/main1.png

Главное окно программы XILab в режиме двигателя

../../../_images/main_atten_set.png

Главное окно программы XILab в режиме аттенюатора

В левой части окна в группах параметров Power и Motor находятся данные о состоянии контроллера и мотора в настоящий момент. В центральной части окна расположен блок Control, содержащий индикаторы текущей позиции и элементы управления движением мотора. Блок Control в зависимости от настроек может принимать вид блока управления движением произвольного двигателя или блока управления аттенюатором. Справа расположена группа кнопок для управления программой в целом. Внизу расположен лог, при минимальном размере окна он скрыт. Под логом находится статусная строка. Рассмотрим эти группы более подробно.

5.2.2.1. Блок управления движением двигателя

../../../_images/main_middle.png

Блок Control

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

Ниже расположен блок Control, содержащий элементы управления движением мотора. Рассмотрим их более подробно:

5.2.2.1.1. Движение без точного задания конечного положения

../../../_images/main_middle_left-right.png

Кнопки управления движением

  • Кнопки Влево, Стоп и Вправо запускают движение влево без указания конечной позиции, останавливают с замедлением начатое движение и запускают движение вправо без указания конечной позиции, соответственно.
  • Кнопка Влево до границы заставит мотор вращаться до левой границы слайдера. Вправо до границы, соответственно, до правой границы слайдера.
  • Нажатие и удержание кнопок клавиатуры Вправо, Влево при нахождении фокуса ввода в блоке слайдера начинает движение в направлении увеличения или уменьшения координаты. При отпускании кнопки движение прекращается, как будто была нажата кнопка Стоп на главном окне.

5.2.2.1.2. Движение в заданную точку

../../../_images/main_middle_move-shift.png

Управление движением в заданную точку

  • Кнопка Move to запускает процесс перемещения в заданную позицию.
  • Кнопка Shift on запускает процесс смещения на заданное расстояние от текущей позиции.

5.2.2.1.3. Текущая позиция для команд движения

Команды Move to и Shift on использую текущую позицию для расчета движения. Текущая позиция изменяется следующими командами:

Move to <величина>
Текущая позиция = <величина>

Shift on <смещение>
Текущая позиция = текущая позиция + <смещение>

Zero (при условии отсутствия движения в момент посылки команды)
Текущая позиция = 0

Команды Stop, Влево, Вправо, Влево до границы и Вправо до границы не изменяют текущую позицию.

5.2.2.2. Блок управления аттенюатором

../../../_images/main_atten_int.png

Блок управления аттенюатором

В верхней части блока расположено окно Transmittance и кнопка Calibrate. Окно Transmittance предназначено для выбора желаемого коэффициента пропускания. Кнопка Calibrate предназначена для ручного поиска начальной позиции аттенюатора и при нажатии запускает сначала движение на один оборот аттенюатора с текущими настройками для однозначного определения относительного положения дисков аттенюатора, а затем функцию Автокалибровка домашней позиции. Нажатие Calibrate не является необходимым для движения - в случае если аттенюатор не производил калибровку или калибровка была сброшена, к примеру нажатием Cancel в процессе движения, при следующем движении калибровка будет сделана автоматически.

Аттенюатор может работать с одним или двумя дисками (у каждого диска имеется 8 фильтров), поэтому ниже будет находиться одно или два поля, соответствующие одному или двум дискам. Далее располагается окно Current Transmittance, в котором показывается коэффициент пропускания (который группируется из коэффициентов пропускания имеющихся фильтров), наиболее близкий к желаемому.

При нажатии на кнопку Move происходит движение к тем фильтрам, которые соответствуют Current Transmittance, причем данные фильтры подсвечиваются зеленым цветом, т.е делаются активными.

Нажатие на кнопку Reset делает все фильтры неактивными (становятся серого цвета).

5.2.2.3. Состояние контроллера и мотора

../../../_images/main_left.png

5.2.2.3.1. Электропитание контроллера

Группа параметров Power содержит индикаторы:

  • Power voltage - напряжение на силовой части.
  • Power current - ток потребления силовой части.
  • Temp. - температура процессора контроллера.

Если цвет любого из индикаторов - Power voltage, Power current или Temp - изменяется на красный, это означает, что соответствующий параметр (напряжение, ток или температура) превысил допустимое значение. В этом случае контроллер переходит в состояние Alarm. Пороговые значения этих параметров можно изменить в разделе Настройка предельных параметров контроллера.

Важно

Выход из состояния Alarm возможен после прекращения событий, вызвавших Alarm, при условии, что флаг Sticky Alarm не установлен. Если флаг Sticky Alarm установлен , используйте кнопку «STOP» , чтобы выйти из состояния тревоги.

5.2.2.3.2. Состояние мотора

Группа параметров Motor содержит индикаторы:

  • Speed - скорость вращения мотора.
  • Command - последняя выполняемая (жирный шрифт) или выполненная (обычный шрифт) команда контроллера. Команда контроллера отображается черным цветом, если флаг ошибки движения MVCMD_ERROR не установлен, в противном случае красным. Может быть одним из следующих вариантов:
    • Move to position - перемещение в заданную позицию
    • Shift on offset - смещение на заданное расстояние
    • Move left - движение влево
    • Move right - движение вправо
    • Stop - остановка
    • Homing - нахождение начальной позиции
    • Loft - компенсация люфта
    • Soft stop - плавная остановка
    • Unknown - неизвестная команда (возможно сразу после включения контроллера)
  • Power - состояние питания шагового двигателя. Может быть одним из следующих вариантов:
    • Off - обмотки мотора разомкнуты и не управляются драйвером,,
    • Short - обмотки замкнуты накоротко через драйвер,
    • Norm - обмотки запитаны номинальным током,
    • Reduc - обмотки намеренно запитаны уменьшенным током от рабочего для снижения потребляемой мощности,
    • Max - обмотки запитаны максимально доступным током, который может выдать схема при данном напряжении питания.

Примечание

GPIO флаг можно использовать для обнаружения подключенного двигателя

5.2.2.3.3. Состояние программы

Группа параметров Program содержит индикаторы:

  • Sync buf free - количество свободных ячеек в буфере команд контроллера (на данный момент эта функция отключена).

5.2.2.4. Группа кнопок для управления программой

Примечание

Команда Cyclic является составной командой: при вызове Cyclic в XiLab на уровне контроллера производится выполнение последовательности из команд Move to.

  • Кнопка Zero обнуляет текущую позицию мотора и значение энкодера.
  • Кнопка Stop посылает команду немедленной остановки, сбрасывает состояние Alarm, очищает буфер команд для синхронного движения и останавливает выполнение скрипта, если он запущен.
  • Кнопка Save log сохраняет содержимое лога в файл в формате CSV (открывается диалог выбора файла для записи).
  • Кнопка Clear log очищает содержимое лога.
  • Кнопка Exit осуществляет корректное завершение работы, см. раздел Корректное завершение работы.

5.2.2.5. Статусная строка

В статусной строке находятся индикаторы текущего состояния контроллера. Слева направо это блок 7 флагов,

  • L - Левая кнопка нажата
  • R - Правая кнопка нажата
  • G - Вход/выход GPIO активен
  • B - Магнитный тормоз запитан
  • S - Датчик оборотов активен
  • I - Вход синхронизации активен
  • O - Выход синхронизации активен

и отдельные индикаторы (флаги)

  • EEPR - Загорается зеленым цветом, когда подвижка оснащена микросхемой памяти EEPROM.|br| Встроенный профиль подвижки загружается из микросхемы памяти EEPROM, при условии, что установлен флаг EEPROM_PRECEDENCE (XILab Settings->About device tab), что позволяет подключать различные подвижки к контроллеру с автоматической настройкой.
  • HOMD - Загорается после успешного выполнения команды home (), что означает, что шкала относительного положения откалибрована с помощью аппаратного датчика абсолютного положения, такого как концевой выключатель.

  • WndA/WndB имеет 1 из 4 состояний:
    - Обмотка A/B отключена.
    - Состояние обмотки A/B неизвестно.
    - Обмотка A/B закорочена.
    - Обмотка A/B подключена и работает исправно.

Важно

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


  • ENCD - Состояние энкодера имеет 1 из 5 состояний:
    - Энкодера отсутствует.
    - Состояние энкодера неизвестно.
    - Энкодер подключен и неисправен.
    - Энкодер подключен и работает, но считает в другом направлении.
    - Энкодер подключен и работает исправно.

Важно

Флаг ENCD работает только в режимах None и EMF. В других режимах, таких как Encoder и Encoder Mediated, он не используется, потому что эти режимы невозможно использовать без энкодера.

Сразу после включения контроллера флаг будет в состоянии unknown - чтобы определить положение, нужно совершить движение. По мере движения значение флага может меняться.

  • PWHT - Перегрев силового драйвера.
    Управление двигателем отключено до восстановления рабочей температуры драйвера. Этого не должно происходить в коробочных версиях контроллера. Это может произойти в версии контроллера с «голой» платой и с пользовательским радиатором. Решение: используйте другой радиатор.
  • SLIP - Обнаружено проскальзывание мотора.
    Флаг устанавливается, когда положение энкодера и положение шага слишком далеки друг от друга. Вы можете отключить флаг «Position control» или увеличить ошибку в поле «threshold» на вкладке «XILab Settings->Position control», чтобы предотвратить возникновение этой ошибки.

  • WRM - Загорается при существенной разнице между сопротивлениями обмоток шагового двигателя.
    Обычно это происходит с поврежденным шаговым двигателем у которого полностью или частично закорочены обмотки. Вы можете диагностировать проблему согласно инструкциям в нашем руководстве.

Важно

WRM алгоритм изначально не был рассчитан на использование для подвижек с ременной передачей (например, 8MRB450-350 или 8MRB240-152) из-за того что ремень может растягиваться и вибрировать. Вибрация, как правило, происходит на высоких скоростях, что и сбивает работу WRM алгоритма. Для подвижек ременной передачи это нормальное поведение


  • ENGR - Загорается красным при возникновении ошибки управления мотором.
    Отказ алгоритма управления мотором означает, что он не может определить правильное решение с помощью полученных данных обратной связи. Единичный отказ может быть вызван механической проблемой. Повторяющийся сбой может быть вызван неправильной настройкой мотора.

    Для шагового двигателя с алгоритмом Feedback Encoder:
    Флаг ENGR устанавливается при превышении допустимого расхождения между расчётным положением двигателя и положением, измеренным энкодером.

    Контроллер вычисляет разность:

    dQEnc = (-(PhaseCalibration_EncoderShift << AccuracyBits)
          + BaseEngine_GetEnhancePos())
          - (enc_pos << AccuracyBits);
    

    Если модуль этой разности превышает полный оборот двигателя, считается, что управление потеряно, и устанавливается флаг ENGR. Таким образом, ENGR сигнализирует, что мотор потерял синхронизацию с энкодером - фактическое положение перестало соответствовать ожидаемому, и алгоритм не может гарантировать корректное движение.

    Для BLDC двигателя:
    Флаг ENGR может сработать, если в процессе работы фаза управления отклонилась от ожидаемого положения на величину, превышающую половину электрического периода. Это указывает на срыв управления по фазе - контроллер «не справился» с удержанием синхронного вращения ротора относительно магнитного поля.

    Причины возникновения:

    • Резкая механическая остановка или заклинивание
    • Перегрузка по моменту
    • Проблемы с сигналом энкодера (обрыв, шум, переполнение счётчика)
    • Ошибки в настройках двигателя (кол-во шагов на оборот, разрешение энкодера и др.)
  • EXTI - Ошибка вызвана игнорированием внешнего сигнала EXTIO, этой ошибкой можно управлять в настройках (XILab Settings->EXTIO tab)

  • ErrC - обнаружена ошибка команды.
    Полученная команда отсутствует в списке известных команд контроллера. Наиболее вероятная причина - устаревшая прошивка, которую можно обновить в настройках XILab ->вкладка About device ->кнопка Autoupdate.

  • ErrD - обнаружена ошибка целостности данных.
    Данные внутри команды и ее код CRC не соответствуют, поэтому данные не могут считаться действительными. Эта ошибка может быть вызвана EMI в интерфейсе UART/RS232.

  • ErrV - обнаружена ошибка значения.
    Значения в команде не могут быть применены без корректировки, потому что они выходят за допустимый диапазон. Вместо исходных значений использовались исправленные.

  • Ctbl - Статус загрузки корректирующей таблицы. Флаг загорается зеленым, когда для позиционера была загружена и применена корректирующая таблица.