主要内容

金宝appSimulink.sdi.Signal

信号数据和元数据的访问

描述

一个金宝appSimulink.sdi.Signal对象包含数据和元数据的一个信号仿真数据检查。您可以使用信号对象属性检查信号元数据、可视化信号时间的情节,并比较使用的信号金宝appSimulink.sdi.compareSignals函数。

创建

一个金宝appSimulink.sdi.Signal对象为每个信号登录创建一个模型模拟或导入仿真数据检查员。您可以访问信号对象的仿真数据检查员几个方面。一般来说,访问信号对象,首先需要得到金宝appSimulink.sdi.Run对象包含信号。

  • 金宝appSimulink.sdi.getSignal函数返回一个信号对象对应于您提供的信号ID。

  • getSignal函数的作用是:返回信号对象与指定的信号在指定的ID运行对象。

  • getSignalByIndex函数的作用是:返回信号在指定对象的指定索引运行对象。

属性

全部展开

信号特性

这个属性是只读的。

独特的识别信号,作为一个整数返回。仿真数据检查员分配一个唯一的数字ID每次运行和信号。

这个属性是只读的。

标识符跑包含信号,作为一个整数返回。仿真数据检查员分配一个唯一的数字ID每次运行和信号。

信号的名称指定为一个特征向量或一个字符串。当信号从仿真对象包含的数据记录,指定的名称匹配名称的信号模型。如果模型没有指定名称、信号的名字是块路径块产生的信号。

例子:“燃料”

信号类型,指定这些选项之一:

  • “信号”——信号测井资料。

  • “输出港”——输出日志数据。

  • “州”——状态日志数据。

  • 的数据存储内存——数据存储内存日志数据。

  • “Parametrs”——登录参数数据。

  • “Stateflow”——Stateflow®数据。

  • “Simscape”——Simscape™数据。

  • “评估”- - - - - -金宝app®测试™评估数据。

  • “分析”——执行分析数据。

属性是空的数据不是由测井模拟数据。

描述信号,指定为一个特征向量或一个字符串。您可以使用描述属性注释信号或识别信号以外的内容的名字。当你日志Simscape数据仿真数据检查,描述属性为每个节点自动填充。

这个属性是只读的。

单位的信号数据存储在磁盘上,指定为一个特征向量或一个字符串。信号从模拟模型,生成的存储单元信号使用单位指定的模型对象。当您指定显示单位为一个信号没有单位,同一单位用于设置存储单位。分析使用不同的信号与另一个单位,修改显示设备的信号。仿真数据检查员执行转换使用显示绘制数据单位。

您可以转换信号使用的存储单元convertUnits函数。存储单位转换不支持撤销和可能导致精度损失。金宝app

例子:“g / s”

单位用于显示信号数据的模拟数据检查,指定为一个特征向量或一个字符串。信号的显示单位可能不同于存储单位,反映了数据存储在磁盘上。修改信号显示单元仿真数据分析数据的检查员。单位偏好在仿真数据检查员不得更改记录的显示设备和进口信号数据。有关更多信息,请参见信号显示设备

例子:“米/秒”

这个属性是只读的。

数据类型的信号数据,作为一个特征向量或字符串返回。

例子:“双”

这个属性是只读的。

复杂的信号数据,返回“真正的”“复杂”

例子:“真正的”

这个属性是只读的。

信号采样时间,作为一个特征向量或返回标量。的值“连续”表明了变步模拟。

例子:“连续”

例子:“0.1”

这个属性是只读的。

产生信号的模型,作为一个特征向量返回。的模型属性是空的信号对象包含的数据不是由模拟模型。

例子:“sldemo_fuelsys”

这个属性是只读的。

块路径产生的信号,作为一个字符数组返回。的BlockPath房地产是一个相对路径,不包括模型层次结构。的BlockPath属性是空的信号对象包含的数据不是由模拟模型。

例子:sldemo_fuelsys /发动机气体动力学的

这个属性是只读的。

完整块路径产生的信号,包括完整的模型层次结构,作为一个特征向量返回。在参考信号模型,FullBlockPath细胞是一个数组,其中包含的完整路径。对其他信号,FullBlockPath是一样BlockPath。的FullBlockPath属性是空的信号对象包含的数据不是由模拟模型。

这个属性是只读的。

产生信号的块,作为一个特征向量返回。的BlockName属性是空的信号对象包含的数据不是由模拟模型。

例子:发动机气体动力学的

这个属性是只读的。

指数的输出端口连接到信号块产生的信号。的PortIndex属性是空的信号对象包含的数据不是由模拟模型。

例子:1

这个属性是只读的。

