Main Content

管理共享打印机服务器的队列

此示例说明如何共享函数以便在 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

在图 QueuingProcessing Incoming Jobs 中,属性导出图级别函数将导出的函数视为全局可见处于选中状态。这些属性允许 Simulink 函数 addPrintJob 调用图的图形函数 queuePrintJob

另请参阅

(Simulink)

相关主题