目标:通过 TCP 实现计算机通信开发
此示例演示了如何使用 TCP 模块将数据从目标计算机发送至开发计算机上运行的 MATLAB®。此示例使用位于 IP 地址 192.168.7.5 的目标计算机。
服务器实时应用程序 slrt_ex_target_to_host_TCP 中的 TCP Send 模块将目标计算机的数据发送至开发计算机上 MATLAB 创建的 TCP/IP 对象。MATLAB m-script 将接收到的数据发送回实时应用程序。
要打开此示例,请在 MATLAB 命令行窗口中输入:
open_system('slrt_ex_target_to_host_TCP')
打开、构建和下载服务器应用程序
打开模型。
tg = slrealtime;
connect(tg);
model = 'slrt_ex_target_to_host_TCP';
open_system(model);

构建模型并下载至目标计算机
modelSTF = getSTFName(tg); set_param(model,"SystemTargetFile",modelSTF); set_param(model, 'RTWVerbose', 'off'); set_param(model, 'StopTime','10'); targetIP = '192.168.7.5'; set_param([model,'/TCP Server'],'serverAddress',targetIP); evalc('slbuild(model)'); load(tg,model);
在目标计算机上运行实时应用程序
start(tg); pause(3);
在开发计算机的 MATLAB 中创建 TCP/IP 对象
启动实时应用程序后,创建一个 TCP/IP 对象,并将该 TCP/IP 对象连接至开发计算机。
t = tcpclient(targetIP,5027);
读取数据包并发送回目标计算机
从目标计算机读取数据并写回。
tic while (toc<5) data = read(t,16); write(t,data); end
停止目标计算机上的实时应用程序
stop(tg);
关闭开发计算机上的 TCP/IP 对象
clear t;
查看目标计算机接收到的信号
Simulink.sdi.view();

关闭模型
bdclose(model);