建立邮件的收发,软件组件之间的接口

这个例子展示了如何模型基于消息的,在不同的应用程序运行的软件组件之间的通信。该示例还示出了如何准备模型组件用于C ++代码生成。

在这个例子中,基于消息的通信是两个组件之间构成。发送组件发送数据和接收组件消耗数据。在这种情况下,后发送组件发送的消息,将它们存储在队列中。接收部件拉动基于它所表示的逻辑的消息。

两个模型块,标记发送组件和接收组件,表示由消息线连接的组件。基于消息的通信是利用一个发送块来实现和接收连接到所述根级OUTPORT和INPORT嵌段的嵌段。代码生成和部署之后,这两种成分在两个不同的应用运行。当每个组件产生代码,所述代码包含足够必要的软件接口,用于您与操作系统或中间件消息连接。

发送组件

在发送组件的算法可以包含任何复杂的逻辑。在该示例中,一个简单的正弦波块是在一个子系统作为信号源使用。该采样时间该块的参数设置为0.1

为了制备发送部件,用于基于消息的通信,一个发送块被连接到所述根级外港块。发送块转换数据的信号和发送消息。

为了准备发送组件的代码生成,模型配置参数:

  1. 在里面求解窗格中,在求解器选择节中,类型设定为固定步长

  2. 固定步长设定为0.1

  3. 在里面代码生成窗格中,系统目标文件设定为ert.tlc语言于C ++。

  4. 该模型被保存为MSEND

有关生成C ++或C代码的更多信息,请参见生成C或C ++代码在Simulink基于消息的通信万博1manbetx(万博1manbetx编码器的Simulink)。

接收组件

在接收组件,一个范围块被用于表示接收消息的算法。

为了制备接受元件,所述INPORT块被连接到一个接收块。接收块接收的消息和将它们转换为信号数据。默认情况下,采样时间的参数,接收块是-1

为了准备接收组件的代码生成,模型配置参数:

  1. 在里面求解窗格中,在求解器选择节中,类型设定为固定步长

  2. 固定步长设定为0.1

  3. 在里面代码生成窗格中,系统目标文件设定为ert.tlc语言于C ++。

  4. 该模型被保存为mReceive

有关生成C ++或C代码的更多信息,请参见生成C或C ++代码在Simulink基于消息的通信万博1manbetx(万博1manbetx编码器的Simulink)。

组件间的可视化信息的过渡使用序列查看器块

这与发送和接收部件的组合物的模型。模型块,发送组件和接收组件,参考模型MSENDmReceive, 分别。

模拟模型。观察默认插入队列中。消息行上方的图标表示默认队列。默认队列的能力1并启用覆盖政策的消息。可以通过使用组件之间的队列块定制队列。欲了解更多信息,请参阅使用队列块,以管理信息

打开序列浏览器块。块,您可以直观信息化的事件和消息携带数据。

序列查看器块窗口显示在模拟时间左侧垂直栏。每次网格行包含了发生在同一仿真时间的事件。每个消息转换事件是由标有消息数据值中的箭头表示。有关序列查看器模块的更多信息,请参阅使用顺序查看器模块的可视化信息,事件,和实体

在序列查看器块,向上滚动或点击转到第一个事件左边的图标。观察到,在时间零发送块发送一个消息与数据值0到接收块,并且在时间0.1块发送具有数据值的另一个消息0.0998。该块在每发送一个消息0.1仿真时间。

也可以看看

||||

相关话题