使用函数调用子系统
一个函数调用子系统块是一个有条件地执行子系统运行每次控制端口接收到一个函数调用的事件。一个Stateflow®图表,函数调用生成器块,MATLAB函数块,功能块,或打穿越块可以提供函数调用的事件。
函数调用子系统是类似于一个函数在一个程序的编程语言。调用一个函数调用子系统执行中的模块子系统的输出方法的执行顺序。一个解释的函数调用子系统块参数,看到子系统。
创建一个函数调用子系统
创建一个函数调用子系统:
添加一个函数调用子系统阻止你的模型。
打开子系统。添加一个定义的算法框图执行当子系统接收到一个函数调用的事件。
设置初始和残疾的值外港块。看到条件子系统初始输出值和当禁用条件子系统输出值。
设置子系统状态是如何处理当执行子系统:
打开子系统的块,然后打开块参数对话框触发块。从州时启用下拉列表中,选择一个选项:
举行
——国家维护其最近的值。重置
——状态设置为他们的初始条件。继承
——使用从父母或重置设置子系统初始化函数调用。
嵌套的子系统函数调用子系统块有不同的参数设置,设置为孩子子系统覆盖设置继承自父子系统。看到触发。
附加函数调用的函数调用启动程序的输入端口。
如果你把一个轮廓尺寸块,打开,选择信号属性选项卡,然后选择输出函数调用复选框。
样品时间传播函数调用子系统
配置一个函数调用子系统块通过设置样品时间类型它的触发端口块触发
或周期
。
触发(周期)函数调用子系统可以执行零,期间多次,或者步骤。
如果一个函数调用执行子系统由一个根级函数调用轮廓尺寸块离散采样时间,在时间步不允许多个函数调用。允许多个函数调用,集样品时间来
1
(继承),并设置中的所有块的样品时间函数调用子系统1
(继承)。一个周期函数调用子系统执行一次在每个时间步时收到一个函数调用信号,并且不执行在一个时间步长不接受一个函数调用的信号。组中的所有块的样品时间函数调用子系统
1
(继承)。
请注意
在最小值和最大值范围检查,参数设置back-propagated实际的函数调用子系统的源端口,即使函数调用子系统不启用。
为了防止这种反向传播:
添加一个信号转换块和一个信号规范块源端口。
设置输出的信号转换块
信号复制
。指定的最小和最大值信号规范块,而不是指定的源端口。
的函数调用子系统的输入数据
你可以锁输入数据轮廓尺寸块内函数调用子系统块,以确保数据的完整性。锁存器的输入数据,轮廓尺寸块参数,选择门闩输入函数调用子系统输出的反馈信号。
在以下的模型中,输入数据轮廓尺寸在函数调用子系统ReadDSAndCal1
闩锁(表示<李>
)和子系统的执行期间无法改变。的数据存储读取和数据存储写块被称为在每个函数调用子系统。第一次和第二次函数调用写数据和最后一个函数调用读取数据数据存储内存块。
请注意
root -数据轮廓尺寸块连接到一个内部轮廓尺寸块也锁住如果所有的块连接到root闩锁块。有关更多信息,请参见门闩输入函数调用子系统输出的反馈信号。
请注意
数据传输信号不受保护的在默认情况下生成的代码。使用自定义存储类,以防止数据损坏这些信号由于抢占当前任务的目标环境。