管理共享打印机服务器的队列
此示例说明如何共享函数以便在 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)