Hardware-in-the-Loop (HIL) 시뮬레이션은 임베디드 시스템의 개발 및 테스트 기법입니다. 이는 물리 시스템을 시뮬레이션하는 가상 환경에 제어기 하드웨어의 실제 I/O(입출력) 인터페이스를 연결하는 작업을 수반합니다. Hardware-in-the-Loop (HIL) 테스트는 하드웨어-소프트웨어 통합을 검증하는 데 사용되며 항공우주, 자동차 및 기타 산업에서 인증 프로세스의 일부입니다. HIL 시뮬레이션의 주요 이점 중 하나는 하드웨어에서 제어 알고리즘을 조기에 테스트할 수 있어 모든 물리적 컴포넌트가 준비되기 전에 엔지니어가 시나리오를 평가하고 I/O 연결을 테스트할 수 있게 함으로써 위험을 완화하고 개발을 가속화하며 고가의 장비를 위험에 빠뜨리지 않고 시스템 강인성을 확인할 수 있다는 점입니다.
Hardware-in-the-Loop (HIL) 시뮬레이션은 실제 제어기 하드웨어를 플랜트로 불리는 시뮬레이션된 물리 시스템과 연동하여 작동합니다. 실제 제어기와 시뮬레이션된 플랜트 사이의 연결은 실제 아날로그 및 디지털 I/O입니다. 여기에는 흔히 UDP, TCP, CAN 및 기타 산업 특정 표준과 같은 통신 프로토콜이 포함됩니다. 실제 설정, 타이밍 및 배선을 갖춘 통신 인터페이스는 HIL 테스트의 핵심 컴포넌트입니다. 이러한 측면은 MIL(Model-in-the-Loop) 또는 SIL(Software-in-the-Loop) 시뮬레이션에서는 정확하게 재현할 수 없습니다.
HIL 테스트의 단계
Hardware-in-the-Loop (HIL) 테스트에는 다음과 같은 단계가 있습니다.
- 플랜트 모델링: 첫 번째 단계는 물리 시스템 또는 플랜트의 수학적 모델을 만드는 것입니다. 이 모델은 실제 시스템의 동역학을 재현합니다. 전기 및 기계 컴포넌트, 유체, 열역학 등 복잡한 물리 시스템을 모델링하기 위해 엔지니어는 Simulink®와 함께 Simscape™ 제품을 사용합니다.
- 실시간 시뮬레이션: 그런 다음 플랜트 모델은 제어기 하드웨어의 입력에 대한 플랜트의 거동을 시뮬레이션하는 실시간 테스트 시스템에서 실행됩니다. 이 실시간 시뮬레이션에서는 시스템이 실제 시나리오에서처럼 반응하는지를 검증합니다. 실시간 테스트 시스템은 테스트 대상 기기와 연동하는 I/O 보드가 탑재된 산업용 컴퓨터로, 이러한 시스템의 공급업체로는 Speedgoat, dSPACE, OPAL-RT 및 NI 등이 있습니다.
- 제어기에 연결: 제어 알고리즘을 포함하는 제어기 하드웨어는 실시간 시뮬레이터에 연결됩니다. 이 연결을 통해 제어기는 실제 시스템을 제어하는 것처럼 가상 플랜트와 상호작용할 수 있습니다. 아날로그 및 디지털 신호뿐만 아니라 이더넷, CAN 및 ARINC 등의 통신 프로토콜도 실시간 테스트 시스템과 실제 임베디드 제어기를 연결하는 데 사용됩니다. HIL 테스트벤치에는 수천 개의 입력 및 출력 라인이 포함될 수 있으며 물리적 거동, 센서 및 전기적 결함을 모방할 수 있습니다.
- 데이터 수집 및 피드백: 시스템은 제어기와 시뮬레이션된 플랜트로부터 지속적으로 데이터를 수집합니다. 이 데이터는 제어기에 피드백을 제공하는 데 사용되며, 이를 통해 제어기는 플랜트의 시뮬레이션된 응답에 따라 동작을 조정할 수 있습니다. 실시간 테스트 시스템은 Hardware-in-the-Loop (HIL) 테스트 실행 도중 그리고 이후에 분석할 수 있는 데이터를 기록합니다.
- 테스트 및 검증: 엔지니어는 정상 동작 조건부터 결함 시나리오에 이르는 광범위한 테스트를 수행하여 제어기의 성능과 강인성을 검증할 수 있습니다. HIL 시뮬레이션을 통해 반복적 테스트 및 개선을 수행해 제어 알고리즘이 필요한 사양과 표준을 충족하는지 검증할 수 있습니다.
MIL(Model-in-the-loop), SIL(Software-in-the-Loop), PIL(Processor-in-the-Loop), Hardware-in-the-Loop (HIL)은 임베디드 시스템의 검증 및 확인 프로세스에 사용되는 핵심 기법입니다. 각 기법은 개발 사이클에서 각기 다른 용도로 사용되며, 시뮬레이션 환경의 충실도도 서로 다릅니다.
MIL (Model-in-the-Loop)
Model-in-the-loop는 개발 초기 단계에서 상위수준 시뮬레이션 모델을 사용해 제어 알고리즘을 검증하는 데 사용됩니다. 이 접근법은 실제 하드웨어나 소프트웨어 없이도 제어 논리의 설계와 반복 테스트를 진행합니다. 제어기와 물리적 플랜트 모두 이에 대응하는 모델로 시뮬레이션됩니다.
SIL (Software-in-the-Loop)
SIL(Software-in-the-Loop)은 시뮬레이션된 환경 내에서 컴파일된 제어 알고리즘 코드를 테스트하는 데 중점을 둡니다. 이 단계에서는 소프트웨어가 실행될 때 올바르게 동작하는지를 검증하여 모델 시뮬레이션과 실제 응용 사례 간의 가교 역할을 합니다.
SIL은 추가 제어기 소프트웨어 서비스를 시뮬레이션하는 가상 테스트로 발전하고 있습니다. 이 접근법에는 임베디드 제어기의 전체 운영 체제 에뮬레이션과 SOA(서비스 지향 아키텍처) 컴포넌트를 시뮬레이션하는 여러 노드 간의 통신이 포함될 수 있습니다.
PIL (Processor-in-the-Loop)
PIL(Processor-in-the-Loop)은 실제 프로세서 또는 비실시간 시뮬레이션 환경에 연결된 유사한 타겟에서 제어 알고리즘을 실행하는 작업을 수반합니다. 이 기법은 코드 생성, 실행 타이밍 및 프로세서 특정 동작과 관련된 잠재적인 문제를 검사하여 소프트웨어가 타겟 하드웨어에서 의도한 대로 성능을 발휘하는지 확인합니다.
Hardware-in-the-Loop (HIL)
Hardware-in-the-Loop (HIL)은 제어 알고리즘과 실제 하드웨어 컴포넌트의 통합을 검증하는 데 사용됩니다. HIL 테스트는 실제 제어기 하드웨어를 실시간 시뮬레이션 플랜트에 연결하여 실제와 같은 조건과 시나리오에서 시스템을 테스트할 수 있는 충실도 높은 환경을 제공합니다.
기법 | 제어기 | 연결 | 플랜트 | 관련 제품 |
MIL | 시뮬레이션 환경 (모델) | 가상 | 시뮬레이션 | Simulink |
SIL | 컴파일된 코드 (소프트웨어) | 가상 | 시뮬레이션 | Simulink, Simulink Coder™, Embedded Coder® |
PIL | 실제 프로세서 | TCP/IP 또는 직렬 | 시뮬레이션 | Simulink, Simulink Coder, Embedded Coder |
HIL | 실제 제어기 하드웨어 | 아날로그 및 디지털 신호 | 실시간 시뮬레이션 | Simulink, Simulink Coder, Embedded Coder, Simulink Real-Time™ |
임베디드 시스템의 Hardware-in-the-Loop 시뮬레이션
Hardware-in-the-Loop 시뮬레이션은 임베디드 시스템의 초기 개발 단계에서 중요한 역할을 합니다. 실제 제어기 하드웨어를 물리 시스템을 시뮬레이션하는 가상 환경에 통합함으로써 HIL 테스트를 통해 배포 전에 제어 알고리즘과 시스템 상호작용을 검증할 수 있습니다. 이러한 조기 검증을 통해 엔지니어가 설계 문제를 식별하고 해결할 수 있으므로, 개발 주기 후반에 비용이 많이 드는 수정 작업이 발생할 위험을 줄일 수 있습니다.
HIL 시뮬레이션의 주요 이점 중 하나는 전체 물리적 하드웨어가 준비되기 전에도 하드웨어 컴포넌트에 대한 제어 알고리즘을 테스트할 수 있다는 점입니다. 이는 리드 타임이 긴 컴포넌트가 있는 복잡한 시스템에서 모든 하드웨어 컴포넌트를 기다리게 되면 개발이 지연될 수 있는 상황에 유용합니다. HIL 테스트는 엔지니어가 통제된 가상 환경에서 시나리오와 경계 조건을 테스트할 수 있도록 지원하여 고가의 장비가 손상될 위험을 완화합니다. 이 접근법을 사용하면 개발을 가속화할 뿐만 아니라, 시스템이 강인하고 귀중한 하드웨어를 손상시키지 않으면서도 실제 운영 준비가 되어 있는지 확인할 수 있습니다.
제어 및 소프트웨어 엔지니어는 MATLAB® 및 Simulink를 사용하여 HIL 시뮬레이션을 만들고 실행할 수 있습니다. Simulink에서 실시간 애플리케이션을 생성하여 실시간 테스트 시스템에 배포할 수 있습니다.
검증 및 인증을 위한 Hardware-in-the-Loop (HIL) 테스트
Hardware-in-the-Loop 테스트는 자동차, 항공우주 응용 분야 등 안전이 중요한 임베디드 시스템의 검증 및 인증에 유용합니다. 자동차 기능 안전에 대한 ISO 26262 및 항공 시스템에 대한 DO-178과 같은 인증 표준은 모든 예상 조건에서 안정적인 시스템 성능을 검증하기 위해 엄격한 테스트를 요구합니다.
HIL 테스트의 한 가지 측면은 인증 표준의 핵심 요소인 요구사항 기반 테스트를 지원한다는 점입니다. 이 테스트 접근법은 모든 시스템 기능을 이에 대한 요구사항에 대해 평가하여 의도된 시스템 동작에 대한 추적성과 검증을 제공합니다. Hardware-in-the-Loop 테스트는 하드웨어-소프트웨어 통합 테스트를 지원하므로, 엔지니어는 결함 상태를 포함한 다양한 시나리오에서 제어 알고리즘이 정의된 모든 요구사항을 충족하는지 검증할 수 있습니다. 이러한 체계적인 접근법은 규정 준수에 대한 문서화된 증거를 제공하여 인증 프로세스를 지원할 뿐만 아니라 최종 제품의 신뢰성과 안전성을 높이기 위한 프레임워크를 제공함으로써, 까다로운 운영 환경에서의 배포를 준비할 수 있게 합니다.
전력전자 시스템의 Hardware-in-the-Loop 시뮬레이션
전력 컨버터과 인버터에는 고주파 PWM(펄스 폭 변조) 신호로 구동되는 반도체 스위칭 전자장치가 포함되어 있습니다. 이러한 소자의 실시간 시뮬레이션에는 정밀한 모델링과 시뮬레이션이 필요하며, 실제 소자의 사이클 주파수보다 100배 빠른 속도로 실행되는 경우도 종종 있습니다. 이러한 고주파 신호의 특성을 시뮬레이션하려면 시뮬레이션 환경이 매우 빠른 샘플 스텝을 실행할 수 있어야 하며, 필요한 성능을 달성하기 위해 FPGA 하드웨어를 사용해야 하는 경우도 많습니다.
Simulink 및 Simscape Electrical™은 고주파 작동의 미묘한 차이를 포착하는 복소 전력전자 시스템을 시뮬레이션하는 모델링 라이브러리를 제공합니다. Simulink 및 Simscape Electrical은 이러한 모델을 FPGA 하드웨어에 배포하기 위한 HDL 코드를 생성하여 실시간 시뮬레이션 및 테스트를 가능하게 합니다. 이러한 Model-in-the-Loop에서 Hardware-in-the-Loop로의 직접 전환을 통해 엔지니어는 전력 컨버터와 모터 인버터 제어를 위한 임베디드 소프트웨어를 검증할 수 있습니다.
전력 시스템의 Hardware-in-the-Loop 시뮬레이션
전력 시스템을 시뮬레이션하려면 전력 장비, 인버터, 감독 제어기 논리 등 다양한 컴포넌트 간의 상호작용을 정확하게 포착할 수 있도록 전기 네트워크를 적절히 상세하게 표현해야 합니다.

DLR Grid Lab에서 전력망을 모방하기 위한 케이블 라우팅용 단자.
EMT(전자기 과도)는 Simscape Electrical을 사용해 시뮬레이션할 수 있습니다. 동일한 전기 모델을 실시간 테스트 시스템에 배포하여 Hardware-in-the-Loop 시뮬레이션을 수행할 수 있습니다.
HIL 테스트벤치에는 Modbus 및 IEC 61850 등의 산업용 통신 프로토콜을 사용해 감독 논리 및 제어기와 통신하고 Power Hardware-in-the-Loop 테스트를 위해 고전압 장비와 상호작용할 수 있는 기능이 필요할 수 있습니다.
BMS (배터리 관리 시스템) 소프트웨어의 Hardware-in-the-Loop 테스트
배터리 관리 시스템은 전기차, 항공기 및 에너지 저장 시스템의 배터리 운영을 제어합니다. BMS의 C 코드를 테스트할 때 일반적인 접근법은 배터리 셀 에뮬레이터를 Hardware-in-the-Loop 시스템의 일부로 사용하는 것입니다. 배터리 셀 에뮬레이터는 배터리 셀과 팩이 경험하는 실제 전압 및 전류 수준을 구동하여 SOC(충전 상태)와 SOH(성능 상태) 추정 및 기타 BMS 기능에 대한 BMS 소프트웨어 테스트를 용이하게 합니다.
실제 전력 수준으로 모방된 배터리를 사용하면 엔지니어가 과전압, 극한 온도 및 기타 결함 상태와 같은 시나리오에 대처하는 BMS 소프트웨어의 기능을 테스트할 수 있습니다. 이러한 접근법을 통해 배터리 관리, 셀 모니터링 및 전력분배장치를 비롯한 BMS 소프트웨어의 여러 측면을 철저히 테스트하고 검증할 수 있습니다. 통상적인 HIL 테스트에는 다음이 포함됩니다.
- 드라이브 사이클 테스트: 전체 드라이브 사이클 동안 상태 추정 테스트
- 결함 상태: 배터리에 결함을 주입하고 BMS가 결함 상태를 처리할 수 있는지 확인
- 셀 밸런싱: 밸런싱 전략이 효과적으로 작동하는지 테스트
Simscape Battery™는 배터리 관리 시스템의 Hardware-in-the-Loop 테스트를 수행하기 위해 실시간 애플리케이션에 포함할 수 있는 배터리팩 모델을 제공합니다.
P-HIL (Power Hardware-in-the-Loop)
통상적인 HIL 테스트벤치에서 HIL 시뮬레이터는 보통 최대 10V의 저전류 및 저전압 신호를 사용해 제어기 하드웨어와 연동합니다. 이러한 전압 수준은 실시간 시스템에 설치된 I/O 보드에서 생성되고 수집됩니다. 이 설정은 제어 알고리즘과 대부분의 시스템 거동을 테스트하는 데 적합합니다. 이를 C-HIL(Controller Hardware-in-the-Loop)이라고도 합니다.
그러나 태양광 인버터 및 전기기기와 같은 일부 소자는 더 높은 전압과 전류를 사용할 수 있습니다. 이 경우 실제 동작 조건을 정확하게 재현해야 할 수도 있습니다. 이러한 경우 P-HIL(Power Hardware-in-the-Loop) 테스트가 사용됩니다. P-HIL은 전력 증폭기와 같은 전력 장비를 도입하여 실시간 시스템의 저전압 신호를 모방된 소자의 고전압으로 변환합니다. 이 접근법을 통해 엔지니어는 제어 시스템의 전력 컴포넌트에 대한 포괄적인 테스트를 수행하여 실제 동작 조건에서 안정적으로 성능을 발휘하는지 테스트할 수 있는 프레임워크를 제공할 수 있습니다.
멀티도메인 시스템의 Hardware-in-the-Loop 테스트
멀티도메인 시스템에 대한 Hardware-in-the-Loop 테스트를 통해 엔지니어는 실제 하드웨어가 있는 실제 환경에서 기계, 전기, 소프트웨어 컴포넌트와 같은 다양한 물리적 도메인 간의 복잡한 상호작용을 검증할 수 있습니다.
Simscape 제품군은 엔지니어가 멀티도메인 시스템의 동적 동작을 시뮬레이션하여 HIL 설정에 통합할 수 있도록 지원함으로써 이 프로세스를 촉진합니다. 예를 들어 항공우주 산업에서 엔지니어는 Simscape 모델을 사용한 항공기의 비행 제어 시스템에 대한 Hardware-in-the-Loop 테스트를 통해 공기력, 유압 액추에이터 및 전자 제어 응답을 시뮬레이션할 수 있습니다. 이 프로세스는 제어 알고리즘을 최적화하며 다양한 비행 조건에서 안전한 작동을 확인합니다.
멀티노드 Hardware-in-the-Loop 시뮬레이션
특정 시나리오에서 Hardware-in-the-Loop 시뮬레이션은 단일 제어 시스템을 넘어 여러 제어 시스템 또는 노드를 포함하도록 확장됩니다. 이 접근법은 플랜트의 시뮬레이션뿐만 아니라 제어기와 플랜트로 구성된 전체 노드를 포함할 수 있는 실제 하드웨어의 통합 역시 수반합니다.
실제 노드와 시뮬레이션된 노드 간의 통신은 일반적으로 DDS(데이터 분산 서비스), MQTT(Message Queuing Telemetry Transport), SOME/IP(Scalable service-Oriented Middleware over IP)와 같은 산업용 프로토콜 또는 미들웨어 솔루션을 사용하여 이루어집니다. 이러한 프로토콜은 데이터 및 제어 신호의 교환을 용이하게 합니다. 자동차 업계에서는 이 방법론을 흔히 레스트 버스 시뮬레이션이라고 합니다. 레스트 버스 시뮬레이션에서는 하나 이상의 실제 ECU(전자 제어 장치)가 HIL 시뮬레이터에 연결되는데, 이 시뮬레이터는 “나머지 버스”와 나머지 ECU를 모방합니다. 이 설정을 통해 엔지니어는 전체 차량 네트워크의 맥락에서 개별 ECU를 테스트하고 검증하여 더 큰 시스템에 통합될 때 ECU가 올바르게 작동하는지 확인할 수 있습니다. 레스트 버스 시뮬레이션은 전체 네트워크 환경을 시뮬레이션함으로써 자동차 제어 시스템의 상호운용성과 성능을 테스트할 수 있는 포괄적인 플랫폼을 제공합니다.
Simulink는 실시간 애플리케이션을 설계하고 구축하는 데 효과적인 플랫폼을 제공하므로 Hardware-in-the-Loop 테스트에 이상적인 선택입니다. 엔지니어는 Simulink를 사용하여 실제 조건을 시뮬레이션하고 제어된 환경에서 시스템을 테스트하는 복잡한 모델을 만들 수 있습니다. Simulink는 실시간 애플리케이션 개발 프로세스를 간소화하여 사용자가 파라미터를 쉽게 시각화하고 조정할 수 있게 하여 설계 및 테스트 단계에서 특히 유용합니다.
Simulink Real-Time은 Speedgoat 하드웨어와 함께 임베디드 소프트웨어를 검증하고 확인할 수 있는 강인한 플랫폼을 제공합니다. 이 설정을 통해 하드웨어를 연결하여 포괄적인 테스트를 수행하고 MATLAB 스크립트를 사용하여 실시간 HIL 애플리케이션을 제어하며 앱 디자이너로 사용자 지정 계측 패널을 설계할 수 있습니다. 시뮬레이션 데이터 인스펙터를 통해 개발자와 테스트 엔지니어는 데이터를 모니터링하고 분석하여 정보에 근거한 의사결정을 내리는 데 필요한 인사이트를 확보할 수 있습니다. 또한, Simulink 캔버스에서 직접 실시간 애플리케이션을 관리하여 프로토타이핑과 반복 개발을 가속화할 수 있습니다.
Simulink로 설계된 실시간 애플리케이션은 dSPACE, OPAL-RT, NI와 같은 타사 HIL 시스템에서도 실행할 수 있습니다.
자료
문서, 예제, 비디오 등을 통해 여러분의 지식을 확장할 수 있습니다.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)