Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Compartir datos con Simulink y el área de trabajo de MATLAB

Los gráficos de Stateflow® interactúan con los demás bloques de un modelo de Simulink® con:

  • Uso compartido de datos por medio de conexiones de entrada y salida.

  • Importación de los valores iniciales de los datos desde el área de trabajo base de MATLAB®.

  • Almacenamiento de los valores finales de los datos en el área de trabajo base de MATLAB.

Los gráficos también pueden acceder a los parámetros y almacenes de datos de Simulink. Para obtener más información, consulte Compartir parámetros con Simulink y el área de trabajo de MATLAB y Access Data Store Memory from a Chart.

Compartir datos de entrada y de salida con Simulink

Los datos fluyen desde Simulink hacia un gráfico de Stateflow a través de los puertos de entrada. Los datos fluyen desde un gráfico de Stateflow hacia Simulink a través de los puertos de salida.

Para definir datos de entrada o de salida en un gráfico:

  1. Añada un objeto de datos al gráfico como se describe en Añadir datos de Stateflow.

  2. Establezca la propiedad Scope del objeto de datos.

    • Para definir los datos de entrada, establezca Scope en Input Data. En la parte izquierda del bloque del gráfico aparece un puerto de entrada.

    • Para definir los datos de salida, establezca Scope en Output Data. En la parte derecha del bloque del gráfico aparece un puerto de salida.

    De forma predeterminada, los valores de Port aparecen en el orden en el que se añaden los objetos de datos. Puede cambiar estas asignaciones modificando la propiedad Port de los datos. Cuando se cambia la propiedad Port de un objeto de datos de entrada o salida, los valores de Port de los objetos de datos de entrada o salida restantes vuelven a numerarse automáticamente.

  3. Establezca el tipo de datos del objeto de datos según se describe en Especificar el tipo de datos de Stateflow.

  4. Establezca el tamaño del objeto de datos según se describe en Especificar el tamaño de los datos de Stateflow.

Nota

No se puede establecer el tipo o el tamaño de los datos de entrada de Stateflow para que acepten datos basados en tramas de Simulink.

Inicializar datos desde el área de trabajo base de MATLAB

Puede importar el valor inicial de un símbolo de datos definiéndolo en el área de trabajo base de MATLAB y en la jerarquía de Stateflow.

  1. Defina e inicialice una variable en el área de trabajo base de MATLAB.

  2. En la jerarquía de Stateflow, defina un objeto de datos con el mismo nombre que la variable de MATLAB.

  3. Seleccione la propiedad Allow initial value to resolve to a parameter del objeto de datos.

Cuando se inicia la simulación, tiene lugar la resolución de los datos. Durante este proceso, el objeto de datos de Stateflow obtiene su valor inicial de la variable asociada de MATLAB.

Los arreglos unidimensionales de Stateflow son compatibles con los vectores fila y columna de MATLAB del mismo tamaño. Por ejemplo, un vector de Stateflow de tamaño 5 es compatible con un vector fila de tamaño [1,5] o con un vector columna de tamaño [5,1] de MATLAB. Cada elemento del arreglo de Stateflow se inicializa con el mismo valor que el elemento correspondiente del arreglo en el área de trabajo base de MATLAB.

El tiempo de inicialización depende del elemento principal de los datos y del ámbito del objeto de datos de Stateflow.

Elemento principal de los datos

Ámbito

Tiempo de inicialización

Gráfico

Entrada

No se aplica

Salida, local

Inicio de la simulación o cuando el gráfico se reinicializa como parte de un subsistema de Simulink activado

Estado con intersección histórica

Local

Inicio de la simulación o cuando el gráfico se reinicializa como parte de un subsistema de Simulink activado

Estado sin intersección histórica

Local

Acceso al estado

Función (gráfica, de tablas de verdad y funciones de MATLAB)

Entrada, salida

Invocación de llamada a función

Local

Inicio de la simulación o cuando el gráfico se reinicializa como parte de un subsistema de Simulink activado

Almacenar los datos en el área de trabajo base de MATLAB

Al final de la simulación, un gráfico de Stateflow que utilice C como lenguaje de acción puede guardar el valor final de un objeto de datos en el área de trabajo base de MATLAB.

  1. Abra Model Explorer. En la pestaña Modeling, seleccione Model Explorer.

  2. Haga doble clic en el objeto de datos en el panel Contents.

  3. En el panel Description del cuadro de diálogo de propiedades de los datos, seleccione Save final value to base workspace.

Esta opción está disponible para los símbolos de datos de todos los ámbitos excepto Constant y Parameter.

Temas relacionados