Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Broker soll Importer nach Reihenfolge zuweisen

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:  Broker soll Importer nach Reihenfolge zuweisen (1329 mal gelesen)
Davewil
Mitglied



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

Beiträge: 11
Registriert: 30.12.2014

erstellt am: 30. Dez. 2014 08:55    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 Leute,

ich habe ein Problem zum Thema Broker-Importer-Exporter und hoffe, dass mir jemand helfen könnte.

Ich habe eine Produktionslinie und würde sie gerne über einen Broker bzw. einen Exporter steuern lassen.
Hierzu lasse ich den Broker alle Stationen verwalten und die dazugehörigen Importer werden alle an einen Exporter weitergegeben.

In einer Tabelle lasse ich mir nun während der Simulation die unbefriedigten Importer auflisten und diese dann sortieren.

Wie kann ich in einer Methode nun festlegen, dass der Broker z.B. den Importer aus der 1.Zeile der Tabelle zuerst vermitteln soll und dann erst die Weiteren?

Funktioniert das über eine Exporteranfragesteuerung und die Methode "belegeMit"?

Vielen Dank!

Grüße und einen guten Rutsch

Dave

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: 30. Dez. 2014 14:42    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 Davewil 10 Unities + Antwort hilfreich

Das können Sie über die Importeranfrage-Steuerung des Brokers programmieren. Drücken Sie in dem Feld F4, Plant Simulation legt dann eine Methode an und füllt diese mit einem Beispiel-Kode.

Sie können hier die unbefriedigten Importer auslesen und den Exporter an einen Importer Ihrer wahl vermitteln (engage...).

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

Davewil
Mitglied



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

Beiträge: 11
Registriert: 30.12.2014

erstellt am: 30. Dez. 2014 17:14    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 die schnelle Antwort!

Plant Simulation liefert mir daraufhin die folgende Methode, in der ich die Tabelle angegeben habe, in der meine Unbefriedigten Importer gespeichert werden:

(obj : object;  -- Importer
typ : integer) -- Importertyp (0=Entstörimporter, 1=Rüstimporter, 2=Bearbeitungsimporter, 3=Transportimporter)
is
    testImportErfolgreich : boolean;
do
    testImportErfolgreich := ?.testImportFür(obj, typ, TabelleUnbefriedigteImporter);

    if testImportErfolgreich = true
    then
        ?.belegeMit(obj, typ, TabelleUnbefriedigteImporter);
    end;
end;


Funktioniert das so oder fehlt hier noch etwas?


Wie könnte man denn realisieren, dass nach bestimmten Prinzipien ausgewählt wird?(z.B. First-In-First-Out oder First-In-Last-Out?)

Dankeschön!

Grüße

Dave

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: 30. Dez. 2014 17:30    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 Davewil 10 Unities + Antwort hilfreich

so passt das nicht.
Lesen Sie die Hilfe zu belegeMit durch!

Die unbefriedigten Importer müssen Sie zusätzlich zu der Vorlage ermitteln. Es ist der erste Parameter von belegeMit, den Sie dynamisch auf der Basis der unbefriedigten Importer und Ihrer Prio setzen müssen.

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

Davewil
Mitglied



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

Beiträge: 11
Registriert: 30.12.2014

erstellt am: 31. Dez. 2014 09:29    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

Leider komme ich auch mit der Hilfe(in der ich vorher bereits nachgeschaut hatte) nicht wirklich weiter.
Ich habe die Methode jetzt soweit geändert:

(obj : object;  -- Importer
typ : integer) -- Importertyp (0=Entstörimporter, 1=Rüstimporter, 2=Bearbeitungsimporter, 3=Transportimporter)
is
        TabelleUnbefriedigteImporter: table[object,integer];
        testImportErfolgreich : boolean;
do
TabelleUnbefriedigteImporter.create;
Broker.holeUnbefriedigteImporter(TabelleUnbefriedigteImporter);
    testImportErfolgreich := ?.testImportFür(tabelleUnbefriedigteImporter[1,1], TabelleUnbefriedigteImporter[2,1], TabelleUnbefriedigteImporter);

    if testImportErfolgreich = true
    then
        ?.belegeMit(TabelleUnbefriedigteImporter[1,1], TabelleUnbefriedigteImporter[2,1], TabelleUnbefriedigteImporter);
    end;
end;


Was mache ich denn hierbei immernoch falsch?

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: 31. Dez. 2014 11:58    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 Davewil 10 Unities + Antwort hilfreich

Die Grundstruktur passt nicht. Sie brauchen auch die Exporter.
Hier ist ein Beispiel, in dem immer SingleProc2 zuerst bedient wird.
Code:

(obj : object;   -- Importer
type : integer) -- Importer type (0=failure importer, 1=setup importer, 2=processing importer, 3=transport importer)
is
    workersToBeExported : table;
    testImportSuccessfull : boolean;

unsatisfiedImporters:table;
i:integer;
obj1: object;

do
   workersToBeExported.create;
  unsatisfiedImporters.create;
  
--unbefriedigte Importer
?.getOpenImporters(unsatisfiedImporters);
--prefer singleProc2, otherwise first importer
for i:=1 to unsatisfiedImporters.yDim loop
if unsatisfiedImporters[1,i] = singleProc2 then
obj1:=singleProc2;
testImportSuccessfull := ?.testImportFor(obj1, unsatisfiedImporters[2,i], workersToBeExported);
   if testImportSuccessfull = true   then
?.engage(obj1, unsatisfiedImporters[2,i], workersToBeExported);
return;
   end;
end;
next;

--some other
for i:=1 to unsatisfiedImporters.yDim loop
obj1:=unsatisfiedImporters[1,i];
testImportSuccessfull := ?.testImportFor(obj1, unsatisfiedImporters[2,i], workersToBeExported);
   if testImportSuccessfull = true   then
?.engage(obj1, unsatisfiedImporters[2,i], workersToBeExported);
return;
   end;
next;
end;


[Diese Nachricht wurde von Bon Simul am 31. Dez. 2014 editiert.]

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