Nport administration suite инструкция на русском

В статье рассматриваем настройку самых востребованных режимов работы: RealCOM — виртуальный СОМ порт на ПК, TCP Client, TCP Server.

Не путайте NPort со шлюзами MGate. NPort преобразует только интерфейсы СОМ в Ethernet и не изменяет данные, а MGate преобразует интерфейсы и протоколы, подробнее в статье об отличиях NPort и MGate.

Как настроить NPort?

Содержание:

  • Видеообзор возможностей NPort
  • Настройка NPort

    • Режим RealCOM или Виртуальный COM-порт
    • Режим TCP Client
    • Режим TCP Server
  • Как проверить работает ли NPort?
  • Подтягивающие и согласующие резисторы

Специалисты IPC2U сделали настолько подробный обзор конфигурации NPort, насколько это возможно. В видео показаны пошаговые действия по настройке NPort с помощью бесплатной утилиты и рассмотрены режимы работы (с подробным описанием и анимированным иллюстрациями). В ходе ролика мы подключим модуль M-7055D, который работает по протоколу Modbus RTU, и отправим на него команду для включения дискретных выходов. Также рассмотрим, как проверить правильность работы NPort без необходимости подключать дополнительные модули.

Дополнительно в третьей части видео показаны «секреты» NPort: расширенные функции, о которых мало кто знает, но именно они способны избавить вас от многих причин головной боли инженеров и проектировщиков.

Настройка NPort

Режим RealCOM

Для работы с NPort IA5150 в режиме RealCOM установите драйвер или NPort Administration Suite.

Сначала нужно настроить NPort, а затем добавить СОМ порт либо через драйвер, либо через NPort Administration Suite.

Если вы используете драйвер, то после настройки NPort вы увидите СОМ порт в диспетчере устройств. Если вы используете NPort Administration Suite для добавления СОМ порта, то СОМ порт в диспетчере устройств не отображается.

Настроим NPort в режим RealCOM и добавим виртуальный СОМ порт через NPort Administration Suite. Также можно использовать WEB-интерфейс для настройки.

Найдем NPort выделив поле Configuration и нажав кнопку Search.

После этого нужно разблокировать NPort: нажать правой кнопкой на нем, выбрать Unlock и ввести пароль из документации.

Далее выделяем наш NPort и нажимаем кнопку Configure.

В этом окне можно изменить настройки NPort, достаточно поставить галочку возле поля Modify.

Во вкладке Network можно изменить IP адрес NPort.

Во вкладке Serial настраиваются параметры COM порта: его скорость, тип интерфейса и др.

Для режима RealCOM скорость COM порта будет автоматически изменяться при открытии СОМ порта, а в других режимах здесь нужно указать правильную скорость.

Перейдем во вкладку Operation Mode для настройки режима работы конкретного COM порта.

Выберем режим работы RealCOM, а другие параметры оставим по умолчанию.

После сохранения настроек, NPort перезагрузиться и издаст характерный звук.

Далее добавим виртуальный СОМ порт на ПК (также для этого можно использовать драйвер NPort).

Выделим поле COM Mapping и нажмем кнопку Add.

В программе появится NPort и он будет иметь синий цвет, что значит эта настройка еще не сохранена.

Вы можете изменить номер СОМ порта через кнопку Configure.

После установки всех настроек сохраним их, нажав на кнопку Apply.

Надпись стала черного цвета, что означает все изменения были сохранены.

Для работы с СОМ портом нужна программа, которая позволит открыть СОМ порт и отправить в него данные. MOXA предлагает воспользоваться бесплатной утилитой PComm Lite.

Для проверки работы NPort можно воспользоваться рекомендациями ниже.

Режим TCP Client

Для режима TCP Client во вкладке Serial нужно указать правильную скорость, т.к. она сама не перестраивается.

Во вкладке Operation Mode нужно выбрать режим TCP Client.

Для правильной работы нужно указать IP адрес TCP Server с которым будет установлено соединение и TCP порт. Остальные параметры можно оставить по умолчанию.

Режим TCP Server

Для режима TCP Server во вкладке Serial нужно указать правильную скорость, т.к. она сама не перестраивается.

Во вкладке Operation Mode нужно выбрать режим TCP Server.

Для правильной работы нужно указать TCP порт по которому будет подключаться TCP Client.

Остальные параметры можно оставить по умолчанию.

Как проверить работает ли NPort?

Для проверки RS-232 можно воспользоваться простым способом, достаточно замкнуть контакты RX и TX между собой, что позволяет сделать петлю. Тогда все переданные данные в NPort будут возвращены обратно.

Откройте программу PComm Terminal Emulator, во вкладке Port Manager откройте СОМ порт, соответствующий NPort(в режиме RealCOM). Скорость и другие параметры можно оставить по умолчанию, т.к. драйвер автоматически применяет такие же параметры на NPort.

Мы отправили несколько единиц в СОМ порт и получили их обратно, также видим одинаковые значения счетчиков TX и RX, что подтверждает получение всех отправленных данных.

Подтягивающие и согласующие резисторы

В некоторых моделях NPort есть встроенные резисторы, которые обеспечивают правильную работу линий RS-422/485.

Согласующий резистор или терминатор 120 Ом – ставится в начале и конце линии для предотвращения отражения сигнала от конца линии и искажении полезного сигнала в RS-422/485.

Подтягивающие резисторы (pull high/low resistors) – предназначены для ограничения тока, протекающего по сигнальным цепям, и чтобы сделать состояние цифрового входа по умолчанию высоким или низким.

NPort IA5150 не имеет встроенных резисторов, но у некоторых моделей они есть, пример для других моделей:

Распиновка разъема NPort IA5150


Если у Вас есть вопросы по продукции МОХА, обращайтесь по телефону: +7 (495) 419-1201 или по e-mail: russia@moxa.pro

В статье рассматриваем настройку самых востребованных режимов работы: RealCOM — виртуальный СОМ порт на ПК, TCP Client, TCP Server.

Не путайте NPort со шлюзами MGate. NPort преобразует только интерфейсы СОМ в Ethernet и не изменяет данные, а MGate преобразует интерфейсы и протоколы, подробнее в статье об отличиях NPort и MGate.

Как настроить NPort?

Содержание:

  • Видеообзор возможностей NPort
  • Настройка NPort

    • Режим RealCOM или Виртуальный COM-порт
    • Режим TCP Client
    • Режим TCP Server
  • Как проверить работает ли NPort?
  • Подтягивающие и согласующие резисторы

Специалисты IPC2U сделали настолько подробный обзор конфигурации NPort, насколько это возможно. В видео показаны пошаговые действия по настройке NPort с помощью бесплатной утилиты и рассмотрены режимы работы (с подробным описанием и анимированным иллюстрациями). В ходе ролика мы подключим модуль M-7055D, который работает по протоколу Modbus RTU, и отправим на него команду для включения дискретных выходов. Также рассмотрим, как проверить правильность работы NPort без необходимости подключать дополнительные модули.

Дополнительно в третьей части видео показаны «секреты» NPort: расширенные функции, о которых мало кто знает, но именно они способны избавить вас от многих причин головной боли инженеров и проектировщиков.

Режим RealCOM

Для работы с NPort IA5150 в режиме RealCOM установите драйвер или NPort Administration Suite.

Сначала нужно настроить NPort, а затем добавить СОМ порт либо через драйвер, либо через NPort Administration Suite.

Если вы используете драйвер, то после настройки NPort вы увидите СОМ порт в диспетчере устройств. Если вы используете NPort Administration Suite для добавления СОМ порта, то СОМ порт в диспетчере устройств не отображается.

Настроим NPort в режим RealCOM и добавим виртуальный СОМ порт через NPort Administration Suite. Также можно использовать WEB-интерфейс для настройки.

Найдем NPort выделив поле Configuration и нажав кнопку Search.

После этого нужно разблокировать NPort: нажать правой кнопкой на нем, выбрать Unlock и ввести пароль из документации.

Далее выделяем наш NPort и нажимаем кнопку Configure.

В этом окне можно изменить настройки NPort, достаточно поставить галочку возле поля Modify.

Во вкладке Network можно изменить IP адрес NPort.

Во вкладке Serial настраиваются параметры COM порта: его скорость, тип интерфейса и др.

Для режима RealCOM скорость COM порта будет автоматически изменяться при открытии СОМ порта, а в других режимах здесь нужно указать правильную скорость.

Перейдем во вкладку Operation Mode для настройки режима работы конкретного COM порта.

Выберем режим работы RealCOM, а другие параметры оставим по умолчанию.

После сохранения настроек, NPort перезагрузиться и издаст характерный звук.

Далее добавим виртуальный СОМ порт на ПК (также для этого можно использовать драйвер NPort).

Выделим поле COM Mapping и нажмем кнопку Add.

В программе появится NPort и он будет иметь синий цвет, что значит эта настройка еще не сохранена.

Вы можете изменить номер СОМ порта через кнопку Configure.

После установки всех настроек сохраним их, нажав на кнопку Apply.

Надпись стала черного цвета, что означает все изменения были сохранены.

Для работы с СОМ портом нужна программа, которая позволит открыть СОМ порт и отправить в него данные. MOXA предлагает воспользоваться бесплатной утилитой PComm Lite.

Для проверки работы NPort можно воспользоваться рекомендациями ниже.

Режим TCP Client

Для режима TCP Client во вкладке Serial нужно указать правильную скорость, т.к. она сама не перестраивается.

Во вкладке Operation Mode нужно выбрать режим TCP Client.

Для правильной работы нужно указать IP адрес TCP Server с которым будет установлено соединение и TCP порт. Остальные параметры можно оставить по умолчанию.

Режим TCP Server

Для режима TCP Server во вкладке Serial нужно указать правильную скорость, т.к. она сама не перестраивается.

Во вкладке Operation Mode нужно выбрать режим TCP Server.

Для правильной работы нужно указать TCP порт по которому будет подключаться TCP Client.

Остальные параметры можно оставить по умолчанию.

Как проверить работает ли NPort?

Для проверки RS-232 можно воспользоваться простым способом, достаточно замкнуть контакты RX и TX между собой, что позволяет сделать петлю. Тогда все переданные данные в NPort будут возвращены обратно.

Откройте программу PComm Terminal Emulator, во вкладке Port Manager откройте СОМ порт, соответствующий NPort(в режиме RealCOM). Скорость и другие параметры можно оставить по умолчанию, т.к. драйвер автоматически применяет такие же параметры на NPort.

Мы отправили несколько единиц в СОМ порт и получили их обратно, также видим одинаковые значения счетчиков TX и RX, что подтверждает получение всех отправленных данных.

Подтягивающие и согласующие резисторы

В некоторых моделях NPort есть встроенные резисторы, которые обеспечивают правильную работу линий RS-422/485.

Согласующий резистор или терминатор 120 Ом – ставится в начале и конце линии для предотвращения отражения сигнала от конца линии и искажении полезного сигнала в RS-422/485.

Подтягивающие резисторы (pull high/low resistors) – предназначены для ограничения тока, протекающего по сигнальным цепям, и чтобы сделать состояние цифрового входа по умолчанию высоким или низким.

NPort IA5150 не имеет встроенных резисторов, но у некоторых моделей они есть, пример для других моделей:

Распиновка разъема NPort IA5150


Если у Вас есть вопросы по продукции МОХА, обращайтесь по телефону: +7 (495) 419-1201 или по e-mail: russia@moxa.pro

Содержание

  1. Как работает NPort?
  2. Сервер последовательных интерфейсов – что это?
  3. Как работает NPort?
  4. Упаковка данных и буфер памяти
  5. Работа драйвера NPort
  6. Как выбрать режим работы NPort?
  7. Режимы, для работы которых требуется установка драйвера:
  8. Socket режимы:
  9. Специальные режимы:
  10. MOXA Nport — взгляд изнутри
  11. Часть 1. Вводная
  12. Часть 2. Эмулируем MOXA
  13. Часть 3. Ищем и находим
  14. Часть 4. Считаем индусов*
  15. Как настроить NPort? На примере NPort IA5150
  16. Настройка NPort
  17. Режим RealCOM
  18. Режим TCP Client
  19. Режим TCP Server
  20. Как проверить работает ли NPort?
  21. Подтягивающие и согласующие резисторы

Как работает NPort?

Не знаете, чем отличаются режимы работы NPort, и какой выбрать? Мы всё объяснили!

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

Сервер последовательных интерфейсов – что это?

Для рядового пользователя NPort представляет собой устройство, которое пробрасывает данные между локальной сетью Ethernet и последовательным портом устройства (COM-портом).

Обычно, особенно в англоязычной литературе, такие устройства называют серверами последовательных интерфейсов. Используется слово «сервер», потому что устройства собирают на себя данные с одного или нескольких последовательных портов, а потом, обработав, передают дальше по сети. При этом такие приборы подменивают данные на 1-м (физическом) и 2-м (канальном) уровне модели OSI, преобразовывая среду передачи и форматы кадров между стандартами Ethernet и RS-232/422/485. В контексте такого взгляда на функционал понятие «сервер» скорее синоним слова «буфер», а не компьютер (сервер в классическом понимании обычно выполняет немного другие задачи, а именно: предоставление общего доступа к ресурсам и услугам).

В русскоязычной среде больше прижились понятия «преобразователь» или «конвертер» последовательных интерфейсов, что, в принципе, лучше передаёт смысл задач, выполняемых такими устройствами, но не принцип их работы. На самом деле многие не знают, как происходят эти преобразования, из-за чего пользователи иногда сталкиваются с проблемами при использовании серверов/конвертеров/преобразователей (полюбившееся подчеркнуть) последовательных интерфейсов.

Как работает NPort?

Упаковка данных и буфер памяти

Одна из проблем, с которой сталкиваются производители преобразователей последовательных интерфейсов – различие в скоростях передачи данных по сети Ethernet (10/100 Мбит/с) и последовательной линии связи RS-232/422/485 (до 921.6 кбит/с). Поэтому данные, приходящие на COM-порт сервера последовательных интерфейсов, помещаются в буфер памяти, где хранятся до его переполнения/получения спец. символа/истечения времени хранения.

После этого все данные из буфера “упаковываются” в IP-пакет и передаются по Ethernet-сети в рамках TCP- или UDP-сессии.

К данным добавляется заголовок TCP-сегмента: — Data over TCP

Работа драйвера NPort

Для работы NPort в режиме виртуального COM-порта на компьютере обязательно должен быть драйвер. Он инсталлируется на вычислительную машину автоматически при установке утилиты NPort Administrator или NPort Windows Driver Manager. Читайте также: В чем отличие NPort Administrator и NPort Windows Driver Manager?

При отправке информации через приложение драйвер перехватывает данные, отправляемые на COM-порт, упаковывает их в пакеты TCP/IP и затем отправляет через сетевую карту ПК.

При приеме данных с COM-порта драйвер принимает данные, приходящие на сетевую карту ПК, распаковывает TCP/IP пакет и передает приложению в корректном для приложения формате.

Таким образом на аппаратном уровне компьютер общается только с Ethernet-сетью, в то же время на программном – приложение на ПК отправляет данные в том же виде, как если бы работало с реальной платой с COM-портами, вставленной в PCI-слот машины.

В свою очередь на другом конце соединения NPort принимает Ethernet-кадры, затем распаковывает IP-пакет, отбрасывает TCP-заголовок и затем прозрачно отправляет оставшиеся данные на соответствующее последовательное устройство, подключенное к одному из последовательных портов NPort.

Как выбрать режим работы NPort?

NPort поддерживает 11 групп режимов работы для различных задач. Диаграмма ниже поможет правильно выбрать режим работы.

Принято считать, что именно обилие режимов сделало NPort самым продаваемым сервером последовательных интерфейсов в мире.

Рассмотрим все это подробнее в отдельных мини-статьях.

Режимы, для работы которых требуется установка драйвера:

Эти режимы можно назвать классическими, и их основная задача – оснастить современные компьютеры, у которых есть только Ethernet-порт виртуальным COM-портом, чтобы продолжать использовать программы, написанные под старое оборудование.

Socket режимы:

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

Специальные режимы:

Эти режимы используются для частных случаев, понятных из названий. Более подробную информацию о них можно получить, кликнув по ссылкам.

MOXA Nport — взгляд изнутри

Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422.

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

Все, что может генерировать данные или управляться удаленно и имеет интерфейс RS-232, RS-485 и RS-422 — работает через данные преобразователи.

Общий смысл их использования — обычно заключается в следующем: пробросить интерфейсы RS-232,RS-485 и RS-422 через существующую локальную сеть, подключить устройство или прибор имеющий один из последовательных интерфейсов к ПК (серверу, SCADA) через Ethernet, подключится к прибору имеющему последовательный интерфейс через Internet для удаленного управления и т.п.

Цены на данные преобразователи не сильно высоки, младшие модели можно взять за 100-200$. Но учитывая что на любом автоматизированном производстве таких устройств может быть установлено сотни а то и тысячи — вырисовывается довольно лакомый кусочек для отечественных «импортозамещальщиков».

Им то я сегодня и попытаюсь помочь.

Что будем делать?

Во первых — разберемся в теории, как оно устроено внутри.

Во вторых — вычленим минимальный функционал для запуска работы в режиме Real Com Mode (то есть по сути для проброса виртуального COM порта до устройства через Ethernet).

