Протокол управления передачей (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 правилен.