Autor
|
Thema: Fahrstatistiken in Excel übertragen (1733 mal gelesen)
|
kite Mitglied student

 Beiträge: 20 Registriert: 09.09.2009 Plant Simulation 7.6
|
erstellt am: 10. Nov. 2009 14:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe folgendes Problem Ich mache eine Simulation eines Materialflusssystems in der ich Statistiken über die Fahrzeuge auswerten will. Die Fahrstatistik die man über jedes einzelnbe Fahrzeug bekommt würde ich gerne in excel übertragen. Hier habe ich mich an das Beispiel von Bangsow S. 215f. gehalten: for j:=1 to current.AnzahlObjekte loop Fahrzeug:= current.objekt(j); if Fahrzeug.klasse=.Models.VehicleRouting.AGV.AGV then current.auswertung.schreibeZeile(0, current.auswertung.ydim+1, Fahrzeug,name, Fahrzeug.statAuftragBelegtAnteil, Fahrzeug.statAuftragBelegtZeit, Fahrzeug.statAuftragLeerAnteil, Fahrzeug.statAuftragleerZeit); end; next; current.auswertung.schreibeexceldatei("H:\Diplomarbeit\Statistiken\Statistik_1.");
leider wird auch keine Statistik in die Tabelle auswertung in dem Modell selber geschrieben. Kann mir da jemand weiterhelfen? Danke Gruß Julia
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
planty Mitglied Dipl.-Ing.
 
 Beiträge: 139 Registriert: 18.09.2006
|
erstellt am: 10. Nov. 2009 15:25 <-- editieren / zitieren --> Unities abgeben:          Nur für kite
Moin, wenn nichts in die Tabelle geschrieben wird gibts vielleicht keine Instanzen der Klasse .Models.VehicleRouting.AGV.AGV. Sonst sollte es funktionieren, wenn die Tabelle richtig formatiert ist (Zeilenindex aktiviert). Bei Deiner Excel Datei solltest Du die Endung xls besser mit angeben also '...\Statistik_1.xls");' Gruß P. ------------------ Two hours of trial and error can save ten minutes of manual reading! [Diese Nachricht wurde von planty am 10. Nov. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kite Mitglied student

 Beiträge: 20 Registriert: 09.09.2009 Plant Simulation 7.6
|
erstellt am: 10. Nov. 2009 16:46 <-- editieren / zitieren --> Unities abgeben:         
|
kite Mitglied student

 Beiträge: 20 Registriert: 09.09.2009 Plant Simulation 7.6
|
erstellt am: 12. Nov. 2009 14:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo, noch mal ein letzter Versuch bevor ich die Fahrstatistiken alle einzeln kopieren muss. Ich möchte eine Statistik über die verwendung der Fahrzeuge erstellen und diese in eine exceldatei übertragen. Für die Bausteine Puffer und senke ist dies auch möglich bei den Fahrzeugen kommt die Meldung: "ein 'VOID' kann keine Methode 'Klasse' empfangen" hier mein verwendeter code: is i:integer; baustein bject; j:integer; k:integer do auswertung_Puffer.loeschen; auswertung_Senke.loeschen; auswertung_Fahrzeug.loeschen; for i:=1 to current.anzahlObjekte loop baustein:=current.objekt(i); if baustein.klasse =.MaterialFlow.PlaceBuffer then current.auswertung_Puffer.schreibeZeile(0, current.auswertung_Puffer.ydim+1, baustein.name, baustein.statLeerAnteil, baustein.statLeerAnzahl, baustein.statLeerZeit); end; next; for j:=1 to current.anzahlObjekte loop baustein:=current.objekt(j); if baustein.klasse = .MaterialFlow.Drain then current.auswertung_senke.schreibeZeile(0, current.auswertung_senke.ydim+1, baustein.name, baustein.statDurchsatzProStunde, baustein.statDurchsatzProTag, baustein.statMittDurchlaufzeit); end; next; for j:=k to current.anzahlObjekte loop baustein:=current.objekt(k); if baustein.klasse = .Models.VehicleRouting.AGV.AGV then current.auswertung_fahrzeug.schreibeZeile(0, current.auswertung_fahrzeug.ydim+1, baustein.name, baustein.statAuftragBelegtZeit); end; next; current.auswertung_Puffer.schreibeexceldatei("H:\Diplomarbeit\Simulationsläufe\Statistiken\Statistik_2.xls", "Tabelle1"); current.auswertung_senke.schreibeexceldatei("H:\Diplomarbeit\Simulationsläufe\Statistiken\Statistik_2.xls", "Tabelle2"); current.auswertung_Fahrzeug.schreibeexceldatei("H:\Diplomarbeit\Simulationsläufe\Statistiken\Statistik_2.xls", "Tabelle3"); end; AGV ist das Fahrzeug. Auswertung_... sind die Tabellen. Würd mich freuen wenn mir jemand weiterhelfen könnte. Danke! Gruß Julia
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tema Mitglied

 Beiträge: 37 Registriert: 07.01.2009
|
erstellt am: 12. Nov. 2009 14:55 <-- editieren / zitieren --> Unities abgeben:          Nur für kite
----- if baustein.klasse = .Models.VehicleRouting.AGV.AGV then current.auswertung_fahrzeug.schreibeZeile(0, current.auswertung_fahrzeug.ydim+1, baustein.name, baustein.statAuftragBelegtZeit); end; next; ----- der Fehler müsste hier liegen (fett). Da du den Klassenpfad angibst. du müsstest das Fahrzeug im System selbst ansprechen. Versuch das Fahrzeug mit @ anzusprechen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kite Mitglied student

 Beiträge: 20 Registriert: 09.09.2009 Plant Simulation 7.6
|
erstellt am: 12. Nov. 2009 16:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo! vielen Dank für die schnelle Antwort, aber es funktioniert immer noch nicht richtig for j:=k to current.anzahlObjekte loop baustein:=current.objekt(k); if baustein.klasse = @ then current.auswertung_fahrzeug.schreibeZeile(0, das Problem scheint hier (fett) zu liegen da er gar nicht die fahrzeuge gar nicht mitzählt. Hab es schon mit Anzahl BEs versucht, aber wie spreche ich denn dann die BEs hier an: baustein:=current.objekt(k); ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tema Mitglied

 Beiträge: 37 Registriert: 07.01.2009
|
erstellt am: 12. Nov. 2009 16:39 <-- editieren / zitieren --> Unities abgeben:          Nur für kite
Ich hab mir das Beispiel von Bangsow jetzt auch angeschaut. Dein vorheriger Code könnte richtig sein. Aber warum hast du zweimal AGV als Bezug stehen? Du sprichst das BE mit: baustein:=current.be(k); Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |