主要内容

本页采用了机器翻译。点击此处可查看英文原文。

Application

在开发计算机上映射应用程序文件

说明

应用程序对象代表 MATLAB® 开发计算机上的应用程序文件。您可以为基于建模构建的实时应用程序创建应用程序对象。

应用程序对象提供了对方法和属性的访问,使您能够操作应用程序模块和信号。

创建对象

app_object = slrealtime.Application(application_name) 会创建一个对象,您可以使用该对象在开发计算机上操作实时应用程序文件。只有在实时应用程序构建完成后,才能创建该对象。

slrealtime.Application 函数接受以下参数:

  • application_name — 实时应用程序的名称(字符向量或字符串标量)。例如,'slrt_ex_osc_inport'

    该参量是构建在开发计算机上生成的 MLDATX 文件的文件名,其中不包含 .mldatx 文件扩展名。

  • app_object — 在开发计算机上显示实时应用程序文件。

    该参量提供了对用于操作实时应用程序文件的方法的访问权限。

为实时应用程序 slrt_ex_osc_inport 创建一个应用程序对象。

app_object = slrealtime.Application('slrt_ex_osc_inport');

示例: 解压 ASAP2 文件

示例: 更新根级输入端口数据

示例: 获取和设置应用程序选项

示例: 获取应用程序信号和参数

属性

全部展开

此 属性 为只读。

构建应用程序时生成的实时应用程序名称。

此 属性 为只读。

用于构建实时应用程序的 Simulink 模型的名称。

您可以将任意向量数据赋值给 UserData 字段。您只能通过开发电脑访问这些数据。

示例: {'This string', 10}

此 属性 为只读。

使用 Options 属性来获取和设置应用程序的实时选项。有关示例,请参阅获取和设置应用程序选项。选项包括:

  • fileLogMaxRuns 用于指定在启用文件日志记录时,为实时应用程序存储的仿真运行次数。

  • loglevel 用于选择目标计算机系统日志的日志消息级别。可选级别包括 errorwarninginfodebugtrace

  • overrideBaseRatePeriod 为应用程序基准费率周期选择一个覆盖值。

  • pollingThreshold 用于指定当采样率低于该值时,RTOS 线程调度器将切换为轮询模式(而非中断驱动模式)来为实时应用程序提供时钟信号。轮询模式有助于减少采样时间抖动。但是,启用此选项会导致实时应用程序完全占用一个 CPU 核心来计时并执行基本速率。

  • startupParameterSet 表示从已添加到 Application 对象中的 ParameterSet 对象中设置的启动参数。要更改选择,使用 updateStartupParameterSet 函数。

  • stoptime 用于选择实时应用程序的停止时间。

对象函数

addParamSet向实时应用程序添加参数集
extractASAP2从实时应用程序文件中提取生成的 A2L 文件
getAllFileLogBlocks返回应用程序中与 File Log 模块对应的模块路径
getFileLogDecimation根据模块路径返回 File Log 模块的取整值
getInformation获取实时应用程序信息
getParameters获取实时应用程序参数
getParamSetGet parameter set from real-time application
getRootLevelInports返回应用程序中的根级输入端口
getSignals获取实时应用程序信号
isAutoSaveOnStopEnabledGet status of parameter set autosave when application stops
listParamSet列出目标计算机上应用程序可用的参数集文件
setFileLogDecimation根据模块路径和输入降采样值,为 File Log 模块设置降采样值
updateASAP2将 ASAP2 文件打包到应用程序中
updateRootLevelInportData在实时应用中用输入数据替换外部输入数据
updateAutoSaveParameterSetOnStop更新应用程序停止时的自动保存参数集
updateStartupParameterSet更新应用程序的启动参数集

示例

全部折叠

从实时应用程序中检索 ASAP2 文件。

  1. 为实时应用程序创建一个应用程序对象。

    app_obj =  slrealtime.Application("myModel.mldatx");
  2. 从实时应用程序中检索 ASAP2 文件。

    extractASAP2(app_obj);

将波形数据从方波更改为正弦波。

  1. 将输入波形数据从方波更改为正弦波。

    waveform = sinewave;
  2. 创建一个应用程序对象。

    app_object = slrealtime.Application('slrt_ex_osc_inport');
  3. 更新输入端口的数据。

    updateRootLevelInportData(app_object)
  4. 将更新的导入数据下载到默认目标计算机。

    tg = slrealtime('TargetPC1');
    load(tg, 'slrt_ex_osc_inport');

您可以通过应用程序的 Options 属性获取和设置实时应用程序选项。

  1. 创建一个应用程序对象。

    my_app = slrealtime.Application('slrt_ex_osc_inport');
  2. 通过获取应用程序的 Options 属性值来查看应用程序选项。

    my_app.Options.get
    ans = 
    
      struct with fields:
    
                fileLogMaxRuns: 1
                      loglevel: "info"
        overrideBaseRatePeriod: 0
              pollingThreshold: 1.0000e-04
           startupParameterSet: "paramInfo"
                      stoptime: Inf
  3. 更改应用程序停止时间值选项。

    my_app.Options.set("stoptime",20);

    注意

    如果您使用 slrealtime.Application 函数将 Options 更改为 FileLogMaxRuns,然后重新加载该应用程序,可能会无意中删除目标计算机上已安装的实时应用程序的现有文件日志。若要更改存储日志的数量而不删除现有日志,请加载实时应用程序,然后使用 start(tg) 函数修改 FileLogMaxRuns 选项。

  4. 将应用程序选项保存到 MATLAB 变量中。使用 load 函数将变量中的选项应用到实时应用程序中。

    my_options = my_app.Options.get;
    save("my_options.mat", "my_options");
    load("my_options.mat", "my_options");
    my_app.Options.set(my_options);

您可以使用 getParametersgetSignals 函数获取实时应用程序信号和参数。

  1. 创建一个应用程序对象。

    my_app = slrealtime.Application('slrt_ex_param_tuning')
    my_app = 
    
      Application with properties:
    
        ApplicationName: 'slrt_ex_param_tuning'
              ModelName: 'slrt_ex_param_tuning'
               UserData: []
                Options: [1×1 slrealtime.internal.ApplicationOptions]
  2. 将应用程序 Signals 的值作为数组中的结构体获取。

    my_sigs = getSignals(my_app)
    my_sigs = 
    
      1×9 struct array with fields:
    
        BlockPath
        PortIndex
        SignalLabel
  3. 将应用程序信号视为数组元素。

    my_sigs(1).BlockPath
    ans =
    
        'slrt_ex_param_tuning/Gain'
  4. 将应用程序 Parameters 的值作为数组中的结构体获取。

    my_params = getParameters(my_app)
    my_params = 
    
      1×7 struct array with fields:
    
        BlockPath
        BlockParameterName
  5. 以数组元素形式查看应用程序参数。

    my_params(1).BlockParameterName
    ans =
    
        'Gain'

版本历史记录

在 R2020b 中推出

全部展开