WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zähler

 

Evolution

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 00:13     Titel: Zähler
  Antworten mit Zitat      
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

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.05.09
Wohnort: Zürich
Version: R2006a
     Beitrag Verfasst am: 20.06.2009, 09:11     Titel:
  Antworten mit Zitat      
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

Zähler.jpg
 Beschreibung:

Download
 Dateiname:  Zähler.jpg
 Dateigröße:  33.58 KB
 Heruntergeladen:  775 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Evolution

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 09:55     Titel:
  Antworten mit Zitat      
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 Smile

Vielen Dank
 
Evolution

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 10:01     Titel:
  Antworten mit Zitat      
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

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.05.09
Wohnort: Zürich
Version: R2006a
     Beitrag Verfasst am: 20.06.2009, 10:12     Titel:
  Antworten mit Zitat      
Die Pfeile passen nicht zueinander? Hört sich gut an. Von der Farbe her? Wink

Ich denke dein Aufbau sollte wie folgt aussehen (Anhang). Beschreib das mit den Pfeilen genauer oder mach einen Screenshot.

Aufbau der Schaltung.jpg
 Beschreibung:

Download
 Dateiname:  Aufbau der Schaltung.jpg
 Dateigröße:  10.3 KB
 Heruntergeladen:  664 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Evolution

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 10:41     Titel:
  Antworten mit Zitat      
hehe, ne die Spitze hat nicht in den Schwanz gebissen. Aber habs nun hinbekommen.

Allerdings passiert noch nichts Smile

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.

TEST.JPG
 Beschreibung:

Download
 Dateiname:  TEST.JPG
 Dateigröße:  29.39 KB
 Heruntergeladen:  646 mal
 
Volker81k
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.05.09
Wohnort: Zürich
Version: R2006a
     Beitrag Verfasst am: 20.06.2009, 10:58     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Evolution

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 11:04     Titel:
  Antworten mit Zitat      
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 Sad

Grüße
 
Evoltion

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 11:06     Titel:
  Antworten mit Zitat      
sorry, ich glaub ich muss nochmal ins Bett.
Geht auch ohne den Vergleich mit AND und OR. Du hast Recht

Smile
Jetzt hab ich nur noch das Problem, dass der Wert bzw Vergleich mit 0.8 nicht funktioniert
 
Volker81k
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.05.09
Wohnort: Zürich
Version: R2006a
     Beitrag Verfasst am: 20.06.2009, 11:28     Titel:
  Antworten mit Zitat      
Ich weiss was du meinst. Ne mütze Schalf könnte ich auch gebrauchen Smile.

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?).
Private Nachricht senden Benutzer-Profile anzeigen
 
Evolution

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2009, 11:35     Titel:
  Antworten mit Zitat      
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: ---
     Beitrag Verfasst am: 20.06.2009, 11:41     Titel:
  Antworten mit Zitat      
Juhuu, habs jetzt hinbekommen Smile))))

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

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 12.05.09
Wohnort: Zürich
Version: R2006a
     Beitrag Verfasst am: 20.06.2009, 11:56     Titel:
  Antworten mit Zitat      
Schön zu hören. Dir auch ein schönes WE!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.