Меню
Протокол Modbus для работы OPC серверов

Впервые протокол Modbus увидел свет благодаря компании Modicon и предназначался для экспорта данных и создания связи между электронными устройствами. Широкий доступ к спецификации Modbus предприятия получили в 1979 г., когда она была предоставлена в открытый доступ. Сегодня OPC Modbus широко применяется на промышленных предприятиях разного назначения, где требуется организовать связь между разрозненными устройствами.

Как работает протокол Modbus?

Протокол работает по принципу: ведомый-ведущий, где ведущий (master) - главный клиент. Master - это устройство, которое направляет запросы, а также получает ответы на них, поступающие от ведомых устройств со статусом slave. Ведущее устройство может направлять команды как одному подчинённому slave, так и всем остальным подчинённым одновременно, используя широкую сеть. В ответ на запрос, полученный от главного устройства, slave формирует ответ и отправляет его инициатору.

Сегодня OPC сервера Modbus активно развиваются, функционируя на базе одноименного протокола. Он широко используется не только в промышленности, но и внедряется для работы с офисными пользовательскими программами. Каждый Modbus OPC server производства СМИС Эксперт может поддерживать работу нескольких протоколов Modbus.

Достоинства и недостатки протокола Modbus

Первоначальный стандарт для  OPC Modbus был разработан порядка 40 лет назад и учитывал потребности и техвозможности устройств конца 70-х. Современная техника шагнула далеко вперёд, поэтому традиционный стандарт не способен учесть все неё потребности. Но в тоже время он разработан весьма просто, поэтому изучать и внедрять его на промышленных производствах не составляет труда.

Сегодня предприятия, специализирующиеся на выпуске систем управления и контроля, внедряют в свою продукцию драйвера, обеспечивающие работу по протоколу Modbus. Он обеспечивает передачу только 2 видов данных, что не всегда позволяет получить полную картину. Ведомое устройство может откликаться только на команды ведущего, а значит, посылает данные только  при опросе от master. Тем не менее, простота данного протокола по-прежнему является одним из главных преимуществ, поэтому многие предприятия не намерены отказываться от использования данного стандарта в будущем.

Как получить бесплатный Modbus OPC Server?

На нашем сайте вы можете скачать бесплатный Modbus OPC Server, обладающий всеми необходимыми функциями и возможностями. Это полнофункциональная демоверсия, которая работает ограничена количеством каналов. Этого вполне достаточно, чтобы протестировать Modbus OPC сервер бесплатно и решить, подходит ли он для работы с вашими устройствами. Со всеми вопросами в отношении работы демоверсии Modbus OPC, покупки полноразмерной версии, а также того как скачать Modbus OPC вы можете обратиться к нашим сотрудникам по телефону.

Протокол Modbus RTU, его особенности и применение

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

Именно благодаря этим особенностям данный протокол широко используется с 1979 года. Современная автоматизация выпускает большое количество датчиков, контроллеров и модулей, работающих на базе протокола Modbus RTU. Он позволяет обеспечивать качественное управление оборудованием и контроль за его бесперебойным функционированием на предприятиях различного назначения.

Основные принципы протокола Modbus RTU

Главная особенность протокола заключается в том, что в структуре предусмотрено только одно главное устройство со статусом «master», задающее команды, а также имеются ведомые со статусом «slaves». Взаимосвязь между мастером и слейвом осуществляется по инициативе мастера. То есть контролирующее устройство, в качестве него может выступать OPC сервер Modbus RTU, посылает сигнал или запрашивает получение данных от подчиненного слейва по типу: «запрос-ответ».

Кроме того master может отправить запрос направленный сразу ко всем подчиненным слейвам, он предусматривает четкую команду и не подразумевает обратного ответа. При этом каждое сообщение от мастера, направленное к слейву представляет собой пакет данных, состоящий из адреса слейва, кода функции, данных и контрольной суммы. Далее представлено подробное описание пакета протокола Modbus RTU на русском:

Адрес слейва 

У каждого устройства, подключенного к сети Modbus, есть свой уникальный адрес или номер. Когда от устройства-мастера поступает сообщение, начинающееся с номером того или иного устройства, его электроника перехватывает сигнал и выполняет заданную команду. Таким образом, в системе не возникают конфликты. Адреса слейвов могут быть в диапазоне от 1 до 247.

