주요 콘텐츠

na_0024: MATLAB 함수의 공유 데이터

지침 발행물

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:

  • 데이터 저장소를 사용하면 데이터 흐름의 가독성이 저하되며, 이로 인해 업데이트 참조 타이밍에 오류가 발생할 수 있습니다.

마지막 변경

R2020a

버전 내역

R2020a에 개발됨