В третьих — ради интереса разберем протокол поиска и конфигурирования устройства через утилиту NPort Administration Suite. Получим полное понимание, как создать pin-to-pin аналог железки, которую можно воткнуть вместо существующей MOXA Nport при этом получив полную поддержку со стороны родного ПО и драйвера.

Ну и на последок — попробуем посчитать, сколько индусов писало код прошивки MOXA.

Часть 1. Вводная

Итак, у нас на столе подопытный (на самом деле их было несколько, поэтому не удивляйтесь если увидите в статье различные идентификаторы моделей и различные MAC адреса)

На нем есть порт Ethernet и два порта RS-422/RS-485 — это физически.
А в программном плане — на устройстве открыты:
UDP порт 4800 — он отвечает за ловлю пакетов поиска устройства и отдает данные о самом устройстве в утилиту конфигурирования.

TCP порт 4900 — на него приходят команды конфигурирования устройства. Через этот порт настраивается время устройства, имя, IP адрес, режим работы, скорости и настройки портов и прочие базовые параметры, которые можно настроить через основной интерфейс утилиты NPort Administration Suite:

TCP порт 80 — отвечает за работу WEB интерфейса
TCP порты 966, 967, (и 968, 969 у 4х портовых устройств) — это порты управления передачей. По ним бегают команды открытия/закрытия соответствующего COM порта, установка скорости порта, проталкивание данных, мониторинг заполненности буфера передачи / приема и тд. Порт 966 отвечает за работу первого порта соответственно.

TCP порты (по умолчанию) 950, 951, (и 952, 953 у 4х портовых устройств) — это порты непосредственной передачи данных. То есть то, что непосредственно должно оказаться на RS-232/485/422 порте у устройства — передается в данные порт. Только данные, управление потоком в данном порту идет по 966, 967, 968, 969 портам соответственно.

Надеюсь общая картинка понимания работы устройства в голове сложилась. Давайте перейдем к следующей части:

Часть 2. Эмулируем MOXA

Наверняка многим уже стало понятно, что для того чтобы прикинутся MOXA Nport в минимальной конфигурации — необходимо на своем железе поднять TCP сервер на 2х портах: 966 для управления передачей и 950 для непосредственно передачи данных. Естественно придется корректно отвечать и обрабатывать запросы драйвера по 966 порту, но как показал анализ средствами wireshark — запросов не так много и они простейшие.

Дабы не перегружать текст статьи выкладками с описанием запросов и ответов — подготовил и выложил отдельно в виде pdf файла описание всех разобранных запросов, ответов и передаваемых параметров.

Скачать: Описание разбора протокола MOXA.pdf
То есть данный набор знаний позволяет реализовать устройство, которое может работать в паре с родным драйвером и передавать данные как MOXA. Половина работы выполнена, но есть один момент — как поменять конфигурацию? Было бы здорово использовать для этих целей родную утилиту NPort Administration Suite.

Часть 3. Ищем и находим

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

В этой части копнем немного глубже и посмотрим, как же проводился анализ самого обмена.
Мы знаем, что на устройстве открыт UDP порт 4800, давайте подключим устройство, запустим NPort Administration Suite, Wireshark и посмотрим что происходит при поиске устройств родной утилитой.

Смотрим отправленные пакеты:

Видим, что NPort Administration Suite отправляет бродкаст на адрес 255.255.255.255 то есть надеется, что пакет разлетится по всей сети.

В payload пакета содержатся данные:

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

На данный запрос отзываются все MOXы.

Конкретно наша ответила:

Вроде все элементарно просто, смущает только значение 12 03 00 80 32 03, отвечающее за интерпретацию конкретной модели устройства.

Но, так как данное значение сверяется с каким то эталонным справочным — значит оно должно где то хранится.

Немного изучив директорию с ПО — находим, что в NPort Administrator Suite v1.22 данные значения хранятся в файле C:Program FilesNPortAdminSuitebindsci.dll

Посидев с Wireshark и устройством несколько дней — получаем полный лог обмена и понимание какие коды функций что получают в ответ. Для удобства восприятия — все найденное описано в том же pdf файле, ссылка на который указана в статье ранее.

Для полноты понимания картины — лишь напомню, что по UDP 4800 идет получение первичных сведений о устройстве, все параметры которые требуют настройки и установки — настраиваются посредством запросов на TCP порт 4900.

Правильно обработав все поступающие запросы на 4800 и 4900 порты — мы сможем полноценно прикинуться устройством, так что даже родное ПО не заметит подвох.

Часть 4. Считаем индусов*

В ходе анализа протокола — меня не покидало ощущение, что различные куски протокола обмена писали разные люди, слишком отличаются значения функций и их интерпретации.

UDP порт 4800 коды функций начинаются с:

TCP порт 4900 коды функций начинаются с:

TCP порты 966, 967, 968, 969 коды функций начинаются с:

То есть используется уже одно байтовый идентификатор функции, а не двухбайтовый как ранее.
Тут кстати вылез забавный момент. По портам 966, 967, 968, 969 ответ на установку параметров всегда состоит из 3х байт.

Первый — это номер функции, а остальные 2 это 4f 4b или есть посмотреть в таблицу ASCII — «O» «K»

Ну OK с ним, идем далее.

Вторая замеченная особенность — мешанина Big и Little Endian в пределах одного ответа.

Размер пакета кодируется одним образом, а все числовые значения (год, месяц, день . ) другим. Отсюда можно сделать вывод, что обработку пользовательской части начиная с 75 00 04 00…… писал другой программист.

Подведем итог: Минимум 3 разных человека писали протокол обмена, 1 писал обработку пользовательской части данных и еще как минимум 1 писал обработчик WEB интерфейса. По моим подсчетам над проектом трудилось примерно 5 программистов.
А сколько насчитали вы?

*Под понятием «Индус» в данном случае подразумевается наемный работник, выполняющий свои обязанности за еду и ипотеку, способный кодить отсюда и до обеда не особо вникая в глобальные планы компании работодателя.

Как настроить NPort? На примере NPort IA5150

В статье рассматриваем настройку самых востребованных режимов работы: RealCOM — виртуальный СОМ порт на ПК, TCP Client, TCP Server.

Не путайте NPort со шлюзами MGate. NPort преобразует только интерфейсы СОМ в Ethernet и не изменяет данные, а MGate преобразует интерфейсы и протоколы , подробнее в статье об отличиях NPort и MGate .

  • Настройка NPort
  • Режим RealCOM или Виртуальный COM-порт
  • Режим TCP Client
  • Режим TCP Server
  • Как проверить работает ли NPort?
  • Подтягивающие и согласующие резисторы

Настройка NPort

Режим RealCOM

Для работы с NPort IA5150 в режиме RealCOM установите драйвер или NPort Administration Suite .

Сначала нужно настроить NPort, а затем добавить СОМ порт либо через драйвер, либо через NPort Administration Suite.

Вы можете посмотреть короткий видеоролик по настройке NPort:

Если вы используете драйвер, то после настройки NPort вы увидите СОМ порт в диспетчере устройств. Если вы используете NPort Administration Suite для добавления СОМ порта, то СОМ порт в диспетчере устройств не отображается .

Настроим NPort в режим RealCOM и добавим виртуальный СОМ порт через NPort Administration Suite. Также можно использовать WEB-интерфейс для настройки.

Найдем NPort выделив поле Configuration и нажав кнопку Search .

После этого нужно разблокировать NPort: нажать правой кнопкой на нем, выбрать Unlock и ввести пароль из документации.

Далее выделяем наш NPort и нажимаем кнопку Configure .

В этом окне можно изменить настройки NPort, достаточно поставить галочку возле поля Modify .

Во вкладке Network можно изменить IP адрес NPort.

Во вкладке Serial настраиваются параметры COM порта: его скорость, тип интерфейса и др.

Для режима RealCOM скорость COM порта будет автоматически изменяться при открытии СОМ порта, а в других режимах здесь нужно указать правильную скорость.

Перейдем во вкладку Operation Mode для настройки режима работы конкретного COM порта.

Выберем режим работы RealCOM , а другие параметры оставим по умолчанию.

После сохранения настроек, NPort перезагрузиться и издаст характерный звук.

Далее добавим виртуальный СОМ порт на ПК (также для этого можно использовать драйвер NPort).

Выделим поле COM Mapping и нажмем кнопку Add.

В программе появится NPort и он будет иметь синий цвет, что значит эта настройка еще не сохранена.

Вы можете изменить номер СОМ порта через кнопку Configure .

После установки всех настроек сохраним их, нажав на кнопку Apply .

Надпись стала черного цвета , что означает все изменения были сохранены.

Для работы с СОМ портом нужна программа, которая позволит открыть СОМ порт и отправить в него данные. MOXA предлагает воспользоваться бесплатной утилитой.

Для проверки работы NPort можно воспользоваться рекомендациями ниже.

Режим TCP Client

Для режима TCP Client во вкладке Serial нужно указать правильную скорость, т.к. она сама не перестраивается.

Во вкладке Operation Mode нужно выбрать режим TCP Client .

Для правильной работы нужно указать IP адрес TCP Server с которым будет установлено соединение и TCP порт. Остальные параметры можно оставить по умолчанию.

Режим TCP Server

Для режима TCP Server во вкладке Serial нужно указать правильную скорость, т.к. она сама не перестраивается.

Во вкладке Operation Mode нужно выбрать режим TCP Server .

Для правильной работы нужно указать TCP порт по которому будет подключаться TCP Client .

Остальные параметры можно оставить по умолчанию.

Как проверить работает ли NPort?

Для проверки RS-232 можно воспользоваться простым способом, достаточно замкнуть контакты RX и TX между собой, что позволяет сделать петлю. Тогда все переданные данные в NPort будут возвращены обратно.

Откройте программу PComm Terminal Emulator, во вкладке Port Manager откройте СОМ порт , соответствующий NPort(в режиме RealCOM). Скорость и другие параметры можно оставить по умолчанию, т.к. драйвер автоматически применяет такие же параметры на NPort.

Мы отправили несколько единиц в СОМ порт и получили их обратно, также видим одинаковые значения счетчиков TX и RX, что подтверждает получение всех отправленных данных.

Подтягивающие и согласующие резисторы

В некоторых моделях NPort есть встроенные резисторы, которые обеспечивают правильную работу линий RS-422/485.

Согласующий резистор или терминатор 120 Ом – ставится в начале и конце линии для предотвращения отражения сигнала от конца линии и искажении полезного сигнала в RS-422/485.

Подтягивающие резисторы (pull high/low resistors) – предназначены для ограничения тока, протекающего по сигнальным цепям, и чтобы сделать состояние цифрового входа по умолчанию высоким или низким.

NPort IA5150 не имеет встроенных резисторов, но у некоторых моделей они есть, пример для других моделей:

Время на прочтение
6 мин

Количество просмотров 21K

Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422.

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

Все, что может генерировать данные или управляться удаленно и имеет интерфейс RS-232, RS-485 и RS-422 — работает через данные преобразователи.

Общий смысл их использования — обычно заключается в следующем: пробросить интерфейсы RS-232,RS-485 и RS-422 через существующую локальную сеть, подключить устройство или прибор имеющий один из последовательных интерфейсов к ПК (серверу, SCADA) через Ethernet, подключится к прибору имеющему последовательный интерфейс через Internet для удаленного управления и т.п.

Цены на данные преобразователи не сильно высоки, младшие модели можно взять за 100-200$. Но учитывая что на любом автоматизированном производстве таких устройств может быть установлено сотни а то и тысячи — вырисовывается довольно лакомый кусочек для отечественных «импортозамещальщиков».

Им то я сегодня и попытаюсь помочь.

Что будем делать?

Во первых — разберемся в теории, как оно устроено внутри.

Во вторых — вычленим минимальный функционал для запуска работы в режиме Real Com Mode (то есть по сути для проброса виртуального COM порта до устройства через Ethernet).

В третьих — ради интереса разберем протокол поиска и конфигурирования устройства через утилиту NPort Administration Suite. Получим полное понимание, как создать pin-to-pin аналог железки, которую можно воткнуть вместо существующей MOXA Nport при этом получив полную поддержку со стороны родного ПО и драйвера.

Ну и на последок — попробуем посчитать, сколько индусов писало код прошивки MOXA.

Часть 1. Вводная

Итак, у нас на столе подопытный (на самом деле их было несколько, поэтому не удивляйтесь если увидите в статье различные идентификаторы моделей и различные MAC адреса)

На нем есть порт Ethernet и два порта RS-422/RS-485 — это физически.
А в программном плане — на устройстве открыты:
UDP порт 4800 — он отвечает за ловлю пакетов поиска устройства и отдает данные о самом устройстве в утилиту конфигурирования.

TCP порт 4900 — на него приходят команды конфигурирования устройства. Через этот порт настраивается время устройства, имя, IP адрес, режим работы, скорости и настройки портов и прочие базовые параметры, которые можно настроить через основной интерфейс утилиты NPort Administration Suite:

TCP порт 80 — отвечает за работу WEB интерфейса
TCP порты 966, 967, (и 968, 969 у 4х портовых устройств) — это порты управления передачей. По ним бегают команды открытия/закрытия соответствующего COM порта, установка скорости порта, проталкивание данных, мониторинг заполненности буфера передачи / приема и тд. Порт 966 отвечает за работу первого порта соответственно.

TCP порты (по умолчанию) 950, 951, (и 952, 953 у 4х портовых устройств) — это порты непосредственной передачи данных. То есть то, что непосредственно должно оказаться на RS-232/485/422 порте у устройства — передается в данные порт. Только данные, управление потоком в данном порту идет по 966, 967, 968, 969 портам соответственно.

Надеюсь общая картинка понимания работы устройства в голове сложилась. Давайте перейдем к следующей части:

Часть 2. Эмулируем MOXA

Наверняка многим уже стало понятно, что для того чтобы прикинутся MOXA Nport в минимальной конфигурации — необходимо на своем железе поднять TCP сервер на 2х портах: 966 для управления передачей и 950 для непосредственно передачи данных. Естественно придется корректно отвечать и обрабатывать запросы драйвера по 966 порту, но как показал анализ средствами wireshark — запросов не так много и они простейшие.

Дабы не перегружать текст статьи выкладками с описанием запросов и ответов — подготовил и выложил отдельно в виде pdf файла описание всех разобранных запросов, ответов и передаваемых параметров.

Скачать: Описание разбора протокола MOXA.pdf
То есть данный набор знаний позволяет реализовать устройство, которое может работать в паре с родным драйвером и передавать данные как MOXA. Половина работы выполнена, но есть один момент — как поменять конфигурацию? Было бы здорово использовать для этих целей родную утилиту NPort Administration Suite.

Часть 3. Ищем и находим

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

В этой части копнем немного глубже и посмотрим, как же проводился анализ самого обмена.
Мы знаем, что на устройстве открыт UDP порт 4800, давайте подключим устройство, запустим NPort Administration Suite, Wireshark и посмотрим что происходит при поиске устройств родной утилитой.

Смотрим отправленные пакеты:

Видим, что NPort Administration Suite отправляет бродкаст на адрес 255.255.255.255 то есть надеется, что пакет разлетится по всей сети.

В payload пакета содержатся данные:

 01 00 00 08 00 00 00 00, где:
01 00 – код функции
00 08 – размер пакета в байтах в формате Big Endian.
00 00 00 00 – не определено

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

На данный запрос отзываются все MOXы.

Конкретно наша ответила:

 81 00 00 18 00 00 00 00 12 03 00 80 32 03 00 90 e8 26 4a ab c0 a8 7f fe
81 00 – код функции
00 18 – размер пакета в байтах (24)
00 00 00 00 – не определено
12 03 00 80 32 03 – модель MOXA Nport device, в данном случае NPort 5232. Данная величина является константной для конкретной модели MOXA Nport device. Значение должно соответствовать одному из пунктов списка из справочника NPort Administrator.
00 90 e8 26 4a ab – MAC адрес MOXA Nport device
c0 a8 7f fe – IP адрес MOXA Nport device ( 192.168.127.254 )

Вроде все элементарно просто, смущает только значение 12 03 00 80 32 03, отвечающее за интерпретацию конкретной модели устройства.

Но, так как данное значение сверяется с каким то эталонным справочным — значит оно должно где то хранится.

Немного изучив директорию с ПО — находим, что в NPort Administrator Suite v1.22 данные значения хранятся в файле C:Program FilesNPortAdminSuitebindsci.dll

Посидев с Wireshark и устройством несколько дней — получаем полный лог обмена и понимание какие коды функций что получают в ответ. Для удобства восприятия — все найденное описано в том же pdf файле, ссылка на который указана в статье ранее.

Для полноты понимания картины — лишь напомню, что по UDP 4800 идет получение первичных сведений о устройстве, все параметры которые требуют настройки и установки — настраиваются посредством запросов на TCP порт 4900.

Правильно обработав все поступающие запросы на 4800 и 4900 порты — мы сможем полноценно прикинуться устройством, так что даже родное ПО не заметит подвох.

Часть 4. Считаем индусов*

В ходе анализа протокола — меня не покидало ощущение, что различные куски протокола обмена писали разные люди, слишком отличаются значения функций и их интерпретации.

Так например:

