Fastwel.ru - Российская электроника для ответственных применений

MODBUS TCP в стиле «мини»

В статье описываются функциональные возможности, пожалуй, самого миниатюрного непрограммируемого контроллера подчиненного узла сети MODBUS TCP NIM745-02 и особенности его применения для интеграции модулей ввода-вывода FASTWEL I/O в автоматизированные системы сбора данных и управления.

Введение

В 2012 г. в продуктовой линейке FASTWEL I/O появился адаптер шины FBUS NIM745-01, предназначенный для подключения модулей ввода-вывода FASTWEL I/O к встраиваемым компьютерам, процессорным модулям и другим вычислительным устройствам с интерфейсом Ethernet. Процесс интеграции периферийных модулей FASTWEL I/O во встраиваемую систему состоял из разработки приложения для целевого вычислительного устройства на языке C или C++ с использованием комплекта разработчика Fastwel FBUS SDK, настройки IP-параметров NIM745-01 через встроенный Веб-сервер, и последующего подключения NIM745-01 вместе с модулями ввода-вывода к интерфейсу Ethernet вычислительного устройства. Приложение, помимо возлагаемой на него основной прикладной задачи, должно было находить и конфигурировать модули ввода-вывода, подключенные к шине FBUS NIM745-01, читать данные входных каналов модулей и записывать данные в выходные каналы модулей. В качестве целевых вычислительных устройств могли использоваться любые компьютеры и процессорные модули на базе 32-разрядных x86-совместимых процессоров, способные функционировать под управлением операционных системы Windows XP, Windows CE, QNX 6 или Linux.

Таким образом, у разработчиков встраиваемых приложений на платформе x86 появился инструмент для реализации многоканальных подсистем гальванически изолированного ввода-вывода аналоговых, дискретных и частотных сигналов на основе модулей ввода-вывода FASTWEL I/O.

NIM745-01 первоначально вызвал большой интерес у производителей автоматизированных систем управления технологическими процессами, при этом наиболее часто звучал следующий вопрос: а как с ним работать по MODBUS TCP?

В самом деле, довольно часто у специалистов из области АСУТП возникает потребность в размещении разнородных наборов модулей ввода-вывода в непосредственной близости к датчикам и исполнительным механизмам территориально-распределенного объекта автоматизации, что позволяет сократить затраты создание кабельной инфраструктуры, собственно на саму кабельную продукцию, а также на монтажные и пусконаладочные работы. Интеграция распределенных систем ввода-вывода в АСУТП почти всегда предполагает использование некоторой стандартизованной промышленной сети. Это позволяет существенно сократить затраты на собственно разработку и обслуживание за счет максимально широкого применения готовых решений, вроде OPC-серверов или коммуникационных модулей в составе программируемых логических контроллеров, в которых реализован автоматический сетевой обмен с удаленными узлами/станциями ввода-вывода.

В ответ на приведенный выше вопрос заказчиков и специалистов из области АСУТП на основе имеющегося аппаратного решения NIM745-01 было выпущено новое исполнение модуля - NIM745-02, превратившее его в один из самых малогабаритных на рынке непрограммируемых контроллеров с функцией подчиненного узла MODBUS TCP, который позволяет создавать распределенные системы сбора данных и управления на основе модулей ввода-вывода FASTWEL I/O и промышленной сети MODBUS TCP.

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

NIM745-02 – только конфигурирование и никакого программирования

Модуль интерфейсный NIM745-02, внешний вид и схема подключения которого показаны на рис. 1, является непрограммируемым контроллером подчиненного узла сети MODBUS TCP, конфигурируемым через веб-интерфейс. Верхние два фронтальных контакта модуля (1 и 5) служат для подключения источника питания самого модуля и модулей ввода-вывода, подключенных к его межмодульной шине. Две пары контактов 2, 3 и 6, 7 предназначены для ввода полевого питания внешних цепей через ножевые контакты модулей ввода-вывода.

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

Конфигурирование NIM745-02 включает в себя настройку параметров сети Ethernet и IP- адресации, определение состава и параметров модулей ввода-вывода, настройку параметров функционирования сервисов протокола MODBUS TCP и межмодульной шины.

Конфигурационная информация хранится в энергонезависимой памяти NIM745-02 и актуализируется сразу же после его запуска/перезапуска. Таким образом, после замены вышедших из строя модулей ввода-вывода на новые не нужно повторно конфигурировать NIM745-02.

A3_R_Fig7

Рис. 1. Внешний вид и схема подключения модуля NIM745-02

