2012-04-16 85 views
1

我在C++中编写了一个UDP套接字,以便接收来自另一个程序的字符串。现在我需要使用Simulink项目中的数据。我尝试了Simulink中的UDP接收器模块,但我无法分离数据字符串,因此我更愿意尝试在Simulink中将我的UDP套接字(以C++)作为块运行。我知道我应该使用S函数,但我不知道如何或者是否还有其他可能。如何以Simulink块的形式运行C++程序?

+1

您对Simulink UDP接收器块的输出有什么样的问题?这可能比创建自己的S函数更容易解决,特别是如果您不熟悉编写S函数。 – Praetorian 2012-04-16 21:22:26

+0

在UDP接收器块之后,我放置了一个ASCII解码器块。我发送“X:3.14 Y:55”,并在接收到ASCII解码器(在显示块中)“00301400055”之后。一种解决方案可以是区分字母,符号并将其作为变量分开的一种方法。 – Tapia 2012-04-16 22:00:01

+0

我从来没有使用过xPC目标和/或仪器控制工具箱,所以我不能帮你提供详细信息,但不能将UDP模块的输出提供给MATLAB函数块并解析数据?如果您不关心模型中的代码生成,可以使用正则表达式轻松完成解析。 – Praetorian 2012-04-16 22:29:51

回答

1

有一个功能叫Legacy Code Tool应该做你以后的事情。从本质上讲,它简化了在使用现有的C/C++时定义定制Simulink S功能块的过程。我似乎记得使用C++而不是C时存在一些限制,但我不认为它们太重要了......