TCP/IP Receive

Получите данные по сети TCP/IP от заданной удаленной машины

  • Библиотека:
  • Instrument Control Toolbox

  • TCP/IP Receive block

Описание

Блок TCP/IP Receive конфигурирует и открывает интерфейс для заданного удаленного адреса с помощью протокола TCP/IP. Настройка и инициализация происходят однажды в начале выполнения модели. Блок получает данные или в блокирующемся режиме или в не блокирующемся режиме в течение времени выполнения модели. Используйте блок TCP/IP Receive, чтобы считать данные о потоковой передаче по сети TCP/IP. Это кладка блоков только как клиент TCP/IP и не может использоваться в качестве сервера TCP/IP.

Этот блок не имеет никаких входных портов. Это имеет один или два выходных порта на основе того, выбираете ли вы блокирование или неблокирование режима. Если вы выбираете блокирующийся режим, блок имеет один выходной порт, Data, соответствуя данным, которые это получает. Если вы не выбираете блокирующийся режим, блок имеет два выходных порта, Data и Status.

Этот блок использует Метод "первым пришел - первым вышел" (FIFO) буфер, чтобы получить данные. На каждом временном шаге порт Data возвращает требуемые значения от буфера. В не блокирующемся режиме порт Status указывает, получил ли блок новые данные. Если порт Status отображает 1, новые данные доступны и если порт Status отображает 0, нет новых данных доступно.

Другие поддерживавшие функции

  • Блок TCP/IP Receive поддерживает использование Simulink® Режим Accelerator и Быстрый Акселератор. Эта функция ускоряет выполнение моделей Simulink.

  • Блок TCP/IP Receive поддерживает использование ссылки модели. Эта функция позволяет вашей модели включать другие модели Simulink как модульные компоненты.

  • Блок TCP/IP Receive поддерживает генерацию кода C/C++. Эта функция позволяет вам генерировать C и Код С++ с помощью Simulink Coder™.

Для получения дополнительной информации об этих функциях см. документацию Simulink.

Порты

Вывод

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

Данные, полученные блоком из удаленного адреса, возвращенного как вектор, матрица или массив.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Новое состояние доступных данных, возвращенное как логический 1 TRUE) или 0 ложь). Если этот порт возвращает 1, новые данные доступны, чтобы быть считанными.

Зависимости

Чтобы включить этот порт, отменяйте параметр Enable blocking mode.

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

Параметры

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

IP-адрес или имя сервера TCP/IP, из которого вы хотите получить данные.

Программируемое использование

Параметры блоков: Host
Ввод: вектор символов, строка

Удаленный порт на сервере TCP/IP, с которым вы хотите соединиться в виде номера от 1 до 65 535.

Программируемое использование

Параметры блоков: Port
Ввод: вектор символов, строка
Значения: 1 - 65 535
Значение по умолчанию: '80'

Нажмите эту кнопку, чтобы проверять, допустима ли связь с заданным удаленным адресом и портом.

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

Программируемое использование

Параметры блоков: DataSize
Ввод: вектор символов, строка
Значения: вектор
Значение по умолчанию: '[ 1, 1 ]'

Тип данных, который блок получает от удаленного адреса в виде типа данных MATLAB.

Этот тип данных должен совпадать с типом данных данных в удаленном адресе. Вы не можете использовать этот параметр, чтобы изменить тип данных данных в удаленном адресе.

Программируемое использование

Параметры блоков: DataType
Ввод: вектор символов, строка
Значения: 'single' | 'double' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'ASCII'
Значение по умолчанию: 'uint8'

Этот параметр задает формат полученных данных о строке. Можно использовать следующие спецификаторы преобразования или комбинацию их.

Примечание

Если вы генерируете код C/C++ с помощью Simulink Coder, можно только использовать спецификатор однократного преобразования.

Числовой тип поляСпецификатор преобразованияДетали

Целое число, со знаком

%d

Основа 10

%i

Значения в данных определяют основу:

  • Значение по умолчанию основное 10.

  • Если начальными цифрами является 0x или 0X, затем значения являются шестнадцатеричными (базируйтесь 16).

  • Если начальной цифрой является 0, затем значения являются восьмеричными (базируйтесь 8).

%ld или %li

64-битные значения, основа 10, 8, или 16

