主要内容

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

setPersistentVariables

将 MATLAB 中的持久变量设置到 Simulink Real-Time 目标计算机上

自 R2022a 起

说明

setPersistentVariables(target_object,variables_struct) 将 MATLAB® 开发计算机上变量的值赋给 Speedgoat® 目标计算机上的持久变量。这些变量可以为空,也可以是一个其字段均为持久变量的结构体。

示例

示例

全部折叠

getPersistentVariables 函数和 setPersistentVariables 函数可让您访问通过 Persistent Variable Read 模块和 Persistent Variable Write 模块在实时应用程序中创建和更新的持久变量。

  1. 从目标计算机 tg 获取持久变量值。

    myPersist = getPersistentVariables(tg)
    myPersist =
    
         []
  2. 修改 myPersist 结构体中 Variable1 的值。将 Variable1 添加到结构体中。

    myPersist.Variable1 = 10;
    myPersist.Variable2 = int8([1, 2; 3, 4]);
    myPersist
    myPersist = 
    
      struct with fields:
    
        Variable1: 10
        Variable2: [2×2 int8]
  3. 在目标计算机上设置持久变量的值。从目标计算机获取变量。

    setPersistentVariables(tg,myPersist)
    myMorePersist = getPersistentVariables(tg)
    myMorePersist = 
    
      struct with fields:
    
        Variable1: 10
        Variable2: [2×2 int8]

您可以使用 setPersistentVariables 函数来删除存储在目标计算机上的持久变量。

  1. 在开发计算机上,创建一个名为 Targettg 对象,并将其连接到目标计算机。

    tg = slrealtime;
    connect(tg);
  2. 使用 setPersistentVariables 函数清除存储在目标计算机上的持久变量值。

    setPersistentVariables(tg,[]);

您可以使用 setPersistentVariables 函数删除存储在目标计算机上的持久变量。

  1. 在开发计算机上,创建一个名为 Targettg 对象,并将其连接到目标计算机。

    tg = slrealtime;
    connect(tg);
  2. 从目标计算机中获取持久变量值。

    myPersistVars = getPersistentVariables(tg);
  3. 将持久化变量的值复制到一个变量中,并删除该变量的字段。此示例删除了变量 position 的字段。

    myNewPersistVars = rmfield(myPersistVars,'position');
  4. 使用 setPersistentVariables 函数将更新的持久变量值应用到目标计算机上。

    setPersistentVariables(tg,myNewPersistVars);

输入参数

全部折叠

表示目标计算机的对象,指定为 Target 对象。该对象提供了用于操作目标计算机属性的方法。

示例: tg

一个 MATLAB 结构体,其字段名称即为要设置的持久变量名称,其字段值即为要设置的持久变量值。

示例: myPersist

版本历史记录

在 R2022a 中推出