Код функций 

Это то, какую команду должно выполнить устройство. Их диапазон находится в пределах от 1 до 127.

Данные. В этом интервале передается информация для выполнения задачи, поставленной главным устройством.
Контрольная сумма. Этот блок необходим для обнаружения возможных ошибок в передаче запроса.
Передача сигналов в рамках протокола Modbus RTU
Описание того, как работает протокол Modbus RTU на конкретном примере можно увидеть ниже.

Сообщение к слейву начинает интервал тишины, его протяженность по времени составляет 3,5 символа, после него главное устройство (OPC Modbus RTU) транслирует адрес слейва. После последнего символа сообщение завершается интервалом тишины в 3,5 символа. 

Само сообщение передается непрерывно, если по какой-то причине в теле запроса от мастера возник интервал тишины в 1,5 символ, то слейв игнорирует данное сообщение как неполное, и посылает мастеру отчет об ошибке. Мастер может отправить слейву новое сообщение только после того, как будет выдержан необходимый интервал в 3,5 символа. Если устройство будет передавать следующий запрос раньше, то он будет воспринят слейвом как продолжение предыдущего запроса, и он также пошлет сигнал об ошибке CRC.

Сам протокол Modbus RTU предусматривает возможность передачи данных от мастера и прием значений от слейвов, также при отсутствии отклика от зависимых устройств мастер воспринимает это как нарушение в их работе. 

Для полноценного использования данного протокола, которое подразумевает не только считывание значений, но и сигнализацию об ошибках и прекращении работы устройств мы рекомендуем установку модуля Modbus, работающего в составе программного комплекса OPC сервер «XPERT» производства СМИС Эксперт. 

Данный сервер создан для чтения/записи данных в рамках протокола Modbus, а также предусматривает подключение устройств и систем, работающих по другим протоколам. Это позволяет объединить в единую сеть все типы устройств, используемых на предприятии.

Протокол Modbus ASCII и его преимущества

Modbus - это коммуникационный протокол, который широко используется для обеспечения связи между промышленным оборудованием и главным контролирующим устройством. Использование данного протокола позволяет реализовать один общий формат передачи сообщений. Протокол Modbus реализуется в 3-х режимах: RTU, ASCII, TCP.


В протоколе Modbus ASCII информация передается преимущественно по линии связи RS-485. В данной системе обмен информации производится только с помощью ASCII-символов. При этом начало и окончание сообщения помечается специальными символами, так в начале сообщения помещается «:», а в конце CR/LF. Таким образом, происходит разграничение пакетов данных и не требуется заканчивать передачу каждого пакета данных выдержкой интервала тишины, как это происходит при передаче сообщений по протоколу RTU.

Протокол Modbus ASCII эффективно применяется при интеграции в систему модема. Поскольку модем не позволяет выдерживать интервалы тишины, вариант протокола Modbus ASCII, где для передачи сообщения используются только видимые символы и разделители, наиболее эффективное решение.

Протокол Modbus ASCII, как и другие версии протокола Modbus, работает по принципу главный-подчиненный, где в качестве главного устройства чаще всего выступает компьютер или конкретно Modbus ASCII OPC сервер, инициализирующий запросы, направляемые к подчинённым устройствам.

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


Как реализуется передача сообщений в режиме ASCII?

При реализации данного протокола каждый байт информации передается парой ASCII-символов. При этом даже при возникновении паузы длительностью до 1 секунды между передачей символов сообщения принимающее устройство не распознаёт её как ошибку и сообщение может быть продолжено.

Для передачи данных по протоколу Modbus ASCII используется шестнадцатеричная система кодировки и ASCII-символы в пределах 0-9, A-F. Если пауза превышает более 1 секунды, контроллер воспринимает это как ошибку. Контроллеры типа 584 и 984A/B/X допускают прием сообщений без CR/LF окончания после контрольной суммы.

Структура типичного сообщения по протоколу Modbus ASCII

Старт    Адрес    Номер функции    Данные    Контрольная сумма    Конец передачи
1 сим    2 сим    2 сим    n сим    2 сим    2 сим :                    CR/LF

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

Интеграция систем и устройств, работающих по протоколу Modbus ASCII

При внедрении систем и устройств, работающих по данному протоколу, могут возникнуть сложности во взаимодействии данного оборудования с остальным оборудованием, установленным на производстве. Чтобы не допустить этот конфликт целесообразно использовать модульный OPC сервер «XPERT» производства СМИС Эксперт совместно с модулем Modbus.


Данный модуль обеспечивает взаимодействие протоколов RTU, ASCII и TCP. Данная программа призвана обеспечить не только продуктивную работу устройств, работающих на базе разных протоколов, она позволяет также записывать все полученные данные на сервер.

Подробнее узнать о работе модульного OPC сервера «XPERT», Modbus ASCII OPC и всех отдельных модулей, а также протестировать бесплатно их работу, Вы можете, обратившись к консультантам нашей компании.


Реализация протокола Modbus в сети RS-485

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

В одних случаях эта команда предусматривает отклик ведомого устройства мастеру. Тогда им формируется пакет данных и направляется инициализатору запроса.

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

Для передачи сообщений на основании протокола связи Modbus используется несколько линий связи, среди них RS-485, RS-422, RS-232, а для протокола Modbus TCP, передающего сигнал через сеть Ethernet, используется TCP/IP соединение.

Чаще всего протокол Modbus использует интерфейс RS-485, который наиболее эффективен для передачи сигнала на большие расстояния. Данный стандарт передачи также известен как ANSI TIA/EIA-485 и обеспечивает надежную передачу сообщений на промышленных производствах даже при наличии помех.


Особенности передачи данных по интерфейсу RS-485

Если рассматривать протокол Modbus RS-485 в упрощённом виде, то данный интерфейс содержит в себе ведомые и одно главное устройство, соединенные между собой витой парой проводов. 

Поскольку в основе передачи информации в этой системе лежит принцип дифференциации, сигнал от главного устройства направляется к ведомому по двум переплетенным между собой проводам. Условно их можно обозначить как А и Б. Оригинальный сигнал направляется по проводу А, в то время как его инверсная копия идет по проводу Б. Ведомый контроллер принимая сигнал от 2-х проводов на месте преобразует его в один, распознавая команду, полученную от master.

Между обоими проводами всегда имеется разность потенциалов, с помощью которой и передается сообщение. Реализация способа передачи сообщений по протоколу RS-485 Modbus особенно эффективна в условиях синфазных помех, часто возникающих на производствах. 

При такой передаче данных невозможно искажение сигнала в целом, поскольку провода в скрутке расположены очень близко относительно друг друга, соответственно, при воздействии на них сторонних помех, потенциал изменяется в одинаковой степени. А передаваемая информация совершенно не искажаются. Неудивительно, что именно протокол передачи Modbus с использованием сети RS-485 стал наиболее оптимальной основой для передачи сигналов OPC сервером протоколов Modbus, интегрированным в систему.

Главным образом сеть RS-485 для передачи данных используют 2 режима протокола Modbus RTU и ASCII. Подробное описание протокола Modbus на русском позволяет активно внедрять его на производства для обеспечения высокого качества связи между оборудованием.


Программная продукция СМИС Эксперт для эффективной работы предприятий


Компания СМИС Эксперт предлагает большой выбор программных продуктов, реализующих протоколы передачи данных Modbus, которые вы можете использовать в условиях своего производства для более эффективной и слаженной работы всего оборудования. Модульный OPC-сервер XPERT способен обеспечить работу устройств по протоколу передачи Modbus независимо от сети, которую они используют. Модуль Modbus поддерживает работу устройств в режимах ASCII, RTU и TCP. Узнать подробнее о данном модуле вы можете в соответствующем разделе сайта или связавшись с нашим сотрудником.


Протокол Modbus TCP и его реализация

Modbus TCP представляет собой один из четырёх основных протоколов Modbus, который передает данные через TCP/IP соединение.

Протокол Modbus TCP обеспечивает обмен сообщениями между клиентами и сервером, при реализации данной модели передачи информации возможно только два типа сообщений: вопрос и ответ. В норме каждому запросу должен соответствовать свой ответ. В обмене сообщениями могут участвовать только 3 типа устройств:

сервер;
клиенты (ведомые устройства);
устройства, обеспечивающие связь между элементами системы.
В системе, реализующей протокол Modbus TCP IP, может быть только одно ведущее устройство со статусом master, которое направляет команды и по очереди опрашивает все ведомые устройства. В качестве ведущего устройства выступает OPC Modbus TCP server.


