Az s-függvények alkalmazása a szimulinkben, 2. oldal
Az S-függvények speciális lekérdezési szintaxist használnak, amely lehetővé teszi a Simulink-egyenletek megoldójával való interakciót. Ez a kölcsönhatás nagyon hasonlít a megoldók és a beépített Simulink blokkok közötti kölcsönhatásra. Az S-függvény formája nagyon általános és leírhat folyamatos, diszkrét és hibrid rendszereket.
Az S-funkciók használata a Modelleken
Az S-funkció engedélyezéséhez a Simulink modellben húzza az S-Function blokkot a Funkció és táblázatok Simulink könyvtárból a modellhez. Ezután adja meg az S-funkció nevét az S-Function párbeszédablak S-funkciómezőjében, ahogy az az alábbi ábrán látható.
1-1. Ábra: Az S-függvényblokk, a párbeszédpanel és a forrásfájl közötti kapcsolatok, amelyek meghatározzák a blokk működését
Ha az S-funkciót szeretné használni
Az S-függvények leggyakoribb használata egyedi testreszabott Simulink blokkok létrehozása. Az S-függvényeket számos alkalmazáshoz használhatja, többek között:
- Új Simulink Univerzális Egységek hozzáadása
- A hardvereszköz-illesztőprogramokat képviselő blokkok hozzáadása
- A meglévő C-kód bevonása a modellezésbe, leírva a rendszert matematikai egyenletkészleteként
- Grafikus animációk használata
Az S-függvények használatának előnye, hogy olyan univerzális blokkot állíthat be, amelyet sokszor használhat a modellben, és a paramétereket minden egyes blokk mintával megváltoztathatja.
Ebben a példában a modell az S-Function blokk két mintáját tartalmazza. A blokkok mindkét linkje ugyanazt a forrásfájlt (mysfun, amely lehet C MEX-FILE vagy M-fájl). Ha mind a C MEX fájl, mind az M-fájl ugyanazt a nevet viseli, a C MEX fájl elsőbbséget élvez és az S-függvény által használt fájl.
Az S-funkciók működése
Az S-funkciók létrehozásához tudnia kell, hogyan működnek az S-funkciók. Megérteni, hogy az S-funkciók munkája megköveteli-e a modell modellezésének módját, ez pedig megkívánja a blokkok matematikájának megértését. Ez a rész ezért a blokkbemenetek, állapotok és kimenetek közötti matematikai kapcsolatok magyarázatával kezdődik.
A Simulink blokkok matematikája
A Simulink blokk bemenetekből, államokból és kimenetekből áll, ahol a kimenetek a jellemző idő, bemenetek és blokkállapotok függvényei.
Az alábbi egyenletek fejezik ki a bemenetek, a kimenetek és az állapotok közötti matematikai kapcsolatot.
A modellezés lépései
A Simulink lépésről lépésre elvégzi a szimulációt.
Először is megkezdődik az inicializálási fázis. Ebben a szakaszban a Simulink könyvtárblokkokat tartalmaz a modellben, megszorozza a méretet, az adattípusokat, meghatározza a mintavételi időt, értékeli a blokk paramétereket, meghatározza a végrehajtás blokkrendjét, és elosztja a memóriát.
A Simulink majd a szimulációs ciklushoz folytatódik, ahol a hurokon átmenő minden egyes szimulációs lépés. Minden egyes szimulációs lépés során a Simulink végrehajtja az egyes modellblokkokat az inicializálás során megadott sorrendben. Minden egyes blokk esetében a Simulink hívja a visszahívási modell függvényeit, amelyek a blokkállapotokat, a származékokat és a kimeneteket számolják az aktuális mintavételi időhöz. Ez addig folytatódik, amíg a szimuláció befejeződik.
Az alábbi ábra szemlélteti a modellezés szakaszát.
1-2. Ábra: Hogyan működik a Simulink a szimuláció?
A visszahívási módok S-funkciói
Az S-függvény tartalmaz egy visszahívási módot az S-függvény számára. amelyek a modellezés minden egyes szakaszában megkövetelik a szükséges feladatokat. A modellszimuláció során a Simulink minden egyes szimulációs fázisban az S-f függvény minden egyes blokkjának megfelelő módszert hívja fel a modellben. Az S-függvények által végrehajtott feladatok a következők: