Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Die maximale Anzahl suspendierter Methoden wurde überschritten

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:  Die maximale Anzahl suspendierter Methoden wurde überschritten (834 mal gelesen)
Lele01
Mitglied



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

Beiträge: 41
Registriert: 06.03.2017

erstellt am: 09. Apr. 2017 00: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

Hallo Nadine,

in meiner Simulation habe ich folgende Importeranfragesteuerung geschrieben. Wie du mir erklärt hast, habe ich die Ausführung der Aufträge mit Hilfe von "waituntil" gesteuert.
Anfangs hatte ich eine Losbearbeitung von 50 Teilen, da hat das ganze Programm einwandfrei funktioniert.
Nun möchte ich eine Losgröße von 700 Teilen. Nach der Umstellung, wird mir nun die Fehlermeldung "Die maximale Anzahl suspendierter Methoden wurde überschritten" angezeigt. Mir ist klar, dass das Problem durch die vielen "waituntil" entsteht. Aber ich weiß nicht was ich jetzt machen kann um dieses Problem zu lösen, und trotzdem die richtige Reihenfolge der Abarbeitung der Aufträge beizubehalten.


param obj: object, -- Importer
typ: integer -- Importertyp (0=Entstörimporter, 1=Rüstimporter, 2=Bearbeitungsimporter, 3=Transportimporter)


if typ = 3 then
switch obj.name

case "P1"
waituntil current.Laser.leer AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend  AND Bedingung_2=false prio 1;
case "Laser"
if current.P2.voll then
waituntil current.P2.leer
else
waituntil LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 2;
end
case "Quelle"
waituntil current.P1.leer AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend  prio 3;



case "P2"
waituntil current.P4.leer AND current.P5.leer prio 13;
case "P10"
waituntil current.P12.leer AND current.P13.leer prio 14;

case "P4"
waituntil current.LagersitzVorschleifen_Fertigschleifen_1.leer AND Bedingung_1 = false AND current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer AND current.P12.voll  AND current.P13.voll prio 7;
case "P5"
waituntil current.LagersitzVorschleifen_Fertigschleifen_2.leer AND Bedingung_2 = false AND current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer AND current.P12.voll AND current.P13.voll prio 8;

case "LagersitzVorschleifen_Fertigschleifen_1"
waituntil current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer prio 9;
case "LagersitzVorschleifen_Fertigschleifen_2"
waituntil current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer prio 10;

case "P12"
waituntil current.LagersitzVorschleifen_Fertigschleifen_1.leer AND Bedingung_1 = true AND current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer  AND current.P4.voll AND current.P5.voll prio 11;
case "P13"
waituntil current.LagersitzVorschleifen_Fertigschleifen_2.leer AND Bedingung_2 = true AND current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer  AND current.P4.voll AND current.P5.voll prio 12;



case "P14"
waituntil current.Messen.leer AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend  AND Bedingung_2=true prio 4;
case "Messen"
waituntil LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 5;
case "P15"
waituntil current.P15.voll AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 6;


end
?.standardImportDurchführen(obj, 3)
end


Viele Grüße

Lele

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

Lele01
Mitglied



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

Beiträge: 41
Registriert: 06.03.2017

erstellt am: 09. Apr. 2017 01:03    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


SuspendierteMethoden.PNG

 
Ich habe mal ein Foto der suspendierten Methoden angehängt.

Gruß

Lele

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

nadin1223
Mitglied
Ing.


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

Beiträge: 938
Registriert: 29.03.2016

erstellt am: 09. Apr. 2017 14:23    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 Lele01 10 Unities + Antwort hilfreich

Moin,

nicht jedes waituntil ist erforderlich. Harte Bedingungen wie z.B Variable können vorab mit "if" geprüft werden, sodass erst wenn diese erfüllt ist waituntil aktiv wird.

vg
Nadin

------------------
„Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten.“ Matthew Austern

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

Lele01
Mitglied



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

Beiträge: 41
Registriert: 06.03.2017

erstellt am: 09. Apr. 2017 16: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

Ich habe das mal so umgeschrieben. Aber wenn ich eine Bedingung vorher abfrage, brauche ich doch im else-Zweig trotzdem ein "waituntil" oder mach ich was falsch?


param obj: object, -- Importer
typ: integer -- Importertyp (0=Entstörimporter, 1=Rüstimporter, 2=Bearbeitungsimporter, 3=Transportimporter)


if typ = 3 then
switch obj.name

case "P1"
if Bedingung_2 =false then    -- Hier frage ich vorher die Bedingung "Bedingung_2 = falsch" ab
waituntil current.Laser.leer AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 1;
else waituntil Bedingung_2 = false  -- Wenn die Bedingung nicht erfüllt ist, möchte ich trotzdem nicht, dass er den
                                                        StandardImport durchführt, sondern wartet, bis die Bedingung erfüllt ist
end
case "Laser"
if current.P2.voll then
waituntil current.P2.leer
else
waituntil LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 2;
end;
case "Quelle"
waituntil current.P1.leer AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend  prio 3;


case "P2"
waituntil current.P4.leer AND current.P5.leer prio 13;
case "P10"
waituntil current.P12.leer AND current.P13.leer prio 14;


case "P4"
if Bedingung_1 = false then
waituntil current.LagersitzVorschleifen_Fertigschleifen_1.leer AND current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer AND current.P12.voll  AND current.P13.voll prio 7;
else waituntil Bedingung_2 = false
end;
case "P5"
if Bedingung_2 = false then
waituntil current.LagersitzVorschleifen_Fertigschleifen_2.leer AND current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer AND current.P12.voll AND current.P13.voll prio 8;
else waituntil Bedingung_2 = false
end;

case "LagersitzVorschleifen_Fertigschleifen_1"
waituntil current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer prio 9;
case "LagersitzVorschleifen_Fertigschleifen_2"
waituntil current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer prio 10;

case "P12"
if Bedingung_1 = true then
waituntil current.LagersitzVorschleifen_Fertigschleifen_1.leer AND current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer  AND current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer AND current.P4.voll AND current.P5.voll prio 11;
else waituntil Bedingung_1 = true
end;
case "P13"
if Bedingung_2 = true then
waituntil current.LagersitzVorschleifen_Fertigschleifen_2.leer AND current.Messen_LagersitzVorschleifen_Fertigschleifen_2.leer  AND current.Messen_LagersitzVorschleifen_Fertigschleifen_1.leer AND current.P4.voll AND current.P5.voll prio 12;
else waituntil Bedingung_2 = true
end;



case "P14"
if Bedingung_2 = true then
waituntil current.Messen.leer AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 4;
else waituntil Bedingung_2 = true
end;
case "Messen"
waituntil LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 5;
case "P15"
waituntil current.P15.voll AND LagersitzVorschleifen_Fertigschleifen_1.resArbeitend AND LagersitzVorschleifen_Fertigschleifen_2.resArbeitend prio 6;



end
?.standardImportDurchführen(obj, 3)
end

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