Контроллеры Fieldbus и преобразователи Fieldbus-Ethernet: от пристального взгляда до практического использования

Статья призвана служить практическим пособием для организации сетей Fieldbus и Real'Time Ethernet на основе оборудования Hilscher. На примере протоколов PROFIBUS и Modbus проиллюстрирован процесс настройки оборудования в среде универсальной программы-конфигуратора Sycon.net.

Лопухов Иван

113
В ЗАКЛАДКИ

Введение

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

Каждый производитель оборудования для распределённых сетей ввода-вывода на основе шин Fieldbus и Real-Time Ethernet старается иметь в своем арсенале контроллеры и преобразователи интерфейсов. Но ввиду невозможности объять необъятное их выбор ограничен. В данной статье предпринята попытка познакомить читателей с универсальными устройствами типа контроллера интерфейсов и преобразователя интерфейсов производства немецкой компании Hilscher, их настройкой и организации простейшей промышленной сети на их основе.

Компания Hilsher уже около 20 лет разрабатывает чипы и контроллеры для реализации полевых шин и интерфейсов. Разработки Hilscher востребованы ведущими мировыми производителями средств АСУ ТП, такими как Schneider Automation, WAGO, ABB, GE Fanuc, Honeywell и многие другие. Последней разработкой стал чип NetX, реализующий основные протоколы Fieldbus и Real-Time Ethernet в одном кристалле. На его основе сделаны контроллер сети PROFIBUS-DP и преобразователь данного интерфейса в Real-Time Ethernet, используемые в качестве примера в данной статье. Настройка аналогичного оборудования Hilscher для остальных интерфейсов почти полностью повторяет описанные далее этапы, за исключением специфических параметров протоколов. Поэтому данную статью можно использовать как руководство по использованию продукции Hilscher.

Предварительная настройка

Для настройки простейшей сети PROFIBUS необходимо настроить сначала каждое устройство в отдельности, затем определить параметры их взаимодействия по сети. Начнем с ведомого устройства, поддерживающего протокол PROFIBUS-DP. Есть относительно простые устройства типа сетевых станций ввода-вывода, у которых лишь требуется установить переключателем адрес в сети. В нашем примере используется модуль ввода-вывода серии SM 153 производства VIPA, имеющий 16 каналов цифрового ввода. В качестве полнофункционального устройства взят ПЛК производства компании FASTWEL – модель CPM704, дополненная модулем дискретного ввода (DIM717) и модулем дискретного вывода (DIM713).

Для конфигурирования ПЛК необходимо установить программный пакет «Адаптация CoDeSys для FASTWEL I/O» с прилагаемого к устройству диска. Он включает в себя необходимую документацию, инструкции, учебные материалы и примеры программирования. Необходимым минимумом для настройки сети PROFIBUS является начальное конфигурирование контроллера без написания программы обработки переменных и событий. Начальное конфигурирование включает в себя следующие этапы:

  1. обновление прошивки ПЛК;

  2. создание нового проекта в среде CoDeSys;

  3. конфигурирование ПЛК;

  4. установка переменных для циклического обмена данными PROFIBUS;

  5. загрузка программы в ПЛК.

Данные этапы выполняются в соответствии с руководством программиста. На этапе конфигурирования в окне проекта открываем вкладку PLC Configuration и выбираем модель контроллера СРМ704, далее модули DIM713, DIM717. В поддереве PROFIBUS Slave Configuration на панели свойств необходимо задать адрес ПЛК, например 53. На этапе 4 при использовании модулей DIM713, DIM717 в поддереве PROFIBUS Slave Configuration нужно добавить байт читаемой и байт записываемой информации (BYTE Variable). Нулевому биту байта Rx присваиваем имя do_net1, нулевому биту байта Tx – di_net1. Аналогично нужно присвоить нулевым битам модулей DIM713, DIM717 переменные do1 и di1. Тогда программа, связывающая эти переменные, будет выглядеть следующим образом:

do1:=do_net1;

di_net1:=di1;

