exponenta event banner

Устранение неполадок интерфейса последовательного порта

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

  • модем

  • принтер

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

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

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

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

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

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

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

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

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

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

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

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

Эти два устройства необходимо соединить последовательным кабелем. Дополнительные сведения см. в разделе Подключение двух устройств с помощью последовательного кабеля.

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

Конфигурация и подключение

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

  2. Убедитесь, что устройство поддерживается в 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 > Диспетчер устройств > Порты.

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

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

ВИЗА

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

Программное обеспечение сторонних производителей

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

Неверные данные

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

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