Autor
|
Thema: Schleife um Kinder eines Benutzerobjektes durchzugehen (1042 mal gelesen)
|
Stapler Mitglied Logistik
Beiträge: 21 Registriert: 08.01.2020
|
erstellt am: 17. Feb. 2020 16:22 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich brauche eine Methode, die alle Kinder eines Benutzerobjekts (in meinem Fall 'Stapler') zu einem gewissen Zeitpunkt umlagert. Mit &SimBeenden.methcall(DauerSim) rufe ich die Methode(SimBeenden) zu meinem eingestellten Zeitpunkt(DauerSim) auf. Die Methode wird nicht durch die Stapler ausgelöst, weshalb ich @.umlagern nicht verwenden kann. Ich habe mir folgende Schleife überlegt, aber weiß nicht wie ich die einzelnen Stapler IDs ansprechen soll
Code: var i, n, StaplerID: integern := .Benutzerobjekte.Stapler.AnzahlKinder StaplerID := .Benutzerobjekte.Stapler.Id for i:=1 to n .Benutzerobjekte.Stapler:n.umlagern(SimEnde) next
Dies läuft auf einen Syntaxfehler bei .Benutzerobjekte.Stapler:n hinaus Mit .Benutzerobjekte.Stapler.Id habe ich zwar die ID, aber ich weiß nicht wie ich das in der Schleife unterbringen kann.
Gruß Stapler
[Diese Nachricht wurde von Stapler am 17. Feb. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 17. Feb. 2020 18:09 <-- editieren / zitieren --> Unities abgeben: Nur für Stapler
Moin, Code:
var _Stapler : object := .Benutzerobjekte.Stapler for var i := 1 to _Stapler.AnzahlKinder print _Stapler.kindNr(i).id next
vG Nadin ------------------ Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stapler Mitglied Logistik
Beiträge: 21 Registriert: 08.01.2020
|
erstellt am: 18. Feb. 2020 11:28 <-- editieren / zitieren --> Unities abgeben:
Danke hat wieder super funktioniert. Jetzt würde ich gerne noch die Daten eines Staplers in einem Diagramm darstellen. Mein Stapler hat das Benutzerdefinierte Attribut 'PickzeitenStapler' im Format Table. Hierin wurden einfach gewisse Zeitstempel eingetragen. Ich wollte jetzt noch in der selben Schleife folgendes einbauen.
Code: for i:=1 to Stapler.AnzahlKinder Stapler.kindNr(i).umlagern(SimEnde) root.Auswertung.PickzeitenGraph.addObject(Stapler.kindNr(i).PickzeitenStapler) next
Jeder Stapler soll also seine Tabelle an das Diagramm 'PickzeitenGraph' übergeben. Ich habe dann aber gemerkt, dass ich damit nur das Objekt Stapler aber nicht dessen Tabelle übergeben kann. Gibt es eine andere Möglichkeit die Tabellen der Stapler automatisiert in ein Diagramm zu fügen? Gruß Stapler
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 18. Feb. 2020 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für Stapler
Probiere mal zielorientiert die Bearbeitung-Packette (Stepp) zu identifizieren. Was ist der Workflow. Was braucht/macht/liefert der Stepp... Beispiel für ein Stepp: (A) Stapler hat Daten in Tabelle gespeichert und will diese in eine andere Tabelle schreiben... (B) Ein spezielles Diagramm darstellen. Was machst/braucht der Diagramm-Baustein hierzu genau...
------------------ Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stapler Mitglied Logistik
Beiträge: 21 Registriert: 08.01.2020
|
erstellt am: 18. Feb. 2020 15:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Nadin, danke für den Ansatz, aber ich habe nicht ganz verstanden was du meinst. Trotzdem habe ich mir es mir nochmal genauer angeschaut. Meine Lösung ist im Anhang als Bild... Ich habe zuerst einmal eine neue Tabelle erstellt, in der jedem Stapler eine Spalte zugeordnet wird. In diese Tabelle tragen sich dann alle Stapler mit dem Zeitpunkt, in die vorgesehene Spalte ein. Ich weiß noch nicht, ob ich mit dem Ergebnis zufrieden bin Hier der nicht so schöne Code. Kann noch durch Variablen vereinfacht werden haha
Code: root.Auswertung.PickzeitenSortiert[@, root.Auswertung.PickzeitenSortiert.holeSpaltenyDim(root.Auswertung.PickzeitenSortiert.holeSpaltenNummer(@))+1] := root.Ereignisverwalter.Zeit
Im Prinzip: -> Spalte mit Namen des Staplers suchen -> Nächste freie Zeile in der Spalte suchen -> Zeit eintragen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 18. Feb. 2020 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für Stapler
|
Stapler Mitglied Logistik
Beiträge: 21 Registriert: 08.01.2020
|
erstellt am: 18. Feb. 2020 16:51 <-- editieren / zitieren --> Unities abgeben:
Danke für das Feedback - Achsenbeschriftung war kein Problem (links Sim.Zeit, unten Anzahl Picks) - Doppelte Werte: Der Stapler kommissioniert 1-2 Paletten, in der Tabelle werden alle Picks erfasst- Scala: Hier bräuchte ich die Anzahl der Picks, theoretisch die Zeilennummer Wie kann ich festlegen, welche Werte das Diagramm für die X-Achse verwendet werden sollen? - Und: Kann ich die Achsen ohne weiteres vertauschen, oder müsste ich die Daten andersherum sammeln - Zu den Graphen Du hast Recht, momentan sagt das sehr wenig aus. Dies ist die Auswertung für einen Simulationslauf mit 5 Staplern Dies kann aber in Vergleich gesetzt werden mit einem Lauf mit bspw. 3 oder 7 Staplern Jeder Simulationslauf läuft gleich lang --> Zu klären: Welcher Lauf ist am effizientesten und warum?
Gruß Stapler
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 18. Feb. 2020 17:19 <-- editieren / zitieren --> Unities abgeben: Nur für Stapler
Zitat: - Scala: Hier bräuchte ich die Anzahl der Picks, theoretisch die Zeilennummer Wie kann ich festlegen, welche Werte das Diagramm für die X-Achse verwendet werden sollen? - Und: Kann ich die Achsen ohne weiteres vertauschen, oder müsste ich die Daten andersherum sammel
das ist beispielsweise Stepp:
Zitat: (B) Ein spezielles Diagramm darstellen. Was machst/braucht der Diagramm-Baustein hierzu genau...
------------- dafür ist das Ziel wichtig! Dies noch genau definieren: Weil, dies ist nicht SMART.
Zitat: - Zu den Graphen Du hast Recht, momentan sagt das sehr wenig aus. Dies ist die Auswertung für einen Simulationslauf mit 5 Staplern Dies kann aber in Vergleich gesetzt werden mit einem Lauf mit bspw. 3 oder 7 Staplern Jeder Simulationslauf läuft gleich lang --> Zu klären: Welcher Lauf ist am effizientesten und warum?
Mir wird beispielsweise aus diesem Bild leider nicht ersichtlich: welche Eigenschaft im Diagramm das Besser/Schlechter definiert welche Parameter einen Einfluss auf Besser/Schlechter haben ------------------- Tipp: Probiere mal die 5W-Methode ( 5x Warum) auf dein Problem anzuwenden. ------------------ Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |