Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Eintaktung automatisch möglich?

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:  Eintaktung automatisch möglich? (3370 mal gelesen)
sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 11. Mrz. 2013 10:07    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

Ich habe nochmal eine prinzipielle Frage zu Plant Simulation.
Ist es möglich eine Art "Eintaktung" mit Plant Simulation zu machen? Das heißt ich hab z.B. 10 Vorgänge mit jeweils verschiedenen Bearbeitungszeiten. Außerdem hab ich für jeden Vorgang Beziehungen zu den anderen (z.B. Vorgang 4 muss vor Vorgang 5, kann aber auch nach Vorgang 6 bearbeitet werden).
Außerdem habe ich eine feste Taktzeit. Ist es möglich, dass das Programm mir dann die optimale Zuordnung der Vorgänge zu den Stationen ausgibt? (Z.B. Vorgang 1 und Vorgang 3 an Station 1; Vorgang 2 an Station 2 usw.)

Vielen Dank mal wieder für eure Hilfe!!

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

Bon Simul
Mitglied
Simulant


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

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 11. Mrz. 2013 22:16    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 sp13 10 Unities + Antwort hilfreich

Die Erstellung eines Modells zur Abbildung Ihres Falls sollte ohne Probleme möglich sein.

Eine zweite Aufgabe wäre dann, geeignete Experimente einzurichten, um Ihre Fragestellungen zu beantworten. Zum Beispiel was verstehen Sie unter "optimal"? Versuchen Sie es mathematisch zu beschreiben, damit ergibt sich in der Regel schon die Hälfte des Experiment-Aufbaus.

--> Beispielmodellsammlung --> Tools und Optimierung --> Genetische Algorithmen

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 12. Mrz. 2013 07:42    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

Mit optimal meine ich, dass alle Montagestationen, wenn möglich, die ganze Taktzeit ausgelastet sind.

Hier ein Beispiel:
Vorgang 1; Dauer 10 sec; muss vor allen anderen Vorgängen sein
Vorgang 2; Dauer 20 sec; muss vor 3 kann vor 4 sein
Vorgang 3; Dauer 30 sec; muss nach 1 und vor 5 sein
Vorgang 4; Dauer 8 sec; muss nach 3 und vor 5 sein usw.

Meine Taktzeit soll 30 sec sein.

Die Vorgänge sollen jetzt möglichst optimal (unter Berücksichtigung der Restriktionen) auf Stationen verteilt werden, dass jede Station möglichst wenig Stillzeit hat.

War das einigermaßen verständlich?
Ich habe mir schon gedacht, dass ich das mit dem GAAssistent lösen muss. Aber eine gute Idee / Ansatz, wie ich das machen soll, habe ich nicht. Kann mir jemand weiterhelfen?

DANKE!!! :-)

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 12. Mrz. 2013 11:07    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


Tab_Beziehungen.PNG

 
Ich habe aus Verzweiflung jetzt mal noch eine Tabelle mit 10 Vorgängen erstellt.
In Spalte zwei sind von mir ausgedachte Bearbeitungszeiten für jeden Vorgang.
Eine "1" als Eintrag heißt, dass der Vorgang in der Zeile vor dem Vorgang in der Spalte erfolgen muss.
Eine "o" als Eintrag heißt, dass der Vorgang in der Zeile vor dem Vorgang in der Spalte erfolgen kann.

Ich habe keine Ahnung, ob die Tabelle sinnvoll ist für meine Problemlösung. Aber es ist ein Versuch =)

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 14. Mrz. 2013 18:30    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 zusammen,
mein vorhergehendes Problem habe ich mittlerweile anderst gelöst. Jetzt stehe ich vor einem neuen Problem und würde mich freuen, wenn mir jemand weiterhelfen kann.

Ich habe folgende Methode als Ausgangssteuerung eines Puffers:

is
Zeit : time;
Taktzeit : time;
do
-- Bearbeitungszeiten addieren
if @.name="Variante1" then
Zeit := TabelleZeitenProzess1["Zeit",1]+
TabelleZeitenProzess2["Zeit",1]+
TabelleZeitenProzess3["Zeit",1]+
TabelleZeitenProzess4["Zeit",1]+
TabelleZeitenProzess5["Zeit",1];
  print Zeit;
elseif @.name="Variante2" then
Zeit := TabelleZeitenProzess1["Zeit",2]+
TabelleZeitenProzess2["Zeit",2]+
TabelleZeitenProzess3["Zeit",2]+
TabelleZeitenProzess4["Zeit",2]+
TabelleZeitenProzess5["Zeit",2];
      print Zeit;
elseif @.name="Variante3" then
Zeit := TabelleZeitenProzess1["Zeit",3]+
TabelleZeitenProzess2["Zeit",3]+
TabelleZeitenProzess3["Zeit",3]+
TabelleZeitenProzess4["Zeit",3]+
TabelleZeitenProzess5["Zeit",3];
  print Zeit;
