В этом примере показано, как использовать блоки 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 и соедините объект 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);
fclose(t);
delete(t);
clear t;
Simulink.sdi.view();