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

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

Необходимые продукты: 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. Откройте панель Options Simulink Real-Time.

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

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

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

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

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

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

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

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

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

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

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

  7. От информации для TargetPC1 Карта PTP, в Исходном поле Мак адреса, выбирает 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. От информации для TargetPC2 Карта PTP, в Создать Пакетном диалоговом окне блока Ethernet, установила Целевой 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. Откройте панель Options Simulink Real-Time.

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

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

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

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

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

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

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

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

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

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

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

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

  8. От информации для TargetPC2 Карта PTP, в Задавать исходном текстовом поле Мак адреса, вводит 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 сигнала не первоначально допустимы. Эти два приложения проходят следующую последовательность Sync Status и State значения:

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 (синхронизируемый)

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

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

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

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

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

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

| | | | | | |

Похожие темы