Описание протокола Modbus TCP

Протокол Modbus TCP работает по следующему принципу: OPC Modbus TCP server со статусом master направляет сообщение ведомому устройству, затем к нему через заданный промежуток времени поступает ответ. Если ответ не получен, то сервер автоматически считает, что устройство вышло из строя или случилась другая неполадка и сигнализирует об этом. В качестве сервера обычно выступает компьютер, который инициирует передачу данных устройствам по заранее заданному алгоритму.

Среди 4-х разновидностей протоколов Modbus протокол Modbus TCP обеспечивает возможность передавать сигналы устройствам по сети Ethernet. Если вы планируете обеспечивает связь таким образом, то внедрение протокола Modbus необходимо. В качестве ведомых устройств в системе можно перечислить такие элементы как контроллеры, датчики и регуляторы. 

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


Структура обмена данными по протоколу Modbus TCP

Для обмена Modbus-сообщениями по физическим линиям связи устройство-master в каждом сообщении указывает адрес того или иного устройства (слейв), находящегося в сети, а также назначение и характер запроса. Таким образом, формируется пакет ADU, структура такого пакета для протокола Modbus TCP включает в себя:

ID обмена. Хотя изначально подразумевается, что статус для каждой операции будет уникальным, на практике это обычно два нуля. Если мастер направляет устройству несколько последовательных запросов, ID меняется.
ID протокола. Также два нуля.
Длина пакета. Младший и старший байт.
Адрес слейва. Адрес устройства, которому предназначена команда.
Код функции. Собственно требование от ведущего устройства к ведомому для выполнения конкретной операции: «запись», «чтение» и т.д.
Данные. Информация, которая нужна для выполнения команды.

Функции Modbus OPC Server

Назначение OPC сервера Modbus сводится к обеспечению связи с устройствами по каналам RTU, ASCII и TCP. Сам OPC сервер Modbus является Виндовс-приложением, которое устанавливается на компьютер. Теперь он может реализовать функции ведущего устройства. OPC Modbus TCP server направляет команды слейвам по чтению и записи данных.

Модуль Modbus СМИС Эксперт может поддерживать протоколы RTU, ASCII и TCP. OPC сервер Modbus TCP выполняет три ключевые функции:

Чтение/запись значений полученных от слейв-устройств в каналы базового приложения;
Передача команд от master-устройства к подключенным клиентам;
Определение работоспособности слейвов.

Функции ModBus

Подавляющее большинство ModBus контроллеров используют только 3 функции.

Код функции    Название    Описание


03    READ HOLDING REGISTERS    Чтение значений одного или нескольких регистров хранения
06    FORCE SINGLE REGISTER    Запись в один регистр хранения
16    FORCE MULTIPLE REGISTERS    Последовательная запись нескольких регистров хранения


Модуль ввода Modbus: принцип работы и применение

Модуль ввода-вывода Modbus представляет собой устройство, которое устанавливается в сетях для обеспечения удаленного доступа к сети оборудования. Модуль такого рода позволяет увеличить количество каналов для передачи данных как к оборудованию, так и от него.

Условно все модули, обеспечивающие отправку данных можно разделить по принципу работы на две группы:

- дискретные;
- аналоговые.

Дискретные модули созданы для приёма и последующего анализа дискретных сигналов, по завершении которого они передаются на главное устройство.

Аналоговые модули, среди них, в том числе модули аналогового ввода Modbus, в той же последовательности принимают, производят обработку и передают устройству «мастер» полученные данные. Устройство получает информацию от подключенных пользователей, которые условно называются «slave».

В дискретных и аналоговых системах передачи данных используется различные сигналы, которые передаются в унифицированном диапазоне. Контроль передачи сигналов в таких системах обеспечивается по принципу «master-slave». В таком случае модуль ввода Modbus RTU играет роль ведомого устройства, то есть slave.

Процессор модуля, получив инициирующий сигнал от главного устройства, осуществляет опрос всех подключенных каналов и фиксирует их состояние, после чего отправляет полученные значения для master. Однако в некоторых системах модуль ввода-вывода Modbus может исполнять роль ведущего устройства в сети, инициируя посыл сигнала и опрос подключенных пользователей. Получив данные, он фиксирует значения.

