В этом примере показано, как использовать блок C Function для интеграции унаследованных функций C, имеющих действия запуска и завершения.
В этом примере унаследованные функции C определены в fault.h, и реализовано в fault.c.
Чтобы разрешить вызов функций C из блока C Function, в модели укажите файл заголовка и исходный файл на панели Configuration Parameters > Simulation Target. Эта модель открывает файл журнала, записывает в него данные, а затем закрывает файл журнала. openLogFile вызывается в разделе Начальный код и 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 конфигурируются следующим образом:
Указатель файла, возвращенный openLogFile функция и счетчик отказов являются постоянными символами блока C Function.
Вход блока C Function отображается во времени.
model = 'slexCFunctionStartTerm'; open_system(model); sim(model); slcc('clearCustomCodeModules');
