exponenta event banner

Обслуживание вызовов

Обслуживание вызовов в сети ROS

  • Библиотека:
  • Панель инструментов ROS/ROS

  • Call Service block

Описание

Блок обслуживания вызовов принимает сообщение запроса услуги ROS, отправляет его на сервер услуг ROS и ожидает ответа. Подключение к сети ROS с помощью rosinit. Перед использованием этого блока необходимо установить сервер ROS где-либо в сети. Проверка доступных служб в сети ROS с помощью rosservice. Использовать rossvcserver для настройки сервера услуг в MATLAB ®.

Укажите имя службы ROS и тип службы в маске блока. При подключении к сети ROS можно выбрать из списка доступных услуг. Можно создать пустой сервисный запрос или ответное сообщение для заполнения данными с помощью блока «Пустое сообщение».

Порты

Вход

развернуть все

Сообщение запроса, указанное как невиртуальная шина. Тип сообщения запроса соответствует типу услуги. Чтобы создать пустую шину сообщений запроса для заполнения данными, используйте блок «Пустое сообщение».

Типы данных: bus

Продукция

развернуть все

Ответное сообщение, возвращенное как невиртуальная шина. Ответ основан на входном сообщении Req. Тип ответного сообщения соответствует типу сервиса. Чтобы создать пустую шину ответного сообщения для заполнения данными, используйте блок «Пустое сообщение».

Типы данных: bus

Условия ошибки для сервисной заявки, указанные как целое число. Каждое целое число соответствует различным условиям ошибки для служебного соединения или состоянию сервисного вызова. При возникновении ошибки Resp выводит последнее ответное сообщение или пустое сообщение, если ответ не был получен ранее.

Код ошибкиСостояние
0Ответ службы успешно получен и доступен в Resp выход.
1Подключение не установлено в пределах указанного Connection timeout.
2Ответ от сервера не был получен в течение указанного Call timeout
3Сбой вызова службы по неизвестным причинам.

Зависимости

Этот вывод включен, если установлен флажок Show ErrorCode output port on.

Типы данных: uint8

Параметры

развернуть все

Источник для указания имени службы:

  • Select from ROS network - Выберите имя службы с помощью команды Выбрать. Параметры Наименование (Name) и Тип (Type) устанавливаются автоматически. Вы должны быть подключены к сети ROS.

  • Specify your own - введите имя службы в поле Имя и укажите ее тип в поле Тип. Необходимо точно соответствовать имени службы.

Имя службы, указанное как символьный вектор. Имя службы должно совпадать с именем службы, доступным на сервере службы ROS. Для просмотра списка действительных услуг в сети ROS см. раздел rosservice.

Тип службы, указанный как символьный вектор. Каждое имя службы имеет соответствующий тип.

Тайм-аут для подключения к серверу служб, указанный как положительный числовой скаляр в секундах. Если в это время не удается установить соединение с сервером службы ROS, то ErrorCode выводит 1.

Установите этот флажок, чтобы поддерживать постоянное соединение с сервером службы ROS. Когда offблок создает клиент услуги каждый раз, когда сообщение запроса вводится в Req.

Установите этот флажок для вывода выходных данных ErrorCode. При возникновении ошибки Resp выводит последнее ответное сообщение или пустое сообщение, если ответ не был получен ранее.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2019b