Funcțiile S utilizează o sintaxă de interogare specială care vă permite să interacționați cu solverii din ecuațiile Simulink. Această interacțiune este foarte asemănătoare interacțiunii care are loc între solvere și blocurile încorporate în Simulink. Forma funcției S este foarte generală și poate descrie sisteme continue, discrete și hibride.
Utilizarea funcțiilor S în modele
Pentru a activa funcția S în modelul Simulink, glisați blocul S-Function din biblioteca de funcții și tabele Simulink în model. Apoi definiți numele funcției S în câmpul funcției S din caseta de dialog a blocului S-funcțional, așa cum este ilustrat în figura de mai jos.
Figura 1-1: Relațiile dintre blocul de funcții S, caseta de dialog și fișierul sursă care determină comportamentul blocului
Când doriți să utilizați funcția S
Cea mai obișnuită utilizare a funcțiilor S este de a crea blocuri personalizate Simulink. Puteți utiliza funcțiile S pentru o varietate de aplicații [inclusiv:
- Adăugarea de noi unități universale Simulink
- Adăugarea de blocuri care reprezintă drivere de dispozitive hardware
- Includerea codului C existent în modelare, descriind sistemul ca un set matematic de ecuații
- Utilizarea animațiilor grafice
Avantajul utilizării funcțiilor S este acela că puteți configura un bloc universal pe care îl puteți folosi de mai multe ori în model, schimbând parametrii cu fiecare tip de bloc.
În acest exemplu, modelul conține două eșantioane din blocul S-funcțional. Ambele link-uri ale blocurilor indică același fișier sursă (mysfun, care poate fi fie C MEX-FILE, fie fișier M). Dacă atât fișierul C MEX, cât și fișierul M există cu același nume, fișierul C MEX are prioritate și este fișierul pe care îl folosește funcția S.
Cum funcționează funcțiile S
Pentru a crea funcții S, trebuie să știți cum funcționează funcțiile S. Înțelegerea modului în care funcționarea funcțiilor S necesită, la rândul său, înțelegerea modului în care Simulink modelează modelul, iar acest lucru la rândul său necesită o înțelegere a matematicii blocurilor. Prin urmare, această secțiune începe prin explicarea relațiilor matematice dintre intrările, stările și ieșirile de bloc.
Matematica blocurilor Simulink
Blocul Simulink constă dintr-un set de intrări, un set de stări și un set de ieșiri, în care ieșirile sunt o funcție a timpului tipic, a intrărilor și a blocurilor.
Următoarele ecuații exprimă relația matematică dintre intrări, ieșiri și stări.
Etape de modelare
Simulink efectuează simularea pas cu pas.
Mai întâi, faza de inițializare continuă. În această etapă, Simulink include blocuri de bibliotecă în model, înmulțește dimensiunile, tipurile de date și determină timpul de prelevare a probelor, evaluează parametrii blocului, determină ordinea de blocare a execuției și alocă memoria.
Simulink merge apoi la ciclul de simulare, în cazul în care fiecare trece prin bucla se numește pasul de simulare. În timpul fiecărei etape de simulare, Simulink execută fiecare bloc de model în ordinea definită în timpul inițializării. Pentru fiecare bloc, Simulink apelează funcțiile modelului Callback, care calculează stările blocurilor, derivatele și ieșirile pentru timpul curent de eșantionare. Aceasta continuă până când simularea este finalizată.
Figura de mai jos ilustrează etapele de modelare.
Figura 1-2: Cum Simulink efectuează simularea.
Metodele funcțiilor S inversă
Funcția S include un set de metode de apel invers pentru funcția S. care îndeplinesc sarcinile necesare în fiecare etapă de modelare. În timpul simulării modelului, în fiecare etapă de simulare, Simulink apelează metodele corespunzătoare pentru fiecare bloc al funcției S-f din model. Sarcinile îndeplinite de metodele funcției S includ: