Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Согласно формуле (4.13б) код на выходе интегратора вычисляется
N
N
N
исходя из рекуррентного соотношения
[] [ 1] []
nNn kNn
ии и
 , (4.14)
e
a код на выходе рекурсивного фильтра представляет собой
[] [] ... [ ]
NnВNn В Nn k
РФ 0
([1]... [])
AN n A N n k
1 РФ РФ
 
eke
 , (4.15a)
k
или в виде
NNN
и 12С

, (4.15б)
где
NBNn
Ce
BN n B N n j
 
11 4
NANn А Nn j

21РФ 4
[1]... [ ],
ej
[ 1] ... [ ].
[],
0
(4.15б)
j
91
5. ОБМЕН ЦИФРОВОЙ ИНФОРМАЦИЕЙ
Обмен цифровой информацией играет важную роль в автоматизи­рованных системах. Порядка 75 % задач в области автоматизации про­цессов и производств [15] имеют подзадачу организации обмена ин­формацией.
Передача данных (обмен данными, цифровая передача, цифровая
связь) – физический перенос данных (цифрового битового потока) в виде сигналов от точки к точке или от точки к нескольким точкам средствами электросвязи по каналу передачи данных, как правило, для последующей обработки средствами вычислительной техники. Приме­рами подобных каналов могут служить медные провода, волоконно­оптические линии запоминающее устройство.
Передача данных может быть аналоговой или цифровой (т.е. поток двоичных сигналов), а также модулированной посредством аналоговой модуляции либо посредством цифрового кодирования.
Хотя аналоговая связь является передачей постоянно меняющегося цифрового сигнала, цифровая связь является непрерывной передачей со­общений. Сообщения представляют собой либо последовательность пульсов, означающую линейный код (в полосе пропускания), либо огра­ничивается набором непрерывно меняющейся формы волны, используя метод цифровой модуляции. Такой способ модуляции и соответствующая ему демодуляция осуществляются модемным оборудованием.
Передаваемые данные могут быть цифровыми сообщениями, иду­щими из источника данных, например, из компьютера или от клавиа­туры. Это может видеосигнал, оцифрованный в битовый поток, использующий импуль­сно-кодирующую модуляцию (PCM) или более расширенные схемы кодирования источника (аналого-цифровое преобразование и сжатие данных). Кодирование источника и декодирование осуществляется кодеком или кодирующим оборудованием.
связи, беспроводные каналы передачи данных или
им-
быть и аналоговый сигнал – телефонный звонок или
92
Последовательная и параллельная передача. В телекоммуника-
ции последовательная передача – это последовательность передачи элементов сигнала, представляющих символ или другой объект дан­ных. Цифровая последовательная передача – это последовательная от­правка битов по одному проводу, частоте или оптическому пути. Так как это требует большего времени передачи сигнала, чем при парал­лельной передаче, то скорость передачи данных по каждому
отдельно­му пути может быть меньше. Этот механизм может использоваться на более дальних расстояниях.
Параллельной передачей в телекоммуникациях называется одновре­менная передача элементов сигнала одного символа или другого объек­та данных. В цифровой связи параллельной передачей называется одно­временная передача соответствующих элементов сигнала по двум или большему числу путей. Используя
множество электрических проводов, можно передавать несколько бит одновременно, что позволяет достичь более высоких скоростей передачи, чем при последовательной передаче. Этот метод применяется внутри компьютера, например, во внутренних шинах данных, а иногда и во внешних устройствах, таких как принтеры. Основной проблемой при этом является «перекос», потому что провода при параллельной передаче имеют
немного разные свойства, поэтому некоторые биты могут прибыть раньше других, что может повредить сообщение. Бит чётности может способствовать сокращению ошибок. Тем не менее электрический провод при параллельной передаче данных менее надёжен на больших расстояниях, поскольку передача нарушает­ся с гораздо более высокой вероятностью.
Modbus – открытый коммуникационный протокол, основанный на
архитектуре ведущий-ведомый (master-slave). Широко применяется в промышленности для организации связи между электронными устрой­ствами. Может использоваться для передачи данных через последова­тельные линии связи RS-485, RS-422, RS-232, а также сети TCP/IP
(Modbus TCP).
Не следует путать MODBUS и MODBUS Plus. В отличие от
«MODBUS» «MODBUS Plus» –
протокол, принадлежащий Schneider
Electric. Физический уровень уникальный, похож на Ethernet 10BASE-T,
полудуплекс по одной витой паре, скорость 1 Мбит/с. Транспортный протокол – HDLC, поверх которого специфицировано расширение для передачи MODBUS PDU.
PDU (Protocol Data Unit) – общая для всех физических уровней
часть пакета MODBUS. Включает в себя код функции и данные пакета.
93
ADU (Application Data Unit) – полный пакет MODBUS. Включает
в себя специфичную для физического уровня часть пакета и PDU.
MODBUS специфицирует четыре типа данных:
Discrete Inputs – однобитовый тип, доступен только для чтения. Coils – однобитовый тип, доступен для чтения и записи.
 
Input Registers – 16-битовый знаковый или беззнаковый тип, до-
ступен только для чтения.
Holding Registers – 16-битовый знаковый или беззнаковый тип,
доступен для чтения и записи.
Состав стандарта
Стандарты MODBUS состоят из трех частей:
1) документ
Modbus Application Protocol содержит спецификацию
прикладного уровня сетевой модели OSI:
◦
элементарный пакет протокола, так называемый PDU
(Protocol Data Unit), он един для всех физических уровней.
PDU упаковывается в индивидуальный для каждого транспор- та application data unit (
◦
коды функций и состав PDU для каждого кода;
2) документ
Modbus over serial line содержит спецификацию ка-
ADU);
нального и физического уровней сетевой модели OSI для физических уровней RS-485 и RS-232. В принципе может использоваться любой физический уровень, основанный на асинхронном приемопередатчике;
3) документ
MODBUS Messaging on TCP/IP Implementation Guide
содержит спецификацию ADU для транспорта через TCP/IP-стек.
Достоинства стандарта. Основные достоинства стандарта – от-
крытость и массовость. Промышленностью сейчас (2014 г.) выпускает­ся очень много типов и моделей датчиков, исполнительных устройств, модулей обработки и нормализации сигналов и др. Практически все промышленные системы контроля и управления имеют программные драйверы для работы с MODBUS-сетями.
Недостатки стандарта. Стандарт в своей основе был разработан в
1979 г. компанией Modicon (в данное время владелец Schneider
Electric) с учётом потребностей и вычислительных возможностей того времени и многие актуальные для современных промышленных сетей вопросы не были учтены.
Стандарт специфицирует метод передачи только двух типов
данных. Отсутствие чёткого указания в стандарте привело к тому, что с другими типами данных сторонние производители MODBUS-реше­ний поступали по своему усмотрению. Различие мнений производите-
94
лей оборудования в этом вопросе не позволило впоследствии сделать уточнения в официальном документе: это вызвало бы всплеск недо­вольства производителей, не согласных с предлагавшимися поправка­ми стандарта, и возможную войну форматов.
Стандарт не регламентирует начальную инициализацию систе-
мы. Назначение сетевых адресов и прописывание в системе парамет­ров каждого конкретного устройства выполняются вручную на этапе адаптации и программирования системы.
Необходимо отметить, что отсутствие перечисленных возможно-
стей упрощает протокол и делает его более простым для изучения.
Контроллеры на шине Modbus взаимодействуют, используя master-
модель, основанную на транзакциях, состоящих из запроса и
slave
ответа.
Обычно в сети есть только одно ведущее, так называемое «глав­ное» (англ. master) устройство, и несколько ведомых – «подчинённых» (англ. slaves) устройств. Главное устройство (мастер) инициирует транзакции (передаёт запросы). Мастер может адресовать запрос ин­дивидуально любому подчиненному или инициировать передачу ши­роковещательного
сообщения для всех подчиненных устройств. Под­чинённое устройство, опознав свой адрес, отвечает на запрос, адресо­ванный именно ему. При получении широковещательного запроса от­вет подчинёнными устройствами не формируется.
Спецификация Modbus описывает структуру запросов и ответов. Их основа – элементарный пакет протокола, так называемый PDU (Protocol Data Unit). Структура PDU не зависит от типа
линии связи и включает в себя код функции и поле данных. Код функции кодируется однобайтовым полем и может принимать значения в диапазоне 1…127. Диапазон значений 128…255 зарезервирован для кодов ошибок. Поле данных может быть переменной длины. Размер пакета PDU ограничен 253 байтами.
Для передачи пакета по физическим линиям связи PDU помещает-
другой пакет, содержащий дополнительные поля. Этот пакет но-
ся в сит название ADU (Application Data Unit). Формат ADU зависит от типа линии связи. Существует три варианта ADU – два для передачи данных через асинхронный интерфейс и один – через TCP/IP сети:
Modbus ASCII – для обмена используются только ASCII символы.
Для проверки целостности используется однобайтовая контрольная сумма. Начало и конец сообщения помечаются специальными симво­лами (начало сообщения ":", конец сообщения CR/LF).
95
Modbus RTU – компактный двоичный вариант. Сообщения раз-
деляются по паузе в линии. Сообщение должно начинаться и закан­чиваться интервалом тишины, длительностью не менее 3,5 символов при данной скорости передачи. Во время передачи сообщения не должно быть пауз длительностью более 1,5 символов. Для скоростей более 19 200 бод допускается использовать интервалы 1,75 и 0,75 мс соответственно. Проверка целостности осуществляется
с помощью
CRC.
Modbus TCP – для передачи данных через TCP/IP соединение.
Общая структура ADU следующая (в зависимости от реализации,
некоторые из полей могут отсутствовать):
Адрес ведомого (подчинённого)
устройства
Код
функции
Данные
Блок обнаружения
ошибок
где
адрес ведомого устройства – адрес подчинённого устройства, к
которому адресован запрос. Ведомые устройства отвечают только на запросы, поступившие в их адрес. Ответ также начинается с адреса отвечающего ведомого устройства, который может изменяться от 1 до
247. Адрес 0 используется для широковещательной передачи, его рас­познаёт каждое устройство, адреса в диапазоне 248…255 – зарезерви­рованы;
код функции – это следующее однобайтное поле кадра. Оно го-
ворит ведомому устройству, какие данные или выполнение какого действия требует от него ведущее устройство;
данные – поле содержит информацию, необходимую ведомому
устройству для выполнения заданной мастером функции или содержит данные, передаваемые ведомым устройством в ответ на запрос веду­щего. Длина и формат поля зависят от номера функции, также в поле данных может быть детализация кода функции;
блок обнаружения ошибок – контрольная сумма для проверки
отсутствия ошибок в кадре.
Максимальный размер ADU для последовательных сетей
RS232/RS485 – 256 байт, для сетей TCP – 260 байт.
96
Для Modbus TCP ADU выглядит следующим образом:
ID
транзакции
ID
протокола
Длина
пакета
Адрес
ведомого
устройства
Код
функции
Данные
где
ID транзакции – два байта, обычно нули;
 
