Фильтр по тематике

Серверы последовательных интерфейсов: пошаговая инструкция

1629 0

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

Введение

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

Задачи серверов последовательных интерфейсов

Задачи, решаемые с помощью серверов последовательных интерфейсов, можно разделить на локальные и сетевые. Первые сводятся к подключению некоего устройства, использующего последовательный интерфейс, к рабочей станции, не оборудованной COM-портом. Вторые можно охарактеризовать как удлинение или объединение последовательных интерфейсов либо объединение устройств с помощью сети Ethernet.

Разберёмся сначала с локальными задачами. Не столь важно, почему у рабочей станции (сервера) может не быть COM-портов или их просто оказалось недостаточно: COM-порты могут легко сгореть, они могут быть не предусмотрены вовсе, как у современных коммерческих материнских плат, они могут поддерживать только протокол RS-232 и т.д. Добавить COM-порт можно несколькими способами: установить плату расширения, использовать USB-преобразователь или сервер последовательных интерфейсов. Установка платы расширения – самый дешёвый из этих способов, однако не всегда в компьютере есть свободный слот, что в первую очередь относится к встраиваемым компьютерам и ноутбукам. Использование USB-преобразователя, например ADAM-4561 производства Advantech, в данном случае признано наиболее популярным решением, особенно для ноутбуков. Такой способ может не подойти лишь для встраиваемых компьютеров, работающих в широком температурном диапазоне. СПИ является логичным решением для компактных стационарных рабочих станций с Ethernet-портом.

Сетевые задачи также решаются рядом методов. Для удлинения последовательного интерфейса не обязательно преобразовывать RS-232/422/485 в Ethernet. RS-232 можно удлинить по RS-422/485 для передачи и в электрической, и в оптической среде на расстояния в 10 и более километров. Устройства с интерфейсом RS-485 могут объединяться электрическим или оптическим кабелем в сеть с топологией «шина» или «резервированное кольцо», например, с помощью оптико-электрических преобразователей Hirschmann OZD и EtherWAN FT5702. Минусы данного решения – необходимость выделенной кабельной структуры и сложность администрирования. Поэтому сетевые задачи – наиболее частый случай применения СПИ.

Характеристики серверов последовательных интерфейсов

Серверы последовательных интерфейсов – широкий класс устройств, который представлен в ассортименте многих производителей коммуникационного оборудования. Однако специфика применения в различных областях промышленности предъявляет к исполнению и функциональности изделий ряд требований, которым не все устройства способны удовлетворить. Для промышленных СПИ можно сформулировать следующие требования:

  • широкий диапазон рабочих температур;

  • дублированное питание в широком диапазоне питающих напряжений, защита от помех, короткого замыкания, переполюсовки;

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

  • поддержка оптической и медной среды передачи по Ethernet;

  • удалённое управление, удобная настройка.

Устройства, соответствующие перечисленным требованиям, могут предложить очень немногие специализированные производители, среди них – тайваньская компания EtherWAN. Серверы последовательных интерфейсов серий SE5000 и SE6000 (рис. 1) обеспечивают подключение от одного до четырёх последовательных устройств к резервированной сети Ethernet с медной или оптической средой передачи. 


Модели и типы подключений представлены в табл. 1. Обе серии поддерживают сетевые протоколы (TCP, UDP, DHCP, DNS, SSH и др.) и средства администрирования (WEB, Xport, Telnet, SNMP). Для предотвращения потерь данных при разрыве соединения в устройствах имеется буферная память объёмом 512 кбит. Устройства выполнены в компактных алюминиевых корпусах с возможностью монтажа на DIN-рейку и панель.


Схемы применения серверов последовательных интерфейсов

Схемы применения серверов последовательных интерфейсов разнообразны и зависят от выбранного режима работы устройства. Для СПИ производства EtherWAN их четыре: TCP, парное соединение, UDP, виртуальный порт.

Универсальным можно считать режим TCP. Он подразумевает объединение в сеть Ethernet от двух до восьми устройств, обменивающихся данными по протоколу TCP/IP. Достоинство этого режима – гарантированная доставка данных, исключающая их потерю. Используется архитектура клиент – сервер, поэтому один из серверов назначается TCP-сервером, остальные – TCP-клиентами (рис. 2). Топология сети и среда передачи значения не имеют, устройства находят друг друга по сетевым адресам.


