В этом примере показано, как использовать блок 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');