Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Problem mit Waituntil

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Problem mit Waituntil (3902 mal gelesen)
VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 22. Apr. 2008 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

habe nachfolgende Methode mit Waituntil Schleife. Habe jedoch das Problem, dass die Methode einfach nicht ausgeführt wird. Könnt Ihr mir weiterhelfen wo der Fehler liegt? DANKE!

is
do
-- wait until all parts are available and the assembly
-- station is free
Waituntil Pf_Magnethülse.AnzahlBEStuecke > 0
and Pf_Magnetkern.AnzahlBEStuecke > 0 prio 1;

-- create a new main part on the assembly station
.BEs.Magnet.erzeugen(Montagestation);

-- assemble all parts to the main part
Magnethülse.Inhalt.move(Montagestation.Inhalt);
Magnetkern.Inhalt.move(Montagestation.Inhalt);

-- starts method execution again
self.methcall(1);

end;

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LaBonita
Mitglied
Dipl.-Math.


Sehen Sie sich das Profil von LaBonita an!   Senden Sie eine Private Message an LaBonita  Schreiben Sie einen Gästebucheintrag für LaBonita

Beiträge: 151
Registriert: 26.07.2007

eM-Plant 7.5 bis 8.1
VB
Java
C#

erstellt am: 22. Apr. 2008 11:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für VS-Simulator 10 Unities + Antwort hilfreich

Hallo VS-Simulator,

prinzipiell sehe ich zwei Probleme, die auftreten können:

1) Initierst Du von irgendwoher den Aufruf der Methode zum ersten Mal? Ansonsten wird sie sicherlich nie ausgeführt werden. Erst nach einem ersten Aufruf ruft sich die Methode rekursiv immer wieder neu auf.

2) Wird die Bedingung der Waituntil Schleife jemals erfüllt? Ist die Bedingung nie erfüllt, wird auch der Rest der Methode nie ausgeführt.

Außerdem kann ein nicht valides move auch zu Problemem führen. Ein move wird nur dann ausgeführt, wenn das Ziel auch den Platz dafür bereit stellt. Ist das nicht der Fall, wird das Objekt nicht verschoben, es wird jedoch kein Fehler gemeldet.

Vielleicht mal prüfen und dann schauen, was geht.

Gruß,
Ortrun

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 22. Apr. 2008 12:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wie kann ich den am geschicktesten die Methode einmal zu Beginn aufrufen lassen? Trigger?

Habe diese Waituntil Schleife versucht für folgende Problematik zu nutzen. Wisst Ihr vielleicht eine besser Lösung:

Ich möchte eine Montagestation programmieren bei der die Bearbeitungszeit 10min ist jedoch alle 10sek. ein Teil fertig ist, da die Montagestation mehrere Teile aufnehmen kann. Der vorgegebene Montagebaustein kann doch nur ein Teil aufnehmen oder? Habe daher gedacht eine Parallelstation zu programmieren, welche mehrere Teile aufnimmt und im Anschluss je ein neues BE erzeugt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LaBonita
Mitglied
Dipl.-Math.


Sehen Sie sich das Profil von LaBonita an!   Senden Sie eine Private Message an LaBonita  Schreiben Sie einen Gästebucheintrag für LaBonita

Beiträge: 151
Registriert: 26.07.2007

eM-Plant 7.5 bis 8.1
VB
Java
C#

erstellt am: 22. Apr. 2008 15:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für VS-Simulator 10 Unities + Antwort hilfreich

Hallo VS-Simulator,

für so etwas verwende ich i.d.R. die Init Methode.

Das Problem mit Deiner Montagestation habe ich noch nicht so ganz kappiert...
Möchtest Du:

a) parallel mehrere Teile bearbeiten, die jeweils 10 Minuten bearbeitet werden und dann weiter transportiert werden sollen? Das ist ne Parallelstation, mit entsprechend vielen Plätzen, damit alle 10 Sekunden ein Teil fertig wird.
b) aus einem Teil innerhalb von 10 Minuten alle 10 Sekunden ein neues Teil gemacht bekommen? Geht evtl. mit der Demontagestation - müßte ich mir aber auch erst im Detail anschauen.
c) parallel mehrere Teile bearbeiten, die jeweils 10 Minuten bearbeitet werden und dann zu etwas neuem werden, das dann weiter transportiert werden soll? Das ist ne Parallelstation, mit entsprechend vielen Plätzen, damit alle 10 Sekunden ein Teil fertig wird. Die Änderung würde ich vermutlich über ein Attribut und ggf. eine Änderung des Icons machen.

Hab ich mit irgendetwas Dein Problem getroffen???

Gruß,
Ortrun

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 22. Apr. 2008 15:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Deine Beschreibung c) trifft es am ehesten. Es soll so sein, dass aus zwei Puffern zwei Teile an eine Bearbeitungsstation gegeben werden. Diese werden dann 10 Minuten bearbeitet und es entsteht dann ein neues Teil. Die weitergabe der Vorteile an die Berabeitungsstation erfolgt alle 10 Sekunden. Aufgrund der parallelen Stationen kommt so bei der Bearbeitungssation alle 10 Sek ein neues Teil heraus.

