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

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

Блок 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 = '10.10.10.35';
set_param([mdl,'/TCP Server'],'serverAddress',targetIP);
rtwbuild(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 variables have changed.  

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

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

if (mdlOpen)
  bdclose(mdl);
end

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

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

t = tcpip(targetIP,5027);
t.BytesAvailableFcnMode = 'byte';
t.BytesAvailableFcnCount = 16;
fopen(t);

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

start(tg);
pause(3);

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

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

while (strcmp(t.Status,'open'))
   data = fread(t,16);
   fwrite(t,data);
end

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

stop(tg);

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

fclose(t);
delete(t);
clear t;

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

Simulink.sdi.view();

Для просмотра документации необходимо авторизоваться на сайте