Автоматическое тестирование свободно программируемых контроллеров Промышленного Интернета Вещей

  Read in   |   Print Print

"Решение на базе платформы NI получилось примерно в два раза дешевле, чем заказное решение, на которое мы ориентировались изначально."

- Kirill Zuev, MZTA Research Center

The Challenge:
Создание системы автоматического тестирования свободно программируемых контроллеров промышленного интернета вещей.

The Solution:
Использование модульного измерительного оборудования PXI и многоуровневого программного обеспечения LabVIEW, TestStand, Switch Executive для быстрого создания профессиональной системы тестирования с минимальными материальными и человеческими ресурсами.

Author(s):
Kirill Zuev - MZTA Research Center
Anton Arkhipov - MZTA Research Center

О компании НТЦ МЗТА  

"Научно-технический центр МЗТА" входит в состав группы компаний МЗТА и ведет разработку аппаратной и программной частей современных средств автоматизации‬ и диспетчеризации‬, для объектов энергетики, ЖКХ, высокотехнологичных производств.‬‬‬‬

Контроллеры серии КОМЕГА

Контроллеры серии КОМЕГА Basic – это новая разработка МЗТА для реализации задач цифровизации промышленности в рамках идеологии Промышленного Интернета Вещей. Они предназначены для управления, контроля и мониторинга бытовых систем автоматизации и систем общей промышленной автоматизации. Ключевой особенностью КОМЕГА Basic является его конфигурируемость уже на этапе заказа. Заказчик может выбрать стандартную конфигурацию или собрать собственную. Кроме выбора модулей расширения, конфигуратор на сайте компании предоставляет возможность выбрать число аналоговых и цифровых вводов и выводов, дополнительные реле, оптосимисторы, RC-цепочки, выбрать объем и тип памяти базового контроллера. Конфигурация затем отправляется в цифровое производство, где в зависимости от конфигурации, на базовую плату контроллера устанавливаются нужные периферийные модули в выбранные места. При этом минимальный размер партии – 1 штука.

 

Рис. 1. Контроллер КОМЕГА. Видны различные конфигурации каналов.

 

Задача тестирования

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

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

 

Выбор платформы

Мы обратили внимание на платформу National Instruments не сразу. Изначально мы планировали заказать готовое решение по тестированию “под ключ”. Однако, цена такого решения от известного бренда для наших требований оказалась намного выше наших ожиданий. Познакомившись с платформой National Instruments, мы поняли, что опираясь на нее, мы сможем самостоятельно создать нужную нам систему, при этом значительно сэкономив. Дополнительно, в этом случае мы получали масштабируемое решение для последующих модификаций и обновлений.  

В единое шасси PXI устанавливаются измерительные приборы, включая мультиметры, источники-измерители питания, источники и измерители аналоговых уровней и др., программируемые резисторы, а также модули работы с интерфейсами RS-485, CAN, Modbus, SPI, I2C, Ethernet, USB и др. Недостающие цифровые протоколы, в том числе собственные протоколы, реализуются с помощью программного обеспечения и универсальных ПЛИС, при этом нет необходимости углубляться в традиционные сложности программирования ПЛИС.

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

 

До того, как мы увидели оборудование

Сразу же после проработки состава оборудования с сотрудниками NI мы приступили к разработке программного обеспечения, – не дожидаясь поставки. Одновременно с этим мы начали разбираться с LabVIEW и TestStand. К тому времени, как мы получили оборудование, мы уже приобрели полезный опыт в режиме симуляции.

 

Симуляция оборудования встроенными средствами

Мы использовали возможности симуляции модульных приборов в диспетчере NI MAX и виртуальные схемы коммутации в NI Switch Executive.  

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

Чрезвычайно удобным инструментом стал программный пакет NI Switch Executive. Очень наглядное и понятное представление схем коммутации с использованием сразу нескольких физических приборов и создание из них виртуальных коммутаторов позволяло не запутаться в наших непростых схемах. Далее, в программе, мы уже обращались к таким виртуальным коммутаторам, не возвращаясь к деталями реализации на уровне модулей или реле. На этапе финальной отладки этот инструмент был также крайне полезен. Его графическое отображение всех переключений прямо во время исполнения алгоритмов системы тестирования – бесценно.

 

Рис. 2. Графическое отображение всех переключений в Switch Executive прямо во время исполнения алгоритмов системы тестирования – бесценно.

 

Обучение и проработка архитектуры ПО

Здесь следует отметить, что мы фактически разрабатывали одновременно две системы на базе одного комплекта приборов: одну – для функционального тестирования через штатные разъемы в лабораторных условиях, другую – для максимально автоматизированного тестирования серийной продукции в условиях производства, –  с использованием оснасток, ложа гвоздей и параллельного тестирования 4 изделий. Можно сказать, что изучение LabVIEW и TestStand, происходило по ходу создания первой системы, и полученный опыт применялся для реализации второй. Основными источниками информации стали курсы, предлагаемые NI онлайн, а также открытые источники и форумы разработчиков.  

Будучи опытным программистом C++, инженер НТЦ сперва скептически отнесся к идее графического программирования в LabVIEW, посчитав ее слишком упрощенной средой для инженеров без опыта в программировании и обладающей очень ограниченными возможностями. Однако, вскоре стало понятно, что для поставленной задачи автоматизации системы тестирования именно LabVIEW в связке с TestStand действительно представляют очень удобный инструментарий. Многопоточность «из коробки», объектно-ориентированное программирование, – многие вещи реализованы намного приятнее, чем в привычных языках. Графический код LabVIEW позволяет быстрее понять структуру программы, что позволяет меньше времени тратить на разбор старого или чужого кода.  