ID протокола – два байта, нули; длина пакета – два байта, старший затем младший, длина сле-
дующей за этим полем части пакета;
адрес ведомого устройства – адрес подчинённого устройства, к
которому адресован запрос. Обычно игнорируется, если соединение уже установлено с конкретным устройством или в системе только одно устройство. Может использоваться, если соединение установлено с мостом, который связан физически, например, с сетью RS-485.
Следует обратить внимание на то, что поле контроля ошибок в
Modbus TCP отсутствует, так как
целостность данных обеспечивает
TCP/IP стек.
Модель данных
Одно из типичных применений протокола – чтение и запись дан­ных в регистры контроллеров. Спецификация протокола определяет четыре типа данных (табл. 5.1).
Таблица 5.1
Описание переменных протокола Modbus
Наименование Тип элемента Тип доступа
Дискретные входы (Discrete inputs) Один бит Только чтение
Регистры флагов (coils) Один бит Чтение и запись
Регистры ввода (Input Registers) 16-битное слово Только чтение
Регистры хранения (Holding Regis-
ters)
16-битное слово Чтение и запись
97
Доступ к элементам в каждой таблице осуществляется с помощью 16-битного адреса, первой ячейке соответствует адрес 0. Таким обра-
зом, каждая таблица может содержать до 65 536 элементов. Специфи­кация не определяет, что физически должны представлять собой эле­менты таблиц и по каким внутренним адресам устройства они должны быть доступны. Например, допустимо организовать перекрывающиеся таблицы. В этом случае команды, работающие с дискретными данны­ми и с 16-битными регистрами, будут фактически обращаться к одним и тем же данным.
Следует отметить, что со способом адресации данных связана определённая путаница. Modbus был первоначально разработан для контроллеров Modicon. В этих контроллерах для каждой из таблиц ис­пользовалась специальная нумерация
. Например, первому регистру ввода соответствовал номер ячейки 30 001, а первому регистру хране­ния – 40 001. Таким образом, регистру хранения с адресом 107 в ко­манде Modbus соответствовал регистр № 40 108 контроллера. Хотя та­кое соответствие адресов больше не является частью стандарта, неко­торые программные пакеты могут автоматически «корректировать» вводимые пользователем адреса, например, вычитая 40 001 из адреса регистра хранения.
Стандартные функции протокола Modbus
Стандартными функциями протокола Modbus являются: доступ к
данным – чтение и запись данных.
Чтение данных
Для чтения значений согласно табл. 5.1 используются функции с
кодами 1–4 (шестнадцатеричные значения 0x01–0x04):
1 (0x01) – чтение значений из нескольких регистров флагов
(Read Coil Status);
2 (0x02) – чтение значений из нескольких дискретных входов
(Read Discrete Inputs);
3 (0x03) – чтение значений из нескольких регистров хранения
(Read Holding Registers);
4 (0x04) – чтение значений из нескольких регистров ввода (Read
Input Registers).
Запрос состоит из адреса первого элемента таблицы, значение ко­торого требуется прочитать, и количества считываемых элементов. Адрес и количество данных задаются 16-битными числами, старший байт каждого из них передается первым.
98
В ответе передаются запрошенные данные. Количество байт дан­ных зависит от количества запрошенных элементов. Перед данными передается один байт, значение которого равно количеству байт данных.
Значения регистров хранения и регистров ввода передаются начи­ная с указанного адреса, по два байта на регистр, старший байт каждо­го регистра передаётся первым (табл. 5.2).
Таблица 5.2
Структура передачи данных
Байт 1 Байт 2 Байт 3 Байт 4 … Байт N-1 Байт N
R
A,1
R
A,0
R
A+1,1
R
… R
A+1,0
A+Q-1,1
R
A+Q-1,0
Значения флагов и дискретных входов передаются в упакованном виде: по одному биту на флаг. Единица означает включённое состоя­ние, ноль – выключенное. Значения запрошенных флагов заполняют сначала первый байт, начиная с младшего бита, затем следующие бай­ты, также от младшего бита к старшим. Младший бит первого байта данных содержит значение флага,
указанного в поле «адрес». Если за­прошено количество флагов, не кратное восьми, то значения лишних битов заполняются нулями (табл. 5.3).
Таблица 5.3
Схема передачи данных
Байт 1 Байт N
F
A+7 FA+6
F
F
A+5
A+4FA+3FA+2FA+1FA
…0…0 F
A+Q-1FA+Q-2
…
Обработка ошибок
Во время обмена данными могут возникать ошибки двух типов:
ошибки, связанные с искажениями при передаче данных;
логические ошибки (запрос принят без искажений, но не может
быть выполнен).
При передаче по асинхронным линиям связи ошибки первого типа
обнаруживаются при помощи проверки соответствия принятого запро-
99
са установленному формату ADU и вычисления контрольной суммы. Дополнительно для проверки каждого символа может использоваться бит четности. Если подчинённое устройство обнаруживает искажение данных, принятый запрос игнорируется, ответное сообщение не фор­мируется. Главное устройство может обнаружить ошибку по истече­нии времени, отведённого на ответ.
В Modbus TCP дополнительная проверка целостности данных не
предусмотрена
. Передача данных без искажений обеспечивается про-
токолами TCP/IP.
При ошибках второго типа подчинённое устройство отсылает со­общение об ошибке (если запрос адресован этому устройству; на ши­роковещательные запросы ответ не отправляется). Признаком того, что ответ содержит сообщение об ошибке, является установленный стар­ший бит номера функции. За номером функции вместо
обычных дан­ных следует код ошибки и при необходимости дополнительные дан­ные об ошибке.
Стандартные коды ошибок
 01 – Принятый код функции не может быть обработан. 
02 – Адрес данных, указанный в запросе, недоступен.
03 – Величина, содержащаяся в поле данных запроса, является
недопустимой величиной.
04 – Невосстанавливаемая ошибка имела место, пока подчинён-
ный пытался выполнить затребованное действие.
05 – Подчинённый принял запрос и обрабатывает его, но это
требует много времени. Этот ответ предохраняет от генерации ошибки тайм-аута.
06 – Подчинённый занят обработкой команды. Устройство, ини-
циализирующее обмен информацией, должно повторить сообщение позже, когда подчинённый освободится.
07 – Подчинённый не может выполнить программную функцию,
принятую в запросе. Этот код возвращается для неудачного програм­много запроса, использующего функции с номерами 13 или 14. Глав­ный должен запросить диагностическую информацию или информа­цию об ошибках от подчинённого.
08 – Подчинённый пытается читать расширенную память, но об-
наружил ошибку паритета. Главный может повторить запрос, но обыч­но в таких случаях требуется ремонт.
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]