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!