Main Content

na_0024: MATLAB Function 間における共通データ

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:

  • データ ストアを使用すると、データ フローの可読性が低下し、更新参照のタイミングでエラーになる可能性があります。

検証

モデル アドバイザー チェック: Check MATLAB code for global variables (Simulink Check)

最終更新

R2020a

バージョン履歴

R2020a で導入