Moxa консольный кабель распиновка

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 Files\NPortAdminSuite\bin\dsci.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 программистов.
А сколько насчитали вы?

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

Источник

Распайки различных интерфейсных кабелей

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

Важно! нумерация в разъеме RJ-45 указана на рисунке ниже:

Общая распайка для принтеров Epson и Star

«Короткая» распайка
DB9 RS232 (компьютер) DB25 RS232 (принтер)
2 2
3 3
5 7
6 20
Полная распайка
DB9 RS232 (компьютер) DB25 RS232 (принтер)
2 2
3 3
4 6
6 4
5 7
8 20

RS-232(9-pinmale)длятерминаловIBMSurePos»>Распайка кабеля-переходника RJ45 -> RS-232 (9-pin male) для терминалов IBM SurePos

В POS-терминале IBM SurePos внешние COM-порты выполнены в виде разъемов RJ45. Как правило, в комплекте поставляется один кабель-переходник, который можно изготовить самостоятельно. Ниже в таблице указана схема распайки:

RJ-45 (8-pin) RS-232 (9-pin Male)
1 7
2 8
3 3
4 2
5 5
6 4
7 1
8 6

Распайка кабеля-переходника для разъема COM4 (RJ45 10-pin) на терминалах Glaive/Gladius (старые модели)

На POS-терминалах Glaive/Gladuis (также на остальных терминалах производтсва компании Firich) COM4 выполнен в виде 10-ти контактного разъема RJ45. Для подключения к COM4 различной перифирии необходимо изготовить переходник, схема которого указана ниже в таблице:

RJ-45 (10-pin) RS-232 (9-Pin Male)
2 8
4 5
5 4
6 6
7 3
8 2

Примечание: для изготовления переходника можно использовать стандартную витую пару, которая имеет восемь жил — в таком случае первый и последний пины в разъеме RJ45 (10-pin) остаются свободными.

Распайка кабеля-переходника для разъема COM4 (RJ45 8-pin) на терминалах Glaive RT565

На POS-терминале Glaive RT565 COM4 выполнен в виде стандартного 8-ми контактного разъема RJ45

RJ-45 (8-pin) RS-232 (9-Pin «папа»)
1 9
2 8
3 5
4 7
5 4
6 6
7 3
8 2

Кабель-переходник для разъема COM-порта (RJ45 8-pin) на станциях RK6200

На станции RK6200 все COM-порты выполнены в виде стандартных 8-ми контактных разъемов RJ45 (всего на станции четыре свободных COM-порта)

Распайка кабеоя переходника на стандартный разъем DB9 простая — прямое соединение с 1-го по 8-й пин:

RJ-45 (8-pin) RS-232 (9-Pin «папа»)
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8

Кабель соединения игрового контроллера со считывателем СРЧ-2М (Ангстрем)

Данный кабель используется для подключения бесконтактного считывателя СРЧ-2М (Ангстрем) к Ethernet-контроллеру UCS.14.03.02/UCS.08.01.04.04 с преобразователем TTL. Эта модель контроллера поддерживает одновременное подключение двух считывателей — один подлючается в разъем DB9, второй в разъем RJ-12. Ниже в таблицах приведены распайки соотв. кабелей

RJ-12

Кабель соединения считывателя СРЧ-2М с разъёмом игрового контроллера
RJ-45 (СРЧ-2М) RJ-12 (Ethernet-контроллер)
1 5
2 3
3 6
4
5 1
6
7
8

DB9

Кабель соединения считывателя СРЧ-2М с разъёмомигрового контроллера
RJ-45 (СРЧ-2М) DB9 (Ethernet-контроллер)
1 2
2 5
3 3
4
5 9
6 5
7
8
9

Кабель соединения игрового контроллера со считывателем СРЧ-125 (Em-Marine)

Данный кабель используется для подключения бесконтактного считывателя СРЧ-125 UCS.03.01.01.01M2 (Em-Marine) к игровому ethernet-контроллеру UCS.14.03.02/UCS.08.01.04.04 с преобразователем TTL. Эта модель контроллера поддерживает одновременное подключение двух считывателей — один подлючается в разъем DB9, второй в разъем RJ-12. Ниже в таблицах приведены распиновки соотв. разъемов и распайки соединительных кабелей.

Распиновка разъема СРЧ-125 Распиновка разъема RJ-12 Распиновка разъема DB9
Пин Назначение
1 TXD
2 GND
3 RXD
4 nc
5 +5V_input
6 GND
7 +5V_input
8 nc
Пин Назначение
1 +5V_internal
2 CTS
3 GND
4 DTR
5 RXD
6 TXD
Пин Назначение
1 DCD
2 RXD
3 TXD
4 DTR
5 GND
6 DSR
7 RTS
8 CTS

Схема соотв. контактов для распайки кабеля

СРЧ-125 RJ-12 (RS232 6 pin) DB9 (RS232 9 pin)
1 5 2
2 3 5
3 6 3
5 ⇒ +5V (внешний) 1 ⇒ +5V (внешний)

Распайка интерфейсного кабеля для принтера Posiflex Aura 7000

9-pin RS-232 (Мат. плата) 9-pin RS-232 (принтер) 25-pin RS-232 (принтер)
3 3 2
5 5 7
6 6 6
7 и 8 замкнуть 4 и 5 замкнуть

Важно! На стороне принтера замкнуть контакты 7 и 8 (для разъема 9-pin) , и контакты 4 и 5 (для разъема 25-pin).

Распайка интерфейсного кабеля для принтера Samsung BIXOLON STP-131S

DB25 — принтер («папа»)

DB9 -компьютер («мама»)

1

1

2

2

3

3

6

4

7

5

20

6

6

7

20

8

9

Распайка кабеля для подключения весов CAS (серия AD)

Источник