信号的维度,作为一个整数或整数数组返回。

例子:(1 2)

这个属性是只读的。

信号在一个矩阵的指数,作为一个整数数组返回。

这个属性是只读的。

信号的样本数量,返回一个整数。

时间和数据值的信号,作为一个返回timeseries对象non-bus信号或结构匹配总线信号的总线的层次结构。

这个属性是只读的。

高层结构的名称包含返回的信号,作为特征向量。的RootSource对进口信号的属性只有值。

例子:当你导入金宝appSimulink.SimulationOutput对象simOut包含结构xout,RootSource“simOut.get (xout)”

这个属性是只读的。

路径信号时间数据,作为一个特征向量返回。的TimeSource对进口信号的属性只有值。

例子:当你导入金宝appSimulink.SimulationOutput对象simOut包含结构xout,TimeSource“simOut.get (xout) .time”

这个属性是只读的。

路径信号样本值,作为一个字符数组返回。的数据源对进口信号的属性只有值。

例子:当你导入金宝appSimulink.SimulationOutput对象simOut包含结构xout,数据源“simOut.get (xout) .signals (1) . values”

这个属性是只读的。

信号所包含的复合信号,返回金宝appSimulink.sdi.Signal对象。的孩子们属性是空的标量信号。

扩展用于显示信号数据的模拟数据检查,指定为一个真正的非零常数。显示比例充当一个乘数,允许您扩展个人的外观检查员在模拟信号数据。缩放显示不会改变信号的数据值。根据可视化类型信号尺度不同。

可视化 扩展
时间曲线图 一个单独的信号显示在规模y方向。
微线图 一个单独的信号显示在规模y方向。
XY 信号显示y方向和x独立的方向。
数组 规模多维信号的每个元素显示在相同的方式y方向。
地图 规模独立信号显示在纵向和纬向的方向。请注意,这允许您将其他单位转换为经度和纬度。

抵消仿真数据用于显示信号数据的检查员,指定为一个真正的标量。显示抵消允许你改变的外观检查员单个信号的仿真数据。抵消不改变显示数据值的信号。根据可视化类型信号变化不同。

可视化 扩展
时间曲线图 一个单独的信号显示在转变y方向。
微线图 一个单独的信号显示在转变y方向。
XY 信号显示在转变y方向和x独立的方向。
数组 将每个元素的多维信号显示在相同的方式y方向。
地图 转变信号显示在纵向和纬向独立的方向。

可视化属性

复杂的格式用于显示复杂信号仿真数据中的数据检查员,指定为以下值之一。您可以修改ComplexFormat财产的信号对象改变时仿真数据检查显示信号数据对象包含数据的复杂信号。

  • “real-imaginary”——信号的真实和虚构的组件显示在一起当你画出信号。的虚分量信号用不同阴影的绘制线颜色

  • “级”——信号的大小显示当你画出信号。

  • “magnitude-phase”的大小和相位信号显示在一起当你画出信号。

  • “阶段”——信号的相位显示当你画出信号。阶段与不同阴影的绘制线颜色

数据类型:字符|字符串

信号是否策划,指定为一个逻辑值。设置检查清除信号从所有次要情节。设置检查真正的情节上的信号活跃的次要情节。

数据类型:逻辑

颜色信号的情节,指定为一个1——- - - - - -3RGB向量之间的值01

例子:[0 0.5 - 0.5)

数据类型:

信号时线条样式使用信号绘制仿真数据检查,指定为这些选项之一:

  • “- - -”——固体

  • “——”——冲

  • “:”——点缀

  • “-”。——Dash-dotted

信号的线宽时使用的信号绘制仿真数据检查,指定为之间的一个整数120.、包容。

插值法用于数据可视化和同步的步骤比较,指定为以下值之一:

  • “zoh”——零保持插值

  • “线性”——线性插值

  • “没有”——没有插值

关于插值选项的更多信息,请参阅仿真数据检查比较如何

比较性能

绝对宽容用在信号比较,指定为positive-valued标量。

仿真数据检查员使用公差基准信号的信号属性中指定的OverrideGlobalTol属性设置为1真正的。关于公差的更多信息在仿真数据检查,看看仿真数据检查比较如何

例子:0.1

数据类型:

相对公差使用信号比较,指定为positive-valued标量。相对公差表示为一个分数乘数。例如,0.1指定了一个10%的公差。

仿真数据检查员使用公差基准信号的信号属性中指定的OverrideGlobalTol属性设置为1真正的。关于公差的更多信息在仿真数据检查,看看仿真数据检查比较如何

例子:0.05

数据类型:

时间对信号用于信号比较,指定为positive-valued标量。指定时间公差以秒为单位。

仿真数据检查员使用公差基准信号的信号属性中指定的OverrideGlobalTol属性设置为1真正的。关于公差的更多信息在仿真数据检查,看看仿真数据检查比较如何

例子:0.1

数据类型:

是否比较使用信号公差值而不是全局公差值,指定为一个逻辑值。设置OverrideGlobalTol财产1真正的使用中定义的公差值信号对象属性。将属性设置为0使用全局公差值。

关于公差的更多信息在仿真数据检查,看看仿真数据检查比较如何

数据类型:逻辑

方法同步信号比较,指定为“联盟”“十字路口”。关于同步选项的更多信息,请参阅仿真数据检查比较如何

对象的功能

convertUnits 单位的转换金宝appSimulink.sdi.Signal对象
出口 出口数据信号的仿真数据检查员工作区或文件
getAsTall 创建高的时间表金宝appSimulink.sdi.Signal对象
plotOnSubPlot 情节金宝appSimulink.sdi.Signal对仿真数据对象检查员次要情节

例子

全部折叠

您可以通过编程方式指定信号公差值用于比较使用模拟数据进行督察。在本例中,您比较收集的数据模拟的模型飞机纵向飞行控制系统。每个模拟使用不同的值输入滤波器时间常数和日志输入和输出信号。你分析的影响时间常数变化通过比较使用仿真数据结果检查员和信号公差。

首先,负载的会话文件包含仿真数据。

金宝appSimulink.sdi.load (“AircraftExample.mldatx”);

会话文件包含四分。在本例中,您比较的数据文件中的第一个2分。访问金宝appSimulink.sdi.Run对象为前两个从文件加载运行。

runIDs = 金宝appSimulink.sdi.getAllRunIDs;runIDTs1 = runIDs (end-3);runIDTs2 = runIDs (end-2);

现在,比较两个运行不指定任何公差。

noTolDiffResult = 金宝appSimulink.sdi.compareRuns (runIDTs1 runIDTs2);

使用getResultByIndex函数来访问的比较结果α信号。

qResult = getResultByIndex (noTolDiffResult, 1);alphaResult = getResultByIndex (noTolDiffResult 2);

检查状态每个信号的结果是否比较结果落在我们的宽容。

qResult.Status
ans = ComparisonSignalStatus枚举OutOfTolerance
alphaResult.Status
ans = ComparisonSignalStatus枚举OutOfTolerance

使用的比较值0对于所有的公差,所以OutOfTolerance结果意味着信号并不相同。

您可以进一步分析时间常数的影响通过指定公差值信号。指定公差通过设置的属性金宝appSimulink.sdi.Signal对应于信号相比较的对象。比较使用指定的公差基准信号。本例中指定一个时间宽容和绝对宽容。

指定一个宽容,第一次访问信号对象从基线运行。

runTs1 = 金宝appSimulink.sdi.getRun (runIDTs1);qSig = getSignalsByName (runTs1,“问,rad /秒”);alphaSig = getSignalsByName (runTs1,“α,rad”);

指定一个绝对的宽容0.1和时间的宽容0.6信号使用AbsTolTimeTol属性。

qSig。一个bsTol = 0.1; qSig.TimeTol = 0.6;

指定一个绝对的宽容0.2和时间的宽容0.8α信号。

alphaSig。AbsTol= 0.2; alphaSig.TimeTol = 0.8;

比较结果。访问的结果比较和检查状态属性为每个信号。

tolDiffResult = 金宝appSimulink.sdi.compareRuns (runIDTs1 runIDTs2);qResult2 = getResultByIndex (tolDiffResult, 1);alphaResult2 = getResultByIndex (tolDiffResult 2);qResult2.Status
ans = ComparisonSignalStatus枚举WithinTolerance
alphaResult2.Status
ans = ComparisonSignalStatus枚举WithinTolerance

这个例子展示了如何获得金宝appSimulink.sdi.Signal使用模拟对象和修改其属性数据检查员编程接口。

创建数据的仿真数据检查员

当你日志数据的模拟模型,创建一个运行的仿真数据检查员包含记录的数据。您还可以创建一个运行在检查员的仿真数据导入数据。这个例子模拟slexAircraftExample模型中的数据和日志数据集格式。

simOut = sim卡(“slexAircraftExample”,“SaveFormat”,“数据集”);

得到一个金宝appSimulink.sdi.Signal对象

编程式模拟在工作区中返回记录的数据变量simOut。您可以访问变量的记录数据。然而,使用仿真数据检查员编程接口,您需要访问记录的数据金宝appSimulink.sdi.Run金宝appSimulink.sdi.Signal对象。