Просмотр и изменение значений конфигурационных параметров осуществляется через веб-интерфейс NIM745-02 в любом современном веб-браузере. Под современным веб-браузером подразумевается любой из следующих: Google Chrome версии не ниже 34, Mozilla Firefox версии не ниже 29, Opera версии не ниже 12 или MS Internet Explorer версии не ниже 10.

Для иллюстрации функциональных возможностей NIM745-02 решим с его помощью задачу расширения существующей гипотетической системы сбора данных и управления дополнительными каналами ввода-вывода.

Предположим, что существующую систему требуется дополнить 32-мя каналами дискретного ввода для контроля состояния 16-ти сухих контактов, подключенных к потенциалу полевого питания, и 16-ти сухих контактов, подключенных к нулевому потенциалу полевого питания. Кроме того, пусть также требуется добавить 16 каналов дискретного вывода и 8 каналов аналогового ввода 4…20 мА, при этом в качестве промышленной сети может использоваться Ethernet и протокол MODBUS TCP. Для решения данной задачи может быть применен контроллер подчиненного узла сети MODBUS TCP CPM703, два модуля дискретного ввода DIM717, два модуля дискретного ввода DIM762, два модуля дискретного вывода DIM718 и один модуль аналогового ввода AIM791. Возможная конфигурация аппаратных средств представлена рис. 2, оконечный модуль согласования шины OM750 не показан. Модуль OM758 служит для размножения нулевого потенциала датчиков, подключаемых к каналам модуля AIM791, а модуль OM752 – для ввода полевого питания датчиков и исполнительных устройств, подключаемых к каналам модулей DIM717, DIM762 и DIM718.

A3_R_Fig8_1

Рис. 2. Конфигурация аппаратных средств узла ввода-вывода (32 DI, 16 DO, 8 AI) на базе NIM745-02

При решении данной задачи при использовании ПЛК, пользователь должен иметь минимальные навыки программирования хотя бы на одном из языков МЭК 61131-3: ST, IL, FBD или LD и иметь представление о создании приложений в среде разработки CoDeSys 2.3, адаптированной для программирования контроллеров FASTWEL I/O. Разработка приложения в CoDeSys 2.3 для описываемой конфигурации потребует создания конфигурации контроллера и программного кода, копирующего данные между регистрами и битовыми полями MODBUS TCP и каналами модулей ввода-вывода

При использовании модуля NIM745-02, задача значительно упрощается, так как отпадает необходимость программирования системы. Более того, NIM745-02 имеет собственные контакты ввода питания внешних цепей датчиков и исполнительных устройств, поэтому модуль ввода питания может быть исключен из состава аппаратных средств, что снижает энергопотребление и удешевляет систему

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

Перед началом конфигурирования модуля NIM745-02 нужно включить его питание и убедиться, что модуль доступен по сети на компьютере, где предполагается его конфигурировать.

При поставке NIM745-02 имеет следующие IP-параметры:

IP адрес: 10.0.0.1

Маска подсети: 255.0.0.0

Адрес шлюза по умолчанию: не задан.

Таким образом, нужно либо установить в компьютер дополнительный сетевой адаптер, организовать на его основе сеть 10.0.0.0 и подключить к ней NIM745-02, либо подключить NIM745-02 к имеющейся сети, к которой подключен компьютер, и для единственного на компьютере сетевого адаптера задать альтернативную конфигурацию IPv4, пример которой показан на рис. 3.

A3_R_Fig9

Рис. 3. Дополнительные IP-параметры сетевого адаптера

Если требуется выполнить конфигурирование NIM745-02, сетевые параметры которого по какой-то причине неизвестны, нужно включить микропереключатель 3, расположенный на левой плоскости модуля, и перезапустить модуль либо выключением и повторным включением питания, либо командой сброса, доступной на странице Перезапуск встроенного веб-сервера модуля. После перезапуска NIM745-02 будет функционировать с заводскими настройками IP-параметров.

Для того, чтобы убедиться в наличии связи по сети между компьютером и NIM745-02, можно выполнить команду ping в консоли командного процессора Windows:

C:\>ping 10.0.0.1

При наличии связи с NIM745-02 в окне консоли появятся строки:

Обмен пакетами с 10.0.0.1 по с 32 байтами данных:

Ответ от 10.0.0.1: число байт=32 время<1мс TTL=255

Далее нужно запустить веб-браузер и в адресной строке ввести IP-адрес модуля NIM745-02. При успешном соединении со встроенным веб-сервером NIM745-02 в окне браузера будет отображена страница авторизации на встроенном веб-сервере NIM745-02, показанная на рис. 4.

A3_R_Fig10

Рис. 4. Страница авторизации веб-сервера NIM745-02

