Сложным, дорогостоящиям и требующим длительной разработки техническим системам для проверки и подтверждения работоспособности архитектуры нужны тщательные и надежные тесты. Но по мере усложнения современных систем, особенно в случае программного обеспечения, об этом критическом шаге проще говорить, чем действительно его сделать.
Представьте себе тестирование электронных компонентов нового автомобиля. Чтобы оставаться актуальными на современном рынке, современные автомобили должны включать в себя современные системы помощи водителю (ADAS), камеры, радары и многое другое. Тестирование этих подсистем на собранном продукте в желаемых сценариях использования гарантирует, что испытания проводятся в идеальном контексте, но оно также влечет за собой значительные накладные расходы и сложность проверки каждого сценария.
Откладывание испытаний до окончательной сборки сопряжено со значительным риском, а изменения, которые необходимо внести по результатам испытаний, могут привести к катастрофическим последствиям для графика. Обязательно нагрянут немыслимая стоимость тестирования и неопределенность времени выхода на рынок. Сложность этой проблемы возрастает еще больше, если учесть, что каждый элемент из множества электронных блоков управления (ECU) в автомобиле работает с огромным количеством сигналов, представляющих различные функции и типы входов/выходов, что затрудняет тестирование с полным покрытием. Все эти факторы приводят к формированию нерешаемой задачи, ставящей под сомнение возможность тщательного тестирования, которое будет эффективным с точки зрения затрат и времени.
Решение должно обеспечивать тестирование с полным покрытием без использования готового конечного продукта в полевых условиях. Позволяя тестируемым блокам ECU взаимодействовать с имитируемым сценарием использования, вы можете проводить раннее тестирование и обнаруживать как можно больше дефектов программного обеспечения. Это — основа программно-аппаратного моделирования (Hardware-in-the-Loop).
Что такое Hardware-in-the-Loop
Программно-аппаратное моделирование (Hardware-in-the-Loop) — это метод, в котором реальные сигналы от контроллера подключаются к тестовой системе, которая имитирует реальность, заставляя контроллер думать, что он находится в собранном продукте. Тестирование и проектирование выполняются так, как если бы использовалась реальная система. Вы можете легко выполнять тысячи различных сценариев, чтобы должным образом проверять и улучшать свой контроллер без затрат и времени, требуемых реальными физическими испытаниями.
Рассмотрим машину еще раз. ECU двигателя отвечает за преобразование измерений датчика в такие действия, как регулировка подачи воздуха при нажатии на педаль газа.
Программно-аппаратное моделирование заменяет двигатель симуляцией, состоящей из аппаратного и программного обеспечения, которое взаимодействует с реальным вводом/выводом, как если бы мы работали с настоящим двигателем. Поскольку в программном обеспечении могут быть сделаны изменения, вы можете быстро включить эти изменения в программное обеспечение ECU или двигателя, протестировать широкий спектр различных сценариев использования и расширить тестовое покрытие по мере необходимости, чтобы провести тесты безбоязненно и всесторонне без необходимости рисковать дорогостоящей физической системой.
Для того, чтобы программно-аппаратное моделирование приносило пользу, качество программного обеспечения имеет первостепенное значение. Программное обеспечение для моделирования должно быть связано с аппаратной частью, которая не только учитывает технические характеристики, вроде типа разъема или ввода/вывода, но и позволяет вводить в систему неисправности, а также способна тестировать сценарии из реального мира.
Именно здесь вы почувствуете бремя выбора программного и аппаратного обеспечения, которое вы будете использовать для обеспечения полного тестового покрытия при минимальном времени, затрачиваемом на настройку системы, и максимальном удобстве использования. Кроме того, чтобы идти в ногу с быстро меняющимися рыночными требованиями, вам необходимо найти решение, которое подходит не только для одного определенного теста, но и для следующих, а значит, это решение должно быть настраиваемым и отвечать требованиям завтрашнего дня.
Платформо-ориентированный подход решает проблемы с тестами
National Instruments предлагает комплексное аппаратное и программное решение, которое поможет вам быстро начать работу с конфигурационными программным обеспечением и модульным вводом/выводом. Вместо использования универсального решения с дорогостоящими функциями и вводом/выводом, которые не имеют отношения к вашему тесту, решения NI адаптированы для вашего конкретного приложения. Вы можете свободно настраивать аппаратное и программное обеспечение для учета нестандартных сигналов и для увеличения количества операций ввода-вывода по мере необходимости.
Дизайн и для нынешнего и для следующего поколения
Интеграция изменяющихся требований безопасности и государственных нормативов, включение новых датчиков и реагирование на востребованные на рынке технологии — это лишь несколько примеров, иллюстрирующих, что тестирующие устройства являются наиболее удобным и экономичным решением в том случае, если они могут реагировать на эти изменяющиеся требования.
Hardware-in-the-Loop-симуляторы от NI построены на открытой архитектуре, основанной на готовых коммерческих компонентах вроде PXI или модулей коммутации, нагрузки и согласования сигнала, чтобы вы могли настраивать ваши системы в соответствии с требованиями к тестированию и идти в ногу с развивающимися трендами индустрии. По мере появления новых идей в вашей конструкции и по мере развития технологий, вы можете снизить риск отставания за счет обеспечения технической перспективности вашей тестовой системы, используя программное и аппаратное обеспечение, которое адаптируется под ваши задачи.
Борьба с растущей сложностью
Цель тестирования – внесение осознанных изменений в программное обеспечение, которые приведут к желаемому конечному продукту. Тестовые системы должны адаптироваться по мере обнаружения ошибок и внесения исправлений. Зафиксированные системы типа «черный ящик» усложняют (если не делают невозможным) учет увеличения количества каналов и изменения типов ввода/вывода. Модульное оборудование от NI, вроде PXI или перестраиваемого ввода/вывода (RIO), основано на отраслевом стандарте, позволяющем добавлять ввод/вывод или изменять его тип без необходимости перестраивать тестовую систему. В случае моделей, используемых в таких областях, как силовая электроника, где точность модели и аппаратная надежность являются ключевыми характеристиками, VeriStand может использовать ваш код для ППВМ (программируемая пользователем вентильная матрица), позволяя вам выбрать уровень настройки, необходимый для вашего приложения.
Шагайте в ногу с меняющимися требованиями к конструкции
С открытой платформой от NI вы можете воспользоваться преимуществами функционально совместимого аппаратного и программного обеспечения и выбрать подход, который вы считаете лучшим. Например, вы можете использовать партнерское аппаратное обеспечение, выбрать Python для автоматизации и импортировать модели из различных сред, включая Simulink. Продукты NI совместимы по стандарту ASAM XIL, что означает, что вы инвестируете в надежный и адаптируемый отраслевой стандарт, а не в одноразовое решение.
VeriStand — конфигурационное тестовое программное обеспечение от NI, работающее на детерминированной операционной системе реального времени, в которой вы можете сразу проводить тесты без необходимости программировать. Однако при возникновении особых случаев это же программное обеспечение можно настроить с помощью собственного кода LabVIEW. Перенастраиваемые ППВМ обеспечивают точный контроль вашего ввода/вывода и позволяют вам реализовать обработку, встроенную в оборудование, которую можно будет изменить как только вас посетит новая идея.
Вы – эксперт
Никто не знает вашу конструкцию так, как вы. Hardware-in-the-Loop гарантирует, что ваш конечный продукт соответствует вашим ожиданиям, а затраты и время выхода на рынок минимизированы. Аппаратное и программное обеспечение для Hardware-in-the-Loop от NI дает вам возможность разработать тестовую систему, необходимую для производства любого надежного продукта, который вы можете себе представить.
Автор: T-800