end;
-- Vergleich mit Taktzeit
Taktzeit := 1800;
if Taktzeit < Zeit then
print "Montagezeit ist größer als Taktzeit.";
else
print "Montagezeit ist kleiner als Taktzeit.";
end;
end;

Die funktioniert auch soweit fehlerfrei und die Daten werden auch richtig in der Konsole ausgegeben. Mein einziges Problem ist, dass die Simulation nach Ablauf dieser Methode stoppt. Ist das normal, wenn man sich was in der Konsole ausgeben lässt?
Wie kann ich dafür sorgen, dass die Simulation anschließend weiterläuft?

Vielen Dank mal wieder für eure Hilfe!!! 

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

Bon Simul
Mitglied
Simulant


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

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 14. Mrz. 2013 19:27    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 sp13 10 Unities + Antwort hilfreich

Wenn Sie eine Ausgangssteuerung verwenden, wird nicht mehr automatisch umgelagert. Sie müssten das Umlagern selbst anstoßen: vor dem letzten end; fügen Sie dazu

Code:

@.umlagern;



ein.

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 15. Mrz. 2013 08:37    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

@Bon Simul: Vielen, vielen Dank für deine schnelle und gute Hilfe!! Das Forum ist einfach top  

Zwei (hoffentlich letzte Fragen) habe ich allerdings noch:
1) Kann man Netzwerke, die man aufgebaut hat, als neuen Baustein abspeichern und somit anderen Kollegen zur Verfügung stellen?

2) Ich habe in meinem Obernetzwerk eine Methode, die in eine Tabelle im Subnetzwerk Werte reinkopieren soll. Ist das generell möglich? Im Moment funktioniert das bei mir leider nicht, obwohl ich den kompletten Pfad der Tabelle angebe.

Wie immer vielen Dank für die Hilfe!!

[Diese Nachricht wurde von sp13 am 15. Mrz. 2013 editiert.]

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

Bon Simul
Mitglied
Simulant


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

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 15. Mrz. 2013 11:41    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 sp13 10 Unities + Antwort hilfreich

Zitat:

1) Kann man Netzwerke, die man aufgebaut hat, als neuen Baustein abspeichern und somit anderen Kollegen zur Verfügung stellen?

in der Klassenbibliothek --> Kontextmenü (rechte Maustaste auf dem Netzwerk) --> Objekt speichern unter

Zitat:

2) Ich habe in meinem Obernetzwerk eine Methode, die in eine Tabelle im Subnetzwerk Werte reinkopieren soll. Ist das generell möglich? Im Moment funktioniert das bei mir leider nicht, obwohl ich den kompletten Pfad der Tabelle angebe.

Das sollte prinzipiell gehen (am Einfachsten mit kopiereBereichNach), die Zieltabelle muss dann allerdings die selbe Formatierung haben, wie die Ausgangstabelle haben.

Wie kopieren Sie denn die Werte?

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 15. Mrz. 2013 16:59    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

Ich habe die Methode mittlerweile fertig und sie funktioniert auch.

Hier ein Auszug:
----------------
Kartei := TabelleBearbeitungszeiten.kopieren({3,4}..{3,6});
.neuTest.Montagestation_ges1.TabelleZeitenProzess2.einfügeListe(2,1,kartei.kopieren({1,1}..{1,3}));
----------------

Wahrscheinlich wäre die Lösung mit "kopiereBereichNach" schöner. Werde das gleich mal noch ausprobieren. :-)

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 19. Mrz. 2013 10: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


Vorrangmatrix.JPG

 
Ich muss euch leider doch nochmal mit meinen Fragen nerven, da sich mein Problem doch noch nicht gelöst hat.
Ich habe hier eine Vorrangmatrix, aus der automatisch (mit dem GAAssistenten?!) eine richtige Reihenfolge der Vorgänge generiert werden soll.
Meine Matrix seht ihr im Anhang.
Hier die Erklärung der Einträge:
1: Vi muss Vj vorausgehen
0: Reihenfolge von Vi und Vj ist egal
-1: Ausführung von Vi vor Vj ist unmöglich

(Die Lösung wäre in diesem Fall: V1, V2, V4, V3, V5.)

Gibt es eine Möglichkeit (erstmal ohne Berücksichtigung der Bearbeitungszeiten) sich eine (oder auch alle) möglichen Reihenfolgen ausgeben zu lassen?

Ein rießiges Dankeschön jetzt schon mal 

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

sp13
Mitglied



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

Beiträge: 15
Registriert: 25.02.2013

erstellt am: 20. Mrz. 2013 12:00    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 niemand weiterhelfen? Oder ist das, was ich möchte, gar nicht möglich?

Grüße :-)

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