Поиск и устранение проблем Интерфейс TCP/IP

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

Настройка и связь

  1. Убедитесь, что у вас есть правильный инструментальный драйвер, установленный для вашего устройства. Обратитесь к своей документации устройства и веб-сайту поставщика.

  2. Убедитесь, что ваше устройство поддерживается в Instrument Control Toolbox. Смотрите, что Мое Оборудование Поддержано?.

  3. Убедитесь, что Instrument Control Toolbox распознает ваше устройство, при помощи функции instrhwinfo с именем интерфейса tcpip. Например:

    instrhwinfo('tcpip')
    ans = 
    
     HardwareInfo with properties:
    
             LocalHost: {6x1 cell}
        JarFileVersion: 'Version 3.7'
  4. Убедитесь, что можно создать объект TCP/IP. Вы создаете объект TCP/IP с функцией tcpip, которая требует имени удаленного хоста как входной параметр. В большинстве случаев также необходимо задать значение удаленного порта. Если вы не задаете удаленный порт, то 80 используется.

    Каждый объект TCP/IP сопоставлен с одним инструментом. Например, чтобы создать объект TCP/IP для Генератора Sony/Tektronix® AWG520 Arbitrary Waveform, вы используете удаленное имя хоста инструмента и номера порта, который может быть найден в документации инструмента.

    t = tcpip('sonytekawg.yourdomain.com',4000);
  5. Убедитесь, что можно соединиться с устройством, с помощью функции fopen с именем объекта.

    fopen(t);

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

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

    • Убедитесь, что данные отправляются в формате, ожидаемом сервером.

    • Если вы соединяетесь с веб-сервером, вы, возможно, должны отправить HTTP команды post или get. Можно также использовать urlread или функции webread, чтобы связаться с веб-серверами.

    • Много серверов TCP/IP ожидают информацию о заголовке в пакете TCP/IP.

    Смотрите Связь TCP/IP с Удаленным Хостом к примеру коммуникации по TCP/IP.

Другие советы Поиска и устранения проблем для TCP/IP

ВИЗА

Можно также использовать интерфейс visa с именем ресурса TCP/IP VISA вместо интерфейса tcpip для связи TCP/IP с инструментами.

Неправильные данные

Убедитесь правильный тип данных – например, int16, uint16, double – используются с fread и fwrite. Необходимо использовать совпадающий тип данных в качестве инструментального использования.

При чтении и записывании данные типы кроме uint8 или int8, убедитесь, что ByteOrder правилен.