Ich möchte den geteilten Block in einem Prozessmodell so verwenden, dass er eine Kopie des eingehenden Agenten mit denselben Parametern erstellt.anylogic, Prozessmodellierungsbibliothek: split. Wie kann ich die Eigenschaften der Kopie eines Agenten festlegen und referenzieren?
Was ich getan habe: eine Funktion SetupCopy (Agent, Original) mit Eingabeparameter Agent (das ist die Kopie) und Original (das ist der eingehende Agent). Die Funktion setzt die relevanten Parameter auf agent.someBooleanParameter = original.someBooleanParameter. Die Funktion wird im Split-Block in "Bei Exit-Kopie: SetupCopy (Agent, Original)" aufgerufen.
Problem: nach dem outCopy-Port des geteilten Blocks habe ich einen selectOutput-Block mit den Einstellungen verwendet True-Ausgabe auswählen: Wenn die Bedingung wahr ist: agent.someBooleanParameter Ich möchte diesen Parameter gleich dem jeweiligen Parameter des Originals sein Agent. Der Ausgabeblock wertet den Parameter jedoch immer auf false aus.
Ich habe bereits versucht, eine Ausgabe auf die Konsole des Parameters zu erhalten, indem ich On exit (false): System.out.println (agent.someBooleanParameter);
Wenn der Parameter des ursprünglichen Agenten wahr ist, ist die Ausgabe in der Konsole ebenfalls wahr, obwohl der Auswahlblock über den falschen Port beendet wird. Sehr verwirrend für mich. Was ist mein Fehler?
Kann mir jemand helfen, wie man die Parameter des kopierten Instanz des Mittels und Referenz der Parameter richtig eingestellt?
Dank
Sie in zusätzliche liefern zu deiner Erklärung wäre hilfreich. Vielen Dank! –
Was Sie getan haben, sieht korrekt aus. Wenn diese println-Anweisung "true" ausgibt und vom outF-Port des SelectOutput aufgerufen wird, sollte dies bedeuten, dass der Kopiervorgang ordnungsgemäß funktioniert hat und der SelectOutput-Block auf keinen Fall die falsche Route durchlaufen hat. –