Contenido principal

S-Function Builder

Integrar código C o C++ para crear funciones S

  • S-Function Builder block

Bibliotecas:
Simulink / User-Defined Functions

Descripción

El bloque S-function Builder integra código C o C++ nuevo o existente y crea una función S (función del sistema) en C MEX a partir de las especificaciones que proporciona. Una función S en C MEX describe en lenguaje informático un bloque de Simulink® escrito en C o C++. Las funciones S utilizan una sintaxis de llamada especial denominada API de funciones S que permite interactuar con el motor de Simulink. Esta interacción es muy similar a la que tiene lugar entre el motor y los bloques de Simulink integrados. Para obtener más información sobre las funciones S en C MEX, consulte What Is an S-Function?. Para obtener más información sobre la creación de funciones S en C MEX usando el bloque S-function Builder, consulte Build S-Functions Automatically Using S-Function Builder. Para ver un ejemplo con un procedimiento paso a paso, consulte Use a Bus with S-Function Builder to Create an S-Function.

Las instancias del bloque S-Function Builder también sirven como envolturas para funciones S generadas en modelos de Simulink. Cuando se simula un modelo que contiene instancias de un bloque S-Function Builder, Simulink llama la función S en C MEX generada para llamar a su código C o C++ en las instancias de los métodos mdlStart, mdlOutputs, mdlDerivatives, mdlUpdate y mdlTerminate. Para obtener más información sobre cómo el motor de Simulink interactúa con las funciones S, consulte Simulink Engine Interaction with C S-Functions.

Nota

El bloque S-Function Builder no admite el enmascaramiento. No obstante, puede enmascarar un bloque Subsystem que contenga un bloque S-Function Builder. Para obtener más información, consulte Create Library Blocks Using Self-Modifiable Masks and Variant Blocks.

Ejemplos

Puertos

Entrada

expandir todo

El bloque S-Function Builder puede aceptar señales reales y complejas, de 1D o 2D y buses no virtuales. Para cada uno de estos casos, las señales deben tener un tipo de datos admitido por Simulink.

Para obtener más información, consulte Data Types Supported by Simulink en la documentación de Simulink.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | bus

Salida

expandir todo

S-Function Builder puede producir señales reales y complejas, de 1D o 2D y buses no virtuales. Para cada uno de estos casos, las señales deben tener un tipo de datos admitido por Simulink.

Para obtener más información, consulte Data Types Supported by Simulink en la documentación de Simulink.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | bus

Parámetros

expandir todo

Utilice el editor de S-Function Builder para crear parámetros definidos por usuarios. Para obtener más información sobre cómo crear parámetros definidos por usuarios desde el editor, consulte Specify Ports and Parameters for the S-Function.

Nota

No es necesario configurar esta lista de parámetros para este bloque de Simulink en el cuadro de diálogo del bloque. Los parámetros de bloque de Simulink se establecen utilizando la información del editor S-Function Builder.

Utilice este parámetro para especificar el nombre de la función S.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: FunctionName
Valores: 'system' (predeterminado) | S-function name in quotes

Especifique los parámetros adicionales de función S.

Los parámetros de función pueden especificarse como expresiones de MATLAB o como variables separadas por comas. Por ejemplo:

A, B, C, D, [eye(2,2);zeros(2,2)]

Aunque los parámetros individuales pueden encerrarse entre corchetes, esto no debe hacerse con la lista de parámetros.

Uso programático

Parámetro: Parameters
Valores: '' (predeterminado) | S-function parameters in quotes

Este parámetro solo se aplica si este bloque representa una función S en C MEX y tiene la intención de usar el software Simulink Coder™ para generar código desde el modelo que contiene el bloque. Si lo utiliza y está listo para generar código, debe obligar al codificador a reconstruir el modelo superior como se explica en Control Regeneration of Top Model Code (Simulink Coder).

Para obtener más información sobre cómo usar este parámetro, consulte Specify Additional Source Files for an S-Function (Simulink Coder).

Uso programático

Parámetro: SFunctionModules
Valores: '' (predeterminado) | filenames in quotes

Características del bloque

Tipos de datos

Boolean | double | fixed point | integer | single

Paso directo

no

Señales multidimensionales

Señales de tamaño variable

no

Detección de cruce por cero

no

Sugerencias

Después de crear la función S con el bloque S-Function Builder, la función get_param devuelve información de estos parámetros:

  • Parameters: parámetros adicionales de función S

  • SFunctionModules: archivos adicionales para generar código si el bloque representa una función S en C MEX

Capacidades ampliadas

expandir todo

Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.

Historial de versiones

Introducido antes de R2006a