Преобразователи интерфейсов серии IC предназначаются для подключения различных устройств с последовательным интерфейсом к сети Ethernet. Основной протокол с которым взаимодействуют данные преобразователи интерфейсов является Modbus. В данной статье мы подробно разберем различные настройки и возможности опроса в сети Modbus у данных преобразователей интерфейсов. Также сравним модельный ряд преобразователей интерфейсов серии IC и рассмотрим способы подключения к преобразователям через WEB интерфейс и программное обеспечение IOTService.

Преобразователь интерфейсов серии IC стандартно настроен на работу, когда Мастером сети является протокол Modbus TCP, а подчиненное устройство (Slave) подключено через интерфейс RS232 или RS485 (не имеет значения), то есть поддерживает протокол Modbus RTU. Например, у вас имеется датчик температуры TH-20-RS, который имеет интерфейс RS485 и работает по протоколу Modbus RTU. Соответственно, вы хотите увидеть показания с датчика температуры на панели оператора, у которой имеет только порт Ethernet и поддержка протокола Modbus TCP. В этом случае преобразователь интерфейсов серии IC преобразует показания с датчика из протокола Modbus RTU в Modbus TCP. Данные могут считываться/записываться с обоих сторон. Вместо датчика температуры может быть любое промышленное устройство поддерживающее протокол Modbus RTU и интерфейс RS232 или RS485. Вместо панели оператора соответственно любое устройство поддерживаемое протокол Modbus TCP и порт Ethernet. Преобразователь интерфейсов серии IC имеет режим LAN порта DHCP в включенном состоянии. Иными словами, если вы подключаете преобразователь к роутеру, то он автоматически выдаст IP адрес преобразователю. Далее можно посмотреть в админ-панели роутера какой IP адрес присвоил преобразователю интерфейсов. Если вы подключаетесь напрямую с ПК для просмотра WEB интерфейса преобразователя, то стандартный IP преобразователя 169.254.173.207. Соответственно, на ПК нужно указать IP адрес из такой же подсети, например:
- IP ПК 169.254.173.200
- маска 255.255.255.0
- шлюз 169.254.173.1
При входе в WEB интерфейса преобразователя интерфейса введите заводские данные для доступа: логин: admin, пароль: admin (далее можно будет изменить).

1. Заходим на вкладку System Settings для изменения параметров.
2. При необходимости измените логин и пароль для доступа к WEB интерфейсу.
3. Измените IP адрес преобразователя интерфейсов при необходимости. Данный IP адрес будет определять доступ к Slave устройству.
4. Подтвердите изменения кнопкой Submit в нижней части WEB страницы.
Далее будем рассматривать варианты подключения Modbus:
1. В первую очередь рассмотрим стандартный вариант, когда Slave устройство работает по протоколу Modbus RTU, а Master сети работает по протоколу Modbus TCP. Схема примера показана ниже. В этом случае возможно гарантировано подключить до 16 устройств. Если вы будете подключать больше Slave устройств, то передача данных может быть нестабильной и большая задержка по времени. Также нужно понимать, что каждое Slave устройство должно иметь уникальный номер (Slave ID).

После указания IP адреса преобразователя интерфейсов необходимо настроить последовательный порт RS232/RS485 в WEB интерфейсе преобразователя. Необходимо указывать настройки порта, тип управления потоком и тип протокола.

1. Выбираем вкладку "Serial port settings" для настройки последовательного порта RS232/RS485.
2. Указываем параметры порта, а именно: скорость обмена, количество битов данных, стоп биты и контроль чётности. Данные параметры должны совпадать с настройками в Slave устройстве.
3. В случае применения интерфейса RS485 рекомендуем указывать "Half Duplex".
4. Обязательно в данной строке Protocol (когда из Modbus RTU в Modbus TCP) указывать - Modbus!
5. Подтверждаем измененные настройки кнопкой Submit в нижней части экрана.
На следующем этапе необходимо настроить сетевые настройки и сделать связь между Ethernet портом и последовательным портом.

1. Выбираем вкладку Communication setting для изменения параметров.
2. Выбираем обязательно TCP Server.
3. Указываем порт для Slave устройства. На Master устройстве при обращении необходимо будет указать IP адрес:порт.
4. Максимальное количество Slave устройств. Рекомендуется указывать не более 16шт.
5. Если модель преобразователя интерфейсов с несколькими последовательными портами, то нужно указать номер порта. В нашем случае порт один, соответственно указываем Uart. Например, если было бы два последовательных порта, то указывали бы Uart1 или Uart2.
6. В данной вкладе создаются дополнительные socket. В нашем примере достаточно одного socket.
7. Подтверждаем измененные данные кнопкой Submit.
Обязательно, при изменении сетевых настроек перезагружать преобразователь интерфейсов, чтобы изменения вступили в силу!