Объектно-ориентированное программирование в LabVIEW и TestStand позволило четко разделить уровни абстракции и построить достаточно прозрачную программную архитектуру системы. Благодаря возможностям эмуляции приборов, львиная доля архитектуры ПО в TestStand, классы и функции в LabVIEW были написаны еще до того, как оборудование было доставлено.

 

Тестирование контроллеров, созданных по индивидуальным конфигурациям

Каждый контроллер маркируется QR-кодом, описывающим конкретную конфигурацию в виде шифра исполнения. Тестирование следует производить исходя из данной конфигурации.  

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

 

Подключение через разъемы

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

 

Рис. 3. Интерфейс оператора с подсказками о разъемах и переключателях.

 

Контактирующая оснастка  

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

Таким образом удается не только ускорить тестирование, но и расширить область тестирования, повысить точность калибровки, а также надежно подключиться к тестовым точкам, недоступным при тестировании через разъемы, например, считать сигналы в непосредственной близости к процессору, после входных каскадов аналоговых каналов и АЦП. Это необходимо для максимальной локализации неисправностей и более детального тестирования в целом.

За одно подключение одновременно тестируется 4 контроллера, расположенные на т.н. мультиплате. Для каждого из четырех контроллеров используется: 51 аналоговый контакт, 71 дискретный контакт, 2 контакта питания, 4 контакта RS484, 4 контакта общей точки. Всего в оснастке задействовано почти 500 игл-контактов. Для тестирования различных модулей расширения разработаны специализированные сменные фикстуры для универсальной оснастки, проработана защита от неправильной установки и автоматического выбора программы тестирования для установленной фикстуры.

 

Рис. 4. Тестовая оснастка с установленной мультиплатой.

 

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

 

Реализация недостающих цифровых протоколов с помощью модулей PXI с ПЛИС

Загрузка прошивки в процессоры и некоторые другие операции осуществляются с помощью различных цифровых протоколов, включая не только I2C и SPI, но и более сложный SWD. В линейке модульных приборов NI не оказалось подходящих модулей для работы с ними. Доступные на рынке решения других производителей оказались избыточными и слишком дорогими для нашей задачи. Поэтому нам пришлось самостоятельно реализовывать эти протоколы на основе универсальных цифровых линий. При этом модуль R-Series PXIe-7820 с ПЛИС добавлял в нашу систему еще и 128 линий 3.3 В, так что мы решили реализовать большую часть дискретных каналов именно на нем.

Учитывая тот факт, что у нас не было никаких навыков работы с ПЛИС, целесообразность ее программирования вызывала определенные сомнения. Однако LabVIEW FPGA с готовыми примерами и готовые библиотеки, такие как OpenOCD, позволили довольно просто реализовать все необходимые протоколы, обладая только совершенно базовым пониманием принципов работы ПЛИС и парой месяцев опыта в LabVIEW. Встроенный симулятор ПЛИС очень помог в отладке, даже в отсутствие оборудования.  

Буквально за неделю мы реализовали упрощенную версию с простой сквозной передачей уже сформированных битовых последовательностей, а затем доработали ее до полноценного решения с формированием команд на ПЛИС. В этом нам неоценимо помогли консультации инженеров технической поддержки NI, которые объяснили, как правильно организовать обработку данных в LabVIEW FPGA.

 

Формирование отчетов и ведение базы данных тестирования

Одним из важных требований к системе тестирования, работающей в идеологии цифрового производства и Интернета Вещей, является автоматическое накопление и последующий анализ данных тестирования. Такие вопросы как статистика отказов, выявление шаблонов неисправностей, прослеживание источника брака, а также совершенствование методик испытаний, – начинаются с формирования отчетов и работы с базой данных. Система тестирования автоматически формирует отчет для оператора и сохраняет подробные данные о тестировании в базу данных предприятия для последующего анализа. В отчет оператора попадают также дополнительные измерения, помогающие заранее заметить особенности, которые могут косвенно указывать на опасность ухудшения эксплуатационных характеристик, но при этом не входят в методику тестирования и не влияют на отбраковку. Особую важность имеет отчет об автоматической калибровке аналоговых 16-24-битных входов и 8-12 битных выходов, поскольку полученные калибровочные коэффициенты записываются в контроллеры, а протокол калибровки распечатывается и прилагается к изделию.

 

Время тестирования

Для одного контроллера в режиме тестирования через разъемы проводится 370 уникальных измерений, в режиме тестирования мультиплаты – 2536 измерений. Тестирование мультиплаты из четырех контроллеров занимает, в среднем, 3 минуты. При этом, почти все это время занимают операции, которые не подлежат сокращению, – загрузка прошивки в контроллер, выжидание переходных процессов во входных каскадах перед началом измерений и т.п. Суммарное время всех измерений и переключений на их фоне оказывается пренебрежимо малым.

 

Время разработки

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

Разработка всего программного обеспечения системы осуществлена силами одного инженера-программиста, который познакомился с LabVIEW, TestStand и другими программными продуктами NI в процессе разработки системы.

 

Заключение

В сжатые сроки и минимальными силами мы создали качественную, быструю и точную систему автоматического тестирования индивидуально конфигурируемых контроллеров. Графическое программирование в LabVIEW, управление тестированием в TestStand и интерактивное создание конфигураций коммутаторов в Switch Executive значительно упростили решение задачи.  

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

 

Author Information:
Kirill Zuev
MZTA Research Center
Tel: +74957205444
zuev@mzta.ru

Bookmark and Share


Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community


Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI