Коммуникация Хост-Цель для симуляции Simulink PIL

В этом разделе приведены сведения об использовании rtiostream API для связи между вашим компьютером разработчика и целевым компьютером во время PIL симуляции.

Коммуникационные rtiostream API

The rtiostream API поддерживает связь для целевого API подключения. Используйте rtiostream API для реализации канала связи, который позволяет обмениваться данными между различными процессами.

PIL симуляция требуется целевой канал связи. Этот канал связи содержит код драйвера, который запускается на хосте и цели. The rtiostream API определяет сигнатуру функций на целевой стороне и на стороне хоста, которую должен реализовать этот код драйвера.

API не зависит от физического слоя, который отправляет данные. Возможными физическими слоями являются RS232, Ethernet или Controller Area Network (CAN).

Полный rtiostream для реализации требуются драйверы как на стороне хоста, так и на целевой стороне. Программное обеспечение генерации кода включает драйверы хоста для реализации TCP/IP по умолчанию и версию для последовательной связи. Для использования:

  • TCP/IP- rtiostream канал связи, вы должны предоставить, или получить от сторонних, целевых драйверов TCP/IP устройств.

  • Последовательный канал связи, вы должны предоставить, или получить от сторонних, целевых драйверов последовательного устройства.

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

The rtiostream API включает в себя следующие функции:

Для получения информации о:

Синхронизация хоста и целевого устройства

Если вы используете rtiostream API для реализации канала связи, хост и цель должны быть синхронизированы, что препятствует Simulink® от передачи и приема данных до полной инициализации целевого приложения.

Чтобы синхронизировать хост и цель для реализации TCP/IP rtiostream, используйте setInitCommsTimeout метод из rtw.connectivity.RtIOStreamHostCommunicator. Этот подход хорошо работает для ориентированных на соединение rtiostream TCP/IP реализации, поскольку Simulink автоматически ожидает запуска целевого сервера.

С другими rtiostream реализации, например, последовательные, стороны Simulink rtiostream соединение открывается, не дожидаясь полной инициализации целевого объекта. В этом случае вы должны сделать свои Launcher Реализации подождите, пока целевое приложение не будет полностью инициализировано. Используйте один из следующих подходов для синхронизации хоста и целевого устройства:

  • Добавьте паузу в конце Launcher реализация, которая делает Launcher подождите, пока целевая инициализация не будет завершена.

  • В Launcher для реализации используйте сторонние API-интерфейсы загрузчика или отладчика, которые ожидают завершения целевой инициализации.

  • Реализуйте механизм квитирования в Launcher / rtiostream реализация, которая подтверждает завершение целевой инициализации.

Тестируйте rtiostream Драйвер

Используйте тестовый набор для отладки и проверки поведения пользовательских rtiostream реализации интерфейса.

Тестовый набор может помочь вам в:

  • Сократите время, необходимое для интеграции пользовательского оборудования, не имеющего встроенных rtiostream поддержка.

  • Сократите время, необходимое для проверки пользовательских rtiostream драйверы.

  • Анализируйте эффективность пользовательских rtiostream драйверы.

Тестовый набор состоит из двух частей. Одна часть является приложением, которое запускается на целевом компьютере. Другой компонент запускается в MATLAB. Для получения дополнительной информации см. rtiostreamtest.

Адресуемые по Word Целевые компьютеры

В диалоговом окне Параметров конфигурации, когда вы задаете настройки для Device vendor и Device type, вы предоставляете PIL симуляции с информацией об адресации памяти о целевом компьютере.

Например, рассмотрим случай, когда Device vendor установлено на Texas Instruments и Device type установлено на C5000.

Настройки определяют, что целевой компьютер использует 16-битные адреса слов и большой порядок слов. Реализация rtiostream работает с 16-битными словами.

На целевом компьютере, если rtIOStream функция задает размер 1, тогда целевой компьютер должно отправить или получить одно 16-битное слово (2 байта). sizeof(char) и sizeof(short) возвращает 1, что соответствует одному 16-битному слову. The rtIOStream функция ожидает, что порядок байтов в слове будет маленьким-эндовым, то есть менее значимые байты передаются перед более значительными байтами.

rtiostreamtest определяет целевой компьютер и обрабатывает данные в терминах 16-битных слов, например, значение байта передается как значение 16-битного слова.

См. также

| | | | | |

Похожие темы