显式计划组件的排序规则
万博1manbetxSimulink确定模型组件(子系统和引用模型)的排序顺序。
导出功能模型
导出函数模型包括函数调用子系统块,函数调用模型块,万博1manbetx仿真软件的功能块在根级,和功能由函数调用根调用的块轮廓尺寸块。
根函数调用轮廓尺寸块按照以下规则排序:
首先比较块优先级。具有最高优先级(小值)的块在其他块之前排序。
如果块优先级相同,比较它们的采样时间。速率较快的块(样本时间值较小)在另一个块之前排序。
如果采样次数相同,请比较输入端口号。端口号较小的块在另一个之前排序。
根万博1manbetx仿真软件的功能块在根函数调用后排序轮廓尺寸块。
严格调度导出函数模型的测试工具
在测试工具中引用导出函数模型,并将端口连接到函数发生器块。
如果选择“配置参数”为引用的模型启用严格的调度检查,编译时和运行时检查都确保启动器将根据预定义的调度顺序调用函数调用。启动器是根据它们的样本时间优先级排序的。对于本例,调度顺序和采样时间优先级不匹配。模型mHarness_ExpFcnMdl显示一个错误。
无严格调度的导出-函数模型测试工具
在测试工具中引用导出函数模型,并将端口连接到函数发生器块。
如果清空“配置参数”为引用的模型启用结构调度检查测试线束模型处于信号采集模式。函数调用启动器是根据它们的示例时间优先级排序的。对于本例,排序顺序为FcnCallGen0p1
>FcnCallGen0p2
>FcnCallGen0p3
>FcnCallGen0p1
.
数据排序规则导致的数据依赖错误
考虑一个模型,其中一个函数调用启动器的输出是另一个函数调用启动器的输入。
函数调用启动器FcnCallGen0p3
应该在FcnCallGen0p4
.然而,由于FcnCallGen0p4
也是一个来源吗FcnCallGen0p3
发生数据依赖,并且Simulink显示错误。万博1manbetx
具有初始化、重置和终止功能块的模型测试工具
如果一个模型块引用具有初始化、重置或终止端口的模型,连接到这些端口的函数调用启动器比其他函数调用输入端口具有更高的优先级。例如,导出函数模型、基于速率的模型和JMAB-B模型可以具有其他函数调用输入端口。万博1manbetxSimulink按以下顺序对函数调用启动器进行排序:
初始化、重置,然后终止端口。
如果有多个复位端口,则不会对这些复位端口上的启动器进行排序。例如,如果一个模型有一个由block驱动的初始化端口
一个
,两个复位端口由块驱动B
和C
,一个由块驱动的终端端口D
,然后Simu万博1manbetxlink按照A、B或C的顺序排序,然后是d。B和C使用一般排序规则排序。
测试线束中模型块的启动器
添加事件端口到a模型块中引用基于速率的模型或JMAAB-B模型的测试工具模型块参数显示模型周期事件端口.
在单任务模型中,所有离散率都在同一任务中。在多任务模型中,具有相同值的离散速率在同一任务中执行。万博1manbetxSimulink按以下顺序对同一任务中的测试线束启动器进行排序:
初始化、重置,然后终止端口。
函数调用输入端口映射到异步函数调用根轮廓尺寸块,如果适应的模型是JMAAB-B模型。在这些“异步”函数调用输入端口中,使用由异步任务规范连接到函数调用根的块轮廓尺寸块以比较端口。在以下情况下,不要比较端口:
对于具有相同任务优先级的两个“异步”函数调用输入端口。
对于“async”函数调用输入端口,任务优先级为空(未指定)
周期事件输入端口映射到离散速率。使用速率单调调度(RMS)规则进行比较。
在单任务模型中,所有发起者都在同一个任务中:
InitGen
>ResetGen1
或ResetGen2
>TermGen
>A10aGen
或A10bGen
或一个[]创
>D1Gen
>D2Gen
A10aGen
或A10bGen
>A20Gen
可以交换(的相对顺序)
ResetGen1
,ResetGen2
)或(A10aGen
,A10bGen
),或(一个[]创
,A20Gen
)等。
在多任务模型中,相同颜色的启动器处于同一任务中。
InitGen > D1Gen > D2Gen
A10aGen或A10bGen > A20Gen