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

Rampensignal zu beliebiger, unbekannter Zeit initialisieren

 

Raketenmaid
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 28.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.03.2013, 11:26     Titel: Rampensignal zu beliebiger, unbekannter Zeit initialisieren
  Antworten mit Zitat      
Ich würde gerne als Signalgeber eine Signalquelle der Form Rampe in mein Modell einbauen, das zu einem bestimmten, aber unbekannten Zeitpunkt initialisiert werden soll.

Irgendwann im Laufe der Simulation tritt eine Bedingung ein und genau zu diesem Zeitpunkt soll der Ramp-Signalblock anfangen, das Signal zu liefern, d.h. beginnend mit dem Wert 0 bis zum Endwert.

Leider kann man dort nur bei der Anfangszeit im Ramp-Block einen Zahlenwert eingeben (von mir aus auch über eine Variable), aber das hilft mir nicht wirklich weiter.

Meine Frage an Euch Experten:
Gibt es einen Weg, diesen Ramp-Block irgendwie so zu konfigurieren, dass er genau das macht, was ich brauche?

PS: Mir fällt sicher natürlich noch ein Weg ein, das Gleiche mit mehreren Blöcken oder mittels einer Funktion zu lösen, ich würde aber bevorzugt den schon vorhandenen Ramp.Block benutzen, wo er doch schon da ist.
Private Nachricht senden Benutzer-Profile anzeigen


buh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2014, 09:47     Titel:
  Antworten mit Zitat      
Hey Leute,

ich weiß das Thema ist schon etwas veraltet, aber ich stehe genau vor dem selben Problem:
Meine Rampe soll genau dann bei null starten, wenn eine bestimmte Bedingung eingetreten ist.

Hat jemand eine Idee?

Vielen Dank im Voraus!

Grüße
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2014, 15:52     Titel:
  Antworten mit Zitat      
Den Rampen-Block in ein enabled subsystem stecken und falls die Start-Bedingung nicht permanent erfüllt ist, noch ein Flipflop vor den Enable-Eingang basteln, an dessen Set-Eingang Deine Startbedingung liegt?
Private Nachricht senden Benutzer-Profile anzeigen
 
buh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2014, 15:47     Titel:
  Antworten mit Zitat      
Hey Epfi,

danke für den Tip mit dem enable subsystem, hätte das sonst über If-Blöcke gelöst, aber das sieht eleganter aus Wink

Jetzt hab ich nur das Problem, dass die Rampe nicht bei null startet. Ich hab mal ein Beispielmodell mit angefügt. Die Rampe im enable subsystem startet zwar zur richtigen Zeit, aber eben nicht bei null. Das wird aber für die nachfolgende Lookup Table benötigt.

Hast du da noch einen Einfall?

Grüße

test_rampe.slx
 Beschreibung:

Download
 Dateiname:  test_rampe.slx
 Dateigröße:  13.31 KB
 Heruntergeladen:  614 mal
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2014, 17:27     Titel:
  Antworten mit Zitat      
Oh, wusste nicht, dass der Rampenblock mit der absoluten Zeit rechnet, das bringt natürlich nix. In dem Fall nimm doch einfach einen constant-Block mit nachgeschaltetem Integrator. Die Steigung der Rampe stellst Du über den Wert im constant-Block ein.

Beim out-Block des Subsystems solltest Du auch noch einen initial output definieren, dann hast Du ein vernünftig definierten Zustand, bevor die Enable-Bedingung erfüllt ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
buh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2014, 11:04     Titel:
  Antworten mit Zitat      
Hi Epfi,

die Rampe durch den Integrator zu erzeugen, klappt wunderbar! Danke!
Jetzt noch meine letzte Frage: Gibt es eine Möglichkeit die Rampe immer neu starten zu lassen (bei null), wenn das enable subsystem aktiviert wird? Im Moment ist es noch so, dass die Rampe bei ihrem alten Wert beginnt weiter zu zählen.

Gruß
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2014, 11:32     Titel:
  Antworten mit Zitat      
Ja, gibt es. Der Enable-Block im Enabled Subsystem hat eine Option Show Output Port, die Du aktivierst. Diesen verbindest Du mit dem Reset-Port vom Integrator, den Du auf rising edge konfigurierst.

Wenn das nicht direkt klappt, musst Du mal den Signalverlauf des Ausgangsports vom Enable-Block angucken und den Reset-Port vom Integrator entsprechend anpassen.
Private Nachricht senden Benutzer-Profile anzeigen
 
buh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2014, 15:09     Titel:
  Antworten mit Zitat      
Klappt wunderbar!

Vielen Dank!!
 
buh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2014, 16:15     Titel:
  Antworten mit Zitat      
Sorry, muss doch nochmal nerven...

An dem Enable Ausgang liegt ab der ersten Aktivierung eine "1" an. Der Wert ändert sich trotz Deaktivierung / Neuaktivierung nicht mehr.

Hast du da noch eine Idee?

Grüße
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2014, 16:18     Titel:
  Antworten mit Zitat      
Kann es gerade nicht ausprobieren, aber es kann sein, dass er sich zwar ändert, Du das aber nicht beobachten kannst, weil Dein Scope im Enabled Subsystem auch nur läuft, wenn das Subsystem aktiviert ist. Und wenn das der Fall ist, ist der Ausgang des Enable-Blocks eben 1. Und wenn er 0 ist, zeichnet das Scope nicht auf...

Funktioniert das zurücksetzen denn?
Private Nachricht senden Benutzer-Profile anzeigen
 
buh

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2014, 17:09     Titel:
  Antworten mit Zitat      
Nein, das Zurücksetzen klappt nicht wie gewollt...
 
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.