Автор: Серпуховитин Ю.Е., Краснокутский В.А.
Источник: Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2018) / Материалы IX международной научно-технической конференции http://iuskm.donntu.ru/electronic/iusmkm2018.pdf.
Серпуховитин Ю.Е., Краснокутский В.А. Анализ разработки промышленной микроконтроллерной сети на основе протокола Modbus. Выполнен обзор протокола. Сформированы требования для работы с протоколом. Рассмотрены варианты управления микроконтроллерными устройствами на промышленных предприятиях. Проведен анализ существующих решений, выявлены основные достоинства и недостатки.
Применение устройств удаленного мониторинга и регистрации событий, происходящих во внешней среде, является неотъемлемой частью автоматизации на производстве. Часто оно оправдано в тех случаях, когда необходимо обеспечить посты управления средствами контроля и визуализации хода технологических процессов, но при этом невыгодно или физически невозможно обеспечить эти посты промышленными станциями или полнофункциональными терминалами [1]. В подобных ситуациях основной проблемой является объединение нескольких разнородных устройств, оснащенных датчиками и/или исполнительными механизмами, в единую сеть для надежного обмена необходимой информацией между ними. Для решения этой проблемы могут использоваться готовые сложные устройства, которые, как правило, дорогостоящи. Однако не всегда их применение оправдано. В ряде вариантов можно использовать более дешевые, простые в исполнении и настройке, но не менее надежные технологии. Особенно задача упрощается, когда в качестве базы для устройств мониторинга берутся микроконтроллеры.
В подавляющем большинстве случаев термин «микроконтроллерная сеть» может пониматься следующим образом. Это несколько связанных между собой определенным физическим и программным способом устройств на базе микроконтроллера, которые выполняют задачи:
Для решения этих проблем в условиях промышленного производства существует множество протокольных решений. Далее рассмотрены самые основные и распространенные в странах СНГ:
Исходя из всего вышеперечисленного, сделаем анализ, выдвинем обоснования и выберем решение. Industrial Ethernet. Учитывая все плюсы и минусы, огромным недостатком будет большая физическая уязвимость по сравнению с другими сетями, так что этот вариант отпадает точно. HART. Довольно большое количество достоинств и крайне мало недостатков, однако малая скорость весьма критична для нашего выбора, а потому нет. Modbus. Снова есть недостаток в скорости, однако, здесь она зависит косвенно от длины линии, но крайне огромным плюсом является возможность использования нескольких устройств на последовательной линии связи, что даёт веский повод выбрать этот вариант. CAN. Ограничения в размере сообщений и большой размер пакетов однозначно являются крайне большими минусами и этот вариант, также, отпадает. ProfiBus. Крайне дорогое оборудование и высокие расходы при передаче коротких сообщений, а значит этот вариант крайне не подходит. Итог. Modbus – это то, что подходит в данной ситуации лучше всего, а именно: дешевле, простотой реализации, возможность контролировать скорость, и самое главное, один Master на множество Slave.
Протокол необходимая часть работы системы. Он определяет, как устанавливается и разрывается контакт между Master (MS) и Slave (SL), способ идентификации отправителя и получателя, каким образом происходит обмен сообщениями, как происходит поиск ошибок. Протокол контролирует цикл запроса и ответа, который происходит между устройствами MS и SL, как видно на рис.1.
Протокол представляет из себя один MS на общей шине и до 247 SL, но некоторые устройства ограничивают количество SL подключаемых к общей шине. Каждому SL принадлежит уникальный адрес прибора в диапазоне от 1 до 247. Инициация транзакции возможна только благодаря MS, ведь для абсолютно любого SL это невозможно. Транзакции бывают двух типов: запрос/ответ (адресуется только один SL), широковещательный/без ответа (адресуются все SL). Транзакция состоит из одного кадра запроса и одного кадра ответа, или один кадр широковещательного запроса. Некоторые характеристики протокола Modbus фиксированы, а именно: формат кадра, последовательность кадров, обработка ошибок коммуникации и исключительных ситуаций, выполнение функций. Другие же характеристики выбираются пользователем, а именно: тип средства связи, скорость обмена, проверка на четность, число стоповых бит, режим передачи (ASCII, RTU). Параметры, задаваемые пользователем, устанавливаются на каждой станции аппаратно или программно, и они не могут быть изменены во время работы системы. Рассмотрим передачу сообщения. При передаче по линиям данных, сообщения помещаются в «конверт». «Конверт» покидает устройство через «порт» и «пересылается» по линиям адресуемому устройству. Протокол Modbus описывает «конверт» в форме кадров сообщений. Информация в сообщении представляет из себя адрес требуемого получателя, что получатель должен сделать, данные, необходимые для выполнения этого, и механизм контроля достоверности. Когда сообщение достигает интерфейса SL, оно попадает в адресуемое устройство через похожий «порт». Адресуемое устройство вскрывает конверт, читает сообщение, и, если не возникло ошибок, выполняет требуемую задачу. Затем оно помещает в конверт ответное сообщение и посылает его «отправителю». Информация в ответном сообщении представляет собой адрес адресуемого устройства, выполненную задачу, данные, полученные в результате выполнения задачи, и механизм контроля достоверности. Если сообщение было широковещательным (сообщение для всех SL), на что указывает адрес 0, то ответное сообщение не передаётся. В большинстве случаях, MS посылает следующее сообщение другому SL либо после приёма корректного ответного сообщения, либо, после прохождения определённого пользователем интервала времени, если ответное сообщение не было получено. Все сообщения могут рассматриваться как запросы, генерирующие ответные сообщения от SL. Широковещательные сообщения могут рассматриваться как запросы, не требующие ответных сообщений от SL.
Достаточно простыми в реализации являются режимы ASCII и RTU протокола. При использовании первого каждый байт сообщения передается как два ASCII символа. Главное преимущество этого способа – время между передачей символов может быть до 1 сек. без возникновения ошибок при передаче. В ASCII-режиме сообщение начинается со специального символа «:» и заканчивается символами новой строки CR/LF. Режим удобно использовать при отладке, он хорошо подходит для соединения типа «точка-точка» по последовательному интерфейсу RS-232. Второй режим является более чувствительным к задержкам. Он применяется в условиях, когда нужно передавать, в основном, численные показатели с четким контролем ошибок. Сообщение должно передаваться непрерывным потоком. Сообщение начинается с «интервала тишины» длительностью, равной времени передачи 3,5 символов. Если интервал тишины в 1,5 символа возник в ходе передачи сообщения, принимающее устройство должно игнорировать такой фрейм как неполный. Новое сообщение может начинаться не ранее, чем через интервал в 3,5 символа. Наибольшее распространение протокол Modbus получил в использовании его поверх интерфейса RS-485. Modbus среди прочего предусматривает контроль за корректностью данных, передаваемых по сети, путем введения в пакет полей контрольных сумм, которые рассчитываются передатчиком и пересчитываются приемником для сверки полученных данных [3]. Микроконтроллер облагается рядом требований. Требования – это, в данном случае, набор необходимого минимума от аппаратной части. Для выполнения программной части, в требования, также, внесены коррективы, так как это является неотъемлемой частью разработки. С учётом всего выше перечисленного формируем набор показателей. Для реализации заданного потребуется микроконтроллер с такими показателями, как:
Среди всех топологий сетей рассмотрим «точка-точка». Сеть «точка-точка» - это простейший вид компьютерной сети, при котором два компьютера соединяются между собой напрямую через коммуникационное оборудование. Достоинством такого вида соединения является простота и дешевизна, недостатком - соединить таким образом можно не более двух компьютеров, в отличие от таких методов передачи данных, как широковещание и точка-многоточка. Общая структурная схема простейшей сети типа «точка-точка» приведена на рис.2. и с несколькими Slave на рис.3.
Сеть на основе RS-485 позволяет объединить до 32 подчиненных устройств. В качестве линии связи для нее, как правило, используется кабель длиной до 1200 м типа «витая пара», обладающий хорошей помехоустойчивостью и четкому прохождению сигнала благодаря дифференциальной передаче [4]. Удобство использования данных интерфейсов можно обусловить тем, что, несмотря на их постепенное моральное устаревание, RS-232, например, все еще встречается практически в каждом персональном компьютере, т.е. сеть может быть создана и протестирована даже в бытовых условиях.
Промышленная сеть, объединяющая устройства на базе микроконтроллера и использующая для связи протокол Modbus, является простым, но надежным схемным и программным решением. Скорость обмена зависит от конкретной физической реализации сети, но вполне достаточна для реализации многих поставленных в промышленности задач. Выполненный анализ показал, что для удовлетворения современных требований необходимо разработать подобную сеть по индивидуальному плану, что позволит решить поставленные проблемы, более выгодно и экономически обосновано, чем многие существующие готовые варианты.