В системе EtherCAT концепция распределенных часов (Distributed Clock, DC) используется для синхронизации внутренних часов устройств EtherCAT. При управлении оборудованием с распределенными компонентами, такими как модули ввода-вывода, приводы моторов, несколько мастеров EtherCAT, необходимо обеспечить максимальную синхронность всех устройств друг с другом.
Каждый компонент, например, устройство ввода/вывода, имеет внутренний источник тактовых сигналов, к которому они имеет доступ в любое время. Измерение какого-либо сигнала в определенный момент времени может быть оценено на основе другого сигнала в тот же момент времени, но полученного другим устройством с собственными внутренними часами, поэтому сбор подобных данных нуждается в определенной схеме синхронизации между устройствами.
Несколько производственных линий могут синхронизироваться с по одному и тому же источнику времени. Ведущие часы в таких случаях называются часами Grandmaster, или External Time Clock.
Процедура инициализации распределенных часов в случае внешней синхронизации включает в себя, во-первых, вычисление задержки распространения сигнала между устройствами, в том числе сигналов внешнего времени, и, во-вторых, компенсация задержки пришедшего сигнала времени.
В случае внешней синхронизации Мастер EtherCAT периодически опрашивает устройство, по которому синхронизируется шина. Как только устройство отвечает, что оно приняло данные, Мастер получает временную информацию из внешнего источника, после чего настраивает эталонные часы (отмечены на рисунке буквой «M») в соответствии с полученными данными.
На изображении ниже показано распространение эталонного времени по остальным ведомым устройствам по механизму DC (помечено буквой «S»).
Синхронизация с использованием IEEE 1588
Часы Grandmaster — это внешние часы, поддерживающие протокол IEEE1588. Данный протокол определяет механизмы синхронизации устройств в Стандартной Сети Ethernet.
Контрольный алгоритм для вычисления временных различий между эталонными часами шины EtherCAT и Grandmaster может быть реализован в рамках Мастера или в специальном подчиненном устройстве (например, BECKHOFF EL6688: http://www.beckhoff.de/english.asp?ethercat/el6692.htm).
Примечание. В настоящее время VS EtherCAT Master поддерживает внешнюю синхронизацию только через вышеописанные устройства.
Телеграммы протокола 1588 поступают в устройство EL6688 на стандартный порт Ethernet и фиксируются в нем с получением высокоточной отметки времени. Внешняя отметка времени сравнивается с высокоточным системным временем распределенных часов в шине EtherCAT (1). Полученный результат хранится в переменной TimeControlValue, при помощи которой можно определить, насколько текущее время шины EtherCAT опережает или отстает от внешнего времени. Значение переменной TimeControlValue отправляется в Мастер (2) для корректировки эталонных часов DC в шине (3).
Синхронизация с использованием мостов
Внешняя синхронизация двух или более шин EtherCAT может быть реализована через мостовые устройства, такие как BECKHOFF EL6692: http://www.beckhoff.de/english.asp?ethercat/el6692.htm).
Мостовое устройство имеет два контроллера ESC: первичный порт подключен к первой шине EtherCAT, а вторичный порт – ко второй шине. Мост рассчитывает различия во времени между двумя шинами EtherCAT (1) и отправляет переменную TimeControlValue Мастеру (2) второй шины (первичная шина работает в режиме простой синхронизации). Тем самым Мастер второй шины настраивает эталонные часы синхронно с часами первой шины (3).