Я хочу разрешить IEEE 1588
блокируйте проблемы настройки протокола времени точности (PTP).
Чтобы диагностировать вашу модель, сначала ознакомьте себя со стандартом PTP, и затем со специализированными требованиями реализации Simulink® Real-Time™. Для получения дополнительной информации см. Протокол Времени Точности и Предпосылки PTP, Ограничения и Неподдерживаемые Функции.
Чтобы идентифицировать модель PTP или проблемы настройки, проверяйте на эти проблемы.
Сконфигурируйте все узлы PTP в сети с тем же Delay measurement mechanism. Если вы конфигурируете ведомый узел с различным, сходящим с главного узла, ведомый узел вводит FAULTY
состояние
Сконфигурируйте все узлы PTP в сети с тем же Timescale или значением Arbitrary timescale epoch. Если вы конфигурируете основные и ведомые узлы с отличающимися масштабами времени, представление времени в формате времени суток отличается для этих двух узлов.
Сконфигурируйте все узлы в сетях PTP с тем же Announce interval и Announce receipt timeout. Отличающиеся значения этих параметров в сети PTP могут привести к непредсказуемому поведению.
Избегайте использования наследованного шага расчета везде в вашей модели. Наследованный шаг расчета происходит в вашей модели, когда вы устанавливаете следующие настройки:
Fixed step size → auto
в диалоговом окне Configuration Parameters
Sample time → -1
во всех блоках вашей модели.
Шаг расчета, который вычисляет Simulink, может быть больше интервалов передачи сообщения PTP, приводящих к неприменимой модели.
Подсистемы настройки PTP включают блоки Configuration для связанного транспортного протокола. Если вы используете отдельную карту Ethernet в передаче данных, включаете отдельный блок конфигурации сети. Присвойте его Device ID, отличающийся от того уже в использовании блоком Configuration PTP. Несколько блоков конфигурации сети с тем же Device ID вызывают ошибку сборки.
Блок PTP Over Ethernet создает сообщения PTP с набором Ether type к hex2dec('88F7')
. Использовать ту же карту Ethernet в PTP что касается передачи данных:
В блоке Create Ethernet Packet, набор Ether type к ненулевому значению, которое отличается от hex2dec('88F7')
(например, hex2dec(‘0010’)
.
В блоке Ethernet Rx, набор Filter criteria к Specify types to match
. Установите Receive these types на значение, которое вы устанавливаете в блоке Create Ethernet Packet (например, [hex2dec('0010')]
).
Если вы включаете больше чем один ведомый узел в сеть, конфигурируете главный узел, чтобы использовать стандартный многоадресный адрес PTP в передаче сообщений. Главный узел должен передать то же сообщение синхронизации ко всем ведомым устройствам.
Используя блок IEEE 1588 Sync Execution, чтобы сделать измерения через несколько целевых компьютеров на том же шаге симуляции может привести к перегрузке ЦП. Кроме того, контроллер часов прерывания ядра может сократить некоторые временные шаги до 10% основного шага расчета модели.
Если вы получаете перегрузки ЦП, рассматриваете уменьшение значения параметра Proportional gain блока IEEE 1588 Sync Execution или увеличения шага расчета вашего приложения реального времени.
Если вы используете блок IEEE 1588 Sync Execution в своей модели, конфигурирование распределенных часов EtherCAT® в основном режиме сдвига в той же модели производит ошибку сборки. Включать IEEE® 1588 синхронизировало выполнение, и EtherCAT распределил часы в той же модели, используйте режим сдвига шины EtherCAT.
Точность синхронизации зависит от значения Sync interval. Чем меньший значение, тем более точный синхронизация. Если вашей модели не удается встретить вашей необходимой точности синхронизации, попытайтесь уменьшить значение Sync interval.
Можно использовать блок IEEE 1588 Sync Execution, чтобы синхронизировать две модели PTP с отличающимися основными шагами расчета. Их выполнение синхронно во время PTP, равное наименьшему общему кратному этих двух уровней.
Когда ведомый узел вводит FAULTY
утвердите, ищите одно из этих условий:
Ведомый узел сконфигурирован с различным Delay measurement mechanism, сходящим с установки главного узла.
Ведомая установка шага расчета модели узла больше установки Sync interval главного узла.
Ведомая установка Announce interval узла короче, чем установка Announce interval главного узла.
Ведомое устройство не получает ответ от ведущего устройства, чтобы задержать сообщения запроса, отправленные ведомым устройством. Это поведение происходит, например, если ведомый узел сконфигурирован, чтобы использовать механизм измерения задержки, устанавливающий отличающийся от установки главного узла.
Если главному узлу не удается считать необходимую метку времени из карты Ethernet из-за конкуренции для регистра метки времени, передача может перестать работать. После того, как главному узлу не удается пять раз подряд передать Follow_Up
, Delay_Resp
, Pdelay_Resp
, или Pdelay_Resp_Follow_Up
обменивайтесь сообщениями к его ведомым узлам, это вводит FAULTY
состояние. Попробуйте эти опции:
Сократите количество ведомых узлов в сети.
Сократите шаг расчета для подсистемы, которая представляет главный узел. Циклы главного узла через ведомое устройство обмениваются сообщениями быстрее и читают регистр метки времени чаще.
Увеличьте Min delay or pdelay request interval ведомых узлов. Ведомые узлы генерируют сообщения менее часто.
Соедините одноранговые прозрачные часы PTP между основными и ведомыми узлами. Установите Delay measurement mechanism на Peer-delay
для всех узлов. Одноранговые прозрачные часы PTP имеют отдельный регистр метки времени для каждого порта, беря загрузку от главного узла.
Для получения дополнительной информации смотрите Станд. IEEE 1588-2008 Пунктов 10.
IEEE 1588 Adjust Time | IEEE 1588 Create Message | IEEE 1588 Ethernet | IEEE 1588 Process Message | IEEE 1588 Read Parameter | IEEE 1588 Real-Time UDP | IEEE 1588 Setup | IEEE 1588 Sync Error | IEEE 1588 Sync Execution | IEEE 1588 Sync Status