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

If Anweisung Simulink

 

Driss
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 07:39     Titel: If Anweisung Simulink
  Antworten mit Zitat      
Hallo Simulink Experten,

kann mir jemanden bitte helfen, wie ich die If Bedingung richtig einsetzen soll. Ich versuch mal gerade der Wert von y in Abhängigkeit von x abzulesen .

Also ich habe 2 Signale x und y, die von 135 bis 0 laufen. Mit der If Anweisung möchte ich an der Stelle wo x = 40 ist der Wert von y abfragen und wo anders benutzen.

Bitte helfen.
Private Nachricht senden Benutzer-Profile anzeigen


Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 09:24     Titel:
  Antworten mit Zitat      
Hallo Driss,

benutze einen Switch das ist einfacher.
1. Compare To Constant Block mit x als Eingang und 40 als Parametrierung
2. Bedinungungsport (2.Port) des Switches mit dem Ausgangssignal des Compare-Blocks verwenden.
3. Selbsterhaltungsschleife mit Ausgang Switch - 1/z - unterem Eingang des Switch aufbauen.
4. y mit erstem Eingang von Switch verbinden.
5. fertig.

Gruß Lord nibbler
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 09:59     Titel:
  Antworten mit Zitat      
Hallo nibbler,

erst mal danke schön für die Antwort. Ich habe es aber nicht genau verstanden. Kanst du mal bitte mehr erläutern.

Der erste Ansatz mit dem Compare Block werden die X-Werte mit 40 verglischen. dh 1 oder 0 das ist Ok. Das verbinde ich mit dem Switch Block als Bedingungsport ist auch Ok. Der erste Port vom Switch ist mit dem Y verbunden ist Ok. Aber der 3 Anstz mit der 'Selbsterhaltungsschleife mit Ausgang Switch - 1/z -' verstehe ich nicht.

Der Block hat einen Eingang und einen Ausgang!
Kanst du mir bitte erklären, wie ich somit den Wert von Y(x ==40) bekommen kann?.

Der Switch ist mit ~=0 als Bedingung gesetzt.

Danke noch mal

Gruß Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 10:12     Titel:
  Antworten mit Zitat      
Hallo Driss,

also du verbindest den ausgang des sitch mit einem 1/z-Block (auf die SampleTime -1 achten) und verbindest diesen wiederum mit dem dritten eingang des switches, wenn du jetzt den ausgang des switches mit einer abzweigung nochmal abgreifst hast du das gesuchte signal (y-wert bei x= 40)

Gruß Lord nibbler
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 10:30     Titel:
  Antworten mit Zitat      
Hallo nibbler,

wie soll bitte die Switch-Bedingung eingestellt werden, wenn ich das so auf der Reihenfolge bauen soll? und was meinst du mit abzweigung?

Gruß

Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 11:15     Titel:
  Antworten mit Zitat      
Bedingung u2~=0 ist genau richtig.
Das Signal nach dem Switch ist dann das was du suchst.
Eine Abzweigung kannst du in Simulink so erreichen Maus auf signallinie rechte Maustaste drücken, halten und dahin ziehen wo man möchte.

Gruß Lord nibbler
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 11:31     Titel:
  Antworten mit Zitat      
ja du hast recht aber leider es funktioniert in meinem Modell nicht, sonder nur wenn ich es extern ausbrobiere.
Ich glaube, dass es daran liegt, dass die X,Y Werte dynamisch sehr schnell lalufen. Oder was meinst du. Das Modell beschreibt einen Antrieb, der in den letzten 40 mm sehr schnell gebremst wird.
Gibt es da eine andere Möglichkeit.

Ich wäre sehr dankbar

Gruß

Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 12:01     Titel:
  Antworten mit Zitat      
dann solltest du dir überlegen ob eine überprüfung auf x == 40 sinnvoll ist oder nicht besser ein <=40 oder abs(x-40)<5 oder oder oder, dass must du aus der Anwendung entscheiden. Wenn dein x natürlich nie genau 40 ist dann ist die Bedingung nie wahr.

Gruß Lord nibbler
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2010, 16:19     Titel:
  Antworten mit Zitat      
Hallo nibbler,

ich danke dir sehr für die Helfe. Eine Frage noch, kann ich auch mit diesen Ansatz (x >=, <= ....) dabei der Wert von x auch abfragen.

Danke noch mal

Gruß

Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2010, 08:47     Titel:
  Antworten mit Zitat      
Hallo Driss,

natürlich kannst du in dem compare auch <= oder >= einstellen, du kannst auch kompliziertere Logiken mit mehreren Blöcken aufbauen.

Gruß Lord nibbler
 
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.