В итоге мы настроили преобразователь интерфейсов IC-485-TCP на обмен между Slave устройством работающим по протоколу Modbus RTU с Мастер устройством по протоколу Modbus TCP. У датчика TH-20-RS температура и влажность считывается регистрами 0 и 1 (DEC) в формате INT16. Стандартно Slave ID датчика = 1. В связи с этим примеры настроек на Master устройстве будут следующие:
- IP адрес Slave устройства = IP адрес преобразователя. В нашем случае 192.168.0.85 (скриншот №1 пункт 3) и порт 502.
- Обязательно должна быть возможность на Мастер устройстве выбора Slave ID. В нашем случае указываем Slave ID = 1.
- Если несколько Slave устройств подключено к преобразователю интерфейсов, то доступ к ним будет: 192.168.0.85:502 Slave ID = 1, 192.168.0.85:502 Slave ID = 2, 192.168.0.85:502 Slave ID = 3 и так далее. Иными словами, IP и порт у вас всегда должен быть один и тот же, изменяется только Slave ID.
- Ограничений по типу передаваемых переменных нет, то есть возможно передавать: INT, BOOL, FLOAT...
Это самый распространенный способ использования преобразователя интерфейсов серии IC.
2. Следующим этапом рассмотрим, когда Master сети является устройство работающее по протоколу Modbus RTU, а Slave устройство работает по протоколу Modbus TCP. Данный тип преобразования встречается намного реже, но мы также его рассмотрим. В данной конфигурации можно подключить от 3 до 5 Slave устройств в зависимости от модели преобразователя интерфейсов. Каждое Slave устройство является своим socket в преобразователе интерфейсов.
- IC-485-TCP - поддерживает до 3-х socket, соответственно к нему можно подключить до 3-х Slave устройств работающих по Modbus TCP.
- модели IC-232/485-TCP и IC-232/485-TCP-2 - поддерживает до 5-ти socket, соответственно к нему можно подключить до 5-ти Slave устройств работающих по Modbus TCP.

В данном способе обмена необходимо будет использовать программное обеспечение IOTService. Данное программное обеспечение дублирует функционал WEB интерфейса за исключением того, что через него можно загружать дополнительные скрипты увеличивающие функционал преобразователей интерфейсов. Например, преобразовать данные из MQTT в Modbus, раскладывать в формате JSON и многое другое. Но в данной статье мы это рассматривать не будем. В данном примере покажем только изменение параметров относительно первого способа обмена (Modbus RTU-TCP).

Необходимо зайти на вкладку Serial Port setting и изменить Protocol на None! Это важно, далее объясним почему. Как в примере выше указываете настройки аналогичным образом на данной вкладке.
Например, у нас имеется два Slave устройства работающих по протоколу Modbus TCP и имеющие IP адреса 192.168.0.13 порт 502 и второе устройство IP 192.168.0.14 порт 502. Важно понимать, хотя Slave устройства имеют разные IP адреса, но при этом Slave ID у них тоже должен быть разный. Если у вас будет два Slave устройства с одним и тем же ID, то будет возникать конфликт и в Master устройстве вы просто не сможете указать одинаковые Slave ID для опроса.

1.На вкладке "Communication Setting" указываем сетевые настройки.
2. Выбираем протокол TCP Client.
3. Указываем IP адрес и порт Slave устройства. Local Port можно оставлять без изменений.
4. Выбираем последовательный порт обмена через который организован обмен. В нашем случае порт один Uart.
5. Добавляем socket в зависимости от количества Slave устройства.
6. Подтверждаем изменения кнопкой Submit.
Для второго Slave устройства выставляем настройки аналогичным образом через socket №2. В нашем случае он называется "netp2".

Обязательно после ввода всех настроек перезагрузите устройство через вкладку OTHERS - Restart! В противном случае настройки преобразователя интерфейса не изменяться. Следующим этапом нужно подготовить и загрузить скрипт через программное обеспечение IOTService.
1. Скачиваете архив с программой IOTService по ссылке (94Мб).
2. Содержимое файла необходимо разархивировать в любую папку на ПК.
3. Устанавливаем программу (virtual-serial-port-control.msi) из архива.
4. Заходим в программу IOTService.exe из архива.

1. После того как мы открыли программу IOTService у вас должен отобразиться преобразователь интерфейсов. Если этого не произошло, то войдите на вкладку Setting - ScanList Setting и введи IP адрес устройства.
2. Далее нажмите кнопку Edit для редактирования настроек преобразователя интерфейсов.
3. Нажмите на кнопку Detail и у вас должно появиться с окно Setup Detail.

1. Нажимаете кнопку Edit Script для загрузки скрипта.
2. Нажимаете кнопку Import Script и выбираете файл скрипта который мы разберем ниже.
Далее разберем два универсальных примера скриптов, а именно когда у вас задействован только одно Slave устройство и второй вариант с несколькими Slave устройствами. Скрипт - это файл .txt с кодом который загружается через программу IOTService и дополняет/изменяет функционал преобразователя интерфейса. Если в дальнейшем преобразователь планируете использовать для других задач, то крайне рекомендуем удалить существующий скрипт через кнопку Delete Script на скриншоте выше.
1. Универсальный скрипт на одно Slave устройство доступен по ссылке.