Habe dies versucht mit der ganz oben beschriebenen Methode zu realisiern. Funktioniert aber nicht so ganz. Hättest du einen anderen Vorschlag?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LaBonita
Mitglied
Dipl.-Math.


Sehen Sie sich das Profil von LaBonita an!   Senden Sie eine Private Message an LaBonita  Schreiben Sie einen Gästebucheintrag für LaBonita

Beiträge: 151
Registriert: 26.07.2007

eM-Plant 7.5 bis 8.1
VB
Java
C#

erstellt am: 22. Apr. 2008 17:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für VS-Simulator 10 Unities + Antwort hilfreich

Hallo VS-Simulator,

würde es Dir helfen, die Teile vorher in einem Puffer zusammen zu führen (z.B. auf eine Palette) und dann an eine Parallelstation weiter zugeben. Dort per Austrittsmethode die Palette ggf. vernichten und ein neues Element erzeugen. Evtl. auch die Palette als neues Element verwenden und die aufgeladenen Teile dann nach dem Prozess vernichten - hier ist die Datenhaltung immer ganz wichtig. Wenn Objekt weg, dann alle damit verbundenen Informationen, die man vorher nicht gespeichert hat, auch...

Gruß,
Ortrun

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 24. Apr. 2008 12:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


screen.jpg

 
Möchte nun so vorgehen, wie im Screenshot anbei beschrieben, dass wenn in beiden Puffern Teile vorhanden sind und die Bearbeitungsstation leer ist (bzw. freie Plätze hat) soll ein Ladungsträger in der Bearbeitungsstation erzeugt werden und es soll je ein Teil aus dem Puffer darauf gelagert werden.

Habe dies auch bereits in der Methode programmiert jedoch funktioniert es nicht korrekt.

Seht ihr den Fehler?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SimMaster
Mitglied


Sehen Sie sich das Profil von SimMaster an!   Senden Sie eine Private Message an SimMaster  Schreiben Sie einen Gästebucheintrag für SimMaster

Beiträge: 2
Registriert: 24.04.2008

erstellt am: 24. Apr. 2008 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für VS-Simulator 10 Unities + Antwort hilfreich

Moin,
wo genau liegt das Problem?.
Ich finde das sieht ganz gut aus so.
Warum startest du den Methoden Aufruf noch mal?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 24. Apr. 2008 13:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Es werden die Bedingungen bei Waituntil nicht korrekt betrachtet.

Es wird bereits der Ladungsträger (Magnet_DMAX oder Magnet_MAN)erzeugt, obwohl nur in einem Puffer Teile sind und der andere leer ist.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 29. Apr. 2008 11:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

habe das ganze nochmals überprüft und es wird nun korrekt der Ladungsträger in der Bearbeitungsstation erzeugt und gleichzeitig von jedem Puffer die Teile umgelagert.

Ich hab nur noch nachfolgende Probleme:
- Nach erzeugen des Ladungsträger und des aufladens der Teile wird der ladungsträger direkt an den nachfolgenden Puffer abgegeben ohne die Bearbeitungszeit zu beachten. Wie kann ich dies ändern??

- Was kann ich tun, dass in den nachfolgenden Stationen nur noch das Icon des Ladungsträgers und nicht auch noch der beinhaltenden Teile angezeigt wird?

Vielen Dank für die tolle Unterstützung im Forum!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 06. Mai. 2008 10:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Kann mir mit den voran genannten Problemen noch jemand weiterhelfen ?

Danke!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

LaBonita
Mitglied
Dipl.-Math.


Sehen Sie sich das Profil von LaBonita an!   Senden Sie eine Private Message an LaBonita  Schreiben Sie einen Gästebucheintrag für LaBonita

Beiträge: 151
Registriert: 26.07.2007

eM-Plant 7.5 bis 8.1
VB
Java
C#

erstellt am: 07. Mai. 2008 12:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für VS-Simulator 10 Unities + Antwort hilfreich

Hallo VS-Simulator,

für den Fall, dass es noch keine Lösung gibt:

Zitat:
- Nach erzeugen des Ladungsträger und des aufladens der Teile wird der ladungsträger direkt an den nachfolgenden Puffer abgegeben ohne die Bearbeitungszeit zu beachten. Wie kann ich dies ändern??

Einen Dummy-Platz erstellen, auf dem das Teil erzeugt wird und von diesm aus umlagern (Methode move), dann wird auch die gesetzte Bearbeitungszeit beachtet.

Zitat:
- Was kann ich tun, dass in den nachfolgenden Stationen nur noch das Icon des Ladungsträgers und nicht auch noch der beinhaltenden Teile angezeigt wird?

Ein Icon erstellen, in dem es keine visuelle Verknüpfung zur Ladung (also ohne Animationspunkt) gibt und beim Verlassen der Station das Icon entsprechend setzen.

Gruß,
Ortrun

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

VS-Simulator
Mitglied
Doktorand


Sehen Sie sich das Profil von VS-Simulator an!   Senden Sie eine Private Message an VS-Simulator  Schreiben Sie einen Gästebucheintrag für VS-Simulator

Beiträge: 75
Registriert: 20.02.2008

Plant Simulation 8.2

erstellt am: 08. Mai. 2008 10:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ortrun,

vielen Dank für die super Hilfe !! Funktioniert nun einwandfrei!

Beste Grüße
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz