Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  gute Ideen für besseren Durchsatz

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:  gute Ideen für besseren Durchsatz (497 mal gelesen)
Samson53
Mitglied
Nur noch selten simulierend


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

Beiträge: 119
Registriert: 18.02.2010

Plant Simulation 11
Office 2013

erstellt am: 06. Mai. 2010 13:08    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 Ihr Wissenden,

Noch mal die Stempelabriss-Problematik:
Jedes produzierte Teil durchläuft jetzt einige Einzelstationen, die den Stempelbruch simulieren. In der ersten wird jedes Teil geprüft, ob es in der Tabelle mit "Stempeldaten" steht. Hier verzeichnet sind die mittlere Standzeit (Anzahl Hübe bis zum Abriss) und eine Zufallszahl (nxtCrash), wann der nächste Crash erfolgen wird. Steht die Teilenummer in der Liste, wird das Stempelalter (Anzahl der Hübe seit der letzten Werkzeugreparatur) um eins hochgezählt.
In Fall, dass das Stempelalter = nxtCrash ist, wird die Stempelabrissabfolge gestartet (hier nicht weiter interessant) das Stempelalter auf Null gesetzt und die Zufallszahl nxtCrash neu ermittelt.
Der Profiler hat ermittelt, das mehr als 50% der Echtzeit nur in dieser Prozedur verbraten wird. Ich möchte gerne den Ablauf straffen. Kann mir jemand dabei helfen?

Es muss auch noch erwähnt werden, dass nur ca. 20% aller Materialien in der Liste stehen. In 80% aller Fälle sucht die Prozedur vergeblich. Könnte man ändern, indem ein Attribut am Teil "möglicher Stempelbruch" schon mal auf das erfolgreiche Suchen in der Liste hinweist.
Was fällt euch noch ein?

Ich hoffe Ihr könnt kappieren, was ich hier schreibe. Sonst fragt einfach nach.

------------------
Gruß
Samson

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

tsx
Mitglied



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

Beiträge: 103
Registriert: 06.03.2010

erstellt am: 09. Mai. 2010 11: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 Nur für Samson53 10 Unities + Antwort hilfreich

Du könntest die Daten als benutzerdefiniertes Attribut mitgeben. Zur Not reicht ja ein true, wenn es in der Liste steht. Vorallem das Arbeiten mit Tabellen macht PS extrem langsam - leider kann man das nicht immer verhindern.

Ansonsten kannst du gerne die Methode posten - vielleicht kann man da noch etwas optimieren (z.B. mit exitloop oder return).

------------------
Grüße,
tsx 

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

planty
Mitglied
Dipl.-Ing.


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

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 12. Mai. 2010 00:50    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 Samson53 10 Unities + Antwort hilfreich

Moin,

in Listen suchen ist immer langsam.
Der richtige Weg ist der direkte Zugriff über einen Index. Leider wirft ein Zugriff auf einen nicht existenten Index einen Fehler und es gibt es keine offizielle Methode zu prüfen ob ein Index existiert.

Diese Methode ist etwas dreckig, aber schneller als suchen.

Code:

(
tab : any;
colIndex : any;
rowIndex : any;
): boolean
is
methodProgram : string;
do

methodProgram := ref(self.methodText).programm;
result := executeSilent(methodProgram, tab, colIndex, rowIndex);
if  result = void or result = false then
return false;
else
return true;
end;
end;

self.methodText

Code:

(
tab : any;
col : any;
row : any;
): boolean
is
do
tab.setzeZeiger(#col, #row);
return true;
end;

Gruß
P.

------------------
Two hours of trial and error can save ten minutes of manual reading!

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