이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
배터리 관리 시스템의 결함 분석 수행
이 예제는 배터리 관리 시스템(BMS)의 결함 분석을 검증하는 방법을 보여줍니다. 물리적 시스템의 결함을 표현하려면 Simulink® Fault Analyzer™를 사용하여 Simulink 신호와 Simscape™ Battery™ 블록에 결함을 추가합니다. 결함 구성을 완료한 후에는 해당 결함을 안전성 분석 스프레드시트에 연결하고, 스프레드시트에서 시뮬레이션을 실행하고, 시뮬레이션 결과를 활용하여 스프레드시트를 분석할 수 있습니다. 이 분석은 BMS가 주입된 결함을 감지할 수 있는지 검증합니다.
모델 열기
이 예제는 보조 파일을 저장하기 위해 프로젝트를 사용합니다. 프로젝트를 열면 모델이 실행되며 필요한 작업 공간 변수를 로드합니다. 이 모델은 배터리 플랜트 모델과 및 BMS를 나타내는 서브시스템을 포함합니다. Signal Editor 블록은 시뮬레이션 입력을 정의합니다.

신호 입력 소스
Signal Editor 블록은 시뮬레이션 중 세 단계를 출력하는 시나리오를 로드하며, 각 단계는 서로 다른 열거형 모드를 출력합니다. 먼저, 블록은 Standby 모드를 30 초 동안 출력한 후, Driving 모드를 추가로 100 초 동안 출력하고, 그 다음 Charging 모드를 출력합니다. 입력 신호를 보려면 Input Signals 블록을 더블클릭하고 "신호 편집기를 엽니다" 버튼
을 클릭하십시오.

Signal Editor 블록은 BMS_State_T.m 클래스 정의 파일에 정의된 상태를 사용합니다. Signal Editor 블록에서 이러한 상태를 사용하여 새로운 시나리오를 구성하고 이 모델에서 실행할 수 있습니다.
배터리 플랜트
플랜트 모델을 보려면 Battery Plant 서브시스템을 엽니다. Battery Plant 서브시스템은 Simulink 및 Simscape Battery 블록을 사용하여 배터리 팩을 모델링합니다. 이 모델은 입력 상태인 BMS_State를 사용하여 배터리 팩에 적용되는 Current 신호 값을 제어합니다. 신호는 BMS_State_T.m 클래스 정의 파일과 동일한 열거형을 사용합니다. BMS_State 신호가 Fault인 경우, Battery Plant 서브시스템은 배터리 팩에 0의 전류를 공급합니다.

배터리 팩을 모델링하기 위해 BMS 서브시스템은 Pack (Generated Block) (Simscape Battery) 블록인 EV_BatteryPack를 사용합니다. 배터리 빌더 (Simscape Battery) 앱을 사용하여 대화형으로 Pack (Generated Block) 블록을 추가하거나, buildBattery (Simscape Battery) 함수를 사용하여 프로그래밍 방식으로 블록을 생성합니다. 이 예제에서는 팩에 두 개의 모듈 어셈블리가 포함되어 있고, 각 어셈블리에는 네 개의 모듈이 포함되어 있습니다. 배터리 팩 제작 방법에 대한 자세한 내용은 Build Detailed Model of Battery Pack from Pouch Cells (Simscape Battery)를 참조하십시오.
배터리 관리 시스템(BMS)
BMS 로직을 보려면 BMS 서브시스템을 엽니다. BMS 서브시스템은 감독 제어, 충전 상태(SOC) 추정, 전류 제한, 충전 제어 및 결함 모니터링을 모델링하는 서브시스템들을 포함합니다.
Fault Monitoring 서브시스템을 엽니다. Fault Monitoring 서브시스템은 과전류, 저전압, 과전압, 센서 결함, 저온, 고온 결함을 감지할 수 있는 Simscape Battery 블록을 포함합니다. Fault Monitoring 서브시스템이 FatalFaultQualiTime 작업 공간 변수로 지정된 시간 동안 결함을 감지하면, 해당 서브시스템은 FaultPresent 신호를 True로 설정합니다.