На странице авторизации следует ввести пароль и нажать кнопку Войти. При поставке пароль имеет значение admin. Впоследствии пароль может быть изменен на соответствующей странице веб-сервера.

После успешной авторизации в окне браузера будет отображена начальная страница веб-сервера NIM745-02, содержащая ссылки Конфигуратор, Пароль, Прошивка, Перезапуск и Выход. Первая ссылка предназначена для перехода к конфигуратору модуля, вторая – на страницу смены пароля, третья – на страницу обновления микропрограммы модуля, и две последние – на страницы с командами перезапуска модуля и завершения соединения с его веб-сервером. Для начала конфигурирования модуля нужно перейти по ссылке Конфигуратор.

Если требуется изменить IP-параметры модуля, это можно сделать на вкладке Сеть, раскрыв элементы списка параметров Настройки сети: IP-адрес, IP-маска и, при необходимости, Шлюз и введя нужные значения, как показано на рис. 5. На данной вкладке также можно изменить MAC-адрес модуля и номера портов доступа к серверу MODBUS TCP и веб-серверу. Для того, чтобы внесенные изменения вступили в силу, следует нажать кнопку Применить параметры (на рис. 5 не показана) и перезапустить модуль командой сброса или выключением и повторным включением питания, предварительно убедившись, что переключатель 3 выключен.

На вкладке Сеть также имеются две группы параметров, доступных только для просмотра: Информация об устройстве и Информация о модулях. Первая группа позволяет узнать серийный номер NIM745-02 и версию его микропрограммы, а вторая – типы модулей ввода-вывода, подключенных к NIM745-02, их серийные номера и версии микропрограмм.

Для определения списка модулей ввода-вывода, которые должны быть в составе узла ввода-вывода на базе NIM745-02, следует щелкнуть на вкладке Список модулей. Если к NIM745-02 подключены требуемые модули ввода-вывода, то на вкладке Список модулей в столбце Фактически установленные будут отображены названия типов модулей в том порядке, в каком они были автоматически обнаружены на межмодульной шине NIM745-02. Чтобы быстро создать список модулей в конфигурации NIM745-02 по списку фактически обнаруженных на шине модулей, достаточно нажать кнопку Создать конфигурацию по списку (не показана на рис. 6 для экономии места), после чего столбец Конфигурация вкладки Список модулей будет выглядеть, как показано на рис. 6.

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

A3_R_Fig11

Рис. 5. Вкладка настройки сетевых параметров NIM745-02

A3_R_Fig12

Рис. 6. Вкладка создания списка модулей ввода-вывода NIM745-02

Для того, чтобы созданная конфигурация модулей ввода-вывода вступила в силу, достаточно перейти на вкладку Конфигурация и нажать кнопку Применить конфигурацию. В дальнейшем при включении питания контроллера будет использоваться созданная конфигурация модулей ввода-вывода и сервера MODBUS TCP. А поскольку встроенный сервер MODBUS TCP модуля NIM745-02 использует автоматическое отображение входных и выходных каналов модулей ввода-вывода на регистры и битовые поля протокола MODBUS, процесс конфигурирования контроллера на этом можно считать законченным. Оговорка «можно считать» связана с тем, что в ряде случаев также требуется настроить специфические параметры отдельных модулей ввода-вывода (режимы работы, диапазоны входных сигналов и т.п.) и дополнительные параметры сервера MODBUS TCP. Для этого на вкладке Конфигурация перед нажатием кнопки Применить конфигурацию нужно раскрыть соответствующие группы параметров и установить требуемые значения, как показано на рис. 7.

A3_R_Fig13

Рис. 7. Вкладка настройки параметров модулей ввода-вывода и обмена по сети

Полная карта отображения каналов модулей ввода-вывода на регистры и битовые поля MODBUS доступна на вкладке MODBUS, показанной на рис. 8.

A3_R_Fig14

Рис.8. Карта отображения каналов модулей ввода-вывода на регистры MODBUS

Обратите внимание, что при автоматическом отображении каналов модулей ввода-вывода на регистры MODBUS используются все входные и выходные каналы, имеющиеся в программных моделях модулей. Например, в программной модели 8-канального модуля дискретного ввода DIM717, помимо основных восьми каналов дискретного ввода, представленных байтовым каналом DIM717.inputStates, имеются неиспользуемые каналы DIM717.diagnostics и DIM717.countersState, а также два счетных канала DIM717.counter0 и DIM717.counter1, которые активны только в случае, если в параметрах модуля активизирована функция счета импульсов на первом и третьем физических каналах модуля. Подробная информация о программных моделях модулей ввода-вывода приведена в руководстве по эксплуатации на NIM745-02.

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

