Цель, чтобы Компьютер разработчика связь при помощи 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();