|
Autor
|
Thema: Arbeitsplan auslesen (3903 mal gelesen)
|
korgpa Mitglied student
 Beiträge: 7 Registriert: 25.06.2009
|
erstellt am: 22. Jul. 2009 15:56 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe einen Arbeitsplan der 5 Arbeits(einzel)stationen mit der jeweiligen Bearbeitungszeit enthält. Nun will ich sowohl die Tabelle erzeugen und auslesen als auch die Einzelstationen nebeneinander erzeugen und die Bearbeitungszeit dabei berücksichtigen. Bin nun mit meinem Latein am Ende: Folgende Methode funktioniert leider nicht reibungslos: is obj : object; x : integer do obj := .Informationsfluss.Tabelle.erzeugeObjekt(.Modelle.Netzwerk,100,100); Tabelle.leseExcelDatei("C:\test\Arbeitsplan.xls","Artikel"); for X := 1 to tabelle.xdim loop obj := .Materialfluss.Einzelstation.erzeugeObjekt(.Modelle.Netzwerk,100+x,200+x); obj.name next; Spalte := @.SpaltenindeX+1; Nachfolger := .Modelle.Netzwerk.Tabelle.alsString(Spalte,@.name); nachfolgerstation := .Modelle.Netzwerk.Tabelle.alsString(Spalte,@.name); @.spaltenindex := Spalte; if nachfolger = "VOID" then @.umlagern(.Modelle.Netzwerk.Senke); elseif nachfolger = "Leer" then repeat Spalte := @.Spaltenindex +1; Nachfolger := .Modelle.Netzwerk.Tabelle.alsString(Spalte,@.name); nachfolgerstation := .Modelle.Netzwerk.Tabelle.alsString(Spalte,@.name); @.spaltenindex := Spalte; if nachfolger = "Leer" then check := 0 else check :=1; end; until check > 0; if nachfolger = "VOID" then @.umlagern(.Modelle.Netzwerk.Senke); else netz := ".Modelle.netzwerk."+ nachfolgerstation +"." + nachfolgerstation; @.umlagern(netz);
end; else netz := ".Modelle.netzwerk."+ nachfolgerstation +"." + nachfolgerstation; @.umlagern(netz.vg(1)); end; end;
Vielen Dank im Voraus
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: 23. Jul. 2009 11:17 <-- editieren / zitieren --> Unities abgeben:          Nur für korgpa
Moin, hm... "nicht reibungslos" ist wohl etwas untertrieben. PS ist leider nicht so intuitiv, dass es einem zufliegt. Deine Methode zeigt: 1. dass Du keine Programmiererfahrung hast und 2. dass Du Dich nicht mit den Grundlagen von PS beschäftigt hast (wie so viele andere auch nicht...). Schau Dir das Tutorial und die Beispiele an, vielleicht hilft auch das Buch von Steffen Bangsow. Auf Dauer macht das Hilfestellung geben da keinen Spaß und zumindes ich werde Dir nicht Deine Modelle programmieren. Im ersten Teil der Methode steht
Code:
obj := .Informationsfluss.Tabelle.erzeugeObjekt(.Modelle.Netzwerk,100,100); Tabelle.leseExcelDatei("C:\test\Arbeitsplan.xls","Artikel");for X := 1 to tabelle.xdim loop obj := .Materialfluss.Einzelstation.erzeugeObjekt(.Modelle.Netzwerk,100+x,200+x); obj.name next;
Das könnte funktionieren, allerdings werden die Objekte schräg untereinander mit zu geringem Abstand angeordnet. Das "obj.name" macht gar nichts, da sollte zum Setzen des Namens wohl noch ein Verweis auf die erste Zeile der aktuellen Spalte hin? Und wenn Die Bearbeitungszeit Stationsspezifisch ist und nicht BE-Typ abhängig könnte die auch hier gesetzt werden. Danach folgt ein "@.spaltenindex" @ ist ein Verweis auf das BE, dass die Methode angestoßen hat. Vielleicht solltest Du alles ab hier in eine eigene Methode auslagern, die die Verteilung der BEs regelt. Wenn die Methode im gleichen Netzwerk liegt wie Deine Objekte kannst Du Dir den absoluten Pfad ".Modelle.Netzwerk.objekt" (objekt wäre z.B. "Senke") sparen und einfach "objekt" schreiben, dies gilt natürlich für alle Objekte. Viel Spaß mit PS 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 |

| | Sr. Manager Mechatronics (m/f/d) | Join HIMA Group ? Innovate with purpose.Grow with technology. HIMA Group is a globally independent provider of safety-related automation solutions for the process and rail industries, protecting people, assets, and the environment. Founded in 1908, the family-owned company is headquartered in Brühl near Mannheim, Germany, and has grown steadily through strategic acquisitions, including Sella Controls (UK) in 2023 and Origo Solutions (Norway) in 2024.... | | Anzeige ansehen | Feste Anstellung |
|
korgpa Mitglied student
 Beiträge: 7 Registriert: 25.06.2009
|
erstellt am: 24. Sep. 2009 14:15 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |