Реализация комплексного устройства защиты двигателя с использованием последовательной связи RS-485 и протокола Modbus.

Jan 04, 2026 Оставить сообщение

1 Введение

 

Микроконтроллеры все чаще применяются в устройствах автоматического управления, микропроцессорных-системах комплексной защиты электросетей и других областях управления промышленной автоматизацией, при этом сложность этих устройств постоянно растет. Чтобы обеспечить-многозадачность-требования целей разработки в режиме реального времени, модель "один-ЦП, один-разработчик" заменяется совместным подходом, включающим несколько процессоров разных типов и нескольких разработчиков. Эта новая парадигма разработки ставит перед собой важную задачу: стандартизацию аппаратного и программного обеспечения для обмена информацией между процессорами во время реализации. Эта стандартизация имеет решающее значение для успешного внедрения этой новой модели. Среди многочисленных методов связи протокол последовательной связи RS-485 на основе UART- широко распространен благодаря простоте подключения, высокой надежности и способности поддерживать несколько процессоров. Что касается протоколов связи программного обеспечения, протокол Modbus предлагает пользователям значительные преимущества благодаря своей универсальной природе и зрелому программному обеспечению для отладки. Поэтому при разработке нового устройства комплексной защиты двигателя был принят метод последовательной связи RS-485 и протокол связи Modbus для обеспечения обмена данными и командами управления между несколькими ЦП. Для повышения эффективности и координации последовательной связи автор реализовал многочисленные меры в аппаратной и программной архитектуре механизма связи, добившись отличных результатов. На этапе отладки системной связи использовался метод, при котором каждый модуль ЦП сначала связывался со стандартным тестовым программным обеспечением Modbus, а затем подвергался взаимной отладке межсоединений, что значительно повышало эффективность совместной разработки. Практика доказала, что такая философия проектирования упрощает структуру системы, значительно повышая при этом эксплуатационную эффективность и надежность устройства.


2 особенности устройства комплексной защиты двигателя


Помимо комплексных функций защиты, устройство защиты двигателя объединяет возможности измерения, телеуправления и связи. Большой-ЖК-дисплей с китайскими иероглифами обеспечивает-удобный интерфейс. Используя связь по шине CAN с хостом мониторинга, он образует подсистему в иерархической распределенной системе автоматизации подстанции. Чтобы оптимизировать функциональность системы в соответствии с требованиями многозадачности, была принята многопроцессорная архитектура. Один ЦП обрабатывает периодическую выборку и передачу импульсов; главный модуль ЦП управляет обработкой данных, расчетом электрических параметров, диагностикой неисправностей и операциями переключения; в то время как ЦП модуля платы контролирует взаимодействие человека и машины и обеспечивает связь с основным модулем защиты и хостом мониторинга. Каждый модуль ЦП имеет четко определенные задачи, что облегчает совместную разработку несколькими инженерами во время реализации. Последовательная связь связывает главный ЦП и ЦП панели, обеспечивая взаимодействие человека и машины и, таким образом, занимая критическое положение. Создание рационального механизма связи является основой секции последовательной связи, определяющей координацию связи и эффективность отладки на более поздних этапах разработки системы.


3 Введение в механизмы коммуникации

 

3.1 Аппаратное обеспечение механизма связи

Механизм связи, предложенный для этой системы, нацелен на высокую эффективность и надежность. RS-485 использует полу-дуплексную структуру, которая часто более практична, чем полнодуплексная в полевых приложениях. Здесь принято упрощенное соединение с использованием только двух сигнальных линий. Принципиальная схема интерфейса системы показана на рисунке 1. Логические уровни TTL, выдаваемые микроконтроллером 8051 на основном модуле защиты, оптически изолированы, а затем преобразуются в уровни RS-495 микросхемой MAX485. Впоследствии микросхема MAX485 на модуле панели преобразует их обратно в логические уровни TTL для считывания микроконтроллером 8031. На стороне микроконтроллера 8051 контакт P2.7 параллельного порта ввода-вывода 2 управляет контактом разрешения входа MAX RE и контактом разрешения выхода DE. Как показано на рисунке 1, когда P2.7 выдает высокий уровень, RE включается, позволяя стороне микроконтроллера получать данные. Когда P2.7 выдает низкий уровень, DE включается, позволяя стороне микроконтроллера передавать данные. Такой подход предотвращает потерю данных из-за перекрытия, вызванного слепой передачей, обеспечивая высокое качество связи и надежную скорость передачи.

采用RS-485串行通信和Modbus通信协议实现电动机综合保护装置的设计

 

3.2 Протокол связи

 

Чтобы обеспечить точную передачу данных между двумя модулями внутри защитного устройства, необходим набор спецификаций, регулирующих передачу информации,-включая режимы передачи, форматы данных и контент-. Это составляет протокол или протокол связи. Без готового, проверенного программного обеспечения для отладки главный модуль ЦП по сути функционирует как черный ящик, что приводит к многочисленным и трудно-преодолимым-проблемам во время системного интеграционного тестирования. Поэтому был выбран широко распространенный протокол связи Modbus, который был упрощен в соответствии с конкретными требованиями устройства, что обеспечивает успешную межмодульную связь с доказанной эффективностью. Modbus использует модель связи «главный-подчиненный». Мастер сначала отправляет подчиненному команду запроса связи. Затем ведомое устройство отвечает ведущему данными на основе кода функции в команде запроса. Каждое подчиненное устройство имеет уникальный адрес. Как кадры запроса, отправленные ведущим устройством, так и кадры ответа, отправленные подчиненным устройством, начинаются с адреса подчиненного устройства. Подчиненные устройства читают только команды, адресованные им самим, и игнорируют сообщения, начинающиеся с адресов других подчиненных устройств. Эта функция реализуется с использованием режима 2 или режима 3 последовательного порта 8051. Эта модель связи с вопросами-и-ответами значительно повышает точность связи. В этом устройстве используется режим передачи RTU Modbus.


4 меры по повышению надежности связи


Последние два байта сообщения Modbus служат байтами контрольной суммы. Связь RTU использует циклический избыточный код CRC-16 для обнаружения ошибок. Его механизм кодирования/декодирования относительно прост и имеет низкую частоту ошибок, что достигается с помощью вычислительных или программных методов. Ниже описаны несколько подходов:


4.1 Базовый алгоритм (ручной расчет)


На примере CRC16-CCITT: контрольная сумма CRC составляет 16 бит, а порождающий полином — 17 бит. Предположим, что поток данных составляет 4 байта: BYTE, BYTE, BYTE, BYTE[0];


Сместите поток данных влево на 16 бит, фактически расширив его в 256×256 раз. Затем выполните деление на полином генератора 0x11021, используя не-деление (эквивалентно побитовому исключающему ИЛИ). Полученный остаток и есть контрольная сумма CRC. Передаваемый поток данных состоит из 6 байт: BYTE, BYTE, BYTE, BYTE[0], CRC, CRC[0].


4.2 Компьютерный алгоритм 1 (алгоритм битового типа-)


1) Поместить старшие 16 бит (БАЙТ, БАЙТ) расширенного потока данных (6 байт) в 16-битный регистр;

2) Если старший бит регистра равен 1, сдвинуть регистр влево на один бит (получив младший бит из следующего байта), затем выполнить операцию XOR с упрощённой формой образующего полинома; в противном случае просто сдвиньте регистр влево на один бит (получив младший бит из следующего байта);

3) Повторять шаг 2 до тех пор, пока весь поток данных (6 байт) не будет перенесен в регистр;

4) Значением в регистре является контрольная сумма CRC CRC, CRC[0].

 

4.3 Компьютерный алгоритм 2 (алгоритм байтового типа -) (256^n означает 256, возведенный в степень n)

 

Представьте поток-упорядоченных данных в виде математического полинома. Пусть поток данных будет BYTE[n] BYTE[n-1] BYTE[n-2] ... BYTE[0] представлен в виде математического выражения

BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0], где «+» обозначает операцию XOR. Пусть полином генератора равен G17 (17 бит), тогда код CRC — CRC16.

CRC16=(БАЙТ[n] × 256^n + БАЙТ[n-1] × 256^(n-1) + ... + БАЙТ × 256 + БАЙТ[0]) × 256^2 / G17

Это включает в себя сдвиг потока данных влево на 16 бит и последующее деление на полином генератора G17.

