Запуск и завершение действий в пределах блока C Function

В этом примере показано, как использовать блок C Function для интеграции устаревших функций C, которые имеют начало и прекращают действия.

В этом примере унаследованные функции C определены в fault.h, и реализован в fault.c.

Чтобы включить вызов функций C из блока C Function, в модели укажите файл заголовка и исходный файл в панели Параметры конфигурации > Цель симуляции. Эта модель открывает файл журнала, записывает в него данные, а затем закрывает файл журнала. The openLogFile вызывается функция в разделе Start Code и closeLogFile функция вызывается в разделе Terminate Code блока C Function. В разделе Выходной код, incAndLogFaultCounter вызывается функция. Прототипом унаследованных функций являются:

  • void* openLogFile()

  • closeLogFile(void* fid)

  • incAndLogFaultCounter(void *fid, unsigned int counter, double time)

где, void *fid - указатель на файл, unsigned int counter - счетчик отказа, и double time указывает время.

В этом примере порты блока C Function сконфигурированы следующим образом:

  • Указатель на файл возвращен пользователем openLogFile функция и счетчик отказа являются постоянными символами блока C Function.

  • Вход блока C Function сопоставлен со временем.

model = 'slexCFunctionStartTerm';
open_system(model);
sim(model);
slcc('clearCustomCodeModules');