
MAABSIMULINK积分器相关操作.pdf
16页MATLAB SIMULINK Integrator, Integrator Limited –积分,积分限制器 积分信号 库 连续 说明 Integrator 块输出 在其输入端的 在当前时间步的 中积分 Integrator Limited 块是相同于 Integrator 块的 ,模块的输出被限制的限和下部饱和极限的异常积分的详细信息,请参阅See 下面的公式表示的模块将 y 作为其输入的 u 函数的输出 和一个初始条件哟,其中 y 和 u 是当前模拟时间 t 的矢量函数 Simulink 软件可以根据每个在特定的应用程序中的优点,使用许多不同的数值积分方法来计算积分器块的输出 使用的配置参数 对话框中的 规划求解 (见 ) ,选择最适合您的应用程序的技巧 Simulink 的Integrator 块的一个状态,它的输出是一个动态的系统 Integrator 的输入是时间导数的状态 所选择的解算器,Integrator块使用当前的输入值和在先前时间步长的值的状态下,计算在当前时间步 中的输出为了支持这一计算模型,Integrator块将其输出保存在当前的时间步长 并用于解算器在下一时间步长下计算其输出。
块还提供求解器 与模拟运行的开始计算 的初始状态中使用的初始条件初始条件的默认值是 0块的参数对话框允许你指定 另一个初始条件值 ,或创建一个初始值输入端口 使用参数“对话框中: : 定义上 积分的上限和下限 创建一个输入块的复位输出(state) ,其初始值,这取决于如何输入 创建一个可选的状态,使输出块的输出值可以触发块复位 使用Discrete-Time Integrator 块来创建一个纯粹的离散系统 定义初始条件 您可以定义块对话框或 从外部的信号输入 它们作为参数的初始条件 要定义一个块参数的初始条件,指定 Initial condition source参数为internal和输入Initial condition 的值 从外部源提供的初始条件,指定Initial condition source参数为external额外的输入端口会出现在模块上,输入 注意,如果积分限制了它的输出(请参阅限制积分) ,初始条件必须在积分器的饱和极限内如果初始条件是块的饱和极限以外,该块将显示一个错误消息 限制积分 为了防止输出超过可指定的水平,选择限制输出“复选框,并输入适当的参数字段的限值。
此操作将导致该块作为有限的积分器当输出达到极限,积分作用被关闭,以防止超过积分限值 在仿真过程中,你可以改变的极值,但你不能改变 输出是否被限制该块确定输出如下: 当积分输出是小于或等于Lower saturation limit, 输出被保持在Lower saturation limit. 当积分输出在Lower saturation limit和Upper saturation limit,输出是积分值 当积分输出是大于或等于the Upper saturation limit ,输出被保持在Upper saturation limit. 要产生一个信号,表明被限制时的状态,选择“Show saturation port ”复选框 一个饱和端口出现下面的块输出端口 该信号具有三个值中的一个: 1 表明的上限被施加 0 表示积分并不限制 -1 表示的下限被应用 当您选择此复选框后,该块有三个零交叉点:一,当它检测到进入上 饱和 的限制, ,当它检测进入下饱和度的限制, 当它检测离开饱和 注意:对于Integrator Limited 块,Limit output被选中,默认情况下,Upper saturation limit设置为 1,Lower saturation limit设置为 0。
重置状态 该块在指定的初始条件下,基于外部信号,可以复位其状态为了使块重设其状态,选择一个External reset一个的触发端口出现以下模块的输入端口,并指示触发类型 选择rising 到复位状态, 当信号从零到一个正值, 或从负上升到一个正值 时复位 选择falling 到复位状态,当 信号落在从正值到零或从正值变为负值时复位 选择either 状态,当复位信号的变化从零到一个非零值或有变化迹象时复位 选择level 状态复位状态, 当复位信号在 当前时间步长或从非零改变时 为非零值,在先前时间步长到在当前时间步骤中为零 选择hold 复位状态,当复位信号是在当前时间步长为非零时复位 复位端口直接馈通 如果该块的输出反馈到这个端口, 可 直接馈通, 导致一个代数环 (见) 使用的Integrator块的状态反馈到块的输出端口,而无需创建一个代数环 注意: 要符合汽车工业软件可靠性协会(MISRA)软件标准,你的模型必须使用布尔信号,以驱动外部复位端口的Integrator块 关于状态端口 Integrator模块的参数对话框中选择Show state port复选框会导致额外的输出端口, 状态端口,出现在Integrator 模块的顶部 除了下面的情况下的模块的标准输出端口的输出, 的状态端口的输出是相同的。
如果在当前时间步中 该块复位状态端口的输出是有出现的值,如果该块没有被复位,该值在块的标准输出状态端口的输出 比Integrator模块的输出端口的输出 出现比较早的时间步长使用状态的端口,可以在这些模拟场景 避免产生代数环: 自复位积分器(请参阅) 移交启用子系统之间 (见) 注意:当更新模型,仿真检查,状态端口适用于以下两种情况之一如果没有,会出现错误讯息此外,您在加速模式下执行一个参考模型无法登录这个端口的输出如果启用了日志记录的端口,在执行过程中的参考模型,仿真生成一个“警告信号”. 创建自复位积分器 Integrato模块的状态端口其有输出的值时,可以考虑在创建一个积分器复位的基础上,帮助你避免代数环例如,下面的模型 这种模式试图创建一个自复位积分器的反馈, 负反馈 1, 积分器的输出到积分器的复位端口然而,该模型创建一个代数环要计算积分器的输出,Simulink 软件需要知道块的复位信号,反之亦然由于这两个值是相互依存的,Simulink 软件不能确定因此,出现错误讯息,如果你尝试 更新模型 下面的使用积分器的端口,以避免代数环 在这个版本中, 该复位信号的值取决于的状态端口的值。
提供的状态端口的值是在当前时间步 中integrator块的输出端口的值因此,仿真可确定该块是否需要被复位之前,计算块的输出,从而避免了代数环 传递启用子系统之间的状态 传递两个已启用的子系统之间的状态时,可以考虑用状态端口,帮助你避免代数环例如,下面的模型 启用的子系统,A,B,包含以下块: A子系统 B子系统 A子系统 B子系统 在这个模型中,一个常量的输入积分的信号‘驱动两个已启用的子系统脉冲发生器产生一个有效的信号,使在执行两个子系统之间传递每个子系统的端口被设置为复位,这将导致子系统重置积分器时,它变得活跃重置积分,在其初始条件端口,使积分器读值每个子系统中的积分器的初始条件端口 被连接到 其他子系统中的积分器的输出端口 这种连接的目的是使两个子系统之间的的积分信号的执行的交替变化作为输入 因此, 连接创建一个代数环A 仿真需要知道 B 的输出,反之亦然因为输出是相互依存的,不能计算Simulink 的输出值因此,出现错误讯息,如果你尝试更新模型 以下使用相同型号的积分状态端口,以避免创建一个代数环时 启用的子系统,A,B,包含以下块: A B A B 在这个模型中,在 A 中的积分器的初始状态的值依赖于端口 B 中的积分器状态,反之亦然。
前面的积分器 的输出端口的模拟时间步长的值被状态端口更新因此,仿真不知道其他积分器的最终输出值的情况下,可以计算任意积分器的初始条件有关使用状态端口之间,有条件关闭状态 地执行子系统的另一个例子,请参阅 模型 注意:Simulink 中不允许三个或更多子系统模型启用状态传递如果检测仿真模型有两个以上子系统被传递的状态,它会产生一个错误 指定块输出的绝对公差为 默认情况下 Simulink 软件使用绝对公差值中指定的配置参数“对话框中(请参阅)来计算输出的积分器块如果这个值不能提供足够的误差控制,在Integrator块的Absolute tolerance对话框中,指定一个更合适的值您指定的值是用来计算所有的块输出 选择全部选项 当您选择所有选项,块图标看起来是这样的 数据类型支持 Integrator模块的数据端口接收和输出 double 类型信号外部复位端口接收double或Booln.类型的信号 参数和对话框 External reset 当触发事件发生时,触发复位信号, ,其初始条件复位 设置 默认值:none none 不要复位状态的初始条件 rising 复位状态的复位信号,从零到一个正值,或从负上升到一个正值。
falling 复位时的状态的复位信号 落在 从正值到零 或从正值变为负值 either 复位状态,当复位信号的变化从零到一个非零值或更改 level 复位状态,当复位信号在 当前时间步长或从非零改变时 为非零值,在先前时间步长到在当前时间步骤中为零 level hold 当复位信号为非零值在当前时间步长,复位状态 命令行信息 命令行信息请参阅 Initial condition source 获得初始条件的状态 设置 默认值:internal internal 从Initial condition参数获得初始条件的状态 external 从块的一个外部端口获取初始条件的状态 提示 Simulink 软件不允许块的初始条件是 INF 或 NaN 依存关系 选择internal,启用Initial condition参数 选择external禁用Initial condition参数 命令行信息 命令行信息请参阅 Initial condition 指定 初始条件的状态 设置 默认:0 提示 Simulink 软件不允许块的初始条件 是 INF 或 NaN 依存关系 Initial condition source 设置为interna ,启用此参数。
Initial condition source 设置为external ,禁用此参数 命令行信息 命令行信息请参阅 Limit output 块的输出 限制在 Lower saturation limit和Upper saturation limit参数之间的一个值 设置 默认:Off On 块的输出 限制在 Lower saturation limit和Upper saturation limit参数之间的一个值 Off 块的输出 不限制在 Lower saturation limit和Upper saturation limit参数之间的一个值 依存关系 此参数可使用Upper saturation limit. 此参数可使用Lower saturation limit. 命令行信息 命令行信息请参阅 Upper saturation limit 指定的积分的上限 设置 默认:inf Minimum: 输出Output minimum参数值 Maximum: 输出Output maximum参数值 依存关系 Limit output 启用此参数. 命令行信息 命令行信息请参阅 Lower saturation limit 指定的积分的下限 设置 默认:-inf Minimum: 输出Output minimum参数值 Maximum: 输出Output maximum参数值 依存关系 Limit output启用此参数.. 命令行信息 命令行信息请参阅 Show saturation port 模块添加饱和输出端口。
设置 默认:Off On 模块添加饱和输出端口 Off 模块不添加饱和输出端口Do not add a saturation output port to the block. 命令行信息 命令行信息请参阅 Show state port 模块添加一个输出状态端口 设置 默认:Off On 模块添加一个输出状态端口 Off 模块不添加一个输出状态端口 命令行信息 命令行信息请参阅 Absolute tolerance 指定的绝对公差计算块状态 设置 默认:auto 您可以输入auto,-1,一个实数的标量,一个实数的向量 如果你输入auto或-1,那么 Simulink 使用absolute tolerance对话框中的配置参数(见)来计算块状态 如果你输入一个实数的标量,则该值会覆盖 “absolute tolerance对话框中的配置参数差来计算所有块的状态 如果你输入一个实数的向量,那么矢量的维度必须符合模块的维度这些值会覆盖absolute tolerance对话框的配置参数 命令行信息 命令行信息请参阅 Ignore limit and reset when linearizing Simulink 的线性化命令来处理这个导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制, 。
设置 默认:Off On Simulink 的线性化命令来处理这个导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制, Off Simulink 的线性化命令来处理这个不导致不可复位的模块, 无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制, 提示 使用此复选框周围的操作点,使积分器重新设置或饱和线性化模型 命令行信息 命令行信息请参阅 Enable zero-crossing detection 选择启用过零检测有关详细信息,请参阅. 设置 默认:On On 以下事件启用过零 检测, :重新设置的时间步长,上饱和状态的进入或离开和下饱和状态的进入或离开 Off 以下事件不启用过零 检测, :重新设置的时间步长,上饱和状态的进入或离开和下饱和状态的进入或离开 如果您的模型作为一个整体选择此Limit output复选框和过零检测, 积分器块启用过零检测 命令行信息 命令行信息请参阅 State Name ., 'position') 分配给每个状态下一个唯一的名称 设置 默认:' ' 如果此字段是空白的,没有名字分配。
提示 要指定一个单一的状态的一个名称, ,引号之间输入名称,例如,'velocity' 要分配到多个状态的名称, 输入一个逗号分隔的列表, 用括号括起来, 例如, {'A','B','C'}每个名称都必须是唯一的 状态名称仅适用于选定的块 必须清除的状态名称之间的状态数 您可以指定比状态数量较少的状态名字,但你不能指定多与状态数的名称 例如,您在一个系统中可以指定两个名字,有四个状态第一个名称适用于前两种状态,第二个名字是最后两个状态的名字 分配状态名称与 MATLAB 工作空间中的变量,输入不带引号的变量变量可以是一个字符串,单元阵列或结构 命令行信息 命令行信息请参阅 实例 下面的演示模型显示如何使用 Integrator 模块: sldemo_hardstop sldemo_suspn sldemo_wheelspeed_absbrake 特性 Direct Feedthrough 直接馈通 Yes, 复位和外部的初始条件源端口 Sample Time 采样时间 连续 Scalar Expansion 标量扩展 Yes, 参数 States 状态 继承自驱动模块或参数 Dimensionalized 量纲化 Yes Multidimensionalized 多量纲化 No Zero-Crossing Detection 过零检测 Yes, 如果启用,选择 Limit output 复选框,一个用于检测复位,一个检测上,下饱和度的限制,和一个在离开饱和度时 另请参阅 1sxox(t)-K-uv/D^2multiplei(t)1-(2*u-1)^20f(x(t))elseif { }In1Out1elseif Action2elseif { }In1Out1elseif Action1else { }In1Out1else Ation0.2X02Vol-2VohSubtractSine WaveScope1Scope100RonR1/Rm12000R116000R0ffProductMergeMergeif { }In1Out1If Action u1u2if(u1 < -5)elseif(u1< 5&u2 >= 0)elseif( u1< 5&u2 <= 0)elseIfDividedu/dtDerivative1ConstantAdd1+R1/Rmi(t)dx/dtVo(t)VpdUi(t)/dtVi(t) 。












