Autor
|
Thema: Zeit überwachen, monatl. Statistik (2619 mal gelesen)
|
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 07. Jul. 2005 14:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, vielen Dank an Opa für den Hinweis von gestern. Nun eine neue Frage: ich versuche gerade aus meiner Gesamtstatistik mehrer Monatsstatistiken zu basteln (Durchlaufzeit pro Monat, Montagezeit pro Monat...). Dazu versuche ich die Statistik jeden Monat auszulesen, in eine Tabelle zu überschreiben und dann wieder auf Null zu setzten. Ich habe es mit "waituntil month(ereignisverwalter.abszeit)..." versucht, leider ist die Zeit nicht überwachbar. Wie kann ich mein Problem lösen, gibt es einfacheren Wege, bin ich auf dem Holzweg? Helfen mir Haltepunkte weiter, kann ich durch einen Haltepunkt eine Methode aufrufen? Vielen Dank für die Hilfe, Gruß Didi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Opa Mitglied Selbständiger Simulationsexperte
Beiträge: 62 Registriert: 16.06.2005 eM-Plant 7.6 / 8.2 Development License
|
erstellt am: 07. Jul. 2005 21:48 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
Hi eMlooser, durch Haltepunkte kann man keine Methode aufrufen - man kann aber vor der Stelle, wo der Haltepunkt sitzt, natürlich eine Methode aufrufen. Doch das bringt, glaub ich, für Dein Problem wenig! Eine Möglichkeit, immer in gleichen Abständen (z.B. 30 Tagen) eine Methode aufzurufen, geht so: In einer Init-Methode, die ja zu Beginn der Simulation gestartet wird, über
Code:
ref(Statistikmethode).MethAufr(0);
die Methode aufzurufen, die dann immer die Statistik rausschreibt: Code:
is AnzahlTage : integer; do AnzahlTage:=30; while True loop wait 3600*24*AnzahlTage; -- Hier die Statistik generieren end; end;
So kann man leicht in festen Abständen etwas anstoßen. Dumm ist, dass Du die monatliche Statistik brauchst, weil die Monate ja unterschiedlich viele Tage haben (was schlaue Bemerkung ). Wenn es aber immer am 1. des Monats 0:00 Uhr sein soll, wird's komplizierter. SimTalk liefert hierzu leider keine eingebaute Funktion. Dann muss man die Zeitabstände (Tage / Monat im Betrachtungszeitraum) in einer Tabelle hinterlegen und diese abarbeiten - geht natürlich auch. Aber vielleicht hilft ja schon die o.a. Idee! Ansonsten - melde Dich, vielleich weiß ja ein anderer dazu noch mehr. Tschüß Opa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 08. Jul. 2005 13:45 <-- editieren / zitieren --> Unities abgeben:
Hallo lieber Opa, war leider nichts neues für mich dabei in deinen Ausführungen. Wie schon gesagt, da die Monate bis zu 3 Tage unteschiedlich lang sind bring mir methaufr() nicht wirklich was *g*. Mir geht es primär um Durchlauf- und Montagezeit pro Monat. Entscheiden ist dabei der Lieferzpunkt der Maschinen. Daher werde ich wohl probieren, die Statistik den BEs mitzugeben. Im Versand frage ich dann bei den ankommenden BEs den Monat ab und ordne die Daten der BEs entsprechend in einer Tabelle zu. Klingt halt leider nochmal nach ein wenig Arbeit, zumal ich mein fertiges Modell modifizieren muss was immer manch Problem ergibt. Vielen Dank für deine Hilfe, ich wünsche Dir und dem Rest des Forums ein schönes Wochenende Gruß eMlooser (Ich hatte halt gehoft ich kann es mir irgendwie leichter machen ;o) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 08. Jul. 2005 14:01 <-- editieren / zitieren --> Unities abgeben:
So, da bin ich nochmal, Ich habe soeben die Produktstatistik der BEs entdeckt, ich glaube die erfasst Durchlaufzeiten und Montagezeiten schon automatisch (wie praktisch*g*). WErde mich nun erstmal damit beschäftigen, ich melde mich dann bei Fragen. Gruß eMlooser Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 08. Jul. 2005 17:11 <-- editieren / zitieren --> Unities abgeben:
So, die erste Frage habe ich schon: Die Produktstatistik gibt mir Startdatum und aktuelles Datum. Die Differnz entspricht also der Durchlaufzeit. Mit den Anteiligen Bearbeitungszeiten kann ich dann die Montagezeit errechnen. Aber wie bekomme ich die Wochenenden und Feiertage aus der Statistik raus? Wenn eine Montage Mittwoch beginnt und Dienstag endet beträgt die Durchlaufzeit ja keine 7 Tage!! Danke für eure Hilfe gruß eMlooser Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 09. Jul. 2005 12:50 <-- editieren / zitieren -->
Hi, wie wäre es, einfach die WE & Feiertage aus dem Betriebskalender herauszunehmen. Brauchst Du ueberhaupt diese Detaillierung mit dem Betriebskalender ? Denke daran : arbeite so ungenau wie möglich, und so genau wie nötig! Gruss ------------------ DER SIMULATOR |
Opa Mitglied Selbständiger Simulationsexperte
Beiträge: 62 Registriert: 16.06.2005 eM-Plant 7.6 / 8.2 Development License
|
erstellt am: 09. Jul. 2005 22:55 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
Zitat: Original erstellt von Simulator: wie wäre es, einfach die WE & Feiertage aus dem Betriebskalender herauszunehmen.Brauchst Du ueberhaupt diese Detaillierung mit dem Betriebskalender ? Denke daran : arbeite so ungenau wie möglich, und so genau wie nötig!
Richtig - daher auch mein Hinweis auf die monatliche Statstistik. Einfach einen Monat als Einheit von z.B. 22 Tagen ansehen - die Simulationszeit muss ja nicht der "realen" Zeit entsprechen. Die Prognosen der Kunden für die Simulation sind allemal ungenauer als diese Vereinfachung, man liefert damit immer noch ein sehr gutes Ergebnis. Und letztlich bedarf jede Simulation (ist nur ein Modell) einer Interpretation, d.h. wenn man weiss, welche Vereinfachung man gemacht hat, dann ist das (vereinfachte) Ergebnis ja immer noch aussagekräftig! In consensus with the simulator - Opa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 11. Jul. 2005 14:37 <-- editieren / zitieren --> Unities abgeben:
Simulator, Opa, wäre ja schön wenn es so einfach wäre. Leider kann ich nicht ohne den Schichtkalender. Ein Ziel der Simulation ist die spätere Anbindung an das PPS System zur Visualisierung der Montage. Die Simulation soll dann als eine Art "Spielzeug dienen", in der kurzfristige Änderungen (Zusatzmaschinen, Kundenabnahmen durch die die Maschine länger in der Montage steht...) simuliert werden können, bevor man eine Aussage zur Machbarkeit gibt. Daher fütter ich meine Simulation mit reelen PPS-System Daten (incl. Feiertagen und Wochenenden). Meine Simulation wird also durch eine Tabelle gesteuert, in der die zu montierende Maschine, der Montagebeginn sowie Verzögerungen eingetragen sind. Bleibt also meine Frage: Kann ich die Feiertage/Wochenenden irgendwie aus der Durchlaufzeit (Produktstatistik Zeit minus Start) rausrechnen? Vielen Dank für die Hilfe gruß eMllooser
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Opa Mitglied Selbständiger Simulationsexperte
Beiträge: 62 Registriert: 16.06.2005 eM-Plant 7.6 / 8.2 Development License
|
erstellt am: 12. Jul. 2005 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
Das ist schon ein Problem, ich gebe mal einen Hinweis, wie man es machen könnte (ohne Gewähr ): Zuerst in einem Hilfsnetzwerk eine Tabelle namens "Kalender" (Zeilenindex aktivieren, Spalte 0: Date, Spalte 1: string) erzeugen, dann mit folgender Methode (über Init aufrufen), den Kalender erzeugen (Start und Ende des Kalenders im Ereignisverwalter des Hilfsnetzwerks setzen): Code: is AbsTag,Tag: Integer; do AbsTag:=Ereignisverwalter.Zeit/3600/24+1; Kalender[0,AbsTag]:=Ereignisverwalter.AbsZeit; Tag:= dayOfWeek(Ereignisverwalter.AbsZeit); if Tag=0 or Tag=6 then Kalender[1,AbsTag]:="*"; end; ref(Methode).Methaufr(3600*24); end;
Jetzt sind in Spalte 0 also alle Tage drin (als Index). im Spalte 1 steht immer ein "*" am Samstag und Sonntag. Die anderen Feiertage oder betriebsfreien Tage von Hand mit "*" versehen (geht halt nicht anders, weil eM-Plant das nicht weiß). Jetzt den Kalender in das Netzwerk kopieren, wo die Netto - DLZ ausgerechnet werden soll. Hier ist natürlich vorraussetzung, dass der Schichtkalender richtig eingestellt ist und alle Bausteine den selben Schichtkalender verwenden. Nun am Ende des Durchlaufs der BEs aus der Brutto-DLZ die Netto-DLZ rechnen mit folgender Methode:
Code: is DLZ_Tage,Freitage,Heute: Integer; HDat: date; DLZ_Netto:time; do DLZ_Tage:=(Ereignisverwalter.Zeit-@.statistikStartProd)/3600/24; HDat:=Ereignisverwalter.absZeit; Heute:=Kalender.HoleZeilenNummer(HDat); while DLZ_Tage>0 loop if Kalender[1,Heute-DLZ_Tage]="*" then Freitage:=Freitage+1; end; DLZ_Tage:=DLZ_Tage-1; end; DLZ_Netto:=Ereignisverwalter.Zeit-@.statistikStartProd-Freitage*3600*24; print DLZ_Netto; --oder irgendwo reinschreiben end;
Das müsste fonktionieren. In der Anlage das Modell, mit dem ich's getestet hab (hoffentlich kannst Du's lesen, Version siehe links). Gruß Opa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 13. Jul. 2005 09:30 <-- editieren / zitieren --> Unities abgeben:
|
Alecs Mitglied
Beiträge: 17 Registriert: 22.06.2005
|
erstellt am: 26. Jul. 2005 13:49 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
Zitat: Original erstellt von eMlooser: [...]Die Simulation soll dann als eine Art "Spielzeug dienen", in der [...]gruß eMllooser
Hi, kein wirklich hilfreicher Kommentar, nur weil ich gerade darüber gestolpert bin: VDI 3633 (Simulation von Logistik- Materialfluss- und Produktionssystemen), Blatt3 (Experimentplanung und -auswertung) Abschnitt 2 (Vorraussetzungen für eine sinnvolle Auswertung), Absatz 1:
Simulation ist kein SPielzeug nichts für Ungut, Alex.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Opa Mitglied Selbständiger Simulationsexperte
Beiträge: 62 Registriert: 16.06.2005 eM-Plant 7.6 / 8.2 Development License
|
erstellt am: 26. Jul. 2005 18:49 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
Das mit dem "Spielzeug" hat ja wohl der Auftraggeber von eMlooser so gesagt. Und - die drücken sich ja immer etwas ungeschickt aus - wohl gemeint, dass er Experimente durchführen will, oder? Dazu finde ich, dass man 1. Nicht jedes Wort auf die Goldwaage legen sollte sondern verständnisvoll ergründen, was der Gesprächspartner meint. 2. Und wenn doch die Goldwaage: was ist an Spiel/spielen im Zusammenhang mit Simulation falsch? Es werden doch auch im ökonomischen, soziologischen oder militärischen Bereich Planspiele (s. z.B.: http://de.wikipedia.org/wiki/Planspiel ) durchgeführt. Und diese sind ja recht sinnvoll. Das Statement vom VDI ist daher nicht fundiert, das Spielen mit einem Simulationsmodell kann durchaus sinnvoll sein. Grüße Opa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alecs Mitglied
Beiträge: 17 Registriert: 22.06.2005
|
erstellt am: 27. Jul. 2005 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
Nur damit ich nicht in den Ruf von Erbsenzählerei komme: Ich selber spiele auch den ganzen Tag damit rum, und mir ist es auch reichlich egal, was andere mit em-Plant machen, es fiel nur zeitlich so schön zusammen dass ich einerseits die Richtlinie hier liegen hatte und eine Minute später den Beitrag las. Der fairness halber sein aber noch angemerkt, dass "Simulation ist kein Spielzeug" nur die Überschrift über den Abschnitt in der Richtlinie ist, und im darauffolgenden Text unterschreibenswürdigere Sachen stehen. Grüße, Alex. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Opa Mitglied Selbständiger Simulationsexperte
Beiträge: 62 Registriert: 16.06.2005 eM-Plant 7.6 / 8.2 Development License
|
erstellt am: 27. Jul. 2005 20:07 <-- editieren / zitieren --> Unities abgeben: Nur für eMlooser
|
eMlooser Mitglied
Beiträge: 68 Registriert: 11.04.2005
|
erstellt am: 02. Aug. 2005 13:31 <-- editieren / zitieren --> Unities abgeben:
HOHOHOHO, nun mal langsam. Bin heute zum ersten mal seit längerer Zeit wieder im Forum und hab mich doch sehr über die neuen Beiträge zu diesem Thema amüsiert. An Opa: Danke für die Parteiergreifung, bin 100% deiner Meinung! An Alex: Hab Dein Kommentar niemals als Klug******erei (entschuldige die Ausdrucksweise) aufgefasst. Bin 100% deiner Meinung! Ende der Woche habe ich Präsentation, danke nochmals an Euch für die Unterstützung Gruß eMlooser Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |