Autor
|
Thema: Roboter Nr.2 (551 mal gelesen)
|
bullwt Mitglied
Beiträge: 17 Registriert: 25.10.2005
|
erstellt am: 29. Nov. 2005 14:53 <-- editieren / zitieren --> Unities abgeben:
Hi Leute, es gibt ne neue Frage von Bull größer Roboterzellensimulant seiner Zeit. Ich hab ja schon mal in nem anderen Beitrag was über Roboter gefragt. Und der Denkanstoss hat den ich bekommen habe hat zum Ziel geführt. Die erste Zelle läuft und liefer realistische Werte. Jetzt hab ich kummer mit dem zweiten Robbi. Er soll per Ausgangssteuerung aus einem BE 3 Attribute auslesen 1: "von" Nummer des Abstellplatzes an dem sich die Palette befindet 2: "x" X-position auf des Platzes auf der Palette auf den das BE soll 3: "y" Y-Position auf der Palette " " " Dann soll er per umlager-Befehl das BE auf der aus den Attributen ausgelesenen Position ablegen. (Die Palette hat eine 2x2 Ladefläche) Dazu habe ich folgen Monsterformel ausgebrütet: Zitat: Robbi2.inhalt.umlagern(str_to_obj("Abstellpl_" + to_str(@.von) +".inhalt" + "[" + num_to_str(@.X) + "," + num_to_str(@.Y) + "]"));
(zur info: Sie wird durch eine If-Schleife gestartet, die ein Attribut des BEs abfragt, dass den status der bearbeitung ausgibt) Wird die Methode aufgerufen und diese If-Schleife durchlaufen, dann stopt die Simulation mit folgendem Fehler: Zitat: Fehler in Methode '.Modelle.Netzwerk.Robbi2.BeiAusgang' in Zeile 10: 'Abstellpl_21.inhalt[1,1]' ist kein gültiger Pfad.
Das sagt mir eigentlich nur, dass meine Monsterformel alles richtig macht. Aber der Pfad ist eben falsch. Es liegt am "[1,1]". Wenn ich die Formel so umschreibe, dass sie als Pfad nur 'Abstellpl_21.inhalt' ausgibt, dann funktioniert die Robbi-Steuerung. Aber die BEs werden wilkürlich auf der Palette Abgestellt. Da ich aber fertige Teile auf der Palette ablade, während sich auf ihr noch unbearbeite befinden würde ich die Teile schon lieber auf festgelegten Plätzen ablegen. *Help* Danke, bis denn Bull Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 29. Nov. 2005 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für bullwt
Hi, riecht nach einem Fall für den SIMULATOR. Ist denn der Platz 1,1 auf Deiner Palette frei? Welche Werte haben Deine Attribute zur Laufzeit? Poste doch mal die ganze Methode oder am besten ein Testmodell.
------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bullwt Mitglied
Beiträge: 17 Registriert: 25.10.2005
|
erstellt am: 29. Nov. 2005 15:44 <-- editieren / zitieren --> Unities abgeben:
das ging ja fix. X und Y sind bei jedem BE jeweils fix also das erste hat X=1 und Y=1 und das letzte X=2 und Y=2 "von" wird immer bei der Entnahme aus dem platz vor der bearbeitung auf 21 bzw 22 geschrieben. Ich hab schon ne kleine idee wie ich auch mit zufällig aufgesetzten BEs zurecht kommen kann. Aber eleganter wäre es. Testmodell schaff ich heute sicher nicht mehr. Da müsste ich noch ein paar sachen anpassen. das ist gerade noch eine große baustelle. bis morgen nachmittag schaff ichs vieleicht. bis denn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DFault Mitglied
Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 29. Nov. 2005 16:04 <-- editieren / zitieren --> Unities abgeben: Nur für bullwt
Frag' doch einfach den Inhalt der Palette samt Belegung ab und lagere entsprechend auf einen leeren Platz um. Dann hättest Du die Willkür erschlagen und es würde Dir auch bei der Entnahme des nächsten, unbearbeiteten BEs helfen! ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! [Diese Nachricht wurde von DFault am 29. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Nov. 2005 16:36 <-- editieren / zitieren -->
Hi, versuchs mal so Abstellpl_21[1,1].inhalt anstatt Abstellpl_21.inhalt[1,1] Gruss
------------------ DER SIMULATOR |
Ex-Mitglied
|
erstellt am: 29. Nov. 2005 19:07 <-- editieren / zitieren -->
Hi, willst Du auf einen bestimmten Platz X,Y umlagern, so geht das ohne "Inhalt" also @.umlagern(förderhilfsmittel[X,Y]) Damit sieht Deine Monsterformel nun so aus . . . obj : object; . . .
obj:=str_to_obj(sprint("Abstellpl_",@.von)); @.umlagern(obj[@.X,@.Y]); Gruss
------------------ DER SIMULATOR
[Diese Nachricht wurde von Simulator am 29. Nov. 2005 editiert.] |
bullwt Mitglied
Beiträge: 17 Registriert: 25.10.2005
|
erstellt am: 30. Nov. 2005 08:07 <-- editieren / zitieren --> Unities abgeben:
hmm... also danke erstmal für die antworten. Hi Simulator, dein Vorschlag funktioniert ja soweit. Allerdings geht eine "Ebene" zu weinig. Mit der Funktion wird ja wenn ich das jetzt richtig deute ein bestimmter Platz von Abstellpl_21 angesteuert. Aber Abstellpl_21 (und auch Abstellpl_22) hat nur einen Platz. Auf diesem befindet sich eine Palette (Förderhilfsmittel) mit vier Slots (2x2 Matrix) und diese will ich ansteuern. Naja neuer Tag neues Glück, ich stürz mich jetzt wieder rein und wünsch euch allen auch nen guten Start in den Tag Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 30. Nov. 2005 09:53 <-- editieren / zitieren -->
Hi, gleiches in grün. obj : object; . . . obj:=str_to_obj(sprint("Abstellpl_",@.von)); @.umlagern(obj.be[@.X,@.Y]); Es sollte aber sichergestellt sein, dass tatsächlich eine Palette (obj.be) auf dem Abstellplatz liegt! Gruss
------------------ DER SIMULATOR |
bullwt Mitglied
Beiträge: 17 Registriert: 25.10.2005
|
erstellt am: 30. Nov. 2005 11:29 <-- editieren / zitieren --> Unities abgeben:
jau danke. Hab jetzt schon 90 tage simuliert ohne das probleme aufgetreten sind. Was du schreibst Simulator funktioniert natürlich. Hab auch verstanden wo das Problem lag. Der Pfad ist ein "object" und die Koordinaten "Integer". Hatte alles in einem als "object". Ich hatte ja auch schon versucht das zu trennen aber irgendwie nie den richtigen Kniff gefunden. Alle Paletten fahren jetzt schön sortiert. Obwohl ich mir zwischendurch schon ne andere lösung gefunden habe. Aber das mit der richtigen Formel woltle ich trotzdem unbedingt rausfinden. Jetzt hab ich schon eine riesen Simulation, die sogar geht. Und das wo ich em-plant so richtig erst seit 3 oder 4 wochen benutze. Jetzt ist wieder Zeit zum weiterbasteln und verfeinern. Ich hab da schon ne idee im Hinterkopf, da wirds sicher wieder knifflig. Meld mich dann Danke euch zwei Bull
[Diese Nachricht wurde von bullwt am 30. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |