Поиск и устранение проблем с интерфейсом последовательного порта

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

  • модем

  • принтер

  • научный прибор, такой как осциллограф или генератор функций

Последовательный порт отправляет и получает байты информации последовательно - по 1 биту за раз. Эти байты передаются либо в двоичном формате, либо в текстовом (ASCII) формате.

Для многих последовательных портов, вы можете общаться с вашим инструментом, не имея подробных знаний о том, как работает последовательный порт. Связь устанавливается через объект последовательного порта, который вы создаете в MATLAB® рабочей области.

Поддерживаемые платформы

Интерфейс последовательного порта поддерживается на следующих платформах:

  • Linux® 64-разрядная версия

  • macOS 64-bit

  • Microsoft® Windows® 64-разрядная версия

Интерфейс последовательного порта поддерживается на тех же платформах, что и MATLAB. Для получения обновлений списка поддерживаемых платформ смотрите Системные требования для MATLAB.

Требования к адаптерам

Используйте RS-232 стандарт интерфейса с коммуникацией по последовательному порту. За эти годы было разрабатываемы несколько стандарты последовательного порта подключения компьютеров к периферийным устройствам. Эти стандарты включают RS-232, RS-422 и RS-485 - все они поддерживаются объектом последовательного порта. Из них наиболее широко используемым стандартом является RS-232, что обозначает Рекомендуемый стандарт № 232.

В этом руководстве предполагается, что вы используете стандарт RS-232.

Вы должны подключить два устройства с помощью последовательного кабеля. Для получения дополнительной информации см. раздел «Соединение двух устройств с помощью последовательного кабеля».

Последовательные порты состоят из двух типов сигналов: сигналов данных и сигналов управления. Для поддержки этих типов сигналов, а также сигнальной земли, стандарт RS-232 задает 25-контактное соединение. Однако большинство ПК и UNIX® платформы используют 9-контактное соединение. На самом деле для последовательной связи портов требуется только три контакта: один для приема данных, один для передачи данных и один для сигнальной земли. Для получения дополнительной информации см. раздел «Сигналы последовательного порта и назначения контактов».

Строение и подключение

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

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

  3. Убедитесь, что Instrument Control Toolbox распознает ваши последовательные порты, используя instrhwinfo функция со serialport имя интерфейса. Для примера:

    info = instrhwinfo("serialport")
    ans = 
    
      HardwareInfo with properties:
    
               AllSerialPorts: {"COM1"}
         AvailableSerialPorts: {"COM1"}
        ObjectConstructorName: {"serialport("COM1", 38400);"}

    Если компьютер имеет несколько последовательных портов, выход будет выглядеть следующим образом:

    info = instrhwinfo("serialport")
    info = 
    
      HardwareInfo with properties:
    
               AllSerialPorts: [3×1 string]
         AvailableSerialPorts: [3×1 string]
        ObjectConstructorName: [3×1 string]
  4. В этом примере на выходе перечислены три порта. Список доступных последовательных портов:

    info.AvailableSerialPorts
    ans = 
    
      3×1 string array
    
        "COM1"
        "COM3"
        "COM4"

    Совет

    Можно также использовать диспетчер устройств Windows, чтобы просмотреть список доступных последовательных портов.

  5. Убедитесь, что вы можете создать объект последовательного порта. Для создания объекта необходимо указать два аргумента. Например, создайте последовательный объект с именем s использование порта COM1 и скорость передачи 9600.

    s = serialport("COM1",9600);

    Если вы не получите ошибку, объект был создан успешно.

  6. Когда вы подключены, вы можете связаться с вашим устройством. Если у вас возникли проблемы с отправкой или приемом, вам, возможно, потребуется сконфигурировать такие параметры связи, как BaudRate, DataBits, Parity, StopBits, или Terminator. Убедитесь, что вы сконфигурировали эти параметры связи так, чтобы они совпадали с параметрами подключенного устройства.

    Для примеров связи смотрите Запись и чтение текстовых данных и Запись и чтение двоичных данных.

Другие советы по поиску и устранению проблем для последовательного порта

Проверьте порт

Убедитесь, что последовательный (COM) порт указан в панели управления Windows Control Panel > диспетчере устройств > портах.

Отправка и получение

Если у вас возникли проблемы с отправкой или приемом, вам, возможно, потребуется сконфигурировать такие параметры связи, как BaudRate, DataBits, Parity, StopBits, или Terminator. Убедитесь, что вы сконфигурировали эти параметры связи так, чтобы они совпадали с параметрами подключенного устройства.

ВИЗА

Для последовательной связи можно также использовать VISA с именем ресурса VISA, определенным в утилите поставщика VISA, такой как Keysight Connection Expert.

Стороннее программное обеспечение

Для устранения неполадок в связи с последовательными портами можно также использовать стороннее программное обеспечение последовательной связи, такое как PuTTY или Tera Term.

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

При выполнении передачи двоичных данных с read и write, убедитесь, что правильный тип данных - например int16, uint16, double - используется с read и write. Вы должны использовать тот совпадающий тип данных, что и инструмент.

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