Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Mehrere kleine Problemchen

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:  Mehrere kleine Problemchen (1148 mal gelesen)
julez
Mitglied
Student


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

Beiträge: 29
Registriert: 14.05.2007

erstellt am: 24. Sep. 2007 14:35    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

So, ich mal wieder  

habe das Gefühl, dass jedes Problem, was ich (unter anderem dank Eurer Hilfe) löse, zwei neue mit sich zieht...

1.

BEs erzeugen: bei meiner Simulation arbeiten Sägen auf mehrere Förderbänder, erzeugen dabei neue BEs und vernichten die alten (um das Teilen in mehrere Stücke darzustellen). Das Problem: BEs werden immer an der möglichst letzten Position auf dem Förderband erzeugt. Will man das umgehen, kann man eine bestimmte Position angeben ( Beispiel: ...Fördergut.erzeugen(StationX, POSITION) ). Gibt man nun aber die Position 0 an (um es am Anfang zu erzeugen), sagt mir die Simulation, dass nicht genug Platz auf dem Förderband ist, bzw. ignoriert diese Anweisung völlig.

Klar, logisch, ein 10m langes Rohr würde z.B. 5m (beim Buchungspunkt in der Mitte) aus dem Eingang herausragen, wenn man es an die Position 0 schickt. Das ist doch aber auch gewollt und stört die Simulation, wenn man eine ganz normale Verkettung der Stationen machen würde und nicht eine neue BE erzeugt, sondern die alte weiterschickt, auch nicht.

Eventuell liegts ja auch daran, dass die alte BE erst vernichtet wird, wenn die neue erzeugt ist, und die Simulation sagt "die alte ist ja noch in der Säge, also kann die neue BE nicht aus dem Förderband in die Säge reinragen", was ja auch verständlich wäre. Aber wie umgehe ich dieses Problem?

2.

Ich habe durch diese Sägegeschichte mehrere Methoden am laufen. Um darzustellen, dass die Säge erst wieder frei ist, wenn beide Endprodukte abtransportiert sind, wird die "ausgangs-BE" (also die, die im Grunde zweimal auf den Nachfolgern erzeugt wird, und anschließend vernichtet wird), erst dann gelöscht, wenn die Endprodukte den Nachfolger verlassen habe bzw. an einer bestimmten Position des Förderbandes angekommen sind.

Dazu habe ich am Ende der Sägemethode eine Schleife gebaut:

repeat
if VerbindungFörderstrecke1.leer then
@.deleteobject;
else
wait 2
end;
until Verbindungförderstrecke1.leer;

Das heißt, die Methode wartet solange, bis das Förderband leer ist, und löscht dann die in der Säge enthaltene BE. Die Ausgangssteuerung des Förderbands ist wiederum dessen Nachfolgern abhängig, hier kann es auch von Zeit zu Zeit zu einem Stau kommen, auch hier gibt es in der Ausgangssteuerung wieder eine ähnliche Schleife, die solange wartet, bis ein Nachfolger frei wird, und dann den Inhalt umlagert.

Problem: trifft dieser Fall einmal zu (dass das Förderband in die Warteschleife geht und darauf wartet, bis ein Nachfolger frei wird), „vergisst“ Plant Simulation plötzlich die oben genannte Methode. Sprich, die BE bleibt nun für immer in der Säge und blockiert diese bis zum Ende des Simulationsdurchlaufs.

Ich habe im Allgemeinen das Gefühl, dass niemals zwei Methoden gleichzeitig laufen können. Ähnlich wie beim oben genannten Beispiel „vergisst“ Plant ganz plötzlich nach ca. 16.000 gesägten Stücken, einem einzelnen Rohr einen Namen zu verpassen. Geht man den Debugger durch (in der Codezeile mit F9 einen Haltepunkt setzen, dann mit F11 Einzelschritte durchgehen), sieht man auch ganz deutlich, dass Em-Plant, falls irgendwo anders in der Simulation eine BE eine andere Methode aktiviert, plötzlich die betrachtete Methode abbricht, eine eventuelle Warteschleife, in der sich eine Station grade befinden, einfach abgebrochen wird, und in die andere Methode springt. Dadurch wird dann ganz plötzlich, wie oben beschrieben, ein Stau erzeugt weil diese BE in der Säge vergessen wird.

Was kann ich dagegen tun?

3.

BEs an eine beliebigen Stelle von einem Förderband abgreifen und umlagern.

Kleiner Auszug aus meiner Förderbandkonfiguration:

Förderband1, dahinter geschaltet Förderband2, parallel zu Förderband1 Förderband3 und Förderband4.

Die Steuerung funktioniert jetzt so, dass zuerst geprüft wird, on Förderband2 frei ist, wenn nicht wird die BE entweder auf Förderband3 oder Förderband4 umgelagert. Da es sich bei den BEs um 10-40m lange Rohre handelt, werden die parallelen Umlagerungen aber nicht erst am Ende von Förderband1 durchgeführt, sondern in der Mitte (die Förderbänder sind jeweils ca. 50m lang). Damit ists ja keine reine Ausgangssteuerung mehr, sondern eigentlich eine Steuerung in etwa der Mitte des Förderbands. Wie mache ich das?

Also noch mal einfacher erklärt sollen die „Pakete“, die in der Animation durchlaufen, falls Sie quer auf ein paralleles Förderband  gelagert werden solle, nicht vom Ende des Förderband1 auf den Anfang des Förderband3 (oder4) geschoben werden, sondern von der Mitte vom Förderband1 auf die Mitte des Förderband3.


Uff, ganz schön lang geworden.

Danke schonmal an Die, die sich das bis hierhin durchgelesen haben  


Gruß, Julez

[Diese Nachricht wurde von julez am 24. Sep. 2007 editiert.]

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

julez
Mitglied
Student


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

Beiträge: 29
Registriert: 14.05.2007

erstellt am: 28. Sep. 2007 13:52    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

Die meisten Probleme haben sich von alleine gelöst:

Dass ein BE nicht direkt am Anfang erzeugt wird lag eher an der grafischen Darstellung: ich hatte den Buchungspunkt an die falsche Stelle gesetzt, und so sah es dann so aus, als würden die BEs nicht am Anfang des Bandes sitzen.

Desweiteren habe ich jetzt das Problem umgangen, dass zwei Methoden gleichzeitig aufgerufen werden -  habe eine Art Kontrollfunktion eingebaut, die das BE spätestens löscht, wenn der Nachfolger einen bestimmten Punkt im Netzwerk passiert. Falls nun einmal vergessen wird, die Funktion wieder aufzurufen (nachdem eine andere Funktion gestartet wurde) wird das BE trotzdem gelöscht.

Bleibt noch die Frage, wie ich BEs aus der Mitte einer Förderstrecke entnehmen kann. Umlagern auf die Mitte einer anderen Strecke  funktioniert jetzt (dadurch, dass ich den Grafikfehler entdeckt habe), aber ich weiß immer noch nicht, wie man die Ausgangssteuerung quasi schon in der Mitte der Förderstrecke startet.

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: 28. Sep. 2007 16:24    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 julez 10 Unities + Antwort hilfreich

Hallo julez,

setz Dir einen Sensor an die entsprechende Stelle und weise dem die Ausgangssteuerung zu. Das sollte tun.

Gruß,
Ortrun

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



Leitender Projektingenieur Technisches Büro (m/w/d)
T...
Anzeige ansehenTeamleitung, Gruppenleitung
julez
Mitglied
Student


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

Beiträge: 29
Registriert: 14.05.2007

erstellt am: 04. Okt. 2007 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

Ah super, das isses.

Danke und schönen Gruß

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