为什么一个自动生成的测试工具测试序列或构造图源无法编译组件输出总线对象时指定非零最小/最大?

9的观点(30天)
为什么一个自动生成的测试工具测试序列或构造图源无法编译错误”字段元素值(0)的结构参数“InitialCondition”块的子系统/ delay_1小于最低(5)相应的总线元素”。Input_1”组件输出总线对象时指定非零最小/最大?这个错误出现时,总线信号元素有一个非零最小或最大价值。

接受的答案

MathWorks支万博1manbetx持团队
问题的根源是不相容的初始条件,由“Simulink.Bus生成的。万博1manbetxcreateMATLABStruct”被美联储推迟街区内输出转换子系统(团体规范和路由子系统外港一侧)的利用。
  • 这些延迟块需要打破测试序列的代数循环利用。
  • 面罩内的初始条件初始化初始化输出转换子系统的回调。
作为一个解决方案来解决在利用初始条件结构,参考以下方式之一:
  1. 手动更新延迟块输出转换子系统中,如果他们选择应用自己的结构。
  2. 使用附加的脚本/函数自动生成一个有效的初始条件结构和应用利用
    1. 看到“genICStruct”和“fixupDelayICInHarness”功能。
    2. 函数的genICStruct生成一个初始条件结构通过设置值最小(或<马克斯- 1 >如果最小空但最大非空的)。
    3. 函数的fixupDelayICInHarness是装载工具的名义,用面具初始化的回调函数使用b)中的函数而不是直接使用“Simulink.Bus.createMATLABStruct”。万博1manbetx
    4. 负载仿真软万博1manbetx件模型和测试工具。
    5. 称之为“fixupDelayICInHarness (< harnessName > dispOnly)”。dispOnly设置为真,如果你只是想预览的变化。将其设置为假如果你想做实际的替换。
函数“fixupDelayICInHarness”使用“模式”引入R2020b字符串。如果你想使用旧版本的方法,用一个等效替换模式使用字符串的正则表达式的搜索和替换。为此,替换
patIC =“万博1manbetxSimulink.Bus.createMATLABStruct (’”+ wildcardPattern +”);“;
strToReplace =提取(maskInitCbStr patIC);
patIC =”((? 万博1manbetx= Simulink.Bus.createMATLABStruct)。*)”;
strToReplace = regexp (maskInitCbStr patIC,“匹配”);
还要注意:
重建将重新输出一个测试工具转换子系统和删除这些更新。您可以集成这个修复PostRebuild和PostCreate调如果需要。更多的信息关于如何注册这些回调函数://www.tianjin-qmedu.com/help/sltest/ug/customize-test-harnesses.html

更多的答案(0)

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!