Is there a native Simulink feature to trigger an error/warning when overflow from an 'enum' class instance occurs?
2 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2020 年 10 月 29 日
回答済み: MathWorks Support Team
2020 年 10 月 29 日
I have created an enum class (see below) which inherits from uint8 and it seems that there is no overflow error/warning from Simulink when loading testEnumClass.varC as an enumerated constant in Simulink.
classdef testEnumClass < uint8
enumeration
varA(1)
varB(2)
varC(1000)
end
end
Is there a native Simulink feature to trigger an error/warning, when there is such overflow, so that I can catch the wrong enum definitions in my model?
採用された回答
MathWorks Support Team
2020 年 10 月 29 日
You can rewrite the enum definition using Simulink.defineIntEnumType, after which Simulink will raise an error if a value overflows.
The new enum definition can look like the following:
Simulink.defineIntEnumType('testEnumClass', ...
{'varA', 'varB', 'varC'}, ...
[1;2;1000], ...
'Description', 'Example', ...
'DefaultValue', 'varA', ...
'StorageType', 'uint8');
This produces the error: Underlying numeric values do not fit into the specified StorageType when loading testEnumClass.varC as an enumerated constant.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Simulink Environment Customization についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!