Настройку удобнее всего проводить в излагаемом далее порядке. Начинать надо с подключения всех СПИ к сети Ethernet. На рабочей станции запустить оригинальную утилиту EtherWAN – Xport. Утилита удобна тем, что находит все СПИ EtherWAN, отображает их текущий статус и позволяет настраивать. Сначала необходимо установить сетевые параметры: IP-адрес, маску подсети, адрес шлюза и сервера доменных имён DNS. Можно также использовать режим DHCP, тогда IP-адрес устройству будет присвоен DHCP-сервером автоматически. Для вызова этих настроек выделяем устройство в списке и нажимаем кнопку Basic Network and Time settings. В простейшем случае нужно указать IP-адрес (например, 192.168.1.хх) и маску подсети (например, 255.255.255.0). Далее устанавливаются режимы работы каждого последовательного порта индивидуально. После нажатия кнопки Serial Port Settings появляется окно, аналогичное показанному на рис. 3.


Области настроек Step 1…4 идентичны для всех режимов работы (Virtual COM, TCP Cleint/Server, Pair Connection, UDP). Область Step 5 меняется относительно выбранного режима. Для режима TCP необходим минимум один TCP-сервер и минимум один TCP-клиент. Поэтому выбираем одно устройство и устанавливаем его в режим TCP Server в области Step 1. Далее следуют настройки последовательного интерфейса. По схеме на рис. 2 устройство подключено к рабочей станции – соответственно, параметры порта СПИ и COM-порта рабочей станции должны быть идентичными. В данном случае это 9600/8/1/None/None/485. В окне Step 3 предлагается установить режим автоматического отключения TCP-соединения при отсутствии ответа удалённого хоста. Режим актуален, если несколько приложений используют последовательный интерфейс. По умолчанию область Step 3 можно оставить пустой. Step 4 – установка разделителей, если таковые определены в протоколе передачи; по умолчанию разделители не устанавливаются. В области Step 5 предлагается назначить сетевые параметры для выбранного режима. Для TCP-сервера понадобится установить номер порта (по умолчанию – 601). Если устройство имеет 2 или 4 последовательных интерфейса и все работают в режиме TCP-сервера, то порты TCP должны быть разными по номеру. Тут же можно включить или не включить протокол совместимости с PC-приложениями RFC2217 (зависит от приложения) и обязательно поставить флажок Restart Port, чтобы изменения вступили в силу. В случае настройки TCP-клиента в область Step 5 нужно ввести IP-адрес и порт TCP-сервера, а также интервал попыток подключения. Настройки последовательных интерфейсов TCP-клиентов (область настроек Step 2) зависят от параметров устройств, подключённых к ним. После того как сервер и клиенты настроены, между последовательными устройствами устанавливается связь, как при обычном шинном соединении.

Режим парного соединения (Pair Connection) позволяет соединить только два устройства между собой. Одно устройство является ведущим (Master), другое ведомым (Slave). Соединение это логическое, поэтому физически они могут быть соединены как патч-кордом (коммутационным шнуром), так и через сеть. Соответствующий пример показан на рис. 4. 


Настройка данной схемы во многом схожа с настройкой предыдущей. Для подключённых устройств настраиваются сетевые параметры (меню Basic Network and Time Settings), затем параметры последовательного интерфейса (меню Serial Port Settings), где соответственно выбирается режим Pair Connection. Настройки области Step 2 должны быть одинаковыми для Master и Slave. В поле Step 5 для одного устройства выбирается режим Slave, для чего нужно указать лишь номер TCP-порта (можно оставить номер 601 по умолчанию). Для режима Master нужно указать IP-адрес Slave-устройства и упомянутый номер TCP-порта. После перезагрузки обоих портов (Restart Port ® OK) между двумя последовательными устройствами устанавливается соединение.

Режим UDP, исходя из названия, предполагает связь по одноимённому протоколу User Datagram Protocol. В этом случае доставка данных может осуществляться быстрее, с большей пропускной способностью, чем при TCP-соединении. Между тем при возникновении проблем со связью данные могут теряться, так как UDP не предусматривает повторную пересылку в случае их потери на пути к адресату. Этот режим СПИ можно рекомендовать для протокола Modbus и приложений, критичных ко времени доставки данных. Пример соединения СПИ в режиме UDP показан на рис. 5; здесь нет ведущих и ведомых устройств как в предыдущих вариантах, передача осуществляется в широковещательном режиме. 


Настройка устройств производится сходным с режимом TCP образом. При настройке последовательного интерфейса в окне Serial Port Settings выбирается режим UDP, для которого в полях Step 1...4 устанавливаются идентичные параметры связи. Сетевые параметры, индивидуальные для UDP, устанавливаются в поле Step 5. В первый список Remote UDP Server list требуется ввести IP-адреса и порты соседних СПИ, которым данное устройство будет отправлять датаграммы. Во втором списке Source UDP client settings предлагается указать UDP-порт настраиваемого устройства (по умолчанию – 601) и список IP-адресов, с которых будут получаться датаграммы. Например, для двух устройств А (IP: 192.168.1.20 порт 602) и Б (IP: 192.168.1.22 порт 601) сетевые настройки UDP будут такими: для А Server1 – 192.168.1.22:601, UDP – 602, Source IP1 – 192.168.1.22; для Б Server1 – 192.168.1.20:602, UDP – 601, Source IP1 – 192.168.1.20. После настройки также нужно перезагрузить порты (Restart Port ® OK).

Режим виртуального порта (Virtual COM) предназначен для работы с последовательными интерфейсами на рабочих станциях без использования аппаратного COM-порта. Смысл в том, что с помощью утилиты Xport в операционной системе программно создаётся COM-порт, который можно использовать как аппаратный. Сам же аппаратный порт находится на удалённом СПИ. Схема возможного применения такого режима показана на рис. 6. 


На рабочей станции установлена утилита Xport, с помощью которой создан виртуальный порт Smart COM1, подключённый к СПИ в режиме Virtual COM. Порт Smart COM2 подключён к СПИ в режиме TCP, что также возможно. Для настройки СПИ в режиме Virtual COM нужно выполнить первичные сетевые настройки (Basic Network and Time settings) аналогично предыдущим режимам, затем войти в настройки Serial Port Settings и в области Step 1 выбрать Virtual COM. Параметры последовательного интерфейса в областях Step 2...4 должны соответствовать настройкам устройства, подключённого к COM-порту СПИ. Сетевые параметры области Step 5 состоят из списка IP-адресов допустимых клиентов, поля номера порта, количества клиентов и флага использования протокола RFC2217. При установке флага Enable the accessible IP list доступ к данным будет разрешён только с указанных в списке IP-адресов, помеченных флагом Enable. Если поля оставить по умолчанию незаполненными, доступ будет открыт со всех IP-адресов в сегменте. Номер TCP-порта должен быть уникальным для каждого из физических COM-портов устройства (по умолчанию – 601), количество клиентов (Max client) – до 8. После перезагрузки порта можно делать виртуальный порт в системе. Создать его можно в основном окне утилиты Xport щелчком правой кнопки мыши на нужном порте в поле Device list, команда Auto-mapping a COM port. После этого созданный СОМ-порт появляется в списке COM-list и, конечно, в операционной системе. Аналогично создаётся виртуальный порт, обращающийся к TCP-серверу.

Тестирование возможностей серверов последовательных интерфейсов

Для тестирования выберем три типовые задачи, которые могут быть доверены СПИ:

  • администрирование по последовательному порту (лабораторное оборудование, анализаторы и пр.);

  • сбор данных (совместно с оборудованием распространённой серии Advantech ADAM-4000 и др.);

  • обмен данными по протоколу Modbus RTU и ASCII.

Схема тестового стенда представлена на рис. 7. 


В его составе два компьютера ПК-1 и ПК-2 (рабочие станции), промышленный коммутатор Ethernet модели EX63222 производства EtherWAN, модуль с релейными выходами и интерфейсом RS-485 серии ADAM-4000 и, наконец, три сервера последовательных интерфейсов EtherWAN серий SE5300 и SE6100. Модуль вывода подключён 2-проводным кабелем к первому порту сервера EtherWAN модели SE5320 (СПИ-2), имеющего оптическую изоляцию обоих интерфейсов RS-422/485 и подключённого к Ethernet. Станция ПК-1 подключена и к Ethernet, и к одному из двух портов СПИ-1 (EtherWAN SE5302), который, в свою очередь, подключён к Ethernet и к COM-порту коммутатора. Сервер СПИ-3 (модель EtherWAN SE6101) и станция ПК-2 соединены между собой последовательным интерфейсом и подключены к Ethernet.

