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