UDP порт 4800 коды функций начинаются с:

Запрос 01 00 .. .. 
Ответ 81 00 .. ..
Запрос 10 00 .. ..
Ответ 90 00 .. ..
Запрос 16 00 .. ..
Ответ 96 00 .. ..
Запрос 29 00 .. ..
Ответ a9 00 .. ..

TCP порт 4900 коды функций начинаются с:

Запрос 00 01 .. ..
Ответ 00 01 .. ..
Запрос 02 01 .. ..
Ответ 02 01 .. ..

и тд

TCP порты 966, 967, 968, 969 коды функций начинаются с:

Запрос 10 .. ..
Ответ 10 4f 4b
Запрос 11 .. ..
Ответ 11 4f 4b

и тд

То есть используется уже одно байтовый идентификатор функции, а не двухбайтовый как ранее.
Тут кстати вылез забавный момент. По портам 966, 967, 968, 969 ответ на установку параметров всегда состоит из 3х байт.

Первый — это номер функции, а остальные 2 это 4f 4b или есть посмотреть в таблицу ASCII — «O» «K»

Ну OK с ним, идем далее.

Вторая замеченная особенность — мешанина Big и Little Endian в пределах одного ответа.

Пример ответа:

9a 00 00 24 00 00 00 00 01 52 00 80 9a 52 00 90 e8 3b 89 9c 75 00 04 00
01 00 0f 00 09 00 17 00 36 00 00 00
9a 00 – код функции
00 24 – размер пакета в байтах (36)
00 00 00 00 – не определено
01 52 00 80 9a 52 – модель MOXA Nport device
00 90 e8 3b 89 9c - MAC адрес MOXA Nport device
75 00 - год: 1900 + данное число (1900 + 117 = 2017)
04 00 - месяц: к числу нужно прибавить 1 - в данном случае май
01 00 – не определено
0f 00 – день (15)
09 00 – часы (9)
17 00 – минуты (23)
36 00 – секунды (36)
00 00 – не определено

Размер пакета кодируется одним образом, а все числовые значения (год, месяц, день …) другим. Отсюда можно сделать вывод, что обработку пользовательской части начиная с 75 00 04 00…… писал другой программист.

Подведем итог: Минимум 3 разных человека писали протокол обмена, 1 писал обработку пользовательской части данных и еще как минимум 1 писал обработчик WEB интерфейса. По моим подсчетам над проектом трудилось примерно 5 программистов.
А сколько насчитали вы?

*Под понятием «Индус» в данном случае подразумевается наемный работник, выполняющий свои обязанности за еду и ипотеку, способный кодить отсюда и до обеда не особо вникая в глобальные планы компании работодателя.

P.S. Данная статья написана по материалам, которые были в проработке в 2017 году, поэтому многие данные содержат датировку именно этим годом. Протоколы разбирались в рамках рабочего проекта, но благо разум победил над маркетингом и дело не пошло дальше стадии единичного рабочего прототипа. Публикую все наработки по данному проекту в открытом доступе, так как считаю что данная информация будет полезна сообществу разработчиков.

P.P.S. Оригинал статьи как всегда в моем личном блоге

doc:pms:moxadoc

Содержание

Настройка Nport 5210

Краткая инструкция по начальной настройке через Telnet

Для правильной работы NPort 5210 вам необходимо сделать следующие настройки:

  • Раздел Basic settings

    • Time zone — выбрать нужную вам временную зону.(в главном меню нажать 1, потом ENTER, потом 2 и снова ENTER, выбрать цифру или букву соответствующей зоны, ввести ее и нажать ENTER)

    • Local time – ввести дату и время

    • Web console – включить WEB-интерфейс(выбрать Enable)

  • Раздел Network settings

    • IP address – ввести IP-адрес для NPort 5210

    • Netmask – ввести маску вашей подсети(обычно 255.255.255.0)

    • IP configuration – выбрать тип получения IP-адреса(Static –вручную, DHCP – получение с помощью DHCP-сервера)

  • Раздел Serial settings(настройки для Port 1 и Port 2 аналогичны)

    • Baut rate – 9600

    • Data bits – 8

    • Stop bits – 1

    • Parity – None

    • Flow control – None

    • FIFO – Disable

  • Раздел Operating settings(настройки для Port 1 и Port 2 аналогичны)

    • Operating mode – TCP Server Mode

    • Max connection – ввести количество подключений к NPort 5210 от 1 до 4(используется для безопасности, т.е. одновременно к порту нельзя будет подключиться более чем указанному количеству пользователей)

    • Force transmit — 5

    • Local TCP port – для Port 1 это 4001, для Port 2 – 4002

    • Command port — для Port 1 это 966, для Port 2 – 967

Общие сведения

NPort 5210 позволяет управлять устройствами с портом RS-232 через локальную сеть (LAN) либо Интернет. NPort 5210 совместим с сетевым программным беспечением использующим стандартный сетевой API (Winsock или BSD сокеты), работая в режимах TCP-сервера, TCP-клиента или UDP.

Благодаря драйверу NPort 5200 Series’ Real COM/TTY , программное обеспечение, использующее COM/TTY порты, может работать через сеть TCP/IP без каких-либо изменений.

NPort 5210 поддерживает как автоматическое получение IP-адреса(DHCP, BOOTP), так и задание IP-адреса вручную.

Подключение

Внешний вид

Блок подключения питания NPort 5210

Блок питания DR-4524


Подключение питания NPort 5210

Для подачи питания на NPort 5210 необходимо:

  • Разъемы 4 и 6 (-V и +V) или 5 и 7 (-V и +V) блока питания DR-4524 подключить соответственно маркировке к разъемам -V и +V блока подключения питания NPort 5210

  • Разъем 3 блока питания DR-4524 соединить с соответствующим разъемом блока подключения питания NPort 5210

  • К разъему 3 блока питания DR-4524 подвести защитное заземление (если таковое имеется)

  • Разъемы 1 и 2 блока питания DR-4524 подключить к сети питания (~220В)

При правильном подключении индикатор Ready на NPort 5210 загориться красным и через несколько секунд зеленым светом. NPort 5210 сообщит о появлении питания коротким звуковым сигналом.
Индикатор Ready имеет следующие состояния:

  • красный означает, что NPort 5210 загружается

  • мигающий красный означает, что конфликт IP-адреса или что DHCP-сервер не обнаружен

  • зеленый означает, что NPort 5210 готов к работе

Подключение NPort 5210 к сети Ethernet

Подключите один конец Ethernet-кабеля к разъему RJ45 10/100 Mbps Ethernet port на NPort 5210, а второй в сеть Ethernet. При правильном подключении индикатор Link на NPort 5210 примет одно из следующих состояний:

  • зеленый цвет индикатора означает, что подключение произошло на скорости 100Mbps

  • оранжевый цвет индикатора означает, что подключение произошло на скорости 10Mbps

  • мигающий индикатор означает, что через RJ45 10/100 Mbps Ethernet port проходят данные

Подключение NPort 5210 к серийному порту устройства

Подключите дата-кабель вилкой RJ-45 к разъему RJ45 (8-pin) serial ports на NPort 5210, а другим концом к разъему устройства. Дата-кабель не входит в комплект NPort 5210 и предоставляется опционально. Для самостоятельного изготовления дата-кабеля используйте приведенные схемы.

При правильном подключении дата-кабеля и передаче данных через него индикаторы Р1(отображает состояние порта Р1 RS-232) и Р2(отображает состояние порта Р2 RS-232) будут принимать следующие состояния:

  • оранжевый означает, что порт принимает данные

  • зеленый означает, что порт передает данные

Настройка

Присвоение IP-адреса

Для настройки NPort 5210 первое, что необходимо сделать, это присвоить NPort 5210 IP-адрес. Это можно сделать с помощью NPort 5200 Administration Suite(способ будет описан в главе «Настройка с помощью NPort Administrator»), протокола ARP или через Telnet(способ будет описан в главе «Настройка с помощью Telnet»).

По умолчанию NPort 5210 имеет IP-адрес 192.168.127.254

Присвоение IP-адреса с помощью протокола ARP

Вы можете присвоить NPort 5210 IP-адрес с помощью протокола ARP(Address Resolution Protocol). Протокол ARP ассоциирует MAC-адрес NPort 5210 с указанным вами IP-адресом. MAC-адрес указан на наклейке на NPort 5210.

Для присвоения IP-адреса с помощью ARP необходимо в командной строке ввести:

arp –s 192.168.200.100 00-90-E8-xx-xx-xx

где 192.168.200.100 – любой присваиваемый вами IP-адрес, а 00-90-Е8-хх-хх-хх – MAC-адрес NPort 5210.

Настройка с помощью Telnet

Для настройки NPort 5210 через Telnet необходимо набрать в командной строке:

telnet 192.168.127.254

где 192.168.127.254 – IP-адрес NPort 5210(если вы его сменили, то нужно указать новый)

Перед вами появится окно настроек NPort 5210

Где Model name – название модели,

MAC address – MAC-адрес модели,

Serial No. – серийный номер модели,

Firmware version – версия прошивки,

System uptime – время прошедшее с последнего включения.

Ниже перечислены различные разделы меню настроек. Перед каждым разделом в скобках указаны цифры и буквы для выбора раздела(например, введя цифру 2 и нажав ENTER вы попадете в раздел Network settings). Почти в каждом разделе введя v можно посмотреть все текущие настройки раздела. Введя v в главном меню вы увидите все текущие настройки всех разделов.

Для правильной работы NPort 5210 вам необходимо сделать следующие настройки:

  1. Раздел Basic settings

    • Time zone — выбрать нужную вам временную зону.(в главном меню нажать 1, потом ENTER, потом 2 и снова ENTER, выбрать цифру или букву соответствующей зоны, ввести ее и нажать ENTER)

    • Local time – ввести дату и время

    • Web console – включить WEB-интерфейс(выбрать Enable)

  2. Раздел Network settings

    • IP address – ввести IP-адрес для NPort 5210

    • Netmask – ввести маску вашей подсети(обычно 255.255.255.0)

    • IP configuration – выбрать тип получения IP-адреса(Static –вручную, DHCP – получение с помощью DHCP-сервера)

    • Gateway – ввести шлюз вашей подсети (если он есть)

    • DNS server 1 и DNS server 2 – ввести предпочитаемый и альтернативный DNS-сервера(если имеются)

  3. Раздел Serial settings(настройки для Port 1 и Port 2 аналогичны)

    • Baut rate – 9600

    • Data bits – 8

    • Stop bits – 1

    • Parity – None

    • Flow control – None

    • FIFO – Disable

  4. Раздел Operating settings(настройки для Port 1 и Port 2 аналогичны)

    • Operating mode – TCP Server Mode

    • Max connection – ввести количество подключений к NPort 5210 от 1 до 4(используется для безопасности, т.е. одновременно к порту нельзя будет подключиться более чем указанному количеству пользователей)

    • Local TCP port – для Port 1 это 4001, для Port 2 – 4002

    • Command port — для Port 1 это 966, для Port 2 – 967

Настройки остальных разделов являются необязательными и предоставляют дополнительные возможности.

  1. Раздел Accessible IP settings
    Если вы хотите ограничить доступ к Nport 5210, то это можно сделать введя список правил на основе дозволенных IP-адресов. Для этого нужно включить контроль IP-адресов (Enable the accessible IP list — Enable), выбрать номер правила, ввести дозволенный IP-адрес (например, 192.168.1.1 mask 255.255.255.255) или область дозволенных IP-адресов(например, 192.168.1.0 mask 255.255.255.0) и включить правило (Activate the rule — Enable).

  2. Раздел Auto warning settings
    В этом разделе можно настроить, чтобы NPort 5210 оповещал о различных событиях через почту либо SNMP.

    • Email and SNMP trap – настройки почты и сервера SNMP

    • Mail server — имя почтового сервера (например, mail.mydomain.com). Если вы будете использовать какой-либо внешний почтовый сервер, то NPort 5210 должен быть настроен для доступа в интернет(см. Раздел Network settings)

    • My server requires authentication – если ваш почтовый сервер требует авторизации, то включите эту опцию(Enable) и введите пользователя(User name) и пароль(Password)

    • From accaunt address – почтовый ящик, который будет указан в отправителе (может быть любой)

    • Email address 1-4 –

    • SNMP trap server IP or domain name – IP-адрес сервера SNMP или имя домена

    • Event type – настройки типов событий, о которых будет извещать NPort 5210

      • Cold start – NPort 5210 был перезагружен с отключением питания

      • Warm start – NPort 5210 был перезагружен без отключения питания

      • Authentication failure – ошибка авторизации

      • IP address changed – сменился IP-адрес NPort 5210

      • Password changed – сменился пароль доступа к NPort 5210

      • DCD changed – потерялась связь с устройством(настраивается для Port 1 и Port 2 отдельно, работает только если устройство поддерживает такой тип сигнала)

      • DCR changed – питание устройства отключено (настраивается для Port 1 и Port 2 отдельно, работает только если устройство поддерживает такой тип сигнала)

  3. Раздел Monitor
    Позволяет просмотреть различную активность портов

    • Line – позволяет посмотреть режим работы портов Port 1 и Port 2, а также статус IP-подключений к ним

    • Async – позволяет посмотреть текущий статус портов Port 1 и Port 2(количесвто полученной и отправленной информации за сеанс и всего, а также состояние сигналов DSR, CTS и DCD)

    • Async-settings – позволяет посмотреть текущие настройки портов Port 1 и Port 2

  4. Раздел Ping
    Позволяет проверить связь с каким-либо хостом по IP.

  5. Раздел Change password
    Позволяет сменить пароль доступа к NPort 5210. Вначале нужно ввести старый пароль (по умолчанию пароля нет), затем новый и повторить ввод нового пароля.

  6. Раздел Load Factory Defaults
    Сбросит все настройки к заводским. Осторожно! Настройки сбрасываются сразу и без предупреждения.

  7. Раздел Save/Restart
    Сохранит сделанные вами настройки и перезагрузит NPort 5210. Перед перезагрузкой потребует подтверждения действия.

Настройка с помощью Web-интерфейса

Для настройки NPort 5210 с помощью Web-интерфейса откройте ваш браузер и в адресной строке введите IP-адрес NPort 5210(например, 192.168.127.254). Для правильной работы Web-интерфейса необходимо в браузере разрешить использование cookie.

Перед вами откроется главное окно настроек NPort 5210.

Справа указаны разделы настроек, а слева их содержимое. Все настройки аналогичны настройкам с помощью Telnet, только представлены более удобно. Их описание можно посмотреть в главе «Настройка с помощью Telnet».

Настройка с помощью NPort Administrator

В комплект NPort 5210 входит программный продукт NPort Administrator, который позволяет управлять и отслеживать работу нескольких устройств NPort 5210. В отличие от других возможностей управления устройствами NPort 5210 NPort Administrator позволяет также:

  • перепрошить NPort 5210

  • сохранить и восстановить сразу все настройки

  • обнаружить расположение устройства

  • постоянно отслеживать состояние устройств NPort 5210 и их портов

После установки и запуска NPort Administrator перед вами откроется главное окно, которое разделено на 4 части:

  • самая верхняя часть содержит список функций и ON-line помощь

  • пять групп функций для администрирования находятся в левой части

  • список устройств NPort 5210, каждое из которых может быть выбрано для управления, находится справа

  • в нижней части раположено окно показывающее историю действий администратора

Search – функция широкополосного поиска (Broadcast Search). Эта функция позволит найти все устройства NPort 5210 находящиеся в данной локальной сети. Поиск происходит по MAC-адресам устройств, а не по IP-адресам. По окончании поиска в правом окне NPort Administrator появятся все найденные устройства NPort 5210.

Для настройки нужного устройства NPort 5210 просто нажмите на него два раза левой кнопкой мыши и перед вами откроется окно настроек NPort 5210, разделы которого также аналогичны разделам в главе «Настройка с помощью Telnet». Для изменения параметров необходимо установить галку рядом с пунктом Modify, установить нужный параметр и нажать «ОК».

Если для доступа к NPort 5210 установлен пароль, то в столбце «Status» вы увидите надпись «Lock». Для доступа к настройкам запароленного NPort 5210 нажмите на него правой кнопкой мыши, выберите пункт «Unlock» и введите пароль. После этого статус NPort 5210 сменится на «Unlock» и вы смажете попасть в его настройки.

Столбец «Status» имеет шесть состояний:

  • «Lock» означает, что устройство было обнаружено с помощью Broadcast Searh и на доступ к настройкам установлен пароль

  • «Unlock» означает, что устройство было обнаружено с помощью Broadcast Searh, на доступ к настройкам установлен пароль, но он уже введен администратором

  • Отсутствие какого-либо статуса означает, что устройство было обнаружено с помощью Broadcast Searh и на доступ к настройкам не установлен пароль

  • «Fixed» означает, что устройство было обнаружено с помощью Search IP (поиск устройства по его IP-адресу) и на доступ к настройкам не установлен пароль

  • «Lock Fixed» означает, что устройство было обнаружено с помощью Search IP (поиск устройства по его IP-адресу) и на доступ к настройкам установлен пароль

  • «Unlock Fixed» означает, что устройство было обнаружено с помощью Search IP (поиск устройства по его IP-адресу), на доступ к настройкам установлен пароль, но он уже введен администратором

