Цель к коммуникации компьютера разработчика при помощи TCP

В этом примере показано, как использовать блоки TCP, чтобы отправить данные от целевого компьютера до MATLAB, работающего на компьютере разработчика. Этот пример использует целевой компьютер, расположенный в IP-адресе 192.168.7.5.

Блок TCP Send в приложении реального времени сервера slrt_ex_target_to_host_TCP отправляет данные от целевого компьютера до объекта TCP/IP, который создается в MATLAB на компьютере разработчика. M-скрипт MATLAB передает полученные данные обратно в приложение реального времени.

Чтобы открыть этот пример, в командном окне MATLAB, введите:

open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_target_to_host_TCP'))

Открытый, сборка и серверное приложение загрузки

Откройте модель.

mdl = 'slrt_ex_target_to_host_TCP';
mdlOpen = 0;
systems = find_system('type', 'block_diagram');
if ~any(strcmp(mdl, systems))
    mdlOpen = 1;
    open_system(fullfile(matlabroot,'toolbox','slrealtime','examples',mdl));
end

Создайте модель и загрузку к целевому компьютеру

set_param(mdl, 'RTWVerbose', 'off');
set_param(mdl, 'StopTime','10');
targetIP = '192.168.7.5';
set_param([mdl,'/TCP Server'],'serverAddress',targetIP);
slbuild(mdl);
tg = slrealtime;
load(tg,mdl);
### Successful completion of build procedure for: slrt_ex_target_to_host_TCP
### Created MLDATX ..\slrt_ex_target_to_host_TCP.mldatx

Build Summary

Top model targets built:

Model                       Action                       Rebuild Reason                  
=========================================================================================
slrt_ex_target_to_host_TCP  Code generated and compiled  Global variable C has changed.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 28.66s

Закройте модель.

if (mdlOpen)
  bdclose(mdl);
end

Создайте Объект TCP/IP в MATLAB на Компьютере разработчика

Создайте объект TCP/IP и соедините объект TCP/IP с компьютером разработчика.

t = tcpclient(targetIP,5027);

Запустите приложение реального времени на целевом компьютере

start(tg);
pause(3);

Считайте пакеты данных и передайте обратно в целевой компьютер

Читайте из целевого компьютера и запишите обратно.

tic
while (toc<5)
   data = read(t,16);
   write(t,data);
end

Остановите приложение реального времени на целевом компьютере

stop(tg);

Закройте Объект TCP/IP на Компьютере разработчика

clear t;

Сигнал представления, полученный на целевом компьютере

Simulink.sdi.view();