| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Motion: mit IF einen Antrieb einschalten (anfahren) (2004 mal gelesen)
|
uger Mitglied CADler & Kinematiker
Beiträge: 1115 Registriert: 25.02.2003 NX2015 WIN10 64Bit
|
erstellt am: 07. Jan. 2013 08:43 <-- editieren / zitieren --> Unities abgeben:
Motion: mit IF einen Antrieb einschalten... ist nicht schwer. Ich habe z.Z. das so gelöst: Ein Antrieb bewegt einen Block. Über einen Sensor wird dessen Y-Wert abgefragt. Hat der Block einen bestimmten Punkt (über den Sensor ermittelt) erreicht dann soll der Antrieb abgeschaltet werden. Im Antrieb des Blocks habe ich für dessen Geschwindigkeit die IF-Funktion ein- gebaut: IF( Se002*(-1)+20: 100, 100, 0) Ist diese Bedingung erfüllt dann läuft der Antrieb mit 100mm/s, andern falls mit 0mm/s. Jetzt mein Problem: Das ein- bzw. ausschalten des Antriebes erfolgt schlagartig. Ich möchte aber, dass der Antrieb über eine Rampe (oder eine andere Funktion oder Wertetabelle) herunterfährt oder anfährt. Wie kann ich diese Anfahrfunktion über die IF-Anweisung ein(aus)schalten? uger
------------------ Deine Wahrnehmung bestimmt deine Realität! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 07. Jan. 2013 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für uger
>>...eine Rampe (oder eine andere Funktion oder Wertetabelle) ... Verwende statt eines Wertes einen Ausdruck und definiere den Ausdruck entsprechend im Ausdruckseditor. ------------------ Rainer Schulze Das muss natürlich nicht "Ausdruck" heissen, sondern "Funktion". Entschuldigung. [Diese Nachricht wurde von Rainer Schulze am 07. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
uger Mitglied CADler & Kinematiker
Beiträge: 1115 Registriert: 25.02.2003 NX2015 WIN10 64Bit
|
erstellt am: 08. Jan. 2013 09:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Rainer, genau da liegt mein Problem: Wie? OK, ich könnte an Stelle der 100 in meiner IF-Funktion z.B. eine STEP-Funktion schreiben (oder eine Funktion aufrufen die eine STEP enthält?). IF( Se002: 0, 0, STEP(.....)) oder IF( Se002: 0, 0, MeineFunk) und MeineFunk enthält STEP(....) Jetzt mein Problem: In der STEP-Funktion wird als erstes Argument meist die ZEIT angegeben. z.B. STEP(time,1,0,2,1). Damit ist die absolute Zeit seit Beginn der Simulation gemeint. Ich will dort aber die Zeit seit Beginn der IF-Bedingung haben. Wie bekomme ich das hin? Muss ich da mit Zeiten rechnen (oder kann ich statt "time" in der STEP-Funktion was anderes angeben, z.B. einen Weg?) Ein Beispiel wäre gut. uger ------------------ Deine Wahrnehmung bestimmt deine Realität! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 08. Jan. 2013 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für uger
>>Damit ist die absolute Zeit seit Beginn der Simulation gemeint. Ich will dort aber die Zeit seit Beginn der IF-Bedingung haben. Wie bekomme ich das hin? Ja, genau da liegt der Hase im Pfeffer. Die vielen Studenten, die sich jetzt in den Foren tummeln, hätten wohl noch ein paar Tage gebraucht, um das Problem auf den Punkt zu bringen. Eine allgemein gültige Lösung kann ich Dir nicht anbieten. Aber wenn Du nicht gerade eine Parameterstudie mit vielen unterschiedlichen Randbedingungen durchführen willst, würde ich den Zeitpunkt des Kontakts bzw. des Sensor-Kriteriums ermitteln und die Funktion entsprechend anpassen. Und wenn es mir nicht um das Realzeitverhalten geht, sondern nur um die Bstimmung von Kräften und Momenten, stelle ich auch die Frage, ob das Modell ein verspätetes Abschalten des Antriebs (zeitliche Ungenauigkeit) erlaubt. Es ist halt die Frage, ob es da gegenseitige Abhängigkeiten bei mehrfachen Antrieben gibt. Da ich Dein Modell nicht kenne, weiß ich nicht, ob die Alternative in Frage kommt: Unterteile den Ablauf in mehrere Simulationen. Es sollte möglich sein, die Endstellung von Simulation_1 als Startposition von Simulation_2 fest zu halten. ------------------ Rainer Schulze Handelt es sich um reine Kinematik oder um eine dynamische Untersuchung? [Diese Nachricht wurde von Rainer Schulze am 08. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
uger Mitglied CADler & Kinematiker
Beiträge: 1115 Registriert: 25.02.2003 NX2015 WIN10 64Bit
|
erstellt am: 09. Jan. 2013 10:28 <-- editieren / zitieren --> Unities abgeben:
Ahhh, nach einigen Experimenten habe ich es hinbekommen. Aber: nicht elegant. Das Hauptproblem ist offensichtlich dass diese Simulationen ZEITgesteuert sind, ich aber eine ERGEIGNIgesteuerte Simulation haben will. Beispiel: Ein Wagen fährt auf ein geschlossenes Tor zu. Eine Lichschranke (simuliert durch einen Sensor Se001) löst dabei den Torantrieb aus. Lösung: Ich habe mir einen Klotz erzeugt. Dieser wird mit einem Schubgelenk bewegt. Diese Schubgelenk startet mit der Geschwindigkeit 1 in dem Moment wo die Lichschranke durchfahren wird, der Sensor also den Wert annimmt der den Start des Tor-Antriebs auslöst ( also IF(Se001.....)). Da die Geschwindigkeit 1 ist ist der von diesem Klotz zurückgelegte Weg gleich (hmm, besser proportional) der seit dem Ereignis vergangenen Zeit. Messe ich also mit einem zweiten Sensor Se002 den Weg des Klotzes so kenne ich die Zeit seit dem Durchfahren der Lichschranke. Dieser zweite Sensor ist mein Bezug für die STEP-Funktion des Torantriebes: Diese sieht jetzt so aus: STEP(Se002,0,0,5,10) So klappt es. Mich interessiert aber trotzdem ob es eine elegantere Lösung gibt. ------------------ Deine Wahrnehmung bestimmt deine Realität! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
uger Mitglied CADler & Kinematiker
Beiträge: 1115 Registriert: 25.02.2003 NX2015 WIN10 64Bit
|
erstellt am: 10. Jan. 2013 09:11 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Meine Euphorie von gestern ist leider wieder etwas gedämpft worden. Mir ist es ja gelungen bei der STEP-Funktion nicht die Zeit sondern eine andere Grösse als X-Achse zu einzugeben. Was mache ich aber wenn ich keine vorgefertigte Funktion sondern eine Wertetabelle (Stichwort AFU) verwenden will? Hier kann ich nur die Zeit auf der X-Achse angeben. Frage: Wie kriege ich auf der X-Achse einer Wertetabelle eine andere Grösse (als die Zeit)? **edit1** Ich sehe gerade, dass man statt der STEP auch die AKISPL verwenden könnte. Hat jemand dazu ein Beisiel? Es scheint auf den ersten Blick so, dass ich dort einen Spline durch Punkte erzeugen lassen kann. Hier lässt sich die Grösse auf der X-Achse offenbar vorgeben. **edit1 ende** **edit2** Der AKISPL steht in der Auswahlbox nicht zur Verfügung. Es handelt sich offenbar um eine Funktion die nur verfügbar ist, wenn man mit der Recurdyn-Software direkt arbeitet. Oder? **edit2 ende** (ratloser) uger ------------------ Deine Wahrnehmung bestimmt deine Realität! [Diese Nachricht wurde von uger am 10. Jan. 2013 editiert.] [Diese Nachricht wurde von uger am 10. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|