С помощью NPort Administrator можно обновить прошивку(Firmware) NPort 5210. Для этого выберите необходимое устройство NPort 5210 из списка, нажмите на него правой кнопкой мыши и выберите пункт «Upgrade Firmware». Далее в окне выберите нужный файл прошивки и нажмите «ОК». Новую прошивку можно скачать с официального сайта www.moxa.com

Обратите внимание! Для правильной прошивки вам необходим файл прошивки именно к той модели NPort, которую вы собираетесь прошить.

Для сохранения настроек NPort 5210 выберите нужное устройство из списка и нажав на него правой кнопкой мыши выберите пункт «Export configuration». Далее просто укажите в какой файл сохранить настройки. Для восстановления настроек выберите нужное устройство из списка и нажав на него правой кнопкой мыши выберите пункт «Import configuration». Далее укажите файл с настройками.

С помощью функций «Monitor» и «Port monitor» можно отслеживать текущее состояние устройств NPort 5210 и их серийный портов. Для этого просто добавьте нужные для слежения устройства с помощью кнопки «Add» и запустите мониторинг с помощью кнопки «Go». В настройках мониторинга можно указывать с каким интервалом опрашивать устройства и порты и выводить ли предупреждающие сообщения при смене их статуса.

doc/pms/moxadoc.txt

· Последние изменения: 2017/07/28 15:23 —

odmin

Время на прочтение
6 мин

Количество просмотров 23K

Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422.

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

Все, что может генерировать данные или управляться удаленно и имеет интерфейс RS-232, RS-485 и RS-422 — работает через данные преобразователи.

Общий смысл их использования — обычно заключается в следующем: пробросить интерфейсы RS-232,RS-485 и RS-422 через существующую локальную сеть, подключить устройство или прибор имеющий один из последовательных интерфейсов к ПК (серверу, SCADA) через Ethernet, подключится к прибору имеющему последовательный интерфейс через Internet для удаленного управления и т.п.

Цены на данные преобразователи не сильно высоки, младшие модели можно взять за 100-200$. Но учитывая что на любом автоматизированном производстве таких устройств может быть установлено сотни а то и тысячи — вырисовывается довольно лакомый кусочек для отечественных «импортозамещальщиков».

Им то я сегодня и попытаюсь помочь.

Что будем делать?

Во первых — разберемся в теории, как оно устроено внутри.

Во вторых — вычленим минимальный функционал для запуска работы в режиме Real Com Mode (то есть по сути для проброса виртуального COM порта до устройства через Ethernet).

В третьих — ради интереса разберем протокол поиска и конфигурирования устройства через утилиту NPort Administration Suite. Получим полное понимание, как создать pin-to-pin аналог железки, которую можно воткнуть вместо существующей MOXA Nport при этом получив полную поддержку со стороны родного ПО и драйвера.

Ну и на последок — попробуем посчитать, сколько индусов писало код прошивки MOXA.

Часть 1. Вводная

Итак, у нас на столе подопытный (на самом деле их было несколько, поэтому не удивляйтесь если увидите в статье различные идентификаторы моделей и различные MAC адреса)

На нем есть порт Ethernet и два порта RS-422/RS-485 — это физически.
А в программном плане — на устройстве открыты:
UDP порт 4800 — он отвечает за ловлю пакетов поиска устройства и отдает данные о самом устройстве в утилиту конфигурирования.

TCP порт 4900 — на него приходят команды конфигурирования устройства. Через этот порт настраивается время устройства, имя, IP адрес, режим работы, скорости и настройки портов и прочие базовые параметры, которые можно настроить через основной интерфейс утилиты NPort Administration Suite:

TCP порт 80 — отвечает за работу WEB интерфейса
TCP порты 966, 967, (и 968, 969 у 4х портовых устройств) — это порты управления передачей. По ним бегают команды открытия/закрытия соответствующего COM порта, установка скорости порта, проталкивание данных, мониторинг заполненности буфера передачи / приема и тд. Порт 966 отвечает за работу первого порта соответственно.

TCP порты (по умолчанию) 950, 951, (и 952, 953 у 4х портовых устройств) — это порты непосредственной передачи данных. То есть то, что непосредственно должно оказаться на RS-232/485/422 порте у устройства — передается в данные порт. Только данные, управление потоком в данном порту идет по 966, 967, 968, 969 портам соответственно.

Надеюсь общая картинка понимания работы устройства в голове сложилась. Давайте перейдем к следующей части:

Часть 2. Эмулируем MOXA

Наверняка многим уже стало понятно, что для того чтобы прикинутся MOXA Nport в минимальной конфигурации — необходимо на своем железе поднять TCP сервер на 2х портах: 966 для управления передачей и 950 для непосредственно передачи данных. Естественно придется корректно отвечать и обрабатывать запросы драйвера по 966 порту, но как показал анализ средствами wireshark — запросов не так много и они простейшие.

Дабы не перегружать текст статьи выкладками с описанием запросов и ответов — подготовил и выложил отдельно в виде pdf файла описание всех разобранных запросов, ответов и передаваемых параметров.

Скачать: Описание разбора протокола MOXA.pdf
То есть данный набор знаний позволяет реализовать устройство, которое может работать в паре с родным драйвером и передавать данные как MOXA. Половина работы выполнена, но есть один момент — как поменять конфигурацию? Было бы здорово использовать для этих целей родную утилиту NPort Administration Suite.

Часть 3. Ищем и находим

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

В этой части копнем немного глубже и посмотрим, как же проводился анализ самого обмена.
Мы знаем, что на устройстве открыт UDP порт 4800, давайте подключим устройство, запустим NPort Administration Suite, Wireshark и посмотрим что происходит при поиске устройств родной утилитой.

Смотрим отправленные пакеты:

Видим, что NPort Administration Suite отправляет бродкаст на адрес 255.255.255.255 то есть надеется, что пакет разлетится по всей сети.

В payload пакета содержатся данные:

 01 00 00 08 00 00 00 00, где:
01 00 – код функции
00 08 – размер пакета в байтах в формате Big Endian.
00 00 00 00 – не определено

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

На данный запрос отзываются все MOXы.

Конкретно наша ответила:

 81 00 00 18 00 00 00 00 12 03 00 80 32 03 00 90 e8 26 4a ab c0 a8 7f fe
81 00 – код функции
00 18 – размер пакета в байтах (24)
00 00 00 00 – не определено
12 03 00 80 32 03 – модель MOXA Nport device, в данном случае NPort 5232. Данная величина является константной для конкретной модели MOXA Nport device. Значение должно соответствовать одному из пунктов списка из справочника NPort Administrator.
00 90 e8 26 4a ab – MAC адрес MOXA Nport device
c0 a8 7f fe – IP адрес MOXA Nport device ( 192.168.127.254 )

Вроде все элементарно просто, смущает только значение 12 03 00 80 32 03, отвечающее за интерпретацию конкретной модели устройства.

Но, так как данное значение сверяется с каким то эталонным справочным — значит оно должно где то хранится.

Немного изучив директорию с ПО — находим, что в NPort Administrator Suite v1.22 данные значения хранятся в файле C:\Program Files\NPortAdminSuite\bin\dsci.dll

Посидев с Wireshark и устройством несколько дней — получаем полный лог обмена и понимание какие коды функций что получают в ответ. Для удобства восприятия — все найденное описано в том же pdf файле, ссылка на который указана в статье ранее.

Для полноты понимания картины — лишь напомню, что по UDP 4800 идет получение первичных сведений о устройстве, все параметры которые требуют настройки и установки — настраиваются посредством запросов на TCP порт 4900.

Правильно обработав все поступающие запросы на 4800 и 4900 порты — мы сможем полноценно прикинуться устройством, так что даже родное ПО не заметит подвох.

Часть 4. Считаем индусов*

В ходе анализа протокола — меня не покидало ощущение, что различные куски протокола обмена писали разные люди, слишком отличаются значения функций и их интерпретации.

Так например:

UDP порт 4800 коды функций начинаются с:

Запрос 01 00 .. .. 
Ответ 81 00 .. ..
Запрос 10 00 .. ..
Ответ 90 00 .. ..
Запрос 16 00 .. ..
Ответ 96 00 .. ..
Запрос 29 00 .. ..
Ответ a9 00 .. ..

TCP порт 4900 коды функций начинаются с:

Запрос 00 01 .. ..
Ответ 00 01 .. ..
Запрос 02 01 .. ..
Ответ 02 01 .. ..

и тд

TCP порты 966, 967, 968, 969 коды функций начинаются с:

Запрос 10 .. ..
Ответ 10 4f 4b
Запрос 11 .. ..
Ответ 11 4f 4b

и тд

