Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  BEs auf die passenden Einzelstationenn umlagern

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:  BEs auf die passenden Einzelstationenn umlagern (2800 mal gelesen)
NecDrop
Mitglied
Student


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

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 04. Sep. 2012 17:10    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 zusammen,

ich habe folgendes Problem (etwas kompliziert, muss man sich vllt mehrmals durchlesen):

Ich habe mehrere Fördergüter die unterschiedlichen Eigenschaften haben.
Z.B. hat BE_1 das Attribut A mit den Werten A1, A2, A3.
BE_2 hat Attribut B mit den Werten B1, B2, B3.

Desweiteren habe ich Einzelstationen, die ebenfalls Attribute haben.
Z.B. hat Maschine_1 Attribute A mit den Werten A1, A2, A3 UND Attribut B mit den Werten B1 und B2.
Maschine _2 das Attribut B die Werte B1, B2, B3.

Jetzt möchste ich die BEs logisch auf die jeweils "passenden" Maschinen verteilen. Hierzu vergleiche ich die Attribute und die Attributwerte der Artikel mit den Attributen der Maschine und finde die jeweils passende Maschine heraus.
Also kann BE_1 demzufolge auf Maschine_ umgelagert werden, da BE_1 das Attribute A mit den Werten A1, A2, A3 hat und die Maschine ebenfalls dieses Attribut mit den dazugehörigen Werten besitzt.
BE_2 kann auf Maschine_2 umgelagert werden, da Maschine_2 die notwendigen Attribute und Werte hat. Maschine_1 käme hierbei nicht in Frage, weil Maschine_1 nur die Werter B1 und B2 hat, aber B3 fehlt!

Jetzt möchte ich eine Methode schreiben, die quasi vergleich was für Attribute/Attributwerte die BEs haben und was für Attribute/Attributwerte die Maschinen haben und demzufolge die BEs auf die passenden Maschine umlagert.

Ich kann es bisher nur über einen manuellen Vergleich indem ich selber die Attribute vergleich und dann über eine Methode die BEs auf die vorher selber gesuchten Maschine umlager. Nach dem Motto:

    is
    do
    --vergleiche Attribut
        inspect @.A
    --mit dem Wert
        when "A1" then
      --und lager auf die Maschine um
              @.umlagern(Maschine1);
        end;
    end;

Aber diesen Schritt soll Plant selber machen und logisch die BEs auf die Maschine verteilen!


Weiß jemand einen Weg, wie ich diesen Vergleich realisieren kann? Steh grade ziemlich auf dem Schlauch?!

Vielen Danke schonmal im Vorraus für Eure Hilfe 

Schöne Grüße
NecDrop

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. Sep. 2012 22:16    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 NecDrop 10 Unities + Antwort hilfreich

Allein macht das Plant Simulation zwar nicht, aber hier ist ein Ansatz:

Sie können mit

Code:

<pfad>.isNameUnique(string name)


-> siehe Hilfe
prüfen, ob ein bestimmtes Attribut/ Methode definiert ist.
Im zweiten Schritt können Sie dann nach Ihrem Wert suchen und auf die richtige Maschine umlagern.

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

NecDrop
Mitglied
Student


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

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 05. Sep. 2012 19:51    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

Also wenn ich das richtig verstanden habe, dann sucht mir Plant die Attribute oder Objekte und ich kann dann mit diesen Informationen weiter arbeitern.

Beispielsweise wenn ich den Code:

      print .Halle2.isNameUnique("Einzelstation1"); -- eingesetztes Objekt

schreibe, schaut Plant ob die "Einzelstation"1 im Netzwerk "Halle2" vorhanden ist, richtig?

Ok, das ist ein guter Ansatz. Kann man hiermit auch mehrere Attribute hintereinander suchen?

Oder hilft mir der Befehl:

    <Pfad>.holeAttribut(<string> );

vielleicht besser?

Generell: Habt ihr schon Erfahrungen mit so einem "Attributvergleich" gemacht? Wenn ja, wie seid ihr an die Sache herangegangen?

Viele Grüße

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

DennisL
Mitglied



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

Beiträge: 38
Registriert: 28.11.2011

erstellt am: 06. Sep. 2012 13:19    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 NecDrop 10 Unities + Antwort hilfreich

Hallo,
wie wärs, wenn du deinen BEs zwei Attribute gibst?
Typ (string) A oder B
Nr (integer) 1,2 oder 3

entsprechende Flusssteuerungen (insgesamt 3) und dann "nach Attribut" verteilen auswählst in der Ausgangssteuerung?

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

NecDrop
Mitglied
Student


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

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 06. Sep. 2012 15:15    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

Danke für den Tip! An die Flusssteuerung hab ich noch gar nicht gedacht. Das wäre eine Möglichkeit. Allerdings habe ich (leider) ein paar Attribute mehr als im oben genannten Beispiel und bräuchte in meinem Fall schätzungsweise 250 Flusssteuerungen...

Man muss es doch irgendwie über eine Methode steuern können, die man in die Ausgangssteuerung der Senke oder in die Eingangssteuerung aller Einzelstationen packt.

Hab mir das so überlegt, dass die Methode mittels einer Schleife nach und nach die Attribute der BEs mit denen der Einzelstationen vergleicht und die BEs dann (ohne Kanten) direkt auf die "passende" Maschine umlagert. Wenn die "passenden" Einzelstation belegt ist, läuft die Schleiße weite, bis die Einzelstation frei ist und die BEs umgelagert werden können.

So, das ist die Theorie. Jett brauch ich noch einen passenden Befehl, der die Attribute schleifenmäßig abgleichen kann. Hat schon mal jemand mit "inspect" einen größeren Attribut-Suchlauf durchgeführt?

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: 08. Sep. 2012 22:10    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 NecDrop 10 Unities + Antwort hilfreich

Sie sollten Ihre Attribute in ein Attribut-Set verpacken (eine benutzerdefinierte Variable; Datentyp table; erste Spalte string für die Attributbezeichnungen, zweite Spalte Datentyp list --> für die Attributwerte). Eine solches Set lässt sich sehr gut mit Schleifen duchsuchen (eine äußere für die Attribute, eine innere für die Attributwerte).
Ich empfehle Ihnen ein zweistufiges Suchverfahren:
1. Schritt: Sie ermitteln alle Stationen, die die erste Bedingung erfüllen (speichern jeweils einen Link in einer Tabelle)
2. - x. Schritt: Sie prüfen die nächsten Attribut(werte) an den Maschinen, die bereits die erste Bedingung erfüllt haben und in der Tabelle stehen. Wenn die Bedingungen nicht erfüllt sind, wird die Station aus der Tabelle gelöscht.

Den ersten Schritt können Sie mit Hilfe der Vererbung programmieren:

z.B. .materialfluss.einzelstation.anzahlKinder --> anzahl der Einzelstationen in Ihrem Netzwerk
.materialfluss.einzelstation.kindNr(<integer> ) --> die einzelne Maschine

Auf die Art und Weise bekommen Sie zum Schluss eine Tabelle mit allen in Frage kommenden Maschinen und können auf die erste warten, die frei wird (siehe Hilfe waituntil) und können das BE dahin umlagern (siehe Hilfe umlagern).

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