Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Work in Progress vor Einzelstation

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:  Work in Progress vor Einzelstation (2594 mal gelesen)
Schippo
Mitglied



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

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 11. Sep. 2013 09: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

Hallo liebe Community,

im Rahmen meiner Master-Thesis muss ich bzw. darf ich eine Montagelinie im PlantSim abbilden.
Ich möchte die DLZ eines spezifischen Teils der Fertigungslinie messen und wie diese sich verhält, über den Zeitraum eines Jahres.

Nun zum Problem:

Da in die erwähnte Linie noch weitere Teile eingeschleust werden und dies nur in spezifische Einzelstationen des Prozesses, möchte ich den Work in Progress vor den Stationen bestimmen (Gesamte Rüstzeit der Aufträge plus Bearbeitungszeit). Die Produkte die in die Maschinen aus anderen Prozessen eingeschleust werden, werden in Losen gefertigt. Wie mach ich dies nun am geschicktesten???

Ich würde nun Puffer vor den betrachteten Maschinen einbauen in welche Teile aus meiner Hauptquelle sowie weiteren Quellen miteinlaufen. Diese Puffer würde ich nun gerne auslesen. Der Puffer darf jedoch keine Begrenzung haben, dies ist in der Realität nämlich auch nicht der Fall.

Über Tipps würde ich mich freuen.

Beste Grüße
Schippo

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. Sep. 2013 10:21    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 Schippo 10 Unities + Antwort hilfreich

Die BEs sammeln entsprechende Statistiken von sich aus.
Sehen Sie in den Fördergütern unter statProdArbeitsAnteil, statProdRüstAnteil.

Lose können Sie zum Beispiel mit benutzerdefinierten Attributen definieren.

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

Schippo
Mitglied



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

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 01. Okt. 2013 08: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

Hallo Bon Simul,

ich hätte da nochmals eine Frage bezüglich der Auslesung des Arbeitsvorrats in einem Puffer. Ich habe anhand eines kleinen Beispiels mit zwei BEs dieses Vorhaben programmiert, siehe Anhang. Ich tue mich allerdings nun damit schwer, dies für mehrere BEs zu verallgemeinern. Da sich in meinem Puffer durchschnittlich bis zu 50 Komponenten sammeln können, wäre es nur sehr mühsam diese Typen alle in die Methode zu packen.. Ich will aus dem Puffer einfach zu jedem Zeitpunkt der Simulation auslesen können, wie groß der Arbeitsvorrat in diesem Ist (Bearbeitungs- + Rüstzeit der jeweiligen BES aufsummiert..) Diese Daten sind wiederum in Tabellen hinterlegt aus denen gezogen wird. Die Methode Berechnung Bearbeitungszeit habe ich an die Eingangssteuerung des Puffers und der Einzelstation gelegt.

Wie bekomm ich mein Problem nun gelösst?
Gibt es vielleicht eine besseren Programmiercode?

Vielen Dank für die Hilfe!

Schippo

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

Schippo
Mitglied



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

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 01. Okt. 2013 09: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


Netzwerk.PNG


Methode.PNG

 
.. Bilder sollte man halt schon noch anhängen...

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: 01. Okt. 2013 17: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 Nur für Schippo 10 Unities + Antwort hilfreich

Sie könnten eine Tabelle (stat_tabelle) mit Zeilen-Index zum Zählen /Rechnen verwenden. Tragen Sie in den Zeilen-Index (Spalte 0) alle Teile-Namen ein. Die Namen können Sie dann als Teil der Adresse in der Tabelle verwenden (Zeile).
Ein einfaches Zählen könnte dann wie folgt aussehen:
Code:

stat_tabelle.löschen;
for i:=1 to puffer.anzahlBEs loop
stat_tabelle[1,@.name]:=stat_tabelle[1,@.name]+1;
next;


Analog können Sie auch die Bearbeitungs- und Rüstzeiten aufaddieren.

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

Schippo
Mitglied



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

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 17. Okt. 2013 21: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


Model.PNG


Methode_Auslesen.PNG


HK_Tabelle.PNG

 
Hallo, Bon Simul,

okay, das mit dem WIP übertragen hat geklappt. Also ich habe eine zentrale Tabelle, welche ich zum zählen verwende.

Ich hab es geschafft aus der Tabelle (stat_Tabelle) die gesamten Rüst-und Bearbeitungszeiten welche sich aufgrund der Aufträge im Puffer ergeben aufzuaddieren. Das funktioniert soweit auch. Für das Auswerten des Puffers verwende ich einen Generator welche die Methode alle 15 Stunden auslößt.

Jetzt habe ich mir gedacht, ich könnte dem WIP sogar noch einen Betrag in Euro zuordnen. Hierfür habe ich eine neue Tabelle angelegt (HK), in dieser befinden sich die Kosten, z.B. 1,10 Euro (habe den Eurowert als Datentyp Real hinterlegt).

Ich schaffe es nun allerdings nicht, nach dem selben Prinzip wie schon bei den Beständen, diese je nach BE-Typ aufaddiert anzeigen zu lassen. (in der Tabelle WIP hab ich in der dritten Spalte auch den Datentyp REal hinterlegt). Ich bekomme die Schleife nicht hin, welche nun ja nicht nur von b:=2 to 3 loop geht, sondern jetzt noch erweitern müsste. Oder brauche ich nochmals eine neue Schleife, bzw. kann ich diese irgendwie in die MEthode noch integrieren.

Wie könnte die Schleife aussehen,habs versucht, bekomm als Zahlenwert in der TAbelle WIP jedoch extrem hohe werte raus 223654 z.B., dass kann ja nicht stimmen.

BEste Grüße Schippo

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

Schippo
Mitglied



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

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 17. Okt. 2013 21: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

Schippo
Mitglied



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

Beiträge: 17
Registriert: 11.09.2013

erstellt am: 17. Okt. 2013 22: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

... schon erledigt, hatte einen Hänger 

is
i,j:integer;
do
Puffer.AusgangGesperrt:=true;
Puffer.EingangGesperrt:=true;
stat_tabelle.löschen;

for local n := 1 to Rüsten.yDim loop
stat_tabelle[2,Rüsten[1,n]]:=Rüsten[2,n];
next;

for local m := 1 to Bearbeiten.yDim loop
stat_tabelle[3,Bearbeiten[1,m]]:=Bearbeiten[2,m];

next;

for local s := 1 to HK.yDim loop
stat_tabelle[4,HK[1,s]]:=HK[2,s];

next;

for local s := 1 to HK.yDim loop
stat_tabelle[4,HK[1,s]]:=HK[2,s];
next;

for i:=1 to puffer.anzahlBEs loop
if puffer.be(i)/=void then
stat_tabelle[1,puffer.be(i).name]:=stat_tabelle[1,puffer.be(i).name]+1;
end;
next;
j:=wip.yDim+1;


for local a:=1 to stat_tabelle.yDim loop
wip[1,j]:=wip[1,j]+stat_tabelle[1,a];
for local b:=2 to 3 loop
wip[2,j]:=wip[2,j]+
stat_tabelle[1,a]*stat_tabelle[b,a];
next;
for local c:=4 to 4 Loop
wip[3,j]:=wip[3,j]+
stat_tabelle[1,a]*stat_tabelle[c,a];
next;
next;

Puffer.AusgangGesperrt:=false;
Puffer.EingangGesperrt:=false;

end;

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