管理共享打印机服务器的队列
此示例说明如何共享函数以便在 Simulink® 模型和 Stateflow® 图之间进行通信。例如,您可以:
使用 Stateflow 图调用您在模型中定义的 Simulink 函数。
使用 Simulink 模型中的 Function Caller 模块调用在 Stateflow 图中定义的函数。
此示例对共享一台网络打印机的三个计算机客户端进行建模。每个计算机将打印作业发送到公共队列进行处理。每个计算机客户端通过调用 Simulink Function 模块 addPrintJob 来调用打印机服务器。为了将打印作业添加到工作负载中,addPrintJob 函数调用 Stateflow 图中的图形函数 queuePrintJob。为了对打印机的用墨量进行建模,该图处理工作并调用 Simulink Function 模块 printerInk。

从 Stateflow 调用 Simulink 函数
函数 printerInk 在模型顶层的 Simulink Function 模块中定义。函数接口 printerInk(work) 定义一个输入参量。Simulink 函数 printerInk 也通过输入端口 ink 和输出端口 ink' 用信号线与模型交互。状态 Busy 通过传递一个输入参量来匹配 printerInk(work) 的函数签名。

将 Stateflow 函数导出到 Simulink
在图 Queuing 和 Processing Incoming Jobs 中,属性导出图级别函数和将导出的函数视为全局可见处于选中状态。这些属性允许 Simulink 函数 addPrintJob 调用图的图形函数 queuePrintJob。
另请参阅
Simulink Function (Simulink)
主题
- Export Stateflow Functions for Reuse
- Simulink Functions Overview (Simulink)
- 模型引用行为和功能 (Simulink)