Для начала проверим, как справляются СПИ с задачей администрирования. Будем использовать COM-интерфейс коммутатора и стандартную утилиту Hyper Terminal. Второй порт СПИ-1 устанавливаем в режим Virtual COM и задаём параметры последовательного интерфейса, указанные в руководстве к коммутатору (в порядке введения: 115200/8/n/1). Далее с помощью команды Auto-mapping a COM port в утилите Xport на ПК-1 создаём виртуальный порт COM5. Запускаем Hyper Terminal, выбираем порт COM5 и аналогичные параметры последовательного интерфейса. После открытия сеанса связи коммутатор отвечает на команды так же, как если бы был напрямую подключён к COM-порту компьютера. С тем же успехом можно настроить СПИ-1 как TCP-сервер. Тогда из ПК-1 либо ПК-2 можно будет подключаться через виртуальный порт или через любое программное обеспечение, использующее интерфейс Winsock. Примером может быть тот же Hyper Terminal, где вместо порта СОМ можно выбрать TCP/IP Winsock. Если указать IP-адрес и TCP-порт, присвоенный СПИ-1, то командный режим работает аналогично.

Для проверки режима парного соединения установим СПИ-1 в режиме Pair Connection как Master и укажем адрес СПИ-3 (в данном случае 192.168.1.10, порт 601). Для СПИ-3 назначаются следующие режимы и параметры: Pair Connection, Slave и порт 601. После перезагрузки портов СПИ-1 и СПИ-3 и установления сеанса в Hyper Terminal коммутатор начинает отвечать на команды. Выбор Master и Slave произвольный. При смене ролей связь сохраняется.

Для эмуляции задач сбора данных возьмём известную серию модулей ввода/вывода ADAM-4000, использующих интерфейс RS-485. Модуль релейного выхода подключён к СПИ-2 (рис. 7). На станции ПК-2 установим утилиту ADAMView, которая может сканировать адреса по RS-485 и отображать состояние входов и выходов найденных модулей. Проверим работоспособность по протоколу TCP. Для этого СПИ-2 переводим в режим TCP-сервера, параметры настройки последовательного интерфейса аналогичны параметрам настройки модуля ADAM – 9600/8/1/None/None/RS-485, номер TCP-порта – 601, максимальное число клиентов – 3. СПИ-3 будет выполнять роль TCP-клиента, настройки последовательного интерфейса те же, сетевые настройки СПИ-3 – 192.168.1.22:601. Запускаем на ПК-2 утилиту ADAMView и выбираем порт COM4, к которому по RS-485 подключён СПИ-3. Запускаем поиск устройств, утилита находит модуль ADAM, как если бы он был подключён к СОМ4 напрямую. В открывшейся вкладке утилиты можно управлять состояниями реле на модуле, индикаторы на самом устройстве подтверждают выполнение производимых действий.

В роли TCP-клиента может выступать не только физическое устройство, но и виртуальный порт. Для иллюстрации создадим через утилиту Xport на ПК-2 виртуальный порт, подключённый к тому же серверу (192.168.1.22:601). В процессе ему присваивается следующий по порядку после физических портов номер – 7. Перезапускаем утилиту ADAMView и запускаем сканирование появившегося в списке порта COM7. Модуль ADAM появляется в системе подключённым к порту 7. В данном случае им можно с одинаковым успехом управлять с двух портов – реального и виртуального (рис. 8).


Аналогично можно настроить и станцию ПК-1. Выбор сервера и клиента является произвольным: в роли сервера может выступать СПИ-3 или СПИ-1 – корректная работа удалённого модуля обеспечивается в обоих случаях.