Все переменные по умолчанию имеют значение False. Полученную программу по интерфейсу Р2Р загружаем в ПЛК. После этого контроллер перейдет в нормальный режим и можно приступать к конфигурированию мастера сети.

Настройка мастера сети PROFIBAS

В качестве мастера сети возьмём универсальный контроллер сетей Fieldbus производства Hilscher на основе чипа NetX. Данные устройства уже описывались в статье [1] (постоянный адрес статьи в Интернете http://www.cta.ru/cms/f/434753.pdf). Выберем модель CIFX 50-PB – контроллер шины PROFIBUS в форм-факторе платы PCI. Конфигурирование платы может осуществляться в среде Windows 2000/ХP/Vista/7, функционировать она способна с более широким кругом ОС, включая CE, Linux и другие ОС РВ. На тестируемой машине установлена 64-битовая ОС Windows XP. Перед физической установкой адаптера в рабочую станцию необходимо установить с прилагаемого диска драйвер для шины PCI. В этом случае плата будет инициализирована ОС корректно. Следующий этап заключается в загрузке стека необходимого протокола в память платы. В случае с CIFX 50-PB можно выбрать между ведомым и ведущим устройством для PROFIBUS. Для данного этапа необходимо установить с диска утилиту CifX Driver Setup Utility, запустить её и для канала CH0, нажав кнопку Add, выбрать из директории Firmware на компакт-диске файл cifxdpm.nxf. Этап показан на рис. 1.


После подтверждения загрузки утилиту можно закрыть. Для дальнейшего конфигурирования понадобится программа Sycon.net, также содержащаяся на прилагаемом диске.

Установка Sycon.net проходит стандартно, без необходимости вводить номера лицензий и т.п. После запуска приложения появится окно, аналогичное показанному на рис. 2.


Конфигуратор Sycon.net – универсальная среда для настройки устройств Hilscher на базе чипа NetX и любых устройств сторонних производителей, связанных с ними шиной Fieldbus. В данном примере мы будем конфигурировать мастер сети CIFX 50-PB и ведомые устройства VIPA и FASTWEL I/O.

Интерфейс Sycon.net состоит из нескольких окон. Слева направо это:

  1. дерево проекта, отображающее конфигурируемые устройства;

  2. область визуального конфигурирования, схематично отображающая физическую шину;

  3. библиотека устройств с возможностью добавления сторонних устройств;

  4. нижняя область – история событий, отображающая выполненные действия и системные сообщения.

Серая линия в области визуального конфигурирования означает шину данных, по которой будет осуществляться конфигурирование. В библиотеке устройств справа следует найти искомый мастер сети – CIFX DP/DPM (рис. 2) и методом перетаскивания перенести на серую линию. Далее в меню правой кнопки мыши выбираем Configuration и видим окно, показанное на рис. 3.


В области Navigation Area необходимо выбрать пункт Device Assignment, в котором мы сопоставляем конфигурируемому визуальному объекту реальное устройство. В списке должно отображаться устройство CIFX 50-PB, а в колонке Channel Protocol должно значиться PROFOBUS-DP Master. Если протокол указан как Undefined, то этап с утилитой CifX Driver Setup Utility не выполнен. Повторную загрузку прошивки (или её замену на прошивку ведомого (Slave) устройства) можно провести в следующем пункте данного окна – Firmware download. Если всё-таки протокол уже определён, то необходимо отметить галочкой устройство CIFX 50-PB и щёлкнуть на Apply. Пока это окно можно закрыть.

Далее понадобится импортировать в библиотеку устройств конфигурационные файлы ведомых устройств. В случае с PROFIBUS это файлы с расширением GSD. Для ПЛК FASTWEL этот файл по умолчанию находится в директории C:\Program Files\Fastwel\Fastwel CoDeSys Adaptation\gsd, для модуля VIPA аналогичный файл доступен с FTP-сервера ПРОСОФТ. Импорт файлов осуществляется из главного окна Sycon.net, Networking -> Import Device Descriptions. После импорта устройства появятся в библиотеке устройств во вкладке Vendor.

Импортированные устройства можно не перетаскивать в область конфигурирования. Мастер-устройство способно обнаружить подключённые ведомые устройства автоматически. Для этого в меню правой кнопки мыши платы CIFX 50-PB нужно выбрать пункт Network Scan. В появившемся окне будут отображены найденные устройства, их сетевые адреса, описания. Необходимо выбрать устройство в списке и нажать кнопку Create Devices, после этого устройство отобразится в области конфигурирования, как это показано на рис. 4. На данном этапе адрес отображаемого ведомого устройства может не совпадать с физически установленным адресом. «Правильный» адрес можно вручную установить при последующем конфигурировании мастера.


Далее необходимо сконфигурировать найденные ведомые устройства. Конфигурируемые параметры зависят от конкретного устройства, но в общем случае это параметры сети и конфигурация модулей ввода/вывода. Параметры сети можно оставить по умолчанию – возможные конфликты устраняются при настройке мастера сети. Ключевой момент заключается в конфигурировании модулей ввода/вывода. Список возможных модулей считывается из конфигурационного файла и показан на рис. 5 на примере ПЛК FASTWEL.


Из списка модулей необходимо выбрать те, что физически имеются на устройстве. Для некоторых типов модулей доступны дополнительные настройки, например диапазоны величин для аналоговых сигналов. После выбора нажимаем Apply -> OK.

Когда все ведомые устройства сконфигурированы, можно переходить к проверке настроек мастера. Заходим в пункт меню Configuration и проверяем параметры по пунктам меню. Во вкладке Bus Parameters можно всё оставлять по умолчанию или, к примеру, увеличить скорость обмена по шине. Также стоит обратить внимание на параметр Target Rotation Time: если он не оптимален, рядом с ним будет восклицательный знак. В этом случае нужно нажать кнопку Adjust. В следующей вкладке Process Data должны отображаться все входные и выходные данные с ведомых устройств. Если мастер должен какие-либо данные передавать через ОРС-сервер в SCADA-систему, то напротив этих данных необходимо установить галочку OPC. Вкладка Address Table отображает адреса ведомых устройств и их модулей. При необходимости поменять адреса вручную нужно снять галочку Auto addressing. Во вкладке Station Table можно отключить или задействовать ведомые устройства и назначить им вручную новые адреса в сети. Последняя вкладка Master Settings позволяет выбрать порядок предоставления данных (начиная с младшего или старшего байта данных) и ряд других параметров, в общем случае оставляемых по умолчанию.

После сохранения конфигурации необходимо загрузить её в память платы. В меню правой кнопки мыши нужно выбрать пункт Download, подтвердить загрузку и дождаться успешного выполнения операции. После загрузки при правильной конфигурации плата перейдёт в рабочий режим. Проверить правильность настройки можно в меню Diagnostics. На рис. 6 представлено общее окно режима диагностики.


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

Для тестирования операций ввода/вывода воспользуемся последним пунктом меню Diagnostics – вкладкой Tools – IO Monitor. Окно представлено на рис. 7.


Номер ячейки таблицы соответствует адресу, установленному для конкретного канала ввода или вывода в меню Configuration – Address Table. Мы оставляли значение адреса «0», поэтому будем смотреть данные в нулевой ячейке.

При наличии модулей вывода в нижнюю таблицу можно записывать десятеричные или шестнадцатеричные цифры, и после нажатия кнопки Update они будут отображаться на соответствующих модулях. В верхней таблице при подаче логической единицы на модуль цифрового ввода будем наблюдать цифры 1, 2, 4, 8…, то есть «двойку» в степени порядкового номера входа. Таким образом мы видим, что сеть настроена корректно и функционирует в штатном режиме.

Настройка конвертера протоколов

Задачи согласований и преобразований протоколов, различных по физической и логической среде, встречаются очень часто. Причина в том, что каждый производитель по своему усмотрению выбирает для себя определённый стандарт передачи данных. Многие производители входят в специальные ассоциации, развивающие конкретные стандарты (ODVA). Некоторые крупные производители разработали и продвигают собственные протоколы (Siemens, Allen Bradley, Beckhoff). Поэтому крайне мало шансов избежать проблем преобразования протоколов при использовании оборудования от разных производителей в одной системе. Отдельные модели таких преобразователей встречаются у различных производителей ПЛК и систем ввода/вывода, однако универсальное решение предлагает, пожалуй, только компания Hilscher.

В [1] уже описывался конвертер интерфейсов Hilscher NetTAP 100. Наиболее интересное для нас его свойство – способность преобразовывать серийные протоколы (Modbus RTU, ASCII, собственные пользовательские протоколы), протоколы Fieldbus (PROFIBUS, CANopen, DeviceNet, ASi и CC-Link) и Real-Time Ethernet (EtherCAT, EtherNet/IP, Powerlink, PROFINET, Modbus TCP, SERCOS III) в любых сочетаниях.

В рамках данного исследования мы познакомимся с данным устройством с практической стороны. Для тестирования возьмём наиболее популярную модификацию NetTAP 100, преобразующую протокол PROFIBUS в Real-Time Ethernet. Модель с кодом NT 100-RE-DP жёстко привязана только к PROFIBUS ввиду собственного физического уровня данной шины (о чём свидетельствует суффикс DP). Индекс RE в коде модели означает Real-Time Ethernet, и, так как средой передачи для всей группы протоколов является Ethernet, NT 100-RE-DP может реализовать любой из доступных протоколов. Для тестирования мы выберем наиболее простой протокол Modbus TCP, так как он не потребует специального аппаратного обеспечения на противоположном конце провода, и используем блочные станции ввода/вывода VIPA.

Настройка преобразователя протоколов NT 100-RE-DP производится в том же конфигураторе Sycon.Net и во многом повторяет процесс, описанный ранее. Сначала надо установить USB-драйвер NetTAP 100, подключить по USB-кабелю включённое устройство и убедиться, что оно корректно опознано операционной системой. Далее нужно запустить Sycon.Net, в библиотеке устройств выбрать NT 100-ХХ-ХХ и поместить его в область конфигурирования. Во вкладке Configuration нужно выбрать вкладку Gateway, провести процедуру Device Assignment аналогично тому, как это сделано для платы CIFX 50-DP. Теперь следует загрузить необходимую прошивку в память устройства. Загрузка производится из этого же окна во вкладке Configuration – Settings. В поле Protocol combinations в соответствии с указанными протоколами выберем Open Modbus/TCP для левого порта устройства и PROFIBUS-DP Master для правого. Sycon.net самостоятельно подберёт необходимый файл прошивки и отобразит его в поле Available Firmware. Нам остаётся только щёлкнуть по нему, нажать кнопку Download и после завершения закрыть окно. В окне Sycon.Net конфигурируемое устройство изменит обозначение с NT 100-ХХ-ХХ на NT 100-RE-DP и появится дополнительная линия, обозначающая шину PROFIBUS. Так как конфигурационный файл VIPA мы уже импортировали в прошлый раз, находим станцию VIPA в библиотеке устройств во вкладке Vendor и перетаскиваем в область конфигурирования. Станция SM151 имеет 16 дискретных входов, поэтому добавим модель SM153 с дискретными выходами. В порядке, аналогичном уже описанному, каждое ведомое устройство надо настроить, прописав в конфигурацию установленные на него модули дискретного ввода. Далее переходим к настройке протоколов в NetTAP. В меню Configuration выбираем PROFIBUS-DP Master и проверяем параметры настройки аналогично плате CIFX 50-DP.

После настройки PROFIBUS настраиваем второй протокол – Modbus TCP. Параметр Protocol Mode устанавливаем как IO Server. Так как в нашем случае в сети нет DHCP-сервера, снимаем соответствующую галочку и устанавливаем фиксированный IP-адрес в маску сети (здесь 192.168.1.100, 255.255.255.0). Во вкладке Signal Configuration можно оставить значения по умолчанию или, сняв галочку Disable advanced editing, задать необходимый тип данных. Для установленных модулей VIPA выбираем формат BYTE (рис. 8).


Остаётся последний шаг, заключающийся в выборе данных, которые следует конвертировать в соседний протокол. В меню Configuration – Gateway находим пункт Signal Mapping и видим два столбца, отображающих тип данных и служебные сигналы, возможные для каждого из двух протоколов. Чтобы конкретный сигнал или пакет данных проходил через преобразователь, нужно перетащить его мышью в противоположный столбец. Однако это имеет значение для тонкой настройки. Для большинства случаев достаточно выбрать режим Auto Mapping, в котором через конвертер будут передаваться все поступающие сигналы. После выбора данного режима в нижнем поле (рис. 9) отобразятся сигналы ввода/вывода, которые будут преобразовываться.


В нашем случае это 3 сигнала ввода длиной 1 байт каждый и однобайтовый сигнал вывода. Далее сохраняем изменения и закрываем окно. Как и в случае с платой CIFX 50-DP, в конвертер следует загрузить полученную конфигурацию (команда Download). После успешного завершения этапа индикатор Com на корпусе устройства сменит цвет с красного на зелёный. При неправильном конфигурировании можно воспользоваться меню Diagnostics.

Проверить работу конвертера можно с помощью любого компьютера, подключённого сетевым кабелем к выходному порту NT 100-RE-DP. На компьютер устанавливаем приложение ModScan32, свободно доступное в Интернете. Запускаем файл ModScan32.exe. В главном меню выбираем Connection – Connect, устанавливаем тип соединения Remote TCP/IP Server. Ниже указываем IP Address – 192.168.1.100 и произвольный порт, например 502. Чтобы отображались данные, а не трафик, нажимаем кнопку Show data. В поле открытого файла можно видеть поступающие данные и вводить данные для отправки. При выборе типа данных INPUT STATUS мы увидим состояния дискретных входов на наших модулях «по ту сторону конвертера». При подаче напряжения логической единицы (24 В) мы видим, как соответствующий ноль на экране меняется на единицу. Для проверки записи данных указываем тип HOLDING REGISTER и выбираем первую ячейку данных. Записываем в неё целое число, которое по нажатию кнопки Update будет выведено в двоичном формате на модуль дискретного вывода.

Итак, устройство NT 100-RE-DP корректно преобразовывает данные из протокола PROFIBUS в Modbus TCP и обратно.

Заключение

Целью данной статьи было познакомить читателей не только с «каталожными» возможностями контроллеров и преобразователей протоколов, но и с практической стороной их использования. Несмотря на то что описание процесса настройки данных устройств выглядит относительно сложно, сам процесс минимальной настройки сети занимает считанные минуты. Конечно, настройка реальной сети передачи данных будет сложнее из-за множества частностей и нюансов, однако первый (как говорят, самый сложный) шаг в описании уже сделан. Кроме того, описание процесса настройки (пусть даже простейшего) даёт больше информации о реальных возможностях устройства, чем рядовая спецификация. На момент написания статьи OPC-сервер для данных устройств ещё недоступен, поэтому процесс интеграции данных в SCADA-системы отдан на откуп разработчикам ПО. Необходимые библиотеки на языке C++ и документация разработчика идут в комплекте с устройствами. Унифицированный интерфейс Dual-port memory для операций чтения/записи снабжён подробным описанием библиотек функций, что максимально облегчит программистам процесс «сращивания» контроллера и пользовательского ПО. Готовый OPC-сервер для серии CIFX появится в начале 2011 года, тогда цикл внедрения решений от Hilscher в промышленные сети существенно сократится.  ●

Литература

  1. И. Лопухов. Сети Real-Time Ethernet: от теории к практической реализации // СТА. – 2010. – № 3. – С. 8. 

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



ПОДПИСАТЬСЯ НА НОВОСТИ

Будьте всегда в курсе самых свежих новостей
и узнавайте первыми о содержании нового номера

Подписка на новости