2012-04-16 20 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時存在一些限制,但我不認爲它們太重要了......