Для эмуляции передачи данных по протоколу Modbus будем использовать рабочие станции ПК-1 и ПК-2 в качестве Modbus Master и Slave и соответственно СПИ-1 и СПИ-3 в качестве гетерогенной среды передачи. Протокол Modbus будем эмулировать программой ModScan, состоящей из приложения ModScan32, выступающего в роли Master, и ответного приложения ModSim32, заменяющего Slave-устройство. Программу ModScan установим на обе станции (ПК-1 и ПК-2). СПИ-1 и СПИ-3 свяжем в режиме TCP как сервер и клиент соответственно. Настройки последовательных интерфейсов в порядке установки в утилите Xport выглядят так: 9600/8/1/None/None/RS-485. Поля настроек Step 3 и Step 4 оставлены по умолчанию. Сетевые настройки для СПИ-1: TCP Server, номер TCP-порта – 601, IP-адрес – 192.168.1.20. Сетевые настройки для СПИ-2: TCP Client, Remote IP – 192.168.1.20:601. На ПК-2 запускаем приложение ModSim32. В меню File выбираем New, в меню Connection – Connect COM2 (на стенде СПИ-3 подключён ко второму COM-порту ПК-2). На станции ПК-1 запускаем ModScan32, устанавливаем значение 0100 (значение по умолчанию в ModSim32) для параметра Address. Значение MODBUS Point Type в обоих приложениях соответствует HOLDING REGISTERS. Далее выбираем в меню Connection ® Connect, устанавливаем порт COM4 (к нему подключён СПИ-1); параметры последовательного интерфейса остаются соответственно 9600/8/1/None/None. Во вкладке Protocol Selections выбираем режим Transmission Mode – RTU, устанавливаем максимальное время ожидания ответа от Slave-устройства (Slave Response timeout) 250 мс, параметр Delay Between Polls выставляем равным 250 мс. Сохраняем установленные параметры, ModScan32 начинает посылать запросы на Slave-устройство (ModSim32). Счётчик отправленных запросов и полученных ответов отображается в окне ModScan32. В данном случае сеть работала корректно и оба счётчика показывали одинаковые увеличивающиеся значения. Смена ролей ПК-1 и ПК-2 на противоположные (Slave и Master соответственно) не повлияла на результат. Опытным путём было установлено минимальное значение параметра Slave Response Timeout 180 мс (столько в данном случае тратится на преобразование и передачу сигнала). При снижении значения параметра до 160 мс часть запросов теряется, то есть сеть начинает работать неустойчиво. Для крупной сети Ethernet время на пересылку пакетов данных от сервера к клиенту и обратно может возрасти.

Режим передачи по Ethernet между серверами можно изменить на режим UDP. Для этого параметры последовательного интерфейса остаются прежними, а сетевые параметры в режимах работы СПИ-1 и СПИ-3 меняются соответственно схеме применения UDP, описанной ранее. Теоретически время ответа Slave-устройства на запросы от Master должно снижаться, но это будет заметно только в случае большой и загруженной Ethernet-сети. В данном тесте работа серверов в режимах TCP и UDP одинаково успешна.

Подключить Modbus Master или Slave можно через виртуальный COM-порт. Однако в ходе теста СПИ в режиме Virtual COM передачу наладить не удалось. Предположительная причина – несовместимость программы ModScan с протоколом RFC2217, который используется в данном режиме. Догадку подтверждает работоспособность Modbus при назначении режима TCP в СПИ: виртуальный порт, подключённый к серверу в режиме TCP, не использует RFC2217 и передаёт данные Modbus без проблем. Ввиду описанных особенностей применение режима Virtual COM для протокола Modbus возможно только при предварительном тестировании.

Заключение

В статье рассмотрены типовые задачи, решаемые с помощью серверов последовательных интерфейсов, технические характеристики данного оборудования на примере продукции компании EtherWAN и примеры использования. Круг задач, реализуемых с помощью СПИ, широк и разнообразен, и заранее эмулировать каждую задачу невозможно. Одну из возможных (хоть и решаемых) проблем несовместимости удалось выявить в ходе мини-теста, хотя в целом устройства от EtherWAN показали завидную работоспособность.

Упомянутые в статье модели СПИ SE5300 и SE6100 выпускаются компанией EtherWAN серийно и уже достаточно широко применяются на реальных объектах в США, Европе, Азии, а также в России. ● 

Автор – сотрудник фирмы ПРОСОФТ
Телефон (495) 234-0636
E-mail: info@prosoft.ru

1629 0
Комментарии
Рекомендуем

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3