|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.06.2009, 23:13
Titel: Zähler
|
|
Hallo,
wie erreiche ich in Simulink folgenden Effekt
Ich habe eine Sägezahl immer von 0,1 bis 0,9. Sobald der Wert von 0,9 zweimal erreicht wird soll das Programm abbrechen
Einen Alarm Block gibt es bereits, sobald der Wert von 0,9 erreicht wird. Allerdings soll erst beim zweiten Mal die Simulation angehalten werden,
Sprich, ich brauch eine Zähler. Gibt es sowas ? JA, aber wo und wie ?
Dann vergleiche ich diesen Zählwert mit ==2 und dann kommt mein Alarm Block
Vielen Dank
|
|
|
|
|
Volker81k |
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 12.05.09
|
|
|
|
Wohnort: Zürich
|
|
|
|
Version: R2006a
|
|
|
|
|
|
Verfasst am: 20.06.2009, 08:11
Titel:
|
|
Hallo Evolution,
einen Zähler kannst du dir mit einfachen Mitteln selbst bauen. Ich habe dir ein Bild davon angehängt.
Ein getriggertes Subsystem findest du unter "Ports & Subsystem". Wichtige Einstellungen für die Elemente im Subsystem:
- Switch: u2 ~= 0
- Memory: Inherit Sample Time: Yes
Wie du im Scope sehen kannst, wird eine positive Flanke bei t=0 nicht erkannt. Wenn du diesen Impuls mitnehmen willst, arbeite mit der negativen Flanke.
Deinen Alarm vor den Zähler und den Vergleich auf 2 dahinter, dann solltest du da sein.
Hilft dir das weiter?
Grüsse
Volker
Beschreibung: |
|
Download |
Dateiname: |
Zähler.jpg |
Dateigröße: |
33.58 KB |
Heruntergeladen: |
848 mal |
|
|
|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 08:55
Titel:
|
|
Guten Morgen Volker
vielen Dank erstmal für die Mühe und Hilfe. Sogar mit Hilfe, spitze.
Also ich habe nun ein" Triggered Subsystem" ausgewählt. In Subsystem kommt die Variable bzw Array mit den Werten. Und sobald dort die Zahl 2 drei oder viermal kommt, soll die Simulation abgebrochen werden.
Muss der Alarm nicht erst am Schluss kommen ? Sons bricht doch das System gleich ab, sobald einmal die Zahl 2 kommt.
Den Switsch usw brauch ich für meinem FAll nicht oder ?
Der Speicher macht allerdings Sinn
Vielen Dank
|
|
|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 09:01
Titel:
|
|
Okay passt, hab den Aufbau verstanden.
Das Problem ist nun, dass ich die einzelne Blöcke nicht verbinden kann. Die Pfeile passen nicht zueinander *g*
|
|
|
Volker81k |
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 12.05.09
|
|
|
|
Wohnort: Zürich
|
|
|
|
Version: R2006a
|
|
|
|
|
|
Verfasst am: 20.06.2009, 09:12
Titel:
|
|
Die Pfeile passen nicht zueinander? Hört sich gut an. Von der Farbe her?
Ich denke dein Aufbau sollte wie folgt aussehen (Anhang). Beschreib das mit den Pfeilen genauer oder mach einen Screenshot.
Beschreibung: |
|
Download |
Dateiname: |
Aufbau der Schaltung.jpg |
Dateigröße: |
10.3 KB |
Heruntergeladen: |
741 mal |
|
|
|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 09:41
Titel:
|
|
hehe, ne die Spitze hat nicht in den Schwanz gebissen. Aber habs nun hinbekommen.
Allerdings passiert noch nichts
Sieht nun so aus. Siehe Anhang
Erster Fehler. Sobald der Wert von 0.8 erreicht wird soll eine EINS weitergegeben werden. Passiert schon mal nicht.
Naja das bekomm ich auch noch hin.
Beschreibung: |
|
Download |
Dateiname: |
TEST.JPG |
Dateigröße: |
29.39 KB |
Heruntergeladen: |
699 mal |
|
|
|
Volker81k |
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 12.05.09
|
|
|
|
Wohnort: Zürich
|
|
|
|
Version: R2006a
|
|
|
|
|
|
Verfasst am: 20.06.2009, 09:58
Titel:
|
|
Das OR mit der konstanten "1" in deiner Schaltung ist immer TRUE, daher erhält dein Zähler keine positive Flanke (die erste bei t=0 wird wie gesagt nicht gewertet). Das solltest du entfernen.
Das AND macht mit der konstanten "1" auch keinen Sinn, weil so das Ergebnis nur von dem Vergleich auf "==1" abhängt. Das kann auch raus.
Dann müsste es laufen.
|
|
|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 10:04
Titel:
|
|
Ah sorry, sollte natürlich ein AND sein. Hab noch was ausprobiert.
Ne, das muss ich auf jeden Fall drin lassen, sonst gibt es Probleme mit Bool,double usw.
Okay, also das was vorne reingeht um den Wert mit 0.8 zu vergleichen erreicht zwar 0.8 , aber es wird nicht übernommen.
Mmh schade
Grüße
|
|
|
Evoltion |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 10:06
Titel:
|
|
sorry, ich glaub ich muss nochmal ins Bett.
Geht auch ohne den Vergleich mit AND und OR. Du hast Recht
Jetzt hab ich nur noch das Problem, dass der Wert bzw Vergleich mit 0.8 nicht funktioniert
|
|
|
Volker81k |
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 12.05.09
|
|
|
|
Wohnort: Zürich
|
|
|
|
Version: R2006a
|
|
|
|
|
|
Verfasst am: 20.06.2009, 10:28
Titel:
|
|
Ich weiss was du meinst. Ne mütze Schalf könnte ich auch gebrauchen .
Der Vergleich auf eine bestimmte Zahl ist bei einer variablen Solvereinstellung schwierig. Entweder kannst du da eine feste Schrittweite wählen oder du änderst den Vergleich auf >=0.8 (sollte es nicht am Anfang 0.9 sein?).
|
|
|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 10:35
Titel:
|
|
mmh schade. Mein Anfangswert ist 0.8. Es handelt sich hierbei um den SOC Wert (Ladezustand) einer Batterie, nur so am Rande.
Und um genauere Ergebnisse zu bekommen, soll die Simulation eben abgebrochen werden sobald ein Zyklus erreicht wurde. von 0.8 auf 8.4 und dann nochmal auf 0.8
Aber dieser SOC Wert ist natürlich zyklisch....
Naja, auf jeden Fall schon mal vielen vielen Dank für deine Unterstützung
|
|
|
Evolution |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.06.2009, 10:41
Titel:
|
|
Juhuu, habs jetzt hinbekommen ))))
Hab einfach ein anderes Signal genommen und einfach ein STOP Signal verwendet.
Jetzt kanns losgehn mit Simulieren
Schönes Wochenende wünsch ich dir noch
|
|
|
Volker81k |
Forum-Anfänger
|
|
Beiträge: 26
|
|
|
|
Anmeldedatum: 12.05.09
|
|
|
|
Wohnort: Zürich
|
|
|
|
Version: R2006a
|
|
|
|
|
|
Verfasst am: 20.06.2009, 10:56
Titel:
|
|
Schön zu hören. Dir auch ein schönes WE!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|