`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Ethernet вторгается в промышленные системы автоматизации

0 
 

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

Контрольно-измерительные системы и системы управления широко используются в телекоммуникационной сфере, энергоснабжении и многих других отраслях современной индустрии. Для их функционирования обязательным условием является синхронизация операций исполнительных механизмов. Традиционно подобные системы имели централизованную архитектуру, в которой задачи временных ограничений (скажем, время отклика) решались с помощью тщательного программирования в комбинации с технологиями коммуникаций с детерминированной задержкой. В последние годы увеличивается количество систем, которые используют более распределенную архитектуру и сетевые технологии, имеющие менее жесткие ограничения на время отклика, чем специализированные. Так, все большее распространение в контрольно-измерительных и управляющих системах получает технология Ethernet. Это заставляет искать альтернативные средства для реализации временных требований в подобных системах. Одним из таких методов является применение системных компонентов, которые содержат часы реального времени. Он достаточно часто применяется в обычных вычислениях. К примеру, все компьютеры общего назначения имеют часы. Эти часы используются, чтобы управлять распределенными файловыми системами, системами резервирования и восстановления и в ряде других приложений. Компьютеры обычно взаимодействуют посредством локальной сети или через Интернет. В таких средах самым распространенным методом для синхронизации часов служит применение протокола Network Time Protocol (NTP) или его упрощенного варианта – SNTP. Однако с помощью этих протоколов зачастую не удается добиться требуемой точности синхронизации.

В отличие от вычислительной среды intranet или Интернет, измерительные и управляющие системы более локализованы в пространстве. Это дает возможность применить более эффективную технику синхронизации, которую и предлагает стандарт IEEE 1588, или Precision Time Protocol (PTP). О его назначении в документации говорится следующее: «Этот стандарт определяет протокол, позволяющий выполнять точную синхронизацию часов в измерительных и управляющих системах, реализованных с использованием сетевых технологий. Протокол может применяться в системах, в которых обмен данными происходит через локальную сеть, поддерживающую многоадресные сообщения, включая, но не ограничиваясь, Ethernet». Предварительная версия протокола была одобрена в сентябре 2002 г., а опубликована в ноябре того же года.

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

Вместе с тем время распространения Ethernet-пакетов по сети варьируется достаточно сильно. И для того чтобы гарантировать детерминированное поведение системы, существует только одно решение – наличие точных часов во всех терминальных устройствах, синхронизированных с остальными системами. Если операции привязаны к таким точным часам, то сам процесс и время распространения пакетов могут быть разделены. Этот подход применяется, в частности, к кооперативным процессам, в которых должны одновременно стартовать специфические функции. Например, если несколько роботов должны совместно выполнить какую-то задачу, скажем перемещение тяжелого объекта, то им необходимо максимально синхронизовать свои движения.

Стандарт IEEE 1588 позволяет осуществлять очень точную синхронизацию в сети Ethernet. Протокол PTP первоначально был создан компанией Agilent для задач контроля и управления. Метод синхронизации базируется на работах Джона Эйдсона (John Eidson), который как председатель комитета по стандартизации был ответственным за одобрение стандарта в ноябре 2002 г. Протокол предназначен для использования в небольших однородных, а также неоднородных локальных сетях. Особое внимание его разработчики уделили минимизации необходимых вычислительных ресурсов, так что PTP может быть реализован в низкоуровневых и недорогих терминальных устройствах.

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

Как работает PTP

Основная функция протокола заключается в том, чтобы обеспечить с помощью наиболее точных в сети часов синхронизацию всех остальных устройств. Часы, у которых имеется только один сетевой порт, называются ординарными. Существует два типа часов: ведущие (Master) и подчиненные (Slave). В принципе, и первые, и вторые могут выполнять обе функции. Категория точности часов определяется протоколом, и наилучшие выбираются автоматически с помощью соответствующего алгоритма.

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

PTP базируется на многоадресных IP-коммуникациях и не ограничивается только сетями Ethernet – он может применяться на любой шинной системе, которая поддерживает многоадресную рассылку.

Ethernet вторгается в промышленные системы автоматизации
Рис. 1

Каждые подчиненные часы синхронизируются с ведущими часами посредством обмена сообщениями. Сам процесс синхронизации состоит из двух фаз. В первой корректируется расхождение между ведущими и подчиненными часами. На этапе коррекции ведущие часы циклически передают уникальное сообщение (SYNC) подчиненным часам через определенные отрезки времени (по умолчанию – каждые 2 с). Это сообщение содержит расчетное значение точного времени его передачи. Высокоточную синхронизацию обеспечивает механизм, который определяет время передачи и приема PTP-сообщений так точно, как это только позволяет аппаратная часть. Он действует следующим образом. Ведущие часы, текущее время которых мы обозначим Tm, определяют точное время передачи (TM1), а подчиненные – точное время приема сообщения SYNC (TS1). Затем ведущие часы посылают во втором сообщении, которое называется завершающим (follow-up), точное время передачи SYNC – TM1. Приняв первое SYNC и завершающее сообщение, подчиненные часы вычисляют коррекцию (сдвиг), учитывая при этом время передачи пакета SYNC, которое в нем содержится. Затем они корректируют свое текущее время Ts (рис. 1).

Ethernet вторгается в промышленные системы автоматизации
Рис. 2

Вторая фаза процесса синхронизации заключается в измерении значения времени задержки прохождения пакетов между ведущим и подчиненным устройствами. С этой целью подчиненные часы направляют ведущим пакет, который называется delay request. Ведущие часы фиксируют время приема пакета и посылают его значение подчиненным часам в специальном пакете delay response. Затем подчиненные часы вычисляют время задержки, используя соответствующие временные метки (рис 2). В этом процессе особо важным является равнозначность задержки в каждом из направлений.

Измерения времени задержки выполняются нерегулярно и через бóльшие отрезки времени (по умолчанию – через случайные значения между 4 и 60 с), чем измерения временного сдвига. Таким способом достигается разгрузка сети и терминальных устройств.

Граничные часы

Точность синхронизации зависит также от топологии сети. Наибольшую точность обеспечивают соединения точка—точка, при этом концентраторы вносят очень малые погрешности. При незначительной нагрузке сети коммутаторы второго уровня обрабатывают пакеты довольно быстро, в типичном случае от 2 до 10 мкс плюс время приема пакета. Но коммутаторы имеют дело с очередями пакетов и в режиме промежуточной буферизации (store and forward), так что только один стоящий в очереди пакет максимального размера может задержать идущий следом приблизительно на 122 мкс. А при высокой нагрузке в очереди обычно стоит несколько пакетов. Установление приоритетов не решает проблемы, так как по крайней мере один длинный пакет данных может оказаться впереди пакета синхронизации.

Ethernet вторгается в промышленные системы автоматизации
Рис. 3

Решение всех перечисленных проблем достигается за счет использования в коммутаторах граничных часов (рис. 3). В этом случае реализуются соединения типа точка—точка, и погрешность в синхронизации становится очень малой.

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

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

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT