Main Content

Resolver propiedades de datos a partir de objetos de señales de Simulink

Los datos locales y de salida de Stateflow® en gráficos pueden heredar explícitamente propiedades de objetos de Simulink.Signal en el área de trabajo del modelo o en el área de trabajo base. Este proceso se denomina resolución de señal y requiere que la señal resuelta tenga el mismo nombre que la salida del gráfico o los datos locales.

Para obtener información sobre la resolución de señal de Simulink®, consulte Symbol Resolution (Simulink) y Symbol Resolution Process (Simulink).

Propiedades heredadas

Cuando los datos locales o de salida de Stateflow se resuelven en objetos de señal de Simulink, heredan estas propiedades:

  • Tamaño

  • Complejidad

  • Tipo

  • Valor mínimo

  • Valor máximo

  • Valor inicial

  • Clase de almacenamiento

La clase de almacenamiento controla la apariencia de los datos del gráfico en el código generado. Consulte Organize Parameter Data into a Structure by Using Struct Storage Class (Embedded Coder).

Habilitar la resolución de señal

Para habilitar la resolución de señal explícita:

  1. Abra el cuadro de diálogo Configuration Parameters y, en el panel Diagnostics > Data Validity, establezca Signal resolution en un valor diferente de None. Para obtener más información sobre las otras opciones, consulte Signal resolution (Simulink).

  2. En el área de trabajo del modelo, el diccionario de datos o el área de trabajo base, defina un objeto de Simulink.Signal con las propiedades que desee que hereden sus datos de Stateflow. Para obtener más información sobre la creación de señales de Simulink, consulte Simulink.Signal (Simulink).

  3. Añada salida de gráfico o datos locales. Utilice el mismo nombre para sus datos que para el objeto de Simulink.Signal.

  4. Habilite la propiedad Data must resolve to signal object (Los datos deben resolverse en un objeto de señal), según se describe en Set Data Properties. Después de seleccionar esta propiedad, el cuadro de diálogo elimina o atenúa las propiedades que los datos heredan de la señal.

Un ejemplo sencillo

Este modelo muestra cómo un gráfico resuelve los datos de salida y locales para objetos de Simulink.Signal.

En el área de trabajo base, hay tres objetos de Simulink.Signal, cada uno con un conjunto de propiedades diferente.

  • y1 tiene estas propiedades: Tipo = double, Dimensiones = 1 y Clase de almacenamiento = Model default.

  • y2 tiene estas propiedades: Tipo = uint32, Dimensiones = [2 2] y Clase de almacenamiento = Auto.

  • local tiene estas propiedades: Tipo = single, Dimensiones = 1 y Clase de almacenamiento = ExportedGlobal.

El gráfico contiene tres objetos de datos (dos salidas y una variable local) que se resuelven en una señal con el mismo nombre.

Al crear el modelo, cada objeto de datos hereda las propiedades de la señal con el mismo nombre.

El código generado declara los datos en función de la clase de almacenamiento que los datos heredan de la señal de Simulink asociada. Por ejemplo, el siguiente archivo de encabezado declara que la local es una variable global exportada:

/*
 * Exported States
 *
 * Note: Exported states are block states with an exported global
 * storage class designation.  Code generation will declare the memory for these
 * states and exports their symbols.
 *
 */
extern real32_T local;                  /* '<Root>/Signal Object Chart' */

Consulte también

(Simulink)

Temas relacionados