Main Content

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

na_0024: Shared data in MATLAB functions(na_0024: MATLAB 함수의 공유 데이터)

R2020a 이후

지침 발행물

Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®

하위 ID 권장 사항

  • NA-MAAB — a

  • JMAAB — a

MATLAB 버전

모든 버전

규칙

하위 ID a

신호선은 MATLAB Function 블록 간에 공유되는 데이터를 연결하는 데 사용됩니다.

사용자 지정 파라미터

해당 없음

예제 — 올바름

function ErrorFlag = EngineFaultEvaluation(EngineData,ErrorFlag_In)
%#codegen
	RMP_HIGH = 10000;
	RMP_LOW = 10;
	HIGHRPMFAULT = 2^1;
	LOWRPMFAULT = 2^2;
	ErrorFlag = ErrorFlag_In;
	if EngineData > RPM_HIGH
		ErrorFlag = bitor(ErrorFlag,HIGHRPMFAULT);
	end
	if EngineData < RPM_LOW
		ErrorFlag = bitor(ErrorFlag,LOWRPMFAULT);
	end
	
function ErrorFlag = WheelFaultEvaluation(WheelData,ErrorFlag_In)
%#codegen
	SLIP_HIGH = 1000;
	WHEELSLIP = 2^3;
	ErrorFlag = ErrorFlag_In;
	if WheelData > SLIP_HIGH
		ErrorFlag = bitor(ErrorFlag,WHEELSLIP);
	end
end
	
예제 — 올바르지 않음

function EngineFaultEvaluation(EngineData)
%#codegen
	global ErrorFlag_DataStore
	RMP_HIGH = 10000;
	RMP_LOW = 10;
	HIGHRPMFAULT = 2^1;
	LOWRPMFAULT = 2^2;
	if EngineData > RPM_HIGH
		ErrorFlag_DataStore = bitor(ErrorFlag_DataStore,HIGHRPMFAULT);
	end
	if EngineData < RPM_LOW
		ErrorFlag_DataStore = bitor(ErrorFlag_DataStore,LOWRPMFAULT);
	end
	
function WheelFaultEvaluation(WheelData)
%#codegen
	global ErrorFlag_DataStore
	SLIP_HIGH = 1000;
	WHEELSLIP = 2^3;
	if WheelData > SLIP_HIGH
		ErrorFlag_DataStore = bitor(ErrorFlag_DataStore,WHEELSLIP);
	end
end
	

근거

하위 ID a:

  • 데이터 저장소를 사용하면 데이터 흐름의 가독성이 떨어지고 업데이트 참조 타이밍에 오류가 발생할 수 있습니다.

검증

모델 어드바이저 검사: 전역 변수에 대한 MATLAB 코드 확인 (Simulink Check)

마지막 변경

R2020a

버전 내역

R2020a에 개발됨