4.5.5. ТТЛ-синхронизация

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

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

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

Параметры вывода
Тип ТТЛ уровень
Логический нуль 0 В
Логическая единица 3.3 В
../../../_images/Sync_Inversion.png

Иллюстрация инвертирования входного или выходного импульса

Примечание

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

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

Примечание

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

Вход и выход синхронизации полностью независимы друг от друга и иных способов управления движением. Так управление движением через XILab (см. Главное окно программы XILab в режиме управления одной осью) или пользовательскую программу, управление от джойстика (см. Управление с помощью джойстика), от кнопок ручного управления (см. Управление кнопками «вправо» и «влево»), происходит независимо от состояния входа и выхода синхронизации. Всегда выполняется принцип «приоритет у команды пришедшей позднее». То есть, например, команда движения, поданная через XILab, отменит выполняемое по импульсу входной синхронизации движение, но не повлияет на работу выходной синхронизации, а приход входного синхроимпульса, при соответствующей настройке, отменит текущее движение, инициированное пользовательской программой, заменив его на движение, определяемое настройками работы синхровхода.

Примечание

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

4.5.5.2. Подключение

В плате контроллера предусмотрены два ТТЛ-канала синхронизации на разъеме BPC.

4.5.5.3. Вход синхронизации

Для входа синхронизации имеется настройка минимальной длительности входного синхроимпульса, который может быть зарегистрирован. Эта длительность задается в микросекундах. Используйте эту настройку для увеличения помехоустойчивости контроллера. Вход синхронизации может быть включен или выключен. Если он включен, то переход из не активного состояния в активное приводит к движению аналогичному выполнению команды Смещение на заданное расстояние, в которой значение смещения задается знаковым Position с микрошаговой частью, а скорость Speed с микрошаговой частью. Изменение настроек входа синхронизации во время выполнения движения не приводит к изменению параметров движения (скорости, целевой координаты). Эти параметры будут применены при приходе следующего фронта активного состояния на вход синхронизации. Это сделано специально, чтобы при выполнении согласованного многокоординатного движения можно было запрограммировать следующий сдвиг для каждой оси во время выполнения текущего сдвига. Тогда не потребуется останавливать движение осей каждый сдвиг.

Предупреждение

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

Примечание

Position и Speed - отдельные переменные, которые могут быть сохранены в энергонезавиимой памяти контроллера, используются только при работе синхровхода.

Примечание

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

../../../_images/SyncIn_ClutterNo.png

Движение начнётся раз входной импульс дольше времени подавления дребезга

../../../_images/SyncIn_ClutterYes.png

Движение не начнётся так как входные импульсы короче времени подавления дребезга

Предупреждение

Если во время исполнения сдвига пришел еще один входной синхроимпульс, то смещение будет произведено на удвоенное значение, если два - на утроенное и т.д.

../../../_images/SyncIn_Multiple.png

Движение произойдёт один раз на двойное расстояние так как второй импльс синхронизации сработал до окончания первого движения

../../../_images/SyncIn_Separate.png

Движение произойдёт два раза с двумя стартами и двумя остановками

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

Примечание

Инвертирование входа синхронизации приводит к изменению понятий активного и неактивного состояний, проявляющейся, например, в статусе контроллера. Однако программное инвертирование само по себе не может являться сигналом начала движения, даже если при этом произошёл переход в активное состояние.

4.5.5.4. Выход синхронизации

Выходная синхронизация используется для управления внешними устройствами, привязанными к определенным событиям движения. Выходной синхроимпульс может подаваться при начале движения и/или при завершении движения, и/или каждый раз при смещении позиционера на заданное расстояние. Настройка ImpulseTime определяет длительность импульса синхронизации (может быть указана в микросекундах или смещении). Выход синхронизации может быть переведен в режим управляемого цифрового выхода. В этом режиме программным способом можно устанавливать единичный или нулевой логический уровень на выводе.

../../../_images/SyncOut_StartStop.png

Выходные импульсы синхронизации при генерации их на старте и на остановке движения (импульс фиксированной длительности)

Примечание

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

../../../_images/SyncOut_in_steps.png

Выходные импульсы синхронизации при генерации их на старте и на остановке движения (импульс измеряется в единицах смещения)

Примечание

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

../../../_images/SyncOut_Periodic_in_steps.png

Выходные импульсы синхронизации при движении с ускорением и генерации импульсов каждое смещение на заданное расстояние (импульс измеряется в единицах смещения)

../../../_images/SyncOut_Periodic_in_ms.png

Выходные импульсы синхронизации при движении с ускорением и генерации импульсов каждое смещение на заданное расстояние (импульс измеряется в микросекундах)

Примечание

Периодическая генерация импульсов работает, как имитатор датчика полного оборота с передаточным числом. Координаты, в которых происходит генерация импульсов отсчитываются от нуля координат, а не от координаты в момент начала движения. Например, если в настройках включена генерация импульсов каждые 1000 шагов, то импульсы будут генерироваться при переходе через точки 0, 1000, 2000, 3000, и т.д. Генерация импульсов происходит при движении в обоих направлениях. Импульс генерируется в момент, когда частное от деления текущей координаты на период изменяется на единицу. Т.е. генерация импульсов при достижении координаты 1000 при движении от меньшей координаты к большей и при покидании координаты 1000 при движении от большей координаты к меньшей. Так же импульс всегда генерируется при переходе в точку 0 из какой-либо другой координаты (в том числе при обнулении координаты кнопкой ZERO).

Примечание

В случае если импульсы на выходе синхронизации накладываются друг на друга, то они сливаются в один импульс.

../../../_images/SyncOut_Periodic_merge.png

Иллюстрация наложения импульсов синхронизации по старту и по остановке движения, смещение на заданное расстояние (длительность импульса, измеренная в микросекундах)

Начиная с нулевой координаты контроллер будет устанавливать виртуальные метки с заданным шагом, соответствующим значению поля «Every». Синхронизирующий импульс всегда генерируется после прохождения следующей метки. Следовательно, положение импульсов зависит от направления движения:

  • При движении в положительном направлении (положение увеличивается, импульсы генерируются в направлении движения), то есть они превышают положение метки
  • При движении в отрицательном направлении (положение уменьшается, импульсы генерируются в направлении движения), то есть они меньше положения метки

Пример:
Pulse width: 100
Флаг Every: 1000
Контроллер установит виртуальные метки:
…, -2000, 1000, 0, 1000, 2000, …

  • При переходе от -1500 до 1500 на выходе будет логическая единица при прохождении следующих координат:
    [-1000, -900], [0, 100], [1000, 1100]
  • При движении в обратном направлении от 1500 до -1500 будет логическая единица при прохождении следующих координат:
    [1000, 900], [0, -100], [-1000, -1100]
../../../_images/SyncOut_PeriodicPulse.png

Важно

При коротких перемещениях в пределах длительности импульса вокруг метки состояние выхода может не возвращаться в логический ноль, чтобы не создавать лишние шумы при переключении.
Флаг «Every» не был рассчитан на одиночные сдвиги, он создан для генерации импульсов на большие расстояния

Абсолютная погрешность длительности импульса - ±25 мкс. Если установить длительность импульса в 30 мкс, то фактическая длительность импульсов будет меняться примерно от 5 мкс до 55 мкс. Величина погрешности от длительности импульса не зависит. Поэтому относительная погрешность для более длинных импульсов будет значительно меньше.

Настройка параметров синхронизации в XILab описана в разделе Настройки синхронизации.

4.5.5.5. Схема подключения

4.5.5.5.1. Плата контроллера

В плате контроллера предусмотрены два ТТЛ-канала синхронизации на разъеме BPC.

../../../_images/Synchboard.png

Схема подключения к каналам синхронизации на плате контроллера

4.5.5.5.2. Одноосная и двухосная система

Сигналы синхронизации на одноосной и двухосной системах выведены на разъём HDB-26.

../../../_images/Synch1axis.png

Схема подключения к каналам синхронизации на одноосной системе

../../../_images/Synch2axis.png

Схема подключения к каналам синхронизации на двухосной системе