Представленный здесь процесс конфигурирования узла сети на базе NIM745-02 при помощи веб-браузера занимает не более одной минуты и не требует написания ни единой строчки кода. Однако преобразование значений аналоговых сигналов из кодов АЦП в значения тока и напряжения с плавающей точкой теперь должно выполняться на контроллере или в SCADA-системе, на которых функционируют клиенты MODBUS TCP, взаимодействующие с NIM745-02.

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

Таким образом, для развертывания конфигурации модулей ввода-вывода на нескольких экземплярах NIM745-02 нужно сначала сконфигурировать «образцовый» контроллер NIM745-02 и, находясь на вкладке Конфигурация, после нажатия кнопки Применить конфигурацию, щелкнуть на ссылке Сохранить конфигурацию из устройства на локальный диск, как показано на рис. 9, и сохранить конфигурационные параметры в файле на диске компьютера, где запущен веб-браузер.

A3_R_Fig15

Рис. 9. Сохранение конфигурации NIM745-02 на диске компьютера

Затем следует подключить к сети один из нескольких «серийных» экземпляров NIM745-02, включить питание, войти в конфигуратор на его встроенном веб-сервере, задать требуемые значения сетевых и IP-параметров, после чего перейти на вкладку Конфигурация, нажать кнопку Выберите файл, показанную на рис. 9, загрузить ранее сохраненный файл конфигурации модулей ввода-вывода и нажать кнопку Применить конфигурацию. Далее указанный сценарий должен быть повторен для остальных модулей NIM745-02.

Обратите внимание, что в файле сохраняется только конфигурационная информация, отображаемая на вкладке Конфигурация, включая список модулей ввода-вывода и их специфические параметры, а также общие параметры MODBUS и межмодульной шины FBUS. Общие параметры MODBUS и FBUS содержат два тайм-аута, связанных с отсутствием сетевых запросов со стороны хотя бы одного клиента MODBUS TCP.

Тайм-аут неактивности MODBUS, приводящий к прекращению обмена с модулями, определяет интервал времени в секундах, по истечении которого NIM745-02 перестает обмениваться данными с модулями ввода-вывода, если ни от одного из двух клиентов MODBUS TCP не поступило ни одного MODBUS-запроса. Если при этом в списке модулей ввода-вывода, опрашиваемых NIM745-02, присутствуют модули аналогового и/или дискретного вывода, для которых задан параметр Интервал сторожевого таймера в секундах, то при отсутствии обмена между NIM745-02 и этими модулями по межмодульной шине в течение заданного интервала сторожевого таймера на выходах модулей будут установлены безопасные значения и состояния, заданные соответствующими специфическими параметрами модулей.

Тайм-аут закрытия соединения MODBUS TCP NIM745-02 определяет интервал времени, в течение которого встроенный сервер MODBUS TCP NIM745-02 сохраняет ранее установленное соединение с любым из двух клиентов.

В заключение хотелось бы упомянуть о быстродействии сетевой подсистемы NIM745-02. Время обмена между клиентом MODBUS TCP и NIM745-02, измеренное при помощи свободно распространяемой утилиты Wireshark (http://www.wireshark.org), не превышает 2 мс. При выполнении измерений NIM745-02 и компьютер с запущенным клиентом MODBUS TCP были связаны через неуправляемый коммутатор ASUS GX-D1051.

Итак, модуль NIM745-02 открывает новые возможности для увеличения количества и номенклатуры каналов ввода-вывода в существующих системах, а также для создания новых распределенных систем сбора данных и управления на базе протокола MODBUS TCP. Привлекательность решений на базе NIM745-02, помимо способности функционировать в диапазоне рабочих температур от минус 40 до +85 °C, обусловлена компактностью, малым энергопотреблением, полнотой функциональных возможностей, экономичностью и невысоким порогом освоения.

Заключение

Fastwel I/O - это простой, надёжный, качественный контроллер, разработанный российским специалистами и серийно производимый на собственных мощностях компании на территории России, что отвечает объявленному руководством страны курсу на импортозамещение. Контроллеры производятся по утверждённым техническим условиям в полном соответствии с требованиями ГОСТов и технических регламентов. Технические характеристики контроллеров Fastwel I/O полностью отвечают условиям применения в промышленных системах и, при необходимости, могут быть уточнены и ужесточены под требования конкретной задачи. Специалисты Fastwel обеспечивает оперативную техническую поддержку и гарантийное обслуживание продукции. Изделия Fastwel разрабатываются с применением наиболее современной элементной базы, что гарантирует потребителям использование аппаратных средств, не уступающих по характеристикам импортным аналогам.

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

 

Поделиться новостью
Российская электроника
для ответственных применений
Задать вопрос