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.

Gestionar colas para un servidor compartido de impresora

Este ejemplo muestra cómo compartir funciones para comunicarse entre un modelo de Simulink® y un gráfico de Stateflow®. Por ejemplo, puede hacer lo siguiente:

  • Utilizar un gráfico de Stateflow para llamar a una función de Simulink que defina en el modelo.

  • Utilizar un bloque Function Caller en el modelo de Simulink para llamar a una función que defina en el gráfico de Stateflow.

Este ejemplo modela tres equipos clientes que comparten una impresora en la red. Cada equipo envía trabajos de impresión a una cola común para su procesamiento. Cada equipo cliente invoca al servidor de impresora con una llamada al bloque de funciones addPrintJob de Simulink. Para añadir el trabajo de impresión a la carga de trabajo, la función addPrintJob llama a la función gráfica queuePrintJob del gráfico de Stateflow. Para modelar el uso de tinta de impresora, el gráfico procesa el trabajo y llama al bloque de funciones printerInk de Simulink.

Llamar a una función de Simulink desde Stateflow

La función printerInk está definida en un bloque de funciones de Simulink en el nivel superior del modelo. La interfaz de la función printerInk(work) define un argumento de entrada. La función de Simulink, printerInk, también interactúa con el modelo con líneas de señal a través del puerto de entrada ink y del puerto de salida ink'. El estado Busy coincide con la firma de función para printerInk(work) pasando un argumento de entrada.

Exportar funciones de Stateflow a Simulink

En los gráficos Queuing y Processing Incoming Jobs, las propiedades Export chart level functions y Treat exported functions as globally visible están seleccionadas. Estas propiedades permiten que la función addPrintJob de Simulink llame a la función gráfica del gráfico, queuePrintJob.

Consulte también

(Simulink)

Temas relacionados