В данном скрипте мы специально выделили элементы которые могут быть изменены. Так как данный пример с одним Slave устройством работающим по протоколу Modbus TCP, то вам необходимо только верно указать название socket (в нашем случае netp) и используемый порт (в нашем случае uart0). ВАЖНО, если вы используете преобразователь с интерфейсом имеющий два последовательных интерфейса RS232/R485, то в WEB интерфейсе и программном обеспечении порты будут называться uart1 и uart2. В скрипте последовательный порт uart1 = uart0, а uart2 = uart1. Так как в нашем случае используется модель IC-485-TCP имеющая один последовательный порт RS485, то в скрипте будет указано uart0.
Загрузите готовый скрипт (файл .txt) через кнопки Import Script как показано на рисунке выше. После выбора файла со скриптом появиться сообщение о перезагрузке преобразователя, подтвердите данное действие. Всегда после изменения любых сетевых настроек в преобразователе интерфейсов важно перезагружать устройство!
2. Универсальный скрипт на несколько Slave устройств доступен по ссылке.
В данном скрипте мы также выделили возможные изменения. Важно понимать, когда подключается несколько Slave устройств, то в скрипте важно прописать их Slave ID для правильного разделения потоков данных.
db1=[0x01] - 01 это номер Slave ID устройства.
db2=[0x02] - 02 это номер Slave ID другого устройства.
netp и netp2 - это название socket в нашем случае.
uart0 - это номер последовательного порта, в нашем случае он один.
Внизу скрипта видно распределение потоков данных. ID==db1 означает, что Slave устройство с Slave ID = 1 общается через socket netp, а устройство с Slave ID = 2 общается через socket netp2. Это важно, так как для каждого socket мы указывает IP адрес подключаемых устройств и если вы перепутаете, то возникнут проблемы с опросом.
Если используете больше Slave устройств, то добавляете блоки с дополнительными socket в скрипт. Рекомендуем сначала настроить Slave устройства (определить IP адрес, порт и Slave ID), а только после этого настраивать преобразователь интерфейсов для обмена данными. Так как в противном случае придется перезагружать скрипт и изменять сетевые настройки преобразователя интерфейсов. Так как мы загружаем скрипт в преобразователь интерфейсов и настраиваем работу на протокол Modbus, то на вкладке Serial Port Setting в строке Protocol обязательно нужно указывать None!
WEB интерфейс и программное обеспечение IOTService по большому счету дублирует функционал, за исключением того, что в IOTService возможно загружать и удалять скрипты улучшающие функционал преобразователей интерфейсов. В свою очередь для конфигурации преобразователей интерфейсов вы можете использовать любой из инструментов (WEB интерфейс или IOTService). Ещё раз хотим напомнить, что при изменении сетевых настроек в преобразователе интерфейсов необходимо перезагружать устройство или отключать питание на несколько секунд!
Кратко рассмотрим разницу между модельным рядом преобразователей интерфейсов серии IC:
- IC-485-TCP - преобразователь интерфейсов с 1 последовательным портов RS485 и 1 портом Ethernet, питание от 9 до 48В DC. Крепление у данной модели на DIN-рейку, имеет ориентировочные размеры двухполюсного автомата. Данная модель поддерживает 3 socket.
- IC-232/485-TCP - преобразователь интерфейсов с 1 последовательным портов RS232/RS422/RS485 (на выбор один из) и 1 портом Ethernet, питание от 5 до 36В DC. Крепление у данной модели на монтажную плату с помощью винтов. В комплекте дополнительно идет блок питания на 12В DC (12Вт), кабель DB9-DB9 для подключения оборудования через RS232, витая пара RJ45 для подключения к ПК или другому оборудованию. Данная модель поддерживает 5 socket.
- IC-232/485-TCP-2 - преобразователь интерфейсов с 2-мя последовательными портами RS232/RS422/RS485 (на выбор один из) и 2-мя портами Ethernet, питание от 5 до 36В DC. Крепление у данной модели на монтажную плату с помощью винтов. В комплекте дополнительно идет блок питания на 12В DC (12Вт), кабель DB9-DB9 для подключения оборудования через RS232, витая пара RJ45 для подключения к ПК или другому оборудованию. Данная модель поддерживает 5 socket. Порты Ethernet могут работать как в режиме роутер, то есть WAN порт подключается к роутеру, а LAN к оборудованию, а также в режиме коммутатор, когда оба порта связаны между собой в локальную сеть.
В данной статье мы постарались подробно описать настройку преобразователя интерфейсов в разных режимах управления по промышленному протоколу Modbus (Modbus RTU-Modbus TCP, Modbus TCP-Modbus RTU). Преобразователи интерфейсов серии IC имеют промышленный класс и могут применяться в различных сферах промышленности и автоматизации и поддерживают большой диапазон температур -40...85°С. Данные устройства поставляются под нашим собственным брендом и мы всегда готовы к взаимовыгодному сотрудничеству и оказанию технической поддержки. Если остались вопросы по преобразователям интерфейсов серии IC, свяжитесь с нами любым удобным для вас способом!