setSubResultStatus
向检查或子检查结果中添加状态
语法
setSubResultStatus(ft_obj, 'status')
说明
setSubResultStatus( 是一个可选方法,用于在结果中显示状态。使用此方法可在结果中显示检查或子检查的状态。ft_obj, 'status') 是模板对象的句柄。ft_obj 是一个字符向量,用于标识检查状态:status
Pass:检查没有发现任何问题。 |
D-Pass:取决于配置参数。检查没有发现任何问题。 |
Warn:检查发现了问题。 |
Fail:检查无法执行。 |
示例
此示例显示如何为自定义检查创建回调函数,以查找和报告优化设置。检查由两个子检查组成。第一个子检查审查模块简化优化设置,第二个子检查审查条件输入分支执行优化设置。
带子检查的检查的结果中包括以下项:
对全面检查的审查内容的描述。
子检查的标题。
对子检查的审查内容的描述。
对标准的引用(如适用)。
子检查的状态。
状态描述。
子检查的结果。
当子检查未通过时建议采取的操作。
子检查结果之间的一条线。
% Sample Check 3 Callback Function: Check with Subchecks and Actions % Find and report optimization settings function ResultDescription = OptmizationSettingCallback(system) % Initialize variables system =getfullname(system); mdladvObj = Simulink.ModelAdvisor.getModelAdvisor(system); mdladvObj.setCheckResultStatus(false); % Default check status is 'Warning' ResultDescription = {}; % Format results in a list using Model Advisor Result Template API % Create a list template object for first subcheck ft1 = ModelAdvisor.FormatTemplate('ListTemplate'); % Description of check in results setCheckText(ft1,'Check optimization settings'); % Title and description of first subcheck setSubTitle(ft1,'Verify Block reduction optimization setting'); setInformation(ft1,['Check to confirm that the Block reduction ' ... 'check box is cleared.']); % Add See Also section with references to applicable standards docLinks{1} = {['Reference DO331 Section MB.6.3.4.e - Source code ' ... 'is traceable to low-level requirements']}; % Review 'Block reduction' optimization setRefLink(ft1,docLinks); if strcmp(get_param(system,'BlockReduction'),'off') % 'Block reduction' is cleared % Set subresult status to 'Pass' and display text describing the status setSubResultStatus(ft1,'Pass'); setSubResultStatusText(ft1,['The ''Block reduction'' ' ... 'check box is cleared']); ResultStatus = true; else % 'Block reduction' is selected % Set subresult status to 'Warning' and display text describing the status setSubResultStatus(ft1,'Warn'); setSubResultStatusText(ft1,['The Block reduction ' ... 'check box is selected.']); setRecAction(ft1,['Clear the ''Optimization > Block reduction''' ... ' check box in the Configuration Parameters dialog box.']); ResultStatus = false; end ResultDescription{end+1} = ft1; % Title and description of second subcheck ft2 = ModelAdvisor.FormatTemplate('ListTemplate'); setSubTitle(ft2,'Verify Conditional input branch execution setting'); setInformation(ft2,['Check to confirm that the ''Conditional input branch ' ... 'execution'' check box is cleared.']) % Add See Also section and references to applicable standards docLinks{1} = {['Reference DO331 Section MB.6.4.4.2 - Test coverage ' ... 'of software structure is achieved']}; setRefLink(ft2,docLinks); % Last subcheck, suppress line setSubBar(ft2,0); % Check status of the 'Conditional input branch execution' check box if strcmp(get_param(system,'ConditionallyExecuteInputs'),'off') % The 'Conditional input branch execution' check box is cleared % Set subresult status to 'Pass' and display text describing the status setSubResultStatus(ft2,'Pass'); setSubResultStatusText(ft2,['The ''Conditional input branch ' ... 'execution'' check box is cleared.']); else % 'Conditional input branch execution' is selected % Set subresult status to 'Warning' and display text describing the status setSubResultStatus(ft2,'Warn'); setSubResultStatusText(ft2,['The ''Conditional input branch ' ... 'execution'' check box is selected.']); setRecAction(ft2,['Clear the ''Optimization > Conditional input branch ' ... 'execution'' check box in the Configuration Parameters dialog box.']); ResultStatus = false; end ResultDescription{end+1} = ft2; % Pass list template object to Model Advisor mdladvObj.setCheckResultStatus(ResultStatus); % Set overall check status % Enable Modify Settings button when check fails mdladvObj.setActionEnable(~ResultStatus);