Протокол управления передачей (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
'interfaceName' . Например:
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 get
или post
команды. Можно также использовать 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
правильно.