首先,使用金宝appSimulink.sdi.getCurrentSimulationRun得到运行当你模拟创建对象slexAircraftExample模型。

aircraftRun = 金宝appSimulink.sdi.getCurrentSimulationRun (“slexAircraftExample”);

您可以使用getAllSignals函数来访问信号对象中的所有信号。从返回的数组信号对象,选择第一个信号。

信号= getAllSignals (aircraftRun);sig =信号(1);

修改信号属性

金宝appSimulink.sdi.Signal对象的属性指定的选项比较和可视化的信号。指定一个线条样式和颜色的信号。然后,使用金宝appSimulink.sdi.setSubPlotLayout配置仿真数据检查显示一个次要情节,和使用plotOnSubPlot函数来绘制信号。

sig.LineColor = 0.4 - 0.6 [1];sig.LineDashed =“- - -”;金宝appSimulink.sdi.setSubPlotLayout (1, 1) plotOnSubPlot (sig, 1, 1,真的)

使用金宝appSimulink.sdi.view函数打开仿真数据检查器和视图绘制信号。

您可以使用模拟数据检查员在单个运行程序化接口比较信号。这个例子比较了飞机纵向控制器的输入和输出信号。

首先,包含装载会话数据。

金宝appSimulink.sdi.load (“AircraftExample.mldatx”);

使用金宝appSimulink.sdi.Run.getLatest函数来访问的最新运行数据。

aircraftRun = 金宝appSimulink.sdi.Run.getLatest;

然后,您可以使用金宝appSimulink.sdi.getSignalsByName函数来访问坚持代表的输入信号控制器,和α,rad代表输出信号。

坚持= getSignalsByName (aircraftRun,“坚持”);α= getSignalsByName (aircraftRun“α,rad”);

你比较的信号之前,您可以指定一个公差值用于比较。比较使用指定公差值的基线信号比较,所以设置一个绝对的公差值0.1坚持信号。

棍子。一个bsTol = 0.1;

现在,比较信号使用金宝appSimulink.sdi.compareSignals函数。的坚持信号基线,α,rad信号是信号对基线进行比较。

comparisonResults = 金宝appSimulink.sdi.compareSignals (stick.ID alpha.ID);匹配= comparisonResults.Status
= ComparisonSignalStatus枚举OutOfTolerance相匹配

比较结果是宽容。您可以使用金宝appSimulink.sdi.view函数打开模拟数据检查员来查看和分析比较的结果。

这个案例展示了如何访问金宝appSimulink.sdi.Run对象的仿真数据检查员运行由测井信号。从金宝appSimulink.sdi.Run对象可以金宝appSimulink.sdi.Signal对象包含数据和元数据记录的信号。您可以使用信号对象和plotOnSubPlot函数绘制仿真数据中的数据检查员。

创建一个模拟运行和访问运行对象

ex_vdp两个信号模型日志。创建一个包含记录的数据的模拟运行,模拟模型。

sim卡(“ex_vdp”);

检查员跟踪运行的仿真数据分配一个独特的数字ID来创建的每次运行仿真运行,导入数据,或者打开一个会话。访问运行对象的模拟执行,使用金宝appSimulink.sdi.getAllRunIDs函数,最后运行ID返回向量。

runIDs = 金宝appSimulink.sdi.getAllRunIDs;runID = runIDs(结束);

一旦运行ID,您可以使用金宝appSimulink.sdi.getRun函数的金宝appSimulink.sdi.Run对象对应于运行。您可以使用运行对象检查与运行相关的元数据,包括信号的数量。

vdpRun = 金宝appSimulink.sdi.getRun (runID);vdpRun.SignalCount
ans =int322

图数据使用信号对象

使用getSignalByIndex信号的函数来访问运行对象,vdpRun

signal1 = getSignalByIndex (vdpRun, 1);signal2 = getSignalByIndex (vdpRun 2);

使用金宝appSimulink.sdi.setSubPlotLayout函数来指定一个2×1布局。

金宝appSimulink.sdi.setSubPlotLayout (2, 1)

绘制数据之前,使用金宝appSimulink.sdi.clearAllSubPlots功能已经绘制的任何数据。

金宝appSimulink.sdi.clearAllSubPlots

情节一信号在每个情节。情节信号第一次要情节,你可以设置检查房地产的信号。绘制信号次要情节比第一次要情节,其他使用plotOnSubPlot函数。

signal1。检查= true; plotOnSubPlot(signal2,2,1,true);

视图绘制数据

查看刚刚创建的情节,打开检查员使用模拟数据金宝appSimulink.sdi.view函数。

版本历史

介绍了R2012b