Симуляция генерации синусоидального шим и управление по модбас
note: - модбас не моделируется, в s-function просто передаются константы режимов. - лишние файлы убраны в outdate. - два канала одной фазы переключаются немного криво: на один такт симуляции проскакивает высокий уровень предыдущего канала и только потом включается текущий канал
This commit is contained in:
35
.gitignore
vendored
35
.gitignore
vendored
@@ -1,30 +1,7 @@
|
||||
/.vs
|
||||
/.vs/slnx.sqlite
|
||||
/.vs/tasks.vs.json
|
||||
/.vs/test/v16/.suo
|
||||
/.vs/test/v16/Browse.VC.db
|
||||
/.vs/test/v16/Browse.VC.db-shm
|
||||
/.vs/test/v16/Browse.VC.db-wal
|
||||
/.vs/test/v16/Browse.VC.opendb
|
||||
/.vs/test/v16/ipch/AutoPCH/291705294dd594cc/MAIN.ipch
|
||||
/.vs/test/v16/ipch/AutoPCH/3854b8d8fc67ea4/STM32F4XX_HAL.ipch
|
||||
/.vs/test/v16/ipch/AutoPCH/3cb8fc0ec124017c/STM32F407XX_MATLAB.ipch
|
||||
/.vs/test/v16/ipch/AutoPCH/5fbc2639f7ec2c10/STM32F407XX_MATLAB.ipch
|
||||
/.vs/test/v16/ipch/AutoPCH/c31768203856fa04/STM32F407XX_MATLAB.ipch
|
||||
/.vs/test/v16/ipch/AutoPCH/f64e8f1797b0f4bf/SETJMP.ipch
|
||||
/.vs/test/v16/.suo
|
||||
/.vs/test/v16/Browse.VC.db
|
||||
/.vs/slnx.sqlite
|
||||
/.vs/test/v16/.suo
|
||||
/.vs/VSWorkspaceState.json
|
||||
/Code/.vs/Code/v16/.suo
|
||||
/Code/.vs/Code/v16/Browse.VC.db
|
||||
/Code/.vs/ProjectSettings.json
|
||||
/Code/.vs/slnx.sqlite
|
||||
/Code/.vs/VSWorkspaceState.json
|
||||
/mcu_test_r2021a.slxc
|
||||
/MCU.mexw64
|
||||
/MCU.mexw64.pdb
|
||||
/slprj/sim/varcache/mcu_test_r2021a/checksumOfCache.mat
|
||||
/slprj/sim/varcache/mcu_test_r2021a/tmwinternal/simulink_cache.xml
|
||||
/slprj/sim/varcache/mcu_test_r2021a/varInfo.mat
|
||||
/slprj
|
||||
/Code/.vs/
|
||||
|
||||
*.slxc
|
||||
*.mexw64
|
||||
*.mexw64.pdb
|
||||
|
||||
@@ -158,10 +158,10 @@ static void mdlTerminate(SimStruct *S)
|
||||
{
|
||||
//TerminateThread(hThread, NULL);
|
||||
//CloseHandle(hThread);
|
||||
flag_to_end = 1; // выставляем флаг закончить код МК
|
||||
ResumeThread(hThread); // запускаем код мк
|
||||
WaitForSingleObject(hThread, 1000); // и ждем пока он закончиться
|
||||
SIM_deInitialize_Simulation(); // деинициализируем симуляцию
|
||||
flag_to_end = 1;
|
||||
ResumeThread(hThread);
|
||||
WaitForSingleObject(hThread, 1000);
|
||||
SIM_deInitialize_Simulation();
|
||||
mexUnlock();
|
||||
}
|
||||
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a
|
||||
|
||||
@@ -117,10 +117,11 @@ extern double SIM_Sample_Time; // sample time
|
||||
/**
|
||||
* @brief While statement for emulate MCU code in Simulink.
|
||||
* @param _expression_ - expression for while.
|
||||
* @note Äàííûé while, ðàáîòàåò êàê îáû÷íûé, ïîêà ôëàã îêîí÷àíèÿ ñèìóëÿöèè (flag_to_end)
|
||||
* ðàâåí íóëþ. Ò.å. ñèìóëÿöèÿ ïðîäîëæàåòñÿ.
|
||||
Êîãäà âðåìÿ ñèìóëÿöèè çàêîí÷èëàñü (ôëàã âûñòàâëÿåòñÿ â 1) âñå while â êîäå ÌÊ áóäóò ïðîïóñêàòüñÿ
|
||||
*
|
||||
* @note Äàííûé while, ïðè óñëîâèè, ÷òî ïðîãðàììà â íåãî âõîäèò (_expression_ != 0)
|
||||
* ñîõðàíÿåò êîíòåêñò ïðîãðàììû è óñòàíàâëèâàåò òàéìàóò (îïðåäåëåííîå êîë-âî öèêëîâ).
|
||||
* Åñëè òàéìàóò èñòåêàåò ïðîèñõîäèò ïðåðûâàíèå ïðîãðàììû. È îíà âîçâðàùàåòñÿ â îáîëî÷êó,
|
||||
* êîòîðàÿ ïåðåéäåò íà ñëåäóþùèé òàêò è ñíîâà ïîïðîáóåò ïðîéòè óñëîâèå. È òàê äàëåå
|
||||
* Òàêèì îáðàçîì ïðîãðàììà ÌÊ çàâèñíåò íà ýòîì while, íî ïåðåôèðèÿ ïðîäîëæèò ðàáîòàòü.
|
||||
*
|
||||
* @code @ref sim_while_CODE_ to see for replace while sim_while (for debug).
|
||||
*/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user