Среди особенностей, которыми обладает модуль ввода-вывода Modbus можно перечислить:

- возможность контроля напряжения в электрической системе;
- проведение калибровки показаний от приборов и их линеаризация;

Модуль аналогового ввода Modbus

Модуль аналогового ввода Modbus представляет собой надежное и эффективное решение, которое обеспечивает качественную связь между устройствами, составляющими единую сеть. Это универсальное оборудование. Оно может быть интегрировано в качестве ведомого устройства, которое может быть опрошено любым контролирующим устройством в сети, выступающим в качестве «мастера», им может быть ПК, контроллер и т.д.

Также модули ввода-вывода Modbus RTU и Modbus TCP свободно могут интегрироваться в систему, которая находится под контролем OPC сервера «Xpert». Он представляет собой устройство типа «мастер», который может одновременно контролировать модуль ввода-вывода Modbus TCP и модуль ввода вывода Modbus RTU, а также другие модули, работающее на основе различных протоколов. Использование данного сервера особенно удобно на крупных промышленных объектах, где просто невозможно задействовать оборудование, работающее с использованием только одного протокола.

Области использования модуля ввода-вывода Modbus

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

В общих чертах области применения данных модулей сводятся к:

автоматизации удаленного производственного оборудования, расположенного локально;
организации систематического получения и отправки данных;
обеспечение работы в автоматизированном режиме различных линий, участков на производстве (сборочные и конвейерные линии, станочные комплексы);
установке удаленного диспетчерского контроля на обширных промышленных комплексах.
Модульный OPC-сервер XPERT. МОДУЛЬ MODBUS Версия 1.1.0.10

Аннотация

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

Содержание и оформление руководства программиста подготовлено в соответствии с ГОСТ 19.504-79.

1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ
Назначение программного модуля.
Модуль Modbus входит в состав программного комплекса модульный OPC сервер «XPERT» и предназначен для чтения/записи данных по протоколу Modbus.

Функции программы.
Модуль Modbus должен обеспечивать:

чтение/запись данных;
определение работоспособности устройств;
поддержку протоколов RTU, ASCII, TCP.
Технические требования.
Модуль предназначен для функционирования только в составе модульного OPC сервера «XPERT».

Требования в техническим средствам см. «Руководство программиста модульный OPC сервер «XPERT».

2. ХАРАКТЕРИСТИКИ МОДУЛЯ
Структура программы и составные части.
Дополнительные файлы, создаваемые модулем:

STModbus.xml – содержит конфигурацию модуля. Создается в папке /Configure.
Основные характеристики.
Возможности программы:

Чтение данных с устройства Modbus.
Определение и передача данных о работоспособности устройств.

Поддержка протоколов:

Modbus ASCII Master - для обмена используются только ASCII символы. Для передачи данных преимущественно используются последовательные линии связи RS-48.5, RS-422, RS-232. Устройство выступает в качестве ведущего (инициирует запросы с ведомых устройств).
Modbus RTU Master - компактный двоичный вариант. Для передачи данных преимущественно используются последовательные линии связи RS-485, RS-422, RS-232. Устройство выступает в качестве ведущего.
Modbus TCP Master - для передачи данных через TCP/IP соединение. Устройство выступает в качестве ведущего.

Modbus TCP Slave - для передачи данных через TCP/IP соединение. Устройство выступает в качестве ведомого (ждет запросов от ведущих устройств). Список поддерживаемых функций:

01 READ COIL STATUS. Получение текущего состояния (ON/OFF) группы логических ячеек.
02 READ INPUT STATUS. Получение текущего состояния (ON/OFF) группы дискретных входов.
03 READ HOLDING REGISTERS. Получение текущего значения одного или нескольких регистров хранения.
04 READ INPUT REGISTERS. Получение текущего значения одного или нескольких входных регистров.
05 FORCE SINGLE COIL. Изменение логической ячейки в состояние ON или OFF.
06 FORCE SINGLE REGISTER. Запись нового значения в регистр хранения.
15 FORCE MULTIPLE COILS. Изменение состояния (ON/OFF) нескольких последовательных логических ячеек.
16 FORCE MULTIPLE REGISTERS. Изменение значений нескольких последовательных регистров.





Наверх