Целое число, без знака

%u

Основа 10

%o

Базируйтесь 8 (восьмеричный)

%x

Базируйтесь 16 (шестнадцатеричный)

%lu, %lo, %lx

64-битные значения, основа 10, 8, или 16

Число с плавающей запятой

%f

Поля с плавающей точкой могут содержать любое из следующих (не чувствительный к регистру): InfInfNaN, или -NaN.

%e

%g

Программируемое использование

Параметры блоков: ASCIIFormatting
Ввод: вектор символов, строка
Значения: '%d' | '%i' | '%ld' | '%li' | '%u' | %o' | '%x' | '%lu' | '%lo' | '%lx' | '%f' | '%e' | '%g'
Значение по умолчанию: '%f'

Зависимости

Чтобы включить этот параметр, установите Source Data type на ASCII.

Если этот параметр выбран, можно задать терминатор строки, который указывает на конец блока данных. Симуляция рассматривает любые данные, которые происходят перед терминатором строки как новый блок данных. Данные о терминаторе строки не отправляются в выходной порт. Этот терминатор строки должен совпадать с терминатором строки в данных, которые вы считываете из своей удаленной машины.

Если вы выбираете Custom Terminator, можно задать собственное значение терминатора строки.

Программируемое использование

Параметры блоков: Terminator
Ввод: вектор символов, строка
Значения: 'CR' | 'LF' | 'CR/LF' | 'LF/CR' | 'Custom terminator'
Значение по умолчанию: 'LF'

Зависимости

Чтобы включить этот параметр, установите Source Data type на ASCII.

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

Числовым массивом, заданным в этом параметре, является uint8 целочисленное представление соответствующих символов ASCII. Точная форма этого параметра зависит от типа символа ASCII.

Тип символа ASCIIСимвол ASCII в качестве примераКоманда MATLABЗначение параметров
Управляющий символ (escape-последовательность)"LF" N)uint8(sprintf('\n'))[10]
Специальный символ"#"uint8('#')[35]
Числовой"81"uint8('81')[56 49]
Алфавит"End"uint8('End')[69 110 100]

Можно также задать этот параметр с помощью шестнадцатеричного представления символов ASCII.

Программируемое использование

Параметры блоков: CustomTerminator
Ввод: вектор символов, строка
Значения: целочисленный массив
Значение по умолчанию: '10'

Зависимости

Чтобы включить этот параметр, установите Terminator на Custom terminator.

Последовательный порядок, в котором байты располагаются в большие численные значения. Если порядком байтов является little-endian, затем первый байт организован в первом адресе памяти в полученном пакете TCP/IP. Если порядком байтов является big-endian, затем последний байт организован в первом адресе памяти в полученном пакете TCP/IP.

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

Программируемое использование

Параметры блоков: ByteOrder
Ввод: вектор символов, строка
Значения: 'little-endian' | 'big-endian'
Значение по умолчанию: 'big-endian'

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

Если вы позволяете блокировать режим, симуляция ожидает запрошенных данных, чтобы стать доступной. На каждом временном шаге модель ожидает до количества времени, заданного параметром Timeout. Если данные не получены в течение этого времени, блок выводит значение 0.

Если вы не позволяете блокировать режим, симуляция запускается постоянно, и блок имеет два выходных порта, Status и Data. Порт Data содержит требуемый набор данных на каждом временном шаге. Порт Status содержит 0 или 1 на основе того, получил ли он новые данные на данном временном шаге.

Для получения дополнительной информации смотрите, Позволяют Блокироваться, Режим в Получают и Отправляют Блоки.

Программируемое использование

Параметры блоков: EnableBlockingMode
Ввод: вектор символов, строка
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

Количество времени в секундах, что модель ожидает данных во время каждого шага времени симуляции. Это значение относительно реальной или "стены, показывают" время.

Программируемое использование

Параметры блоков: Timeout
Ввод: вектор символов, строка
Значения: положительная скалярная величина
Значение по умолчанию: '10'

Зависимости

Чтобы включить этот параметр, установите Enable blocking mode на on.

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

Программируемое использование

Параметры блоков: SampleTime
Ввод: вектор символов, строка
Значения: положительный числовой
Значение по умолчанию: '0.01'

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

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

Представленный в R2007b