|
|
Rampensignal zu beliebiger, unbekannter Zeit initialisieren |
|
Raketenmaid |
Forum-Fortgeschrittener
|
|
Beiträge: 58
|
|
|
|
Anmeldedatum: 28.09.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2013, 11:26
Titel: Rampensignal zu beliebiger, unbekannter Zeit initialisieren
|
|
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.
|
|
|
|
|
buh |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2014, 09:47
Titel:
|
|
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
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2014, 15:52
Titel:
|
|
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?
|
|
|
buh |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2014, 15:47
Titel:
|
|
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
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
Beschreibung: |
|
Download |
Dateiname: |
test_rampe.slx |
Dateigröße: |
13.31 KB |
Heruntergeladen: |
614 mal |
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2014, 17:27
Titel:
|
|
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.
|
|
|
buh |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2014, 11:04
Titel:
|
|
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
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2014, 11:32
Titel:
|
|
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.
|
|
|
buh |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2014, 15:09
Titel:
|
|
Klappt wunderbar!
Vielen Dank!!
|
|
|
buh |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2014, 16:15
Titel:
|
|
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
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2014, 16:18
Titel:
|
|
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?
|
|
|
buh |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.07.2014, 17:09
Titel:
|
|
Nein, das Zurücksetzen klappt nicht wie gewollt...
|
|
|
|
|
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 - 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.
|
|