Hello World! Внешняя интеграция кода для Simulink Real-Time

В этом примере показано, как использовать блок S-Function Builder для внешней интеграции кода. Пример добавляет привет сообщение к системному журналу.

Прежде, чем запустить этот пример, установите Целевой Пакет поддержки Simulink Real-Time. Пакет поддержки включает инструменты, которые компилируют код, который работает на целевом компьютере.

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

Используйте кнопку Open Model, чтобы открыть helloworld.slx модель.

open_system('slrt_ex_helloworld_sfunbuilder');

Откройте блок s-function

Дважды кликните helloworld-sfun Блок s-function. Разработчик S-функции открывает и отображает код S-функции.

/* Includes_BEGIN */
#ifdef SIMULINK_REAL_TIME
#include "slrt_log.hpp"
#endif
/* Includes_END */
/* Externs_BEGIN */
/* extern double func(double a); */
/* Externs_END */
void helloworld_sfun_Start_wrapper(SimStruct *S)
{
/* Start_BEGIN */
/* Start_END */
}
void helloworld_sfun_Outputs_wrapper(const real_T *u0,
                                     real_T *y0,
                                     SimStruct *S)
{
/* Output_BEGIN */
// Create custom message
static char hellomsg[100];
sprintf(hellomsg,"Hello World! t=%f \n",*u0);
// Use macros for platform dependent code
#ifdef SIMULINK_REAL_TIME
slrealtime::log_info(hellomsg);
#else
ssPrintf(hellomsg);
#endif
// Generic platform independent code
*y0 = *u0;
/* Output_END */
}
void helloworld_sfun_Terminate_wrapper(SimStruct *S)
{
/* Terminate_BEGIN */
/*
 * Custom Terminate code goes here.
 */
/* Terminate_END */
}

Создайте модель и запущенное приложение реального времени

Прежде, чем создать модель, можно запустить модель на рабочем столе и просмотреть выходной сигнал в системном логарифмическом средстве просмотра Simulink Real-Time.

Когда вы готовы создать модель, на вкладке Simulink Editor Real-Time, соединиться с целевым компьютером и нажать Run on Target. Или в командном окне MATLAB введите:

tg = slrealtime;
connect(tg);
model = 'slrt_ex_helloworld_sfunbuilder';
evalc('slbuild(model)');
load(tg,model);
start(tg);
pause(20);
stop(tg);

Просмотрите сообщение в журнале состояния

Откройте журнал состояния целевого компьютера и просмотрите Hello World! сообщение. На вкладке Simulink Editor Real-Time выберите Prepare> SLRT Explorer. Затем выберите вкладку System Log Viewer. Или в командном окне MATLAB введите:

slrtLogViewer;

Средство просмотра показывает Hello World! сообщения в системном журнале.

Закройте все

bdclose('all');