로직을 조사하려면, Fault Monitoring 서브시스템에 포함된 각각의 마스크 처리된 서브시스템의 마스크 내부를 탐색하십시오. 서브시스템을 마우스 오른쪽 버튼으로 클릭한 다음 마스크 > 마스크 내부 탐색을 클릭합니다.
Fault Monitoring 서브시스템은 FaultPresent 신호를 Supervisory Control 서브시스템에 공급합니다. BMS 서브시스템의 최상위 수준에서 Supervisory Control 서브시스템을 엽니다. 배터리 관리 상태를 결정하기 위해 Supervisory Control 서브시스템은 Stateflow® 차트를 사용합니다. FaultPresent 신호가 true일 경우, BMS_State 신호는 Fault를 출력합니다.

결함 검사하기
Simulink 블록 입력 포트, Simulink 블록 출력 포트 또는 Simscape 블록에 결함을 추가할 수 있습니다. Simulink 블록 포트 및 Simscape 블록에서 결함을 정의하는 방법에 대한 자세한 내용은 결함 정의 및 모델링 항목과 Introduction to Simscape Faults (Simscape) 항목을 참조하십시오. 이 예제는 두 도메인 모두에서 결함을 사용합니다.
결함 테이블 창을 열어서 결함을 확인합니다. 앱 탭에서 결함 분석기를 클릭합니다. 그런 다음 결함 분석기 탭의 보기 섹션에서 결함 테이블을 클릭합니다. 각 모델 요소를 확장하여 결함을 확인합니다. 이 모델에는 각각 50 초의 트리거 시간을 가진 다섯 개의 결함이 포함되어 있습니다. 결함 중 하나인 vBatt_stuck_at_ground가 EV_BatteryPack의 출력 포트에 할당됩니다. 이 결함은 해당 신호를 접지(ground)로 재정의합니다. 다른 결함들은 Module (Generated Block) 블록 내에서 내부 단락(short)을 발생시킵니다. 이 모듈들은 Module Assembly (Generated block) 블록인 ModuleAssembly2에 포함되어 있습니다.

결함 위치를 보려면 결함을 마우스 오른쪽 버튼으로 클릭하고 캔버스에 결함 모델 요소 표시를 선택합니다. Simulink 편집기가 열리고 결함 위치가 강조 표시됩니다.

시뮬레이션 실행
시뮬레이션에서는 하나의 결함 또는 여러 개의 결함을 시뮬레이션하거나 아무 결함 없이 시뮬레이션할 수 있습니다. 예를 들어, vBatt_stuck_at_ground만 시뮬레이션하려면 Battery Plant/EV_BatteryPack/Outport/3 모델 요소를 활성화하고 다른 모델 요소들은 비활성화하십시오. 각 모델 요소에는 하나의 결함만 활성화할 수 있습니다.

결함 분석기 탭의 상태 섹션에서 결함 시뮬레이션 버튼이 ON 상태인지 확인하십시오. 모델을 시뮬레이션합니다. 시뮬레이션 데이터 인스펙터에서 시뮬레이션 결과를 볼 수 있습니다. 결함 분석기 탭의 결과 검토 섹션에서 데이터 인스펙터를 클릭합니다. 이 이미지는 실행한 시뮬레이션의 결함 주입 상태, undervoltageError 신호 값 및 BMS_State 신호 값을 보여줍니다.

추가적으로 활성 결함을 시뮬레이션할 수 있습니다.
결함 분석을 위한 결함 요소와 모델 요소 연결
SAE J2929 안전 표준은 이와 같은 배터리 관리 시스템을 검증하기 위해 수행하는 결함 분석을 설명합니다[1]. 고장 모드 및 영향 분석(FMEA)과 유사한 스프레드시트에서 결함 분석을 작성합니다. 이러한 분석에는 비정상적인 동작을 검출하는 데 있어 안전 메커니즘과 같은 완화 로직이 얼마나 효과적인지에 대한 정보가 종종 포함됩니다. Simulink Fault Analyzer를 사용하면 안전성 분석 관리자에서 이러한 스프레드시트를 생성합니다. 모델, 테스트할 결함 및 결함 분석을 구성한 후, Requirements Toolbox™를 사용하여 결함을 결함 분석 스프레드시트의 요소들에 연결할 수 있습니다.
이 예시에서 결함은 FaultAnalysisSpreadsheet.mldatx라는 결함 분석 스프레드시트의 셀 항목과 연결되어 있습니다. 안전성 분석 관리자에서 스프레드시트를 엽니다.
BMSFADoc = safetyAnalysisMgr.openDocument(... "FaultAnalysisSpreadsheet.mldatx"); safetyAnalysisMgr.openManager
결함 분석은 세 개의 열에 있는 링크를 사용합니다.
Assembly_Model_Fault_Condition 열의 각 셀은 서로 다른 결함으로 연결됩니다.
Detection 열의 각 셀은 연관된 검출 로직인
Battery Voltage Monitoring서브시스템으로 연결됩니다.Mitigation 열의 각 셀은 관련 완화 로직인
Supervisory Control서브시스템으로 연결됩니다.
링크를 보려면 마우스로 링크 아이콘
을 가리키십시오. 또한 셀을 선택하고 속성 창에서 링크 섹션을 확장하여 링크를 볼 수도 있습니다.

콜백 실행을 통해 결함 분석을 시뮬레이션하고 평가하기
스프레드시트를 분석하기 위해 콜백을 만들고 실행합니다. 안전성 분석 관리자 문서 분석을 위한 콜백 작성 항목을 참조하십시오. 이 예에서 스프레드시트 분석을 클릭하면 스프레드시트가 콜백을 실행합니다. 콜백은 MATLAB® 스크립트인 validateBMSFaultAnalysis의 코드를 실행합니다. 스프레드시트의 각 행에 대해, Assembly_Model_Fault_Condition 열에 연결된 결함이 있는 경우, 스크립트는 해당 결함을 활성화하고 다른 결함들을 비활성화한 후 시뮬레이션을 수행합니다. 그런 다음 스크립트는 시뮬레이션 중 Detection 열의 연결된 모델 아티팩트가 활성화되었는지 확인합니다. 결함 모니터링 시스템이 연결된 결함을 감지하면, 스크립트는 Detection 열의 해당 셀에 체크 플래그를 추가합니다. 마찬가지로, Supervisory Control 서브시스템이 결함이 감지될 때 Fault 상태를 출력하면, 스프레드시트는 Mitigation 열의 해당 셀에 체크 플래그를 추가합니다. 결함에 대해 탐지 및 완화 메커니즘이 모두 실행되면, 스프레드시트는 Validated 열의 해당 셀을 확인합니다. 콜백 스크립트를 보고 편집하려면 MATLAB에서 스크립트를 엽니다.
스프레드시트 분석을 클릭합니다. 각 결함이 주입될 때마다 콜백은 탐지 및 완화 메커니즘이 작동하는지 확인하고, Validated 열의 체크박스를 확인합니다. 이 예시에서 콜백은 연결된 각 결함에 대해 검출 로직과 완화 로직이 배포되었음을 확인합니다.
runAnalysis(BMSFADoc)

스프레드시트에 행을 추가하고 추가적인 결함, 탐지 메커니즘 및 완화 시스템에 연결함으로써 테스트할 다양한 모드를 추가할 수 있습니다. 모델을 검증한 후 스프레드시트를 Excel®로 내보낼 수 있습니다. 스프레드시트를 Excel로 내보내기 항목을 참조하십시오. 내보낸 스프레드시트에는 Validated 열 셀에 상태가 포함됩니다.
참고 문헌
[1] Battery Safety Standards Committee. “Safety Standard for Electric and Hybrid Vehicle Propulsion Battery Systems Utilizing Lithium-Based Rechargeable Cells.” SAE International. Accessed December 9, 2024. https://doi.org/10.4271/J2929_201302.