Simulink上の​バスオブジェクトのバ​イトサイズを確認する​方法を教えてください

5 views (last 30 days)
tnksral
tnksral on 29 Sep 2017
Commented: Kei Otsuka on 29 Sep 2017
バスオブジェクトの各要素のサイズを数え上げる以外に、 Simulink上のバスオブジェクトのバイトサイズを確認する方法があれば教えてください。
  1 Comment
Kei Otsuka
Kei Otsuka on 29 Sep 2017
バスオブジェクトの各要素のデータ型からBit数を求め、それらの総和を取る形になると思いますが、その方法では何か問題がありますでしょうか?
数える作業を自動化したい、ということでしたら方法はあると思います。
例えば、myBusという名前のバスオブジェクトがあり、3つの要素を持つとします。 3要素のデータ型がそれぞれ
  1. uint8
  2. fixdt(0,23,0)
  3. fixdt(1,16,0)
であった場合、以下のスクリプトを実行することでトータルのバスBit幅が算出できます。
bitw = 0;
for i = 1:size(myBus.Elements, 1)
type = myBus.Elements(i).DataType;
a = strsplit(type,',')
if size(a, 2) == 1 %fixdtではない場合
b = regexp(a,'\d*','Match');
for ii= 1:length(b)
num(ii,1)=str2double(b{ii}(end));
end
bitw = bitw + num;
else
bitw = bitw + str2num(a{2});
end
end

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!