exponenta event banner

Связь между хостом и целью для моделирования Simulink PIL

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

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

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

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

API не зависит от физического уровня, который отправляет данные. К возможным физическим уровням относятся RS232, Ethernet или сеть контроллеров (CAN).

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

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

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

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

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

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

Синхронизировать узел и конечный объект

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

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

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

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

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

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

Тестирование rtiostream Водитель

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

Набор тестов может помочь:

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

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

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

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

Адресное оконечное оборудование Word

В диалоговом окне Параметры конфигурации (Configuration Parameters) при задании параметров «Device vendor» (Поставщик устройства) и «Device type» (Тип устройства) предоставляется моделирование PIL с информацией адресации памяти о целевом оборудовании.

Например, рассмотрим случай, когда для параметра «Поставщик устройства» установлено значение Texas Instruments и для параметра Тип устройства установлено значение C5000.

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

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

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

См. также

| | | | | |

Связанные темы