Научная статья на тему 'Программная реализация протокола ModBus на основе электронного модуля ввода-вывода'

Программная реализация протокола ModBus на основе электронного модуля ввода-вывода Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
995
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭЛЕКТРОННОЕ УСТРОЙСТВО / ELECTRONIC DEVICE / ПРОТОКОЛ MODBUS / PROTOCOL MODBUS / ЧАСТОТНЫЙ ПРЕОБРАЗОВАТЕЛЬ / INVERTER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зеленко О.В., Егорычев А.И.

Разработано электронное устройство, которое позволяет регистрировать унифицированный токовый сигнал 4-20 мА, управляет релейными выходами и поддерживает передачу данных на компьютер. Для связи устройства с компьютером решено было использовать протокол Modbus RTU, так как данное устройство использовалось совместно с 2-мя частотными преобразователями, которые подключались к компьютеру посредством этого протокола.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зеленко О.В., Егорычев А.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Developed an electronic device that allows you to register a unified 4-20 mA, relay outputs, controls and supports data transfer to a computer. For communication device with your computer, it was decided to use the protocol Modbus RTU, since this device was used in conjunction with 2 frequency converters that are connected to your PC via this protocol.

Текст научной работы на тему «Программная реализация протокола ModBus на основе электронного модуля ввода-вывода»

УДК 378.147.88

О. В. Зеленко, А. И. Егорычев

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРОТОКОЛА МОБВ^ НА ОСНОВЕ ЭЛЕКТРОННОГО МОДУЛЯ ВВОДА-ВЫВОДА

Ключевые слова: электронное устройство, протокол Modbus, частотный преобразователь.

Разработано электронное устройство, которое позволяет регистрировать унифицированный токовый сигнал 4-20 мА, управляет релейными выходами и поддерживает передачу данных на компьютер. Для связи устройства с компьютером решено было использовать протокол Modbus RTU, так как данное устройство использовалось совместно с 2-мя частотными преобразователями, которые подключались к компьютеру посредством этого протокола.

Keywords: electronic device, protocol Modbus, inverter.

Developed an electronic device that allows you to register a unified 4-20 mA, relay outputs, controls and supports data transfer to a computer. For communication device with your computer, it was decided to use the protocol Modbus RTU, since this device was used in conjunction with 2 frequency converters that are connected to your PC via this protocol.

ModBus - один из самых распространенных промышленных протоколов передачи данных. Это открытый коммуникационный протокол, основанный на модели клиент-сервер. Корни разработки уходят в далекий 1979 год и связаны с компанией Modicon. В большинстве случаев используется для передачи данных через дифференциальную пару RS-485, реже через RS-422 и RS-232. Существуют три способа организации протокола: ModBus RTU -самый часто используемый вариант, где сообщения разделяются паузой или «молчанием» на линии длительностью не менее 3,5 символа; ModBus ACSII -обмен происходит с использованием только ASCII символов, начало и конец обозначаются специальными символами; ModBus TCP/IP - передача данных происходит на основе TCP/IP соединения. Все способы организации протокола включают в себя контрольную сумму сообщения.

Протокол ModBus имеет структуру «главный» MASTER - «подчиненный» SLAVE. Структура запроса: АДРЕС - КОД ФУНКЦИИ - ДАННЫЕ -КОНТРОЛЬНАЯ СУММА. Запрос может инициировать только главное устройство. В адресном поле записывается адрес SLAVE устройства, которому предназначен запрос. Когда адрес равен нулю, запрос является широковещательным (если такой запрос поддерживается функцией). В протоколе существуют несколько стандартных функции. Например, функция чтения регистра, имеет код 0x03, и именно такая функция не может поддерживать широковещательный запрос, потому что невозможно прочитать несколько устройств одновременно. В поле данных может быть прописан параметр функции (например, для функции чтения - количество байт и начальный адрес).

Модель данных протокола определяет четыре таблицы данных представлены в таблице 1.

Доступ к элементам в каждой таблице осуществляется с помощью 16-битного адреса, первой ячейке соответствует адрес 0. Таким образом, каждая таблица может содержать до 65536 элементов. Спецификация не определяет, что физически должны представлять собой элементы таблиц и по каким

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

Таблица 1 - Модель данных протокола

Таблица Тип элемента Тип доступа

Дискретные входы Один бит Только чтение

Регистры флагов Один бит Чтение и запись

Регистры ввода 16-битное слово Только чтение

Регистры хранения 16-битное слово Чтение и запись

Электронный модуль спроектирован на микроконтроллере, который выполняет оцифровку унифицированного токового сигнала и обеспечивает управление реле. В микроконтроллере используется цифровой интерфейс UART для связи с компьютером, который имеет две независимые линии Tx и Rx, передачи и приема соответственно. В частотных преобразователях используется однонаправленная дифференциальная помехоустойчивая линия RS-485, которая, как показала практика, ведет себя уверенно в местах с большими помехами. Электронный модуль также был оснащен интерфейсом RS-485.

Готовая электронная плата устройства включает в себя 8 силовых релейных выходов, позволяет подключить 8 независимых каналов токового сигнала 4-20 мА, а также имеет параллельный порт ввода-вывода с TTL-совместимой логикой. Устройство поддерживает функции чтения регистров хранения (holding registers), записи одиночного и множества регистров хранения. Т.е. все операции с устройством происходят посредством регистров хранения. Например, для релейных выходов (регистр с адресом 40001), изменяя биты регистра начиная с младшего, включается соответствующее

данному биту реле. Далее по адресам 40002 - 40009 в регистрах хранится значение тока в мкА, оцифрованного соответственно на 1-8 канале. Регистр 40010 используется для вывода значения с параллельного порта, который можно использовать для вывода низкоуровневой ТТЪ логики (рис. 1).

Рис. 1 - Схема электронного устройства

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

преобразователями управляется с компьютера. Таким образом, всю систему стенда необходимо подключить к компьютеру управления при помощи двухпроводной линии связи.

Протокол Modbus - довольно прост в программной реализации. Используя только регистры хранения (holding registers) можно решить множество разнообразных задач. А самым главным преимуществом этого протокола является широкое распространение среди устройств автоматизации и управления.

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

После инициализации всех устройств в сети, настроив MASTER - устройство, аналогичным образом можно обратиться к каждому устройству по его адресу. Для каждого устройства есть карта регистров, описанная в документации, в которой указаны параметры. Таким образом, проложив сеть из двух проводов по линии RS-485 можно на расстоянии около 1 километра управлять различными устройствами.

Конечно, протокол не всегда в полной мере удовлетворяет потребностям современных устройств. Но, несмотря на 35 - летний стаж работы, он активно используется в самых новейших разработках систем автоматизации и управления.

Литература

1. Технологии и протоколы передачи данных в промышленности: Industrial Ethernet (http://www.ci.ru/inform13_05/p_22.htm)

2. AVR Lab устройства на микроконтроллерах AVR (http://avrlab.com/node/34)

3. Садетдинов Д.Ш., Тагирова З.К. Модель совершенствования профессиональной подготовки студентов технических ВУЗов средствами информационных технологий // Вестник Казан. технол. ун-та. -2011.-№20 -С.341-346.

4. Кирсанов В.В. К вопросу о систематизации и конкретизации профилактической работы по повышению уровня промышленной безопасности предприятий нефтехимического комплекса // Вестник Казан. технол. унта. -2013.-№24 -С.138-142.

© О. В. Зеленко - ст. препод. каф. АССОИ КНИТУ, app_olga@rambler.ru; А. И. Егорычев - магистр той же кафедры.

i Надоели баннеры? Вы всегда можете отключить рекламу.