Kan man göra funktionsflöden i Simulink?

Robot, CNC, Pneumatik, Hydraulik, mm
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Kan man göra funktionsflöden i Simulink?

Inlägg av Al_Bundy »

Självklart kan man använda sig att funktioner i Simulink. Men jag har problem att programmera i Simulink precis som jag gjorde i Arduino.
Jag får det inte fungera.

Vi säger att jag har en funktion som alltid loopar. Vi kallar den för loop(). I loop finns det två funktioner, keypad() och controll(). controll() ser till så att ett objekt regleras med PID och keypad() kontrollera om tecknet '#' har skrivits in. Om det har gjort det så ska parametrarna för PID ställas in. Då ska en LCD visa vad man skriver in. Då ska nummerplattan anropas igen.

Sånt här exempel har jag svårt med. Jag kan använda mig av S-function builder för att lägga in bibliotek så jag kan använda mig av en nummerplatta och en LCD. Jag kan inte använda mig av dubbla S-function builder t.ex. keypad2 och keypad1 som har exakt samma bibliotek. Då blir det error att dessa bibliotek existerar redan. Jag kan inte heller programmera ett flöde typ om signalen u < 10 så ska keypad förstärka signalen.

Då är min fråga: Har jag missuppfattat detta med Simulink att Simulink är bara för att styra signaler och inte kontrollflöden som t.ex. klassisk C-programmering?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46931
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Kan man göra funktionsflöden i Simulink?

Inlägg av TomasL »

Har du läst manualen?
jwte
Inlägg: 60
Blev medlem: 28 oktober 2008, 16:18:12
Ort: Kista

Re: Kan man göra funktionsflöden i Simulink?

Inlägg av jwte »

Nu vet jag inte exakt vad du vill göra, men det låter som att stateflow skulle kunna hjälpa: https://www.youtube.com/watch?v=XpQ2osUE4v4

Där kan du bygga upp olika state som hanterar de olika tillfällena i ditt program. Typ gå till parametersättnings-state när "#" trycks ner.

Det går säkert att göra med block, m-code, s-functions osv. Men det låter som att du vill bygga något med olika states.

Hoppas det hjälper lite.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Kan man göra funktionsflöden i Simulink?

Inlägg av Al_Bundy »

Stateflow har jag testat. Men det resulterar inte samma sak som klassisk C-programmering.

Är det så att man har skapat ett block som har en utgång och en ingång och sedan använder man bara ingången (vi säger att blocket är en void) så blir det error.

T.ex. om man har ett Simulink Function Block och där inne är det en S-Function på en LCD. Ingången IN är av upplösningen uint8 och IN ska avgöra vad man vill göra i S-Function blocket då det finns en switch case där i. OUT är av upplösningen double.

Ibland vill man bara skriva ut något på skärmen utan att skicka ut något. Ibland vill man både skriva ut vad man har nyss knappat in och sedan skicka ut det.
Skriv svar