Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Zufällige Attribute von BEs und Tabellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Zufällige Attribute von BEs und Tabellen (3023 mal gelesen)
knurps
Mitglied


Sehen Sie sich das Profil von knurps an!   Senden Sie eine Private Message an knurps  Schreiben Sie einen Gästebucheintrag für knurps

Beiträge: 3
Registriert: 02.11.2013

erstellt am: 02. Nov. 2013 16:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich weiß nicht, ob mein Problem schon mal vorkam, aber wenn ich die Suchfunktion verwende, sind die Treffer meist so spezifisch, dass sie mir als komplettem Anfänger meist nicht weiterhelfen.

Es geht um folgendes:
Es sollen beispielsweise 100 BEs losgeschickt werden, die bis zu 10 Einzelstationen durchlaufen sollen. Die Anzahl der zu durchlaufenden Stationen ist statistisch verteilt, also beispielsweise 20 % der 100 sollen zu einer Station, 15 % sollen zu 2 Stationen, usw. Um ein gewisses Maß an Realismus beizubehalten, sollte die Auswahl der Einzelstationen auch zufällig sein (also dass ein BE, was zu drei Stationen soll, nicht immer nur zu Stationen 1, 2 und 3 geht, sondern ihm von vorne herein beispielsweise Stationen 4, 8 und 9 zugewiesen werden).

Hier meine Idee. Leider habe ich 1. keine Ahnung, ob sich das mit Plant so umsetzen lässt, und 2. fehlt mir die Ahnung, wie ich das ganze überhaupt angehe:

Gedacht habe ich mir, dass anfangs mit einer init-Methode eine Tabelle generiert oder beschrieben wird. Diese beinhaltet insgesamt 100 Zeilen. Bei den Zeilen 1-20 wird dann per Zufallszahl jeweils eine Station ausgewählt, bei den Zeilen 21-35 werden zwei Stationen zufällig ausgewählt und in die Tabelle eingetragen, usw.
So hätte man 100 Zeilen (pro BE eine) mit der entsprechenden Verteilung der Anzahl zu durchlaufender Stationen und auch direkt diskrete Stationen.
Danach sollen die BEs nacheinander generiert werden, wobei jedem BE zufällig eine diese 100 Zeilen als Attribut(e) zugewiesen wird (sodass: BE wird generiert -> ihm wird zufällig Zeile 72 der Tabelle zugewiesen -> das bedeutet beispielsweise, dass Einzelstationen 5 und 6 zu durchlaufen -> BE erhält Attribute 5 und 6, sodass es vor den entsprechenden Einzelstationen weiß, ob es sie zu durchlaufen hat oder nicht).

Ich hoffe, die Beschreibung klingt einigermaßen verständlich. Als blutiger Anfänger mit SimTalk hapert es beinahe an jeder Stelle, aber die gravierendsten Punkte sind:
-Ist mein Vorgehen überhaupt sinnvoll, oder gibt es da bessere (einfachere) Möglichkeiten?
-Wie befülle ich die Tabelle? (D.h., wie schreibe ich Zeile für Zeile mehrere Werte oder wäre hier ein Array sinnvoll?)
-Wie weise ich einer Zelle in der Tabelle eine Zufallszahl zu?
-Wie bekommen die BEs anhand dieser Tabelle ihre Attribute?

Vielen Dank an alle, die sich die Mühe des Durchlesens machen 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 04. Nov. 2013 19:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für knurps 10 Unities + Antwort hilfreich

Ich denke es geht einfacher, vor allem, wenn Sie mehr als 100 BEs bearbeiten müssen.
Für das "ziehen" der Anzahl der Maschinen können Sie in der Hilfe dEmp - z_dEmp nachschlagen. Sie definieren die Verteilung in einer Tabelle und die dazugehörigen Anzahl der Maschinen, mit dem Aufruf von z_dEmp erhalten Sie dann die Anzahl der Maschinen.
Dann müssen Sie die Maschinen ziehen ("ohne Zurücklegen").
Dazu können Sie alle Maschinen in eine Tabelle schreiben, z_uniform zum würfeln der Zeilen-Nummer benutzen, die Maschine auslesen, Zeile aus der Tabelle löschen, Anzahl für das würfeln verringern --> loop

Die Maschinen können Sie in ein benutzerdefiniertes Attribut des BEs schreiben.

Wenn Sie das alles in eine Methode verpacken, dann können Sie diese als Ausgangssteuerung (Heck) der Quelle verwenden.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

knurps
Mitglied


Sehen Sie sich das Profil von knurps an!   Senden Sie eine Private Message an knurps  Schreiben Sie einen Gästebucheintrag für knurps

Beiträge: 3
Registriert: 02.11.2013

erstellt am: 06. Nov. 2013 18:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bon Simul.

Vielen Dank für Ihre Antwort und Entschuldigung für meine späte Antwort jetzt!
Bei den meisten Dingen bin ich bereits auf eine Lösung gekommen, nichtsdestotrotz danke.

Die Idee mit der Tabelle, Auslesen, Zeile aus Tabelle löschen, Anzahl für's Würfeln verringen klingt gut. Hätten Sie einen schnellen und einfachen Vorschlag, wie ich die Zeile am besten lösche und zwar so, dass die anderen Zeilen dann hochrücken?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 06. Nov. 2013 19:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für knurps 10 Unities + Antwort hilfreich

siehe Hilfe <tabelle>.entferneZeile(<integer> ) oder engl. cutRow(<integer> )

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

knurps
Mitglied


Sehen Sie sich das Profil von knurps an!   Senden Sie eine Private Message an knurps  Schreiben Sie einen Gästebucheintrag für knurps

Beiträge: 3
Registriert: 02.11.2013

erstellt am: 06. Nov. 2013 22:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Prima, dankeschön! 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz