触发
向子系统或模型添加触发器或功能端口
- 库:
Simulink /端口和子系统
HDL编码器/端口和子系统
描述
的触发块添加外部信号或消息端口来控制子系统或模型的执行。要启用此功能,请将此块添加到子系统类中引用的模型的根级别模型块。
然后,配置触发块来执行子系统或模型:
在每个时间步中,当控制信号的值以指定的方式变化时。
当控制信号是来自状态流的函数调用事件时,在时间步骤中多次®图表,函数调用生成器块,或功能块。
根据在控制端口接收到的消息。
港口
输出
Port_1
—描述控制信号或消息负载的值
标量|向量|矩阵
如果触发类型是不断上升的
,下降
,要么
,或函数调用
,端口输出标识控制信号的值,该值作为标量或矢量返回。对于输入信号的每个元素,在给定时间步长的值为:
1
对于一个引起上升触发的信号-1
一个触发坠落的信号2
用于函数调用事件0
在所有其他情况下
如果触发类型是消息
,端口输出从控制端口接收的消息中提取的数据。
依赖关系
若要启用此端口,请选择显示输出端口或选择消息
从触发类型列表。
数据类型:双
|int8
参数
主要
触发类型
—选择控制信号类型
不断上升的
(默认)|下降
|要么
|函数调用
|消息
选择执行子系统或模型的控制信号类型。
-
不断上升的
-
当控制信号从负值或零值上升到正值时,触发子系统或模型的执行。如果初始值为负数,则一个上升到零的信号触发执行。
-
下降
-
当控制信号从正数或零值变为负值时,触发子系统或模型的执行。如果初始值为正,则一个下降到零的信号触发执行。
-
要么
-
当控制信号上升或下降时,触发子系统或模型的执行。
-
函数调用
-
当控制端口从状态流图接收到函数调用事件时,执行子系统或模型,函数调用生成器块,功能块,或打穿越块。
-
消息
-
当消息在控制端口可用时,触发子系统的执行。
请注意
如果触发类型设置为
消息
,块必须放在子系统中。
编程使用
块参数:TriggerType |
类型:特征向量 |
价值观:“上升” |“下降” |“不是” |函数调用的 |“消息” |
默认值:“上升” |
作为Simulink函数处理
—创建Simulink功能块
从
(默认)|在
选中此参数可创建仿真软件的功能通过配置子系统块,它可以通过函数调用方的参数调用。的触发块必须驻留在子系统中。您可以编辑显示在块面上的函数原型,以指定块的输入和输出参数。
清除此参数可删除配置。
依赖关系
若要显示并启用此参数,请选择函数调用
从触发类型列表。
编程使用
块参数:IsSimulinkFunction |
类型:特征向量 |
价值观:“关闭” |“上” |
默认值:“关闭” |
异步执行函数调用
—呼叫方对调用功能的请求是否可以等待业务执行
从
(默认)|在
函数名
—为Simulink功能块指定函数名
f
(默认)|函数名
为a指定函数名仿真软件的功能块。或者,您可以通过在块表面编辑函数原型来指定名称。
-
f
-
的默认名称仿真软件的功能块。
- 函数名
-
控件表面显示的函数名仿真软件的功能块。
依赖关系
若要显示并启用此参数,请选择函数调用
从触发类型列表并选择将其视为Simulink函数复选框。
编程使用
块参数:FunctionName |
类型:特征向量 |
价值观:“f” |“<函数名称>” |
默认值:“f” |
功能可见性
-选择功能的范围可见性
作用域
(默认)|全球
|港口
选择范围仿真软件的功能块在子系统或模型中。
-
作用域
-
将功能的可访问性限制在:
包含的层次级别仿真软件的功能下面的块和层。
一级以上,有资格。
-
全球
-
可以从模型层次结构的任何部分访问的函数。
-
港口
-
函数只能通过创建的导出函数端口访问函数元素块。
依赖关系
若要显示并启用此参数,请选择函数调用
从触发类型列表,然后选择将其视为Simulink函数复选框。
编程使用
块参数:FunctionVisibility |
类型:特征向量 |
价值观:“范围” |“全球” |“端口” |
默认值:“范围” |
到端口的范围
—指定导出的功能端口名称
”
(默认)|字符向量
对于一个仿真软件的功能类创建的导出函数端口的名称函数元素块,通过它可以调用函数。
例子:“ServerPort”
依赖关系
要显示和启用此参数,请从触发类型列表中,选择函数调用
,然后选择将其视为Simulink函数复选框。然后,从功能可见性列表中,选择港口
。
编程使用
块参数:ScopeName |
类型:特征向量 |
价值观:“PortName” |
默认值:” |
启用可变条件
控制激活变量控制(条件)
在
(默认)|从
控件激活变量控件(条件)版本控制参数。
选择此参数可激活子系统的可变控制。选择此参数:
使版本控制参数。
显示一个变体徽章在块的表面上,表示启用了不同的条件。
清除此参数可禁用子系统的变体控制。
依赖关系
若要显示并启用此参数,请选择函数调用
从触发类型列表并选择作为Simulink函数处理复选框。
编程使用
块参数:变体 |
类型:特征向量 |
价值观:“关闭” |“上” |
默认值:“上” |
版本控制
-指定变量控制(条件)表达式
(继承)
(默认)|逻辑表达式
指定执行变量的变量控制(条件)表达式仿真软件的功能当表达式求值为时阻塞真正的
。
-
(继承)
-
变量控制的默认值。从对应的变量继承变量条件函数调用者模型中的块。当版本控制设置为
(继承)
的价值生成预处理器条件自动从函数调用者块。 - 逻辑表达式
-
逻辑(布尔)表达式或
仿真软件。变体
表示逻辑表达式的对象。当表达式求值为时,函数被激活
真正的
。如果您想为模型生成代码,请将表达式中的变量定义为
仿真软件。参数
对象。
依赖关系
若要显示并启用此参数,请选择函数调用
从触发类型列表中,选择将其视为Simulink函数复选框,然后选择启用可变条件复选框。
编程使用
块参数:VariantControl |
类型:特征向量 |
价值观:“(继承)” |<逻辑表达式> |仿真软件。变体object |
默认值:“(继承)” |
生成预处理器条件
-控制封闭变量的选择
从
(默认)|在
控制C预处理器条件语句中的封闭变量选择。
选择此参数可以在为ERT目标生成代码时将变量选项包含在C预处理器条件语句(#if)中。
依赖关系
要显示和启用此参数,请选择启用可变条件复选框。
编程使用
块参数:GeneratePreprocessorConditionals |
类型:特征向量 |
价值观:“关闭” |“上” |
默认值:“关闭” |
启用时的状态
—选择如何设置块状态值
举行
(默认)|重置
|继承
选择当子系统或模型被禁用时如何设置块状态值。
-
举行
-
保持块状态为当前值。
-
重置
-
重置块状态值。
-
继承
-
使用
举行
或重置
从父子系统启动函数调用进行设置。如果启动器的父节点是模型根节点,则继承的设置为举行
。如果触发器有多个启动器,请将所有启动器的父启动器设置为任意一个举行
或重置
。
依赖关系
若要启用此参数,请选择函数调用
从触发类型列表。
只有当模型显式地启用和禁用函数调用子系统时,此参数设置才会应用。例如:
函数调用子系统驻留在已启用的子系统中。在本例中,模型启用和禁用函数调用子系统以及父子系统。
控制函数调用子系统的函数调用启动器驻留在已启用的子系统中。在本例中,模型启用和禁用函数调用子系统以及启用的包含函数调用启动器的子系统。
函数调用启动器是绑定到特定状态的Stateflow事件。看到使用绑定动作控制函数调用子系统(Stateflow)。
函数调用启动器是一个s函数,它显式地启用和禁用函数调用子系统。看到
ssEnableSystemWithTid
举个例子。
编程使用
块参数:StatesWhenEnabling |
类型:特征向量 |
价值观:“持有” |“重置” |“继承” |
默认值:“持有” |
可变大小信号的传播大小
—选择何时传播可变大小的信号
在执行期间
(默认)|仅当启用时
选择何时传播可变大小的信号。
-
在执行期间
-
在每个时间步中传播可变大小的信号。
-
仅当启用时
-
在执行时传播可变大小的信号子系统块或模型块,其中包含启用港口,触发港口与触发类型设置为
函数调用
,或行动的港口块。选择此选项时,采样时间必须是周期性的。
依赖关系
查询并启用该参数触发端口块,选择函数调用
从触发类型列表。
编程使用
块参数:PropagateVarSize |
类型:特征向量 |
价值观:在执行期间的 |“仅当启用时” |
默认值:在执行期间的 |
显示输出端口
-控制输出端口显示
从
(默认)|在
用于标识触发信号或函数调用事件信号的信号的输出端口的控制显示。
选择此参数可显示输出端口,并确定触发信号或函数调用事件是由哪个信号引起的。输出端口信号的宽度是控制信号的宽度。信号值为:
1
对于一个引起上升触发的信号-1
一个触发坠落的信号2
用于函数调用事件0
在所有其他情况下
清除此参数可删除输出端口。
依赖关系
若要显示和启用此参数,请选择除消息
从触发类型列表。
编程使用
块参数:ShowOutputPort |
类型:特征向量 |
价值观:“关闭” |“上” |
默认值:“关闭” |
输出数据类型
—选择输出端口数据类型
汽车
(默认)|双
|int8
为标识触发信号或函数调用事件信号的信号选择输出端口数据类型。
-
汽车
-
数据类型与连接到输出端的端口相同。
-
双
-
双重价值。
-
int8
-
整型值
依赖关系
若要启用此参数,请选择显示输出端口复选框。
的触发块忽略数据类型覆盖设置为定点工具。
编程使用
块参数:OutputDataType |
类型:字符向量 |
值:“汽车” |“双” |“int8” |
默认的:“汽车” |
采样时间类型
—选择通话速率
触发
(默认)|周期
选择一个子系统或模型的呼叫速率。
-
触发
-
适用于没有周期性函数调用频率的应用程序。函数调用启动器可以在每个时间步执行一个触发的(非周期的)函数调用子系统一次或多次,并可以提供一系列非周期的函数调用事件。
-
周期
-
函数调用发起者在每个时间步中只能执行一次周期性函数调用系统,并且必须提供一系列周期性函数调用事件。状态流图是函数调用启动器的一个例子。
依赖关系
若要启用此参数,请选择函数调用
从触发类型列表。
编程使用
块参数:SampleTimeType |
类型:字符向量 |
值:“触发” |“周期” |
默认的:“触发” |
样品时间
—指定时间间隔
-1
(默认)|Ts
|(Ts,)
指定函数调用包含该函数的子系统或模型之间的时间间隔触发端口块。如果子系统或模型的实际呼叫速率与此参数指定的时间间隔不同,则Simulink . com®显示一个错误。
-
-1
-
从控制信号继承时间间隔。
-
Ts
-
标量,其中Ts是时间间隔。
-
(Ts,)
-
向量,其中Ts是时间间隔,To是初始时间偏移。
依赖关系
若要启用此参数,请选择函数调用
从触发类型列表和周期
从采样时间类型列表。
编程使用
块参数:SampleTime |
类型:字符向量 |
值:' 1 ' |“t” |“(Ts))” |
默认的:' 1 ' |
启用过零检测
-控制过零检测
在
(默认)|从
选择此参数检测零交叉。
依赖关系
若要启用此参数,请选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:ZeroCross |
类型:特征向量 |
价值观:“上” |“关闭” |
默认值:“上” |
初始触发信号状态
—选择触发信号的初始状态
兼容性(第一次评估时不触发)
(默认)|零
|积极的
|负
选择触发控制信号的初始状态。
-
兼容性(第一次评估时不触发)
-
第一次评估触发信号时无触发。如果您选择此选项和触发块在一个子系统中,状态被重置,块不重置。
-
零
-
零。帮助评估第一个时间步上升或下降的触发信号。
-
积极的
-
积极的价值。有助于评估在第一时间步下降的触发信号。
-
负
-
负价值。有助于评估第一时间步上升的触发信号。
依赖关系
若要显示并激活此参数,请选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:InitialTriggerSignalState |
类型:字符向量 |
值:“兼容性(第一次评估时不触发)” |“零” |“积极” |“负面” |
默认的:“兼容性(第一次评估时不触发)” |
触发时间
—指定消息输入触发子系统执行的时间
消息可用
(默认)|在采样时间命中时
对于由消息输入触发的子系统,指定执行时间。
-
消息可用
-
只要控制端口上有一个或多个消息可用,就触发子系统的执行并提取消息。
-
在采样时间命中时
-
在每个时间步中,检查控制端口上是否有消息可用。如果是这样,拉一条消息并触发子系统的执行。如果没有可用的消息,则不在该时间步执行子系统。
依赖关系
若要显示并激活此参数,请选择消息
从触发类型列表。
编程使用
块参数:TriggerTime |
类型:字符向量 |
值:“信息可用” |“在采样时间命中” |
默认的:“信息可用” |
调度为非周期分区
—选择立即执行或计划执行方式
在
(默认)|从
对于由消息可用性触发的子系统,请指定执行模式。
清除此复选框直接的方式在这种情况下,一旦控制端口上有消息可用,子系统就会立即执行,控制端口将消息推送到子系统,而不使用队列缓冲消息。
选中此复选框预定的模式,这允许子系统的执行在特定的Simulink任务之后被延迟,而保持在同一时间步。
依赖关系
若要显示并激活此参数,请选择消息
从触发类型列表,然后选择消息可用
从触发时间列表。
编程使用
块参数:ScheduleAsAperiodic |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“上” |
信号的属性
港维
—指定触发信号尺寸
1
(默认)|[n]
|(mn)
为附加在外部的触发信号指定尺寸模型块和传递到块的内部。
-
1
-
标量信号。
-
[n]
-
宽度矢量信号
n
。 -
(mn)
-
矩阵信号具有
米
行和n
列。
依赖关系
查询并启用该参数触发在模型的根级别的端口块,选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:PortDimensions |
类型:字符向量 |
值:' 1 ' |“[n]” |“(mn)” |
默认的:' 1 ' |
触发信号采样时间
—指定时间间隔
-1
(默认)|Ts
|(Ts,)
指定驱动触发信号的块方法执行之间的时间间隔。
-
-1
-
继承时间间隔。
-
Ts
-
标量,其中Ts是时间间隔。
-
(Ts,)
-
向量,其中Ts是时间间隔,To是初始时间偏移。
依赖关系
查询并启用该参数触发在模型的根级别的端口块,选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:TriggerSignalSampleTime |
类型:字符向量 |
值:' 1 ' |“t” |“(Ts))” |
默认的:' 1 ' |
最低
—指定触发信号的最小输出值
[]
(默认)| real scalar
为附加到外部的触发器信号指定最小值模型块和传递到块的内部。
Simulink使用这个值执行:
模拟范围检查。看到指定信号范围。
定点数据类型的自动伸缩。
优化生成的代码。这种优化可以删除算法代码,并影响一些模拟模式的结果,如SIL或外部模式。看到使用指定的最小值和最大值进行优化(嵌入式编码)。
-
[]
-
未指定的最小值。
- 真正的标量
-
实标量值。
依赖关系
查询并启用该参数触发在模型的根级别的端口块,选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:OutMin |
类型:字符向量 |
值:“[]” |' <真正的标量> ' |
默认的:“[]” |
最大
—指定触发信号的最大输出值
[]
(默认)| real scalar
为附加到外部的触发器信号指定最大值模型块和传递到块的内部。
Simulink使用这个值执行:
模拟范围检查。看到指定信号范围。
定点数据类型的自动伸缩。
优化生成的代码。这种优化可以删除算法代码,并影响一些模拟模式的结果,如SIL或外部模式。看到使用指定的最小值和最大值进行优化(嵌入式编码)。
-
[]
-
未指定最大值。
- 真正的标量
-
实标量值。
依赖关系
查询并启用该参数触发在模型的根级别的端口块,选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:OutMax |
类型:字符向量 |
值:“[]” |' <真正的标量> ' |
默认的:“[]” |
数据类型
—选择触发信号的输出数据类型
双
(默认)|单
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|布尔
|fixdt (16)
|fixdt (1 16 0)
|fixdt(2 ^ 1, 16日,0)
|<数据类型表达式>
为附加在外部的触发器信号选择数据类型模型块和传递到块的内部。
-
双
-
双精度浮点。
-
单
-
单精度浮点。
-
int8
-
带符号的8位整数。
-
uint8
-
无符号8位整数。
-
int16
-
带符号的16位整数。
-
uint16
-
无符号16位整数。
-
int32
-
带符号的32位整数。
-
uint32
-
32位无符号整数。
-
int64
-
带符号的64位整数。
-
uint64
-
无符号64位整数。
-
布尔
-
的布尔值
真正的
或假
。 -
fixdt (16)
-
带符号的16位定点数,二进制点未定义。
-
fixdt (1 16 0)
-
带符号的16位不动点数,二进制点设为零。
-
fixdt(2 ^ 1, 16日,0)
-
带符号的16位不动点数,斜率设为
2 ^ 0
偏见设置为0
。 -
<数据类型表达式>
-
例如,数据类型对象
仿真软件。NumericType
。不能输入仿真软件。公共汽车
对象作为数据类型表达式。
依赖关系
查询并启用该参数触发在模型的根级别的端口块,选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:OutDataTypeStr |
类型:字符向量 |
值:“双” |“单一” |“int8” |“uint8” |“int16” |“uint16” |“int32” |“uint32” |“int64” |“uint64” |“布尔” |“fixdt(16)” |“fixdt(0) 1, 16日” |“fixdt(1, 16日2 ^ 0,0)” |'<数据类型表达式>' |
默认的:“双” |
模式
—选择数据类型类别
建在
(默认)|不动点
|表达式
选择数据类型类别并显示下拉列表,以帮助您定义数据类型。
-
建在
-
显示数据类型和的下拉列表数据类型覆盖。
-
不动点
-
显示下拉列表Signedness,扩展,数据类型覆盖。
-
表达式
-
显示输入表达式的文本框。
依赖关系
要启用此参数,请选择“显示数据类型助手”按钮。
编程使用
没有等价的命令行参数。
插入数据
-控制如何估计丢失的工作区数据
On(默认)| off
控制从MATLAB加载数据时如何估计丢失的工作区数据®工作区。
选择此参数可在不存在相应工作空间数据的时间步对输出进行线性插值。
清除此参数可将这些时间步上的输出设置为数据存在的最近时间步上的输出。
依赖关系
查询并启用该参数触发在模型的根级别的端口块,选择不断上升的
,下降
,或要么
从触发类型列表。
编程使用
块参数:插入 |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“上” |
模型的例子
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。
HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。另请参阅HDL代码生成。
这个块有一个默认的HDL架构。
您不能为触发器块生成HDL代码触发类型设置为函数调用
或消息
。
PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。
定点转换
使用定点设计器设计和模拟定点系统。
版本历史
R2006a之前介绍过
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。