Вывод показывает, что код проверки CRC для BYTE[n-1] равен результату XOR верхних 8 бит кода проверки CRC предыдущего байта Y[n] (YH8[n]) и текущего байта BYTE[n-1].


Алгоритм байтового-типа следующий:


1) Инициализируйте группу регистров CRC со значением «0» (0x0000).

2) Сместите группу регистров CRC на 8 бит влево и сохраните ее в группе регистров CRC.

3) Выполните операцию XOR между старшими 8 битами исходной группы регистров CRC (сдвинутыми на 8 бит вправо) и байтом данных, чтобы получить индекс, указывающий на таблицу значений.

4) Выполните операцию XOR между значением таблицы, на которое указывает индекс, и группой регистров CRC.

5) Увеличьте указатель данных. Если обработка данных не завершена, повторите шаг 2).

6) Получите CRC.

 

5 мер по повышению эффективности коммуникации

 

5.1 Отдельные задачи приема и передачи данных


Микроконтроллер 8051 может передавать и получать данные через последовательный порт с использованием прерываний. Контроллер последовательного порта SCON поддерживает инициализацию и адресацию битов. Когда происходит запрос на прерывание последовательного порта, два младших бита SCON фиксируют прерывания передачи и приема. Когда ЦП записывает данные или символ в буфер передачи SUBF последовательного порта (инструкция: MOV SUBF, A), передатчик начинает отправку. После завершения одного кадра данных аппаратное обеспечение устанавливает флаг TI на «1», указывая, что последовательный порт запрашивает прерывание от ЦП для отправки следующего кадра данных. Аналогично, если приемник последовательного порта включен для приема, после получения кадра данных флаг RI устанавливается в 1, указывая, что последовательный порт запрашивает прерывание от ЦП для чтения данных из буфера принимаемых данных.


5.2 Уменьшение продолжительности прерываний


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


5.3 Эффективное обнаружение завершения кадра для предотвращения застоя связи


Использование специального программного таймера для обнаружения конца полученного кадра предотвращает задержку задач связи, если кадр получен не полностью, тем самым обеспечивая своевременный прием последующих кадров. Поскольку временной интервал между байтами в кадре намного короче интервала между кадрами-между-кадрами, программный таймер запускается каждый раз при получении нового байта. Таймер установлен на минимальный интервал от -до-кадров. Этот интервал варьируется в зависимости от скорости передачи данных. Если следующий байт получен до истечения заданного времени, это указывает на то, что кадр неполный, и таймер перезапускается. Если таймер успешно отсчитывает заданное время, он запускает соответствующий номер прерывания. В подпрограмме прерывания по таймеру устанавливается байт флага конца кадра, означающий, что прием кадра завершен. После того как главная программа обнаруживает завершение приема кадра, она проверяет целостность кадра, проверяя адрес подчиненного устройства и байт проверки циклическим избыточным кодом (CRC). Если подтверждено, что кадр является действительным, предназначенным для ведущего устройства, он обрабатывает команду кадра на основе своего функционального кода и готовится отправить кадр. Когда ведомое устройство получает неправильное сообщение, оно отправляет обратно кадр ошибки. Если полученное сообщение имеет неправильный CRC, ведомое устройство может отказаться отвечать. Если ведущий не получит ответа от ведомого в течение указанного времени, он повторно передаст сообщение запроса. Если при нескольких повторных передачах не удается получить ответ от ведомого устройства, сообщается об ошибке связи.


5.4 Определение скорости связи


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


5.5 Разумные методы отладки


Во время отладки сначала проверьте связь между каждым модулем ЦП и микрокомпьютером через модуль преобразования данных RS485/RS232. После успешного индивидуального тестирования переходите к межмодульной отладке, что значительно повышает общую эффективность отладки. Во время отладки связи модуля-с-компьютером компьютер использует программное обеспечение отладки Modbus для имитации процесса связи ведущего устройства, активно запрашивая информацию у ведомого устройства. Это делает весь процесс приема и передачи прозрачным и понятным, позволяя своевременно решать проблемы модуля. Во время совместной отладки программное обеспечение для мониторинга шины отслеживает данные с обеих сторон, чтобы оперативно выявлять и устранять проблемы.

 

6 инновационных моментов этой статьи


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

Отправить запрос

whatsapp

Телефон

Отправить по электронной почте

Запрос