Протокол управления передачей (TCP) является транспортным протоколом, разделенным на уровни сверху межсетевого протокола (IP), и является одним из наиболее высоко используемых сетевых протоколов. С Instrument Control Toolbox™ можно использовать коммуникацию неструктурированного сокета и подключение к удаленным хостам, чтобы читать и записать данные. Например, вы могли использовать его, чтобы получить данные из удаленной метеостанции и отобразить данные на графике.
TCP/IP поддерживается на этих платформах:
Linux® 64-bit
macOS 64-bit
Microsoft® Windows® 64-bit
Интерфейс TCP/IP поддерживается на тех же платформах как MATLAB®. Для обновлений списка в настоящее время поддерживаемых платформ см. https://www.mathworks.com/support/sysreq/current_release/.
Убедитесь, что у вас есть правильный инструментальный драйвер, установленный для вашего устройства. Обратитесь к своей документации устройства и веб-сайту поставщика.
Убедитесь, что ваше устройство поддерживается в Instrument Control Toolbox. Смотрите, что Мое Оборудование Поддержано?.
Убедитесь, что Instrument Control Toolbox распознает ваше устройство, при помощи функции instrhwinfo
с именем интерфейса tcpip
. Например:
instrhwinfo('tcpip')
ans = HardwareInfo with properties: LocalHost: {6x1 cell} JarFileVersion: 'Version 3.7'
Убедитесь, что можно создать объект TCP/IP. Вы создаете объект TCP/IP с функцией tcpip
, которая требует имени удаленного хоста как входной параметр. В большинстве случаев также необходимо задать значение удаленного порта. Если вы не задаете удаленный порт, то 80 используется.
Каждый объект TCP/IP сопоставлен с одним инструментом. Например, чтобы создать объект TCP/IP для Генератора Sony/Tektronix® AWG520 Arbitrary Waveform, вы используете удаленное имя хоста инструмента и номера порта, который может быть найден в документации инструмента.
t = tcpip('sonytekawg.yourdomain.com',4000);
Убедитесь, что можно соединиться с устройством, с помощью функции fopen
с именем объекта.
fopen(t);
Если вы не получаете ошибку, связь была установлена успешно. Ошибки функции fopen
, если сокетное соединение не может быть сделано к серверу TCP/IP. Если fopen
работает, компьютер и номер порта правильны, и сервер TCP/IP работает на другом конце. Если вы действительно получаете ошибку, выполняете шаги в сообщении об ошибке и/или проверяете предыдущие шаги, перечисленные здесь.
Когда вы соединились, можно связаться с устройством. Если отправка и получение не работают, можно проверять следующее:
Убедитесь, что данные отправляются в формате, ожидаемом сервером.
Если вы соединяетесь с веб-сервером, вы, возможно, должны отправить HTTP команды post
или get
. Можно также использовать urlread
или функции webread
, чтобы связаться с веб-серверами.
Много серверов TCP/IP ожидают информацию о заголовке в пакете TCP/IP.
Смотрите Связь TCP/IP с Удаленным Хостом к примеру коммуникации по TCP/IP.
ВИЗА
Можно также использовать интерфейс visa
с именем ресурса TCP/IP VISA вместо интерфейса tcpip
для связи TCP/IP с инструментами.
Неправильные данные
Убедитесь правильный тип данных – например, int16
, uint16
, double
– используются с fread
и fwrite
. Необходимо использовать совпадающий тип данных в качестве инструментального использования.
При чтении и записывании данные типы кроме uint8
или int8
, убедитесь, что ByteOrder
правилен.