В этом разделе приведены сведения об использовании rtiostream
API для связи между вашим компьютером разработчика и целевым компьютером во время PIL симуляции.
rtiostream
APIThe 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
функции в реализации connectivity, см., Создание целевой реализации API Connectivity.
Проверка rtiostream
общие методы библиотеки из MATLAB® код, см. rtiostream_wrapper
.
Отладка и проверка поведения пользовательских rtiostream
реализации интерфейса, см. Тестирование драйвера rtiostream и rtiostreamtest
.
Если вы используете 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
.
В диалоговом окне Параметров конфигурации, когда вы задаете настройки для 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-битного слова.
rtiostream_wrapper
| rtIOStreamClose
| rtIOStreamOpen
| rtIOStreamRecv
| rtIOStreamSend
| rtiostreamtest
| rtw.connectivity.RtIOStreamHostCommunicator