Main Content

Añadir datos de Stateflow

Cuando desee guardar valores que son visibles en un nivel concreto de la jerarquía de Stateflow®, añada datos al gráfico. Cuando simula el modelo, los objetos de datos del gráfico conservan sus valores mientras dure la simulación.

Los datos definidos en un gráfico de Stateflow son visibles en múltiples objetos de Stateflow del gráfico, incluidos estados, transiciones, funciones de MATLAB® y tablas de verdad. Para determinar qué datos se usan en un estado o transición, haga clic con el botón secundario en el estado o transición y seleccione Explore. Un menú contextual enumera los nombres y los ámbitos de todos los símbolos resueltos de ese estado o transición. Al seleccionar un símbolo del menú contextual se muestran sus propiedades en el explorador de modelos. Al seleccionar un evento de salida del menú contextual se abre el subsistema de Simulink® o el gráfico de Stateflow asociados con dicho evento.

Nota

Los datos de Stateflow no están disponibles en las funciones de Simulink dentro de un gráfico de Stateflow.

Puede añadir datos a un gráfico de Stateflow con el panel Symbols, el menú Editor de Stateflow o el Explorador de modelos.

Añadir datos mediante el panel de símbolos

  1. En la pestaña Modeling, en Design Data, seleccione Symbols Pane.

  2. Haga clic en el icono Create Data .

  3. En la fila de los datos nuevos, en Type, haga clic en el icono y seleccione:

    • Input Data

    • Local Data

    • Output Data

    • Constant

    • Data Store Memory

    • Parameter

    • Temporary

    Para obtener más información sobre estas opciones, consulte Scope.

  4. Edite el nombre de los datos.

  5. En cuanto a los datos de entrada y de salida, haga clic en el campo Port y seleccione un número de puerto.

  6. Para especificar las propiedades de los datos, abra Property Inspector. En el panel Symbols, haga clic con el botón secundario en la fila del símbolo y seleccione Explore. Para obtener más información, consulte Set Data Properties.

Añadir datos mediante el menú del editor de Stateflow

  1. En un gráfico de Stateflow de un modelo de Simulink, seleccione la opción del menú que corresponda al ámbito de los datos que desea añadir. Para obtener más información sobre estas opciones, consulte Scope.

    ÁmbitoOpción del menú
    Input

    En la pestaña Modeling, en Design Data, seleccione Data Input.

    Output

    En la pestaña Modeling, en Design Data, seleccione Data Output.

    Local

    En la pestaña Modeling, en Design Data, seleccione Local.

    Constant

    En la pestaña Modeling, en Design Data, seleccione Constant.

    Parameter

    En la pestaña Modeling, en Design Data, seleccione Parameter.

    Data Store Memory

    En la pestaña Modeling, en Design Data, seleccione Data Store.

  2. En el cuadro de diálogo Datos, especifique las propiedades de los datos. Para obtener más información, consulte Set Data Properties.

Añadir datos mediante el Explorador de modelos

Para añadir datos asignados a una función o a un estado a los gráficos de Stateflow de los modelos de Simulink, utilice el Explorador de modelos:

  1. En la pestaña Modeling, en Design Data, seleccione Model Explorer.

  2. En el panel Model Hierarchy, seleccione el objeto de la jerarquía Stateflow donde desea que los datos nuevos resulten visibles. El objeto que seleccione se convertirá en el elemento principal de los datos nuevos.

  3. En la barra de herramientas del Explorador de modelos, seleccione el botón Añadir datos . De forma alternativa, en el menú del Explorador de modelos, seleccione Add > Data. Los datos nuevos con una definición predeterminada aparecen en el panel Contents del Explorador de modelos.

  4. En el panel Data, especifique las propiedades de los datos. Para obtener más información, consulte Set Data Properties.

Sugerencia

No es necesario crear datos locales o temporales explícitamente en estos tipos de funciones:

  • Funciones gráficas en gráficos que utilizan MATLAB como lenguaje de acción

  • Funciones de tablas de verdad que utilizan MATLAB como lenguaje de acción

  • Funciones de MATLAB

En su lugar, en estas funciones se pueden utilizar variables no definidas para guardar valores a los que solo se puede acceder durante el resto de la llamada a función. Para guardar valores que persisten en todas las llamadas a función, utilice datos locales en el nivel del gráfico. Como alternativa, en las funciones de MATLAB, puede usar la palabra clave persistent.

Prácticas recomendadas para usar datos en gráficos

Evitar la herencia de propiedades de datos de salida de bloques de Simulink

Los datos de salida de Stateflow no deben heredar propiedades de las señales de salida, ya que los valores se retropropagan a partir de bloques de Simulink y pueden ser impredecibles.

Generar un código más eficiente con datos en contexto

Puede mejorar el rendimiento y disminuir la superficie de memoria del código generado para los gráficos de Stateflow, las tablas de verdad y las tablas de transición de estados utilizando datos en contexto. Se crean datos en contexto cuando se utiliza el mismo nombre de datos para la entrada y la salida de un gráfico. Cuando se genera código a partir del gráfico, el código generado trata los datos de entrada y de salida como un único argumento en contexto que se pasa por referencia. El uso de datos en contexto reduce el número de veces que el código generado copia los datos intermedios, lo que da lugar a un código más eficiente.

Cuando los datos de entrada y de salida tienen el mismo nombre, solo se pueden editar las propiedades de los datos de entrada. Las propiedades de los datos de salida son de solo lectura.

Temas relacionados