+7 (812) 494-9090
Обратная связьEnglish
Главная → О компании → Наши клиенты → Cassel Aero → Разработка собственного адаптера шины Profibus для устранения дефектов в работе аппаратной части системы заказчика (Cassel Aero)
Версия для печати

Разработка собственного адаптера шины Profibus для устранения дефектов в работе аппаратной части системы заказчика (Cassel Aero)

Заказчик: Cassel Aero

Отрасль: Электроника и аппаратное обеспечение


Заказчик получил устойчивую систему, которая работала на любой ЭВМ, имеющей порт USB. Зависания прекратились. При этом остальная часть системы осталась нетронута, поэтому доработки аппаратной части были незначительны. Основная программа также не требовала доработки, так как интерфейс библиотеки был оставлен прежним. Система устойчиво отработала 3 года, после чего была выведена из эксплуатации в связи со снятием модуля ET200X с производства и разработкой специалистами АстроСофт собственного единого блока Aerobelt.



Ситуация

Для управления силовым оборудованием заказчик использовал модуль ET200X семейства SIMATIC фирмы Siemens. Этот модуль был подключён к управляющей ЭВМ (первоначально – промышленный компьютер, в дальнейшем – ноутбук) при помощи адаптера CP5511 фирмы Siemens через шину PCMCIA. Во время эксплуатации системы происходили зависания программы, устраняемые только при перезапуске ОС. Запуск программы на эмуляторе не давал подобных зависаний, проверка на утечки ресурсов и взаимные блокировки показывала отсутствие и тех, и других. Заказчику было предложено заменить адаптер CP5511 вместе со сложной системой DLL и драйверов фирмы Siemens на разработку АстроСофт, что послужило толчком для создания собственного адаптера. Стоит отметить, что в телефонной консультации Siemens заказчику сказали, что замена используемой им аппаратуры технически нереализуема, однако решение, предложенное АстроСофт, опровергло это утверждение.

Блок SIMATIC ET200X
Рис. 1. Блок SIMATIC ET200X

Решение

Как выяснилось, шина PROFIBUS, по которой подключается модуль ET200X, является закрытой. В сети Интернет удалось найти только базовые сведения: что шина базируется на физическом протоколе RS485, а также общий формат посылки.  Выяснилось также, что на шине может быть несколько ведущих устройств. В системе заказчика было только одно ведущее устройство, что серьезно упрощало работу.

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

Далее был изготовлен адаптер PROFIBUS, подключаемый к шине USB на базе готового модуля DLP-USB232M и микросхемы SN7517BP (готовые переходники USB-RS485 были недоступны по ряду причин). Вся логика ведущего устройства PROFIBUS была реализована в единой библиотеке управления, по интерфейсу совместимой с оригинальной библиотекой Siemens на случай быстрой замены при проблемах с оборудованием (при работе в реальных условиях этого не понадобилось).

Проблема подключения блока ET200X к новой ЭВМ была решена, но в полёте возникли те же самые зависания, что и раньше. Однако, если раньше на нижнем уровне было множество «закрытых» библиотек и драйверов, то теперь – только собственная библиотека и один драйвер фирмы FTDI. Поэтому удалось менее чем за один день локализовать причину зависания. Она крылась в том, что при открывании и закрывании крышки чана срабатывали реле. Кроме того, двигатель, открывающий крышку, в пике потребляет до 30 ампер. Всё это создавало бросок в сети питания. А микросхемы FTDI середины 2000-х годов имели известный недостаток – низкая помехозащищённость при длинном общем проводе. Малейшая помеха в питании приводила к проблемам. При этом шина RS485 изолирует адаптер от оконечного устройства, а шина PROFIBUS – пропускает помеху через дополнительные резисторы. Поэтому был принят ряд мер: укорочен USB-кабель, признаны излишними и удалены проблемные резисторы. Кроме того, в катушках реле добавлены защитные диоды: так как блок реле был изготовлен специалистами заказчика, то разработчики АстроСофт не были в курсе их отсутствия. В результате зависания были устранены.

Результат

Заказчик получил устойчивую систему, которая работала на любой ЭВМ, имеющей порт USB. Зависания прекратились. При этом остальная часть системы осталась нетронута, поэтому доработки аппаратной части были незначительны. Основная программа также не требовала доработки, так как интерфейс библиотеки был оставлен прежним. Система устойчиво отработала 3 года, после чего была выведена из эксплуатации в связи со снятием модуля ET200X с производства и  разработкой специалистами АстроСофт собственного единого блока Aerobelt.

Вертолёт после установки кабинного оборудования 
Рис. 2. Вертолёт после установки кабинного оборудования

Используемые технологии

Анализатор шины PROFIBUS был изготовлен из стандартного переходника USB-UART и микросхемы SN7517BP. Программная поддержка написана на языке С++ в среде Microsoft Visual Studio 7.0.

Библиотека для поддержки собственного адаптера была разработана на языке C++ в среде Microsoft Visual Studio 7.0.


Скачать