什么是Simulink中的消息?
从系列中:运行时软件建模
使用消息为基于消息的通信的软件组合建模和生成c++代码。您可以从模型的根输入和输出端口发送和接收消息。您还可以生成C/ c++代码来连接到中间件或操作系统通信API。了解如何构建一个简单的模型,用于使用messages & Events库中的块生成和接收消息,并使用事件日志记录、消息动画和序列查看器进行调试。
消息允许您建模和生成基于消息通信的软件组合的c++代码。为此,您可以从模型的根输入和输出端口发送和接收消息。您还可以生成c++代码来连接到中间件或操作系统通信API。让我们构建一个简单的消息通信模型。
我将使用Simulink中的消息和事件库中的消息块。我有一个正弦波源块发送一个基于采样的正弦波和输出端口。我将使用消息发送块将正弦波转换为在源块的采样时间上发送的消息。消息接收块将按照接收到的速率将该消息转换回信号。
如果消息的发送速度快于处理速度,我们可以使用队列块来保存消息。队列被设置为缓冲区,当它满时丢弃最老的元素。这是可以改变的。您还可以设置队列的容量,即它将容纳多少消息,并设置它的提示类型,例如后进先出或先进先出。我可以使用事件动画调试我的模型。我可以选择运行模型时显示的动画速度。这向我显示我的消息正在发送以及它们何时到达。
我还可以记录事件。选择要记录的消息行,并使用数据检查器查看发送消息的时间及其值。在模拟运行时单击某一行也将显示该值。序列查看器还可以用于显示发送的消息的顺序。单击消息查看器中的一行,将显示消息的起源位置,以及该特定消息随着时间的推移所发生的情况。
有一个消息合并块,可以将消息发送到库中的同一消息行。您可以通过代码生成将消息连接到中间件或操作系统通信api。您可以使用ERT和c++在模型边界上获得适当的消息通信。这将在组件边界处创建一个服务,在头文件中创建一个类声明,并允许您将代码定制数据添加到要连接的主文件中。
在本系列中,我们有另一个视频,以了解关于建模模型组件之间基于消息的通信的更多信息。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。