Синхронизируйте метки времени через сеть сбора данных

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

Необходимые продукты: Simulink®, Simulink Real-Time™

Другие требования:

  • Один компьютер разработчика Windows® с картой Ethernet.

  • Два целевых компьютера Speedgoat.

  • По крайней мере одна карта Intel® 82574 Ethernet на каждом целевом компьютере

  • Одна карта Ethernet на каждом целевом компьютере, выделенном связи между разработкой и целевыми компьютерами.

  • Один переключатель Ethernet.

  • Четыре перекрестных кабеля Ethernet.

Приложения реального времени используют блоки Протокола Времени Точности, чтобы синхронизировать карту Ethernet Intel 82574 часы PTP и часы ядра для каждого компьютера. Можно регистрировать метки времени PTP от обоих компьютеров и использовать их, чтобы сопоставить передаваемые данные со справочными данными.

Сконфигурируйте оборудование

Ваши целевые машины Speedgoat включают по крайней мере две установленные карты Ethernet, один из них карта Ethernet Intel 82574. Используйте карту Ethernet Intel 82574 для сети PTP. Используйте другой, чтобы соединить эти два целевых компьютера через переключатель Ethernet к компьютеру разработчика. Сеть выглядит так фигура.

Запрошенная информация

Чтобы сконфигурировать сеть и ваши модели для этого примера, соберите следующую информацию для каждого целевого компьютера:

  • Идентификаторы

  • Карта PTP: Имя устройства, номера шины PCI и номера слота, Мак адрес, который вы присваиваете карте PTP, которая передает non-PTP данные

  • Карта COM: Имя устройства, номера шины PCI и номера слота, индекс Ethernet карты

Можно найти встроенный Мак адрес карты PTP из источника, такого как перечень материалов или метка на оборудовании. Можно найти имя устройства и номера шины PCI и номера слота при помощи SimulinkRealTime.target.getPCIInfo. Можно найти индекс Ethernet коммуникационной карты при помощи SimulinkRealTime.getTargetSettings.

Информация о примере

TargetPC1

Идентификатор — TargetPC1

Карта PTP

  • Имя устройства — Intel 82574L

  • Шина PCI — 5

  • Слот PCI — 0

  • Мак адрес — [EEPROM}

Карта COM

  • Имя устройства — Intel 82579LM

  • Индекс Ethernet — 0

  • Шина PCI — 0

  • Слот PCI — 25

  • Мак адрес — N/A

TargetPC2

Идентификатор — TargetPC2

Карта PTP

  • Имя устройства — Intel 82574L

  • Шина PCI — 0

  • Слот PCI — 52

  • Мак адрес — 68:05:CA:31:B9:EF

Карта COM

  • Имя устройства — Intel 82541GI_LF

  • Индекс Ethernet — 0

  • Шина PCI — 16

  • Слот PCI — 4

  • Мак адрес — N/A

Аппаратная конфигурация

  1. Соедините кабель Ethernet между картой PTP в TargetPC1 и картой PTP в TargetPC2. Эта связь создает сеть PTP. Чтобы сконфигурировать блоки Ethernet IEEE 1588 в этих двух приложениях реального времени, у вас должны быть шина PCI и слот PCI этих карт.

  2. Соедините кабель Ethernet от карты Коммуникации в TargetPC1 к переключателю Ethernet.

  3. Соедините кабель Ethernet от карты Коммуникации в TargetPC2 к переключателю.

  4. Соедините кабель Ethernet от переключателя до компьютера разработчика. Эти связи завершают коммуникационную сеть между компьютером разработчика и целевыми компьютерами.

  5. Запустите эти два целевых компьютера. Используйте slrtexplr, чтобы соединиться с ними. Если вы не можете установить связь с целевым компьютером, проверьте индекс Ethernet, присвоенный коммуникационному порту.

Сконфигурируйте приложения реального времени

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

Сконфигурируйте приложение сбора данных

Чтобы сконфигурировать это приложение, сначала выполните шаги в, Конфигурируют Оборудование. Соберите шину PCI, слот PCI и роль карт Ethernet, установленных в целевых компьютерах.

Приложением сбора данных является ex_ptp_sync_src (open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_ptp_sync_src')))). Это работает на TargetPC1. Сконфигурировать приложение:

Установите параметры конфигурации

  1. Открытый ex_ptp_sync_src.

  2. В диалоговом окне Configuration Parameters откройте панель Решателя.

  3. Проверьте, что Типом является Fixed-step.

  4. Проверьте, что размер Фиксированного шага (основной шаг расчета) установлен в явное значение а не в auto (лучшая практика). Используйте тот же шаг расчета в качестве в приложении анализа данных.

  5. Проверьте, что Позволяют задачам выполниться одновременно на цели, установлен.

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

  7. Откройте панель Опций Simulink Real-Time.

  8. Проверьте, что Сборка для целевого компьютера по умолчанию очищена.

  9. Проверьте, что Указывают, что именем целевого компьютера является TargetPC1.

  10. Проверьте, что Режимом выполнения является Real-Time.

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

Сконфигурируйте блоки PTP

  1. Откройте блок IEEE 1588 Ethernet

  2. Откройте Общую панель.

  3. От информации для карты PTP TargetPC1 введите значения 5 и 0 для шины PCI и слота PCI.

  4. Проверьте, что значение Шага расчета Ethernet IEEE 1588 является кратным размеру Фиксированного шага (основной шаг расчета) значение.

  5. Проверьте, что Шаг расчета имеет то же значение как в модели анализа данных.

  6. Откройте Сетевую панель параметров.

  7. От информации для карты PTP TargetPC1, в Исходном поле Мак адреса, выбирают EEPROM.

  8. Проверьте, что Целевым Мак адресом является Standard PTP multicast.

  9. Откройте панель параметров Часов.

  10. Проверьте, что Масштабом времени (эпоха) является PTP (1970-01-01).

  11. Проверьте, что механизмом измерения Задержки является Request-response.

  12. Установите Ведомое устройство только флажок. Эта установка препятствует тому, чтобы программное обеспечение делало этот узел основным узлом часов PTP.

  13. Откройте панель Временных интервалов.

  14. Проверьте, что Объявляют об интервале (второй), Синхронизирующий (второй) интервал, и задержка Min или (второй) интервал запроса pdelay является по крайней мере три раза значением Шага расчета.

  15. Проверьте, что интервалы являются интегральными множителями Шага расчета.

  16. Проверьте, что интервалы имеют те же настройки как в модели анализа данных.

  17. В остающихся блоках PTP верхнего уровня проверьте что соответствия значения Шага расчета это в блоке IEEE 1588 Ethernet.

  18. Откройте Подсистему PTP Clock-Data. Для каждого блока в подсистеме проверьте что соответствия значения Шага расчета это в блоке IEEE 1588 Ethernet.

Сконфигурируйте блоки передачи данных

  1. От информации для карты PTP TargetPC2, в диалоговом окне блока Create Ethernet Packet, Целевом MAC набора к macaddr('68:05:CA:31:B9:EF').

  2. Установите EtherType (используйте 0 для длины) к hex2dec('0010'). Используя этот тип отличает специфичные для данных сообщения от PTP-специфичных сообщений, которые используют ту же карту Ethernet.

  3. В блоке Ethernet Tx проверьте что соответствия значения Шага расчета это в блоке IEEE 1588 Ethernet.

  4. Сохраните обновленную модель в своей рабочей папке. Вы не можете создать и запустить приложение реального времени в папке в качестве примера.

Сконфигурируйте приложение анализа данных

Чтобы сконфигурировать это приложение, сначала выполните шаги в, Конфигурируют Оборудование. Соберите шину PCI, слот PCI и роль карт Ethernet, которые установлены в целевых компьютерах. Чтобы сконфигурировать карту PTP в целевом компьютере анализа данных, используйте Мак адрес, который вы задали в блоке Create Ethernet Packet приложения сбора данных.

Приложением анализа данных является ex_ptp_sync_sink (open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_ptp_sync_sink')))). Это работает на TargetPC2. Сконфигурировать приложение:

Установите параметры конфигурации

  1. Открытый ex_ptp_sync_sink.

  2. В диалоговом окне Configuration Parameters откройте панель Решателя.

  3. Проверьте, что Типом является Fixed-step.

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

  5. Проверьте, что Позволяют задачам выполниться одновременно на цели, установлен.

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

  7. Откройте панель Опций Simulink Real-Time.

  8. Проверьте, что Сборка для целевого компьютера по умолчанию очищена.

  9. Проверьте, что Указывают, что именем целевого компьютера является TargetPC2.

  10. Проверьте, что Режимом выполнения является Real-Time.

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

Сконфигурируйте блоки PTP

  1. Откройте блок IEEE 1588 Ethernet.

  2. Откройте Общую панель.

  3. От информации для карты PTP TargetPC2 введите значения 52 и 0 для шины PCI и слота PCI.

  4. Проверьте, что значение Шага расчета Ethernet IEEE 1588 является кратным размеру Фиксированного шага (основной шаг расчета) значение.

  5. Проверьте, что Шаг расчета имеет то же значение как в блоке IEEE 1588 Ethernet сбора данных.

  6. Откройте Сетевую панель параметров.

  7. В Исходном поле Мак адреса выберите Specify.

  8. От информации для карты PTP TargetPC2, в Задавать исходном текстовом поле Мак адреса, вводят macaddr ('68:05:CA:31:B9:EF'). Можно ввести произвольный Мак адрес в это поле, если это уникально в сети PTP.

  9. Проверьте, что Целевым Мак адресом является Standard PTP multicast.

  10. Откройте панель параметров Часов.

  11. Проверьте, что Масштабом времени (эпоха) является PTP (1970-01-01).

  12. Проверьте, что механизмом измерения Задержки является Request-response.

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

  14. Откройте панель Временных интервалов.

  15. Проверьте, что Объявляют об интервале (второй), Синхронизирующий (второй) интервал, и задержка Min или (второй) интервал запроса pdelay является по крайней мере три раза значением Шага расчета.

  16. Проверьте, что интервалы являются интегральными множителями Шага расчета.

  17. Проверьте, что интервалы имеют те же настройки как в модели сбора данных.

  18. В остающихся блоках PTP верхнего уровня проверьте что соответствия значения Шага расчета это в блоке IEEE 1588 Ethernet.

  19. Откройте Подсистему PTP Clock-Data. Для каждого блока в подсистеме проверьте что соответствия значения Шага расчета это в блоке IEEE 1588 Ethernet.

Сконфигурируйте блоки передачи данных

  1. Откройте подсистему PTP данных часов

  2. Откройте блок Ethernet Rx.

  3. Откройте панель Rx и проверьте что соответствия значения Шага расчета это в блоке IEEE 1588 Ethernet.

  4. Откройте панель Фильтра.

  5. Проверьте, что критериями Фильтра является Specify types to match.

  6. Verifty, которые Получают эти типы (вектор типов 0-65535) является [hex2dec('0010')].

  7. Сохраните обновленную модель в своей рабочей папке. Вы не можете создать и запустить приложение реального времени в папке в качестве примера.

Создайте, загрузите, и запущенные приложения реального времени

В этом примере, сборках приложения сбора данных и загружается на TargetPC1. Сборки приложения анализа данных и загружаются на TargetPC2. Чтобы запустить эти приложения, сначала выполните шаги в, Конфигурируют Приложения реального времени. MATLAB® и Simulink Real-Time Explorer должны запускаться в вашей рабочей папке.

Создайте, загрузите и запустите приложения:

  1. Запустите TargetPC1 и TargetPC2.

  2. В Целевой панели Проводника соединитесь с TargetPC1 и TargetPC2.

  3. В вашей рабочей папке откройте ex_ptp_sync_src и ex_ptp_sync_sink.

  4. Создайте и загрузите ex_ptp_sync_src на TargetPC1.

  5. Создайте и загрузите ex_ptp_sync_sink на TargetPC2.

  6. В панели Приложений Проводника, для TargetPC1/ex_ptp_sync_src и TargetPC2/ex_ptp_sync_sink, изменяют свойство Stop Time на Inf.

  7. В панели Приложений Проводника запустите ex_ptp_sync_src и ex_ptp_sync_sink.

  8. Для обоих приложений данные о форме волны начинают передавать потоком в целевых осциллографах, маркировал Data. Однако метки времени, отображенные как Time сигнала, не первоначально допустимы. Эти два приложения проходят следующую последовательность значений State и Sync Status:

1. Инициализация:

  • ex_ptp_sync_src State → 4 (СЛУШАНИЕ)

  • ex_ptp_sync_src Sync Status → 0 (не синхронизируемый)

  • ex_ptp_sync_sink State → 4 (СЛУШАНИЕ)

  • ex_ptp_sync_sink Sync Status → 0 (не синхронизируемый)

2. Основное выделение и синхронизация

  • ex_ptp_sync_sink State → 6 (ВЕДУЩЕЕ УСТРОЙСТВО)

  • ex_ptp_sync_sink Sync Status → 1 (синхронизируется)

3. Ведомое выделение и синхронизация

  • ex_ptp_sync_src State → 9 (ВЕДОМОЕ УСТРОЙСТВО)

  • ex_ptp_sync_src Sync Status → 1 (синхронизируется)

Для узла сбора данных (ведомый узел), конечное состояние выглядит так фигура.

Для узла анализа данных (главный узел), конечное состояние выглядит так фигура.

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

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

С блоком IEEE 1588 Sync Execution можно сделать измерения через несколько целевых компьютеров на синхронизируемом временном шаге. Однако контроллер часов прерывания ядра может сократить некоторые временные шаги до 10% основного шага расчета, приводящего к перегрузке ЦП.

Смотрите также

| | | | | | |

Похожие темы