То есть используется уже одно байтовый идентификатор функции, а не двухбайтовый как ранее.
Тут кстати вылез забавный момент. По портам 966, 967, 968, 969 ответ на установку параметров всегда состоит из 3х байт.

Первый — это номер функции, а остальные 2 это 4f 4b или есть посмотреть в таблицу ASCII — «O» «K»

Ну OK с ним, идем далее.

Вторая замеченная особенность — мешанина Big и Little Endian в пределах одного ответа.

Пример ответа:

9a 00 00 24 00 00 00 00 01 52 00 80 9a 52 00 90 e8 3b 89 9c 75 00 04 00
01 00 0f 00 09 00 17 00 36 00 00 00
9a 00 – код функции
00 24 – размер пакета в байтах (36)
00 00 00 00 – не определено
01 52 00 80 9a 52 – модель MOXA Nport device
00 90 e8 3b 89 9c - MAC адрес MOXA Nport device
75 00 - год: 1900 + данное число (1900 + 117 = 2017)
04 00 - месяц: к числу нужно прибавить 1 - в данном случае май
01 00 – не определено
0f 00 – день (15)
09 00 – часы (9)
17 00 – минуты (23)
36 00 – секунды (36)
00 00 – не определено

Размер пакета кодируется одним образом, а все числовые значения (год, месяц, день …) другим. Отсюда можно сделать вывод, что обработку пользовательской части начиная с 75 00 04 00…… писал другой программист.

Подведем итог: Минимум 3 разных человека писали протокол обмена, 1 писал обработку пользовательской части данных и еще как минимум 1 писал обработчик WEB интерфейса. По моим подсчетам над проектом трудилось примерно 5 программистов.
А сколько насчитали вы?

*Под понятием «Индус» в данном случае подразумевается наемный работник, выполняющий свои обязанности за еду и ипотеку, способный кодить отсюда и до обеда не особо вникая в глобальные планы компании работодателя.

P.S. Данная статья написана по материалам, которые были в проработке в 2017 году, поэтому многие данные содержат датировку именно этим годом. Протоколы разбирались в рамках рабочего проекта, но благо разум победил над маркетингом и дело не пошло дальше стадии единичного рабочего прототипа. Публикую все наработки по данному проекту в открытом доступе, так как считаю что данная информация будет полезна сообществу разработчиков.

P.P.S. Оригинал статьи как всегда в моем личном блоге


MXview One plugin (Windows)


12.8 MB
Software Package

SHA-512


v1.2
  • Windows 10
  • Windows 11
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

2023-08-02

Aug 02, 2023

Release notes


Software Package for MXview One Series (Windows version)


296.2 MB
Software Package

SHA-512


v1.2.0
  • Windows 10
  • Windows 11
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

2023-07-31

Jul 31, 2023

Release notes


Moxa CLI Configuration Tool for Windows


2.0 MB
Utility

SHA-512


v1.3
  • Windows 10
  • Windows 11
  • Windows 2000
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

2023-06-29

Jun 29, 2023

Release notes


Moxa CLI Configuration Tool for Linux


11.6 MB
Utility

SHA-512


v1.3
  • Linux Kernel 2.6.x
  • Linux Kernel 3.x
  • Linux Kernel 4.x
  • Linux Kernel 5.x

2023-06-29

Jun 29, 2023

Release notes


Device Search Utility


2.2 MB
Utility

SHA-512


v2.7
  • Windows 10
  • Windows 11
  • Windows 2000
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows 95
  • Windows 98
  • Windows 98 SE
  • Windows NT
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022
  • Windows Vista
  • Windows XP

2023-06-28

Jun 28, 2023

Release notes


Real TTY Driver (Linux kernel 6.x)


113.7 KB
Driver

SHA-512


v6.0
  • Linux Kernel 6.x

2023-05-04

May 04, 2023

Release notes


MXview plugin


32.8 MB
Software Package

SHA-512


v1.4
  • Windows 10
  • Windows 7
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

2023-05-02

May 02, 2023

Release notes


Windows Driver Manager (Windows 11 and Server 2022 and later, WHQL certified)


5.4 MB
Driver

SHA-512


v4.1
  • Windows 11
  • Windows Server 2022

2023-02-01

Feb 01, 2023

Release notes


NPort Administrator Suite (Windows 10 and Server 2019 and later, WHQL certified)


7.7 MB
Driver

SHA-512


v4.0
  • Windows 10
  • Windows 11
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server 2022

2023-01-17

Jan 17, 2023

Release notes


Real TTY Linux drivers v4.2 (kernel 4.x)


114.9 KB
Driver

SHA-512


v4.2
  • Linux Kernel 4.x

2023-01-17

Jan 17, 2023

Release notes


Real TTY Linux driver v5.2 (kernel 5.x)


113.0 KB
Driver

SHA-512


v5.2
  • Linux Kernel 5.x

2023-01-17

Jan 17, 2023

Release notes


NPort Administrator Suite v3.2 (Windows 7 to 8.1 and Windows Server 2008 R2 to 2016, WHQL certified)


4.1 MB
Driver

SHA-512


v3.2
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2

2023-01-17

Jan 17, 2023

Release notes


Device Server Android API


18.0 MB
Library

SHA-512


v1.1
  • Android

2022-12-22

Dec 22, 2022

Release notes


Windows Driver Manager v3.5 (Windows 7 to 10 and Windows Server 2008 R2 to 2019, WHQL certified)


6.8 MB
Driver

SHA-512


v3.5
  • Windows 10
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

2022-12-01

Dec 01, 2022

Release notes


Serial Device Server Driver for macOS (macOS 10.12 to 10.15)


611.6 KB
Driver

SHA-512


v1.1
  • macOS 10.12
  • macOS 10.13
  • macOS 10.14
  • macOS 10.15

2022-09-26

Sep 26, 2022

Release notes


MXconfig plugin


2.2 MB
Software Package

SHA-512


v1.1
  • Windows 10
  • Windows 7
  • Windows 8
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2

2021-03-31

Mar 31, 2021

Release notes


Firmware for NPort P5150A Series


806.6 KB
Firmware

SHA-512


v1.6

2020-10-15

Oct 15, 2020

Release notes


Real TTY drivers for Linux 2.x.x


92.2 KB
Driver

SHA-512


v2.0
  • Linux Kernel 2.4.x
  • Linux Kernel 2.6.x

2019-10-24

Oct 24, 2019

Release notes


Real TTY drivers for Linux 3.x.x


95.0 KB
Driver

SHA-512


v3.0
  • Linux Kernel 3.x

2019-10-24

Oct 24, 2019

Release notes


NPort Administration Suite for Windows Vista, Server 2008 or prior


4.1 MB
Driver

SHA-512


v2.0
  • Windows 2000
  • Windows 95
  • Windows 98
  • Windows ME
  • Windows NT
  • Windows Server 2003
  • Windows Server 2008
  • Windows Vista
  • Windows XP

2019-02-11

Feb 11, 2019

Release notes


Windows Driver Manager (Windows Vista, Server 2008, and prior)


2.6 MB
Driver

SHA-512


v2.0
  • Windows 2000
  • Windows 95
  • Windows 98
  • Windows 98 SE
  • Windows ME
  • Windows NT
  • Windows Server 2003
  • Windows Server 2008
  • Windows Vista

2018-08-23

Aug 23, 2018

Release notes


Driver for NPort P5150A Series (WinCE 5)


230.5 KB
Driver

SHA-512


v1.6
  • Windows CE 5.0
  • Windows CE 6.0

2012-11-14

Nov 14, 2012

Release notes


PComm Lite — Serial Communication Tool for Windows


1.6 MB
Utility

SHA-512


v1.6
  • Windows 2000
  • Windows 7
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Vista
  • Windows XP

2012-05-13

May 13, 2012

Release notes


Driver for NPort P5150A Series (WinXP Embedded)


1.2 MB
Driver

SHA-512


v1.14
  • Windows XP Embedded

2012-04-04

Apr 04, 2012

Release notes


Driver for NPort P5150A Series (UNIX)


73.0 KB
Driver

SHA-512


v3.5
  • FreeBSD 5.x
  • FreeBSD 6.x
  • FreeBSD 7.x
  • FreeBSD 8.x
  • HP-UX
  • IBM AIX 5.3
  • Mac OS X
  • QNX 4.x
  • QNX 6.x
  • SCO OpenServer 5
  • SCO OpenServer 6
  • SCO UnixWare 7
  • Solaris 10

2012-03-19

Mar 19, 2012

Release notes

Понравилась статья? Поделить с друзьями:
  • Руководство по уверенному поведению
  • Инструкция к швейной машинке ягуар 972
  • Мануал по стойкам с чпу
  • Lha clear bright skin peeling инструкция по применению
  • Беспроводные наушники tfn air feel инструкция