Simulink-PS Converter
将 Simulink 输入信号转换为物理信号
库:
Simscape /
Utilities
描述
Simulink-PS Converter 模块将 Simulink® 输入信号转换为物理信号。使用此模块可将 Simulink 源或其他 Simulink 模块连接到 Simscape™ 物理网络的输入。
模型画布上的模块图标显示
为了在占用最小画布空间的同时显示信号转换,此模块的图标会根据模块是否连接到其他模块而动态变化。
当模块…… | 模块图标 |
---|---|
未连接时 |
|
连接到其他模块时 |
|
模块图标还会根据输入滤波阶数参数的值而变化,以指示是否对输入信号应用滤波。
输入滤波阶数 | 未连接的模块图标 | 已连接的模块图标 |
---|---|---|
一阶滤波 |
|
|
二阶滤波 |
|
|
单位转换和检查
Simscape 单位管理器自动处理物理网络内的单位传播和检查,并执行必要的单位转换运算。
Simulink-PS Converter 模块的输出端口处的物理信号作为该模块所连接的 Simscape 物理网络的输入信号。物理信号单位必须与目标模块的输入端口(即连接到 Simulink-PS Converter 模块的输出端口的输入端口)预期的单位相称。
Simulink 信号单位不会传播到物理网络中。输入信号单位参数可用于为输入信号值指定物理单位,使 Simscape 单位管理器可以执行必要的单位转换并相应地缩放输出物理信号。
注意
如果您还指定物理单位作为连接到模块输入端口的 Simulink 信号的属性,则软件会检查这两个单位是否匹配。有关详细信息,请参阅Working with Simulink Units。
换句话说,输入信号单位参数不会确定输出物理信号的单位,它仅提供一个缩放值。输出物理信号单位是从目标模块推断出来的。默认目标模块单位为米千克秒 (MKS) 公制单位。如果您将 Simulink-PS Converter 模块设置为无单位,并将输入信号单位参数设置为 1
,则该模块不会对输入信号应用缩放。如果您指定不同的单位,与目标模块输入的预期默认单位相称,则单位管理器会将这些单位附加到 Simulink 输入信号值,并在向目标模块提供信号时执行必要的单位转换。
在下图中,Ideal Torque Source 模块期望在其 S 端口上接收扭矩信号(单位为 N*m)。Constant 源模块提供该输入信号的值。如果您将 Simulink-PS Converter 模块设置为无单位,则 Ideal Torque Source 模块将产生 1000 N*m 的扭矩。选择此示例中其他模块的参数是为了使 Ideal Torque Sensor 模块的输出值等于 Ideal Torque Source 模块产生的扭矩,因此 Display 模块将值显示为 1000。如果您将 Simulink-PS Converter 模块中的输入信号单位参数值更改为 N*cm
,则单位管理器将执行转换,并且 Ideal Torque Source 模块将产生 10 N*m 的扭矩;Display 模块中的扭矩值更改为 10,如下图所示。
当输入信号与热力学变量相关且包含温度单位时,您必须决定是否需要应用仿射转换。有关详细信息,请参阅When to Apply Affine Conversion。通常,如果输入信号表示相对温度,即温度的变化,则您需要应用线性转换 ΔTnew = L * ΔTold(默认方法)。但是,如果输入信号表示绝对温度,则您需要应用仿射转换 Tnew = L * Told + O。
例如,在下图所示的 Simulink-PS Converter 模块中,如果您在输入信号单位字段中键入 degC
,并选中应用仿射转换复选框,则 Ideal Temperature Source 模块产生的温度等于 293.15 K。但是,如果您清除应用仿射转换复选框,则 Ideal Temperature Source 模块的输出为 20 K。
注意
非类型化输入不支持仿射单位。如果您在 Simulink-PS Converter 模块中指定仿射单位,然后将其直接连接到非类型化输入端口,则系统会将信号值转换为相应的基本单位,并使用该值执行进一步的数学运算。
输入处理
对模型进行仿真时,您可能需要提供某些输入信号的时间导数,特别是在使用显式求解器时。提供必要输入导数的一种方法是通过低通滤波器对输入进行滤波。输入滤波使输入信号更平滑,并且通常会提高模型性能。还有一个好处是,Simscape 引擎会计算滤波后的输入的时间导数。一阶滤波器提供一个导数,而二阶滤波器提供一阶和二阶导数。如果使用输入滤波,选择适当的滤波器时间常数值非常重要。
滤波器时间常数控制输入信号的滤波。滤波后的输入会随着真实输入的变化而变化,但经过了平滑处理,其滞后的程度主要由您选择的时间常数决定。将时间常数设置为不大于您感兴趣的系统中的最小时间间隔值。如果您选择的时间常数非常小,则滤波后的输入信号更接近真实的输入信号。但是,这种滤波后的输入信号会增加系统的刚度并减慢仿真速度。
您可以不使用输入过滤,而是直接提供输入信号的时间导数,作为附加 Simulink 信号。如果提供的导数与输入信号不一致,则仿真过程中的某些量可能不正确。
对于分段常数信号,您还可以将输入导数显式设置为零。对于真正的分段常数信号(如阶跃),请使用此选项。如果您的连续输入信号是用离散采样时间采样的,则将输入导数设置为零可能会产生错误的仿真结果。您可以使用另外两个选项之一:对输入进行滤波或提供时间导数作为单独的信号。
示例
端口
输入
输出
参数
扩展功能
版本历史记录
在 R2007a 中推出