Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Ausgang, Teil wegtragen

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:  Ausgang, Teil wegtragen (998 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: 28. Mrz. 2017 16:34    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 !

in meiner Simulation lasse ich den Werker ein Teil von einer Station zu einer anderen bringen, dafür verwende ich die Ausgangsstrategie "Teil wegtragen". Das klappt soweit gut, doch nun möchte ich dass der Werker das Teil entweder zu AP1 oder zu AP2 bringt (je nachdem welche Farbe sie haben). Doch leider kann man unter "BE-Ziel" keine Methode auswählen 

Kannst du mir da weiterhelfen?
Vielen Dank im voraus 

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: 30. Mrz. 2017 20:21    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

Hallo Lele01,

eine Möglichkeit besteht eine Ausgangssteuerung an Station hinterlegen. Als Event ist Bug auszuwählen.


Code:
is
do
if @.Attr = 1 then
?.BEZiel := current.Puffer;/*setzt Ziel für das BE*/
else
?.BEZiel := current.Puffer1;
end;
        @.umlagern();
end;

------------------
„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: 31. Mrz. 2017 15: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


Netzwerk.PNG

 
Vielen Dank Nadine.

In meiner Simulation soll der Werker aus dem Puffer P12 immer ein Teil entnehmen und dann in der Maschine "Zentrieren_AS_BS" und "Messen_Zentrieren_AS_BS" bearbeiten. Danach soll das Teil in den Puffer P13 gebracht werden. Das soll solange geschehen bis der Puffer P13 voll ist. Sobald der Puffer P13 voll ist soll der Werker ein Teil aus P13 entnehmen (nicht mehr aus P12). Das Teil wird wieder in der Maschine "Zentrieren_AS_BS" und "Messen_Zentrieren_AS_BS" bearbeitet und anschließend zu P14 gebracht. Der Werker soll solange Teile aus P13 entnehmen, bis der Puffer leer ist. Erst wenn er leer ist, darf der Werker wieder Teile aus P12 entnehmen.

Im Prinzip möchte folgende Importeranfragesteuerungen in einer unterkriegen.
Weißt du wie ich das am besten löse?
Ich habe es mit "Waituntil" versucht, aber das hat leider nicht funktioniert

1)

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

if typ = 3 then

  if current.Messen_Zentrieren_AS_BS.voll then
      ?.standardImportDurchführen(Messen_Zentrieren_AS_BS, 3) 
  elseif current.Zentrieren_AS_BS.voll then
      ?.standardImportDurchführen(Zentrieren_AS_BS, 3)
      else ?.standardImportDurchführen(P12, 3)        -- Teil aus Lager P12 entnehmen
  end
end

2)

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

if typ = 3 then

  if current.Messen_Zentrieren_AS_BS.voll then
      ?.standardImportDurchführen(Messen_Zentrieren_AS_BS, 3)   
  elseif current.Zentrieren_AS_BS.voll then
      ?.standardImportDurchführen(Zentrieren_AS_BS, 3)
  else ?.standardImportDurchführen(P13, 3)            -- Teil aus Lager P13 entnehmen

  end
end

Viele Grüße

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: 31. Mrz. 2017 16:13    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

Hallo Lele01,

Am Besten gehen wir dies zusammen durch 

Step 1 Zusammentragen von relevanten Events und Randbedingungen:
Beschreibe bitte zuerst alle relevanten Steuerungsanforderungen an Importer in der Form:

++++++++++++Form++++++++++++++
Event ist:
Ziel Ort von @ ist:
Randbedingungen sind:

+++++++++++++Beispiel++++++++++++
z.B.:
Puffer P12 -->
[*] Event ist:
PufferP12 will auslagern
[*] Ziel Ort von @ ist:
Wenn @.Farbe = "Grün" dann zu current.Zentrieren_AS_BS, sonst current.Messen_Zentrieren_AS_BS
[*] Randbedingungen sind:
PufferP13.Leer = true
++++++++++++++++++++++++++

------------------
„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: 01. Apr. 2017 19:47    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,

Puffer P12 -->
[*] Event ist:
P12 will ein Teil auslagern
[*] Ziel Ort von @ ist:
current.Zentrieren_AS_BS
[*] Randbedingungen sind:
wenn current.Zentrieren_AS_BS.leer = true then auslagern
aber wenn Puffer current.P13.voll = true then stoppe Event solange bis Puffer current.P13.leer = true
           
/* wenn die Station Zentrieren_AS_BS leer ist soll ausgelagert werden, aber sobald PufferP13 voll ist soll P12 
  nicht mehr auslagern und dass solange bis Puffer.P13 leer ist */

++++++++++++++++++++++++++

Einzelstation Zentrieren_AS_BS -->
[*] Event ist:
Zentrieren_AS_BS will auslagern
[*] Ziel Ort von @ ist:
current.Messen_Zentrieren_AS_BS
[*] Randbedingungen sind:
wenn Zielort current.Messen_Zentrieren_AS_BS.leer = true

/* es soll ausgelagert werden, wenn der Zielort Messen_Zentrieren_AS_BS leer ist */

++++++++++++++++++++++++++

Einzelstation Messen_Zentrieren_AS_BS -->
[*] Event ist:
Messen_Zentrieren_AS_BS will auslagern
[*] Ziel Ort von @ ist:
Wenn @.Farbe = "Braun" dann zu current.P13, sonst zu current.P14
[*] Randbedingungen sind:
soll immer durchgeführt werden

++++++++++++++++++++++++++


Puffer P13 -->
[*] Event ist:
P13 will auslagern
[*] Ziel Ort von @ ist:
current.Zentrieren_AS_BS
[*] Randbedingungen sind:
wenn current.Zentrieren_AS_BS.leer = true then umlagern
aber erst wenn Puffer current.P13.voll = true then starte Event solange bis Puffer current.P13.leer = true

/* wenn die Station Zentrieren_AS_BS leer ist soll ausgelagert werden. Das auslagern soll beginnen sobald der Puffer P13 voll ist. Sobald der Puffer leer ist, soll das Auslagern gestoppt werden und erst wieder beginnen, wenn der Puffer P13 wieder voll ist */


Liebe Grüße

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: 01. Apr. 2017 22:20    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

Hallo Lele,
herzlichen Glückwunsch, damit hast du schon mal das Größte abgearbeitet.   

Jetzt Step 2: das Ganze bewerten.

Event von "Messen_Zentrieren_AS_BS" kann für "Importeranfrage" unberücksichtigt bleiben, da alles was wir nicht extra definieren normal ausgelagert wird. 

Bleiben somit 3 Anfragen:
********************************************************************
ZU:

Zitat:
aber wenn Puffer current.P13.voll = true then stoppe Event solange bis Puffer current.P13.leer = true

Hier muss der Zeitraum zwischen "Voll" und "Leer" überwacht werden. d.h. es muss z.B. eine globale Variable angelegt werden.
Ein möglicher Lösungsansatz:
Diese Variable ich nenne die mal "XXX" wird beim INIT := false gesetzt. Im Lauf wenn current.P13.voll wird := true und wenn current.P13.leer wird := false;
Durch diese Regelung ist der Zusand XXX überwachbar. Dadurch kann z.B. Randbedingung für Puffer P12 geändert werden zu:
Puffer P12 --> 
[*] Randbedingungen sind: 
wenn current.Zentrieren_AS_BS.leer = true und current.XXX = false

FRAGE:
Wie würden dann die Randbedingungen für P13 aussehen?
********************************************************************+
ZU:

Zitat:
Einzelstation Zentrieren_AS_BS -->

INFO:
Solange der Werker mit dem BE von "Zentrieren_AS_BS" zu  "Messen_Zentrieren_AS_BS" unterwegs ist, können weitere Auslagerungen stattfinden. Also d.h. diese Bedingung ist an Bedingung geknüpft, dass Werker schneller auslagern muss als "Zentrieren_AS_BS" nachproduziert. Falls dies nicht als Bedingung angenommen werden darf, dann muss auch hier der Auslagervorgang mit in Randbedingungen z.B.: globale Variable.

Falls dies erforderlich ist, wie müssten hier die Randbedingungen angepasst werden?

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: 02. Apr. 2017 00:33    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

Hi Nadine

ZU

"FRAGE:Wie würden dann die Randbedingungen für P13 aussehen?"

=> Puffer P13 -->
  [*] Randbedingungen sind: 
  wenn current.Zentrieren_AS_BS.leer = true und current.XXX = true

/* Wenn current.Zentrieren_AS_BS leer ist und die Variable auf true umgesprungen ist, startet die Auslagerung 
  bei P13 */


ZU

" INFO:
Solange der Werker mit dem BE von "Zentrieren_AS_BS" zu  "Messen_Zentrieren_AS_BS" unterwegs ist, können weitere Auslagerungen stattfinden. Also d.h. diese Bedingung ist an Bedingung geknüpft, dass Werker schneller auslagern muss als "Zentrieren_AS_BS" nachproduziert. Falls dies nicht als Bedingung angenommen werden darf, dann muss auch hier der Auslagervorgang mit in Randbedingungen z.B.: globale Variable.

Falls dies erforderlich ist, wie müssten hier die Randbedingungen angepasst werden? "

Ich verstehe nicht so genau was du meinst. Wieso können da weitere Auslagerungen stattfinden? Wenn schneller nachproduziert wird als der Werker auslagert, staut sich doch das Teil in der Maschine und wartet solange, bis der Werker Zeit hat, oder?

Viele Grüße

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: 02. Apr. 2017 12:36    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


Werker_StationLeerBedingung.spp.txt

 
Zitat:
Ich verstehe nicht so genau was du meinst. Wieso können da weitere Auslagerungen stattfinden? Wenn schneller nachproduziert wird als der Werker auslagert, staut sich doch das Teil in der Maschine und wartet solange, bis der Werker Zeit hat, oder?

Ein Beispiel:
Frau Schreiber arbeitet im Büro und druckt Aufträge aus, welche die Werker (Herr Schweißer, Herr Koch) abhollt. Wenn Werker bei Frau Schreiber vorbeischaut, sagt er ihr was er gemacht hat. Nun meldet das MES, dass der Auftrag von "Zentrieren_AS_BS" abhollbereit ist. Frau Schreiber bekommt die Info am Bildschirm: "Nur freigeben, wenn Messen_Zentrieren_AS_BS leer". Dies liegt zu diesem Zeitpunkt vor.  Frau Schreiber druckt den Auftrag aus und packt es auf dem "Haufen" für Herr Schweißer. Herr Schweißer kommt und nimmt sich die Aufträge (naja in EM nimmt Herr Schweißer nur einen Auftrag). Diese Aufträge arbeitet Herr Schweißer nacheinander ab. Während er diese Aufträge abarbeitet meldet MES bei Frau Schreiber, dass der Auftrag von "Zentrieren_AS_BS" abhollbereit ist. Frau Schreiber bekommt wieder die Info am Bildschirm:  "Nur freigeben, wenn Messen_Zentrieren_AS_BS leer". Nun hat Frau Schreiber vergessen, dass ein Auftrag von "Zentrieren_AS_BS" schon raus ist und Herr Schweißer hat diesen Auftrag noch nicht fertig.
Also, da zu diesem Zeitpunkt "Messen_Zentrieren_AS_BS" immer noch meldet, dass es leer ist und Herr Schweißer beschäftigt ist druckt Frau Schreiber eine neuen Auftrag "Zentrieren_AS_BS" für Herr Koch aus. Wenn nun Herr Koch zur Frau Schreiber kommt nimmt er den freigegebenen Auftrag für "Zentrieren_AS_BS" mit, obwohl zu diesem Zeitpunkt "Messen_Zentrieren_AS_BS" eigentlich nicht leer ist, da doch Herr Schweißer auch einen Auftrag hat.

Dies bedeutet

Zitat:
Solange der Werker mit dem BE von "Zentrieren_AS_BS" zu  "Messen_Zentrieren_AS_BS" unterwegs ist, können weitere Auslagerungen stattfinden.

Beispiel ist angehängt

------------------
„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

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: 02. Apr. 2017 13:06    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

So jetzt Step 3:

da wir in Step 1 die Liste an die Struktur von Importeranfrage angepasst haben, ist dieser Schritt sehr einfach. Es geht darum Step1 in SimTalk zu übersetzen. (Den Step Pseudocode lasse ich mal hier außer acht.)

So sieht die Struktur von Importeranfrage aus:

Code:
(obj: object;
typ: integer) --das ist das Event aus Step1 z.B.: Zentrieren_AS_BS will auslagern
is

do

/**
hier dann die Regeln
**/

if typ = 3 then
inspect obj.name /*das ist SimTalk V12. in 13 ist es switch*/
when "P12" then --entscheide nach Event was für Randbedingungen gelten 
waituntil current.Zentrieren_AS_BS.leer and XXX prio 1; --warten bis Randbedingungen eintretten
when "Zentrieren_AS_BS" then
waituntil current.Messen_Zentrieren_AS_BS.leer prio 2;
when "P13" then
waituntil current.Zentrieren_AS_BS.leer and XXX prio 3;
end;
/*Auslagern selbst außerhalb von inspect, alles ausgelagern möglich sein sollte*/
?.standardImportDurchführen(obj, typ); --damit starten wir die Standartumlagerung
end;
end;


FRAGE:
Was kann für XXX eingetragen werden?

INFO:
"prio" sollte dabei unterschiedlich sein. Falls mehrere Anfragen gleichzeitig warten, sollte nicht der Zufall entscheiden welche Auslagerung als nächste stattfindet. Wegen Bedingung:

Zitat:
da alles was wir nicht extra definieren normal ausgelagert wird

ist "inspect" ohne "else"-Block.

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: 02. Apr. 2017 15:09    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 eine globale Variable mit dem Namen "Bedingung" erstellt und folgendens ausprobiert.

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 "P12"
    waituntil
        current.Zentrieren_AS_BS.leer and @.Bedingung = false prio 1        <--- ich bekomme jedoch hier
                                                                                eine Fehlermeldung "Syntaxfehler"
  case "Zentrieren_AS_BS"
    waituntil
current.Messen_Zentrieren_AS_BS.leer prio 2
  case "P13"
    waituntil
current.Zentrieren_AS_BS.leer and @.Bedingung = true prio 3
end
?.standardImportDurchführen(obj, 3)
end

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: 02. Apr. 2017 15:24    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

Code:
if typ = 3 then
  switch obj.name
  case "P12"
    waituntil current.Zentrieren_AS_BS.leer and @.Bedingung = false prio 1 ;    --keine neue Zeile und ";" 
  case "Zentrieren_AS_BS"
    waituntil current.Messen_Zentrieren_AS_BS.leer prio 2;
  case "P13"
    waituntil current.Zentrieren_AS_BS.leer and @.Bedingung = true prio 3;
end
?.standardImportDurchführen(obj, 3)
end

------------------
„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: 02. Apr. 2017 15:50    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


Netzwerk.PNG


Fehlermeldung.PNG

 
Jetzt bekomme ich die Fehlermeldung
"ein 'void' kann keine Methode 'Bedingung' empfangen

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: 02. Apr. 2017 15:59    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

ist doch globale Variable! Wozu dann @ davor? Mit @ sprichst du das BE an. Importeranfrage kennt kein BE.

------------------
„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: 02. Apr. 2017 16:46    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


Netzwerk.PNG

 
Ich habe in den Eingang von P13 folgendes eingefügt

if current.P13.voll then
  Bedingung:=true
  elseif current.P13.leer then
Bedingung:=false
else
end

Kann man das so machen?
Bei der Simulation kommt es zu einem Stau vor P13, der Werker versucht ein Teil von Messen_Zentrieren_AS_BS zu Puffer P13 zu tragen, aber der Puffer P13 ist schon voll.

Und ich möchte dass der Werker an der Einzelstation Messen_Zentrieren_AS_BS bleibt, während diese arbeitet. Normalerweise funktioniert das, wenn ich in der Arbeitsstation "Werker bleibt nach Abschluss der Arbeit" hier auswähle. Aber jetzt funktioniert es iwie nicht.

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: 02. Apr. 2017 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 Nur für Lele01 10 Unities + Antwort hilfreich

EingangSt kann nicht wissen dass die Station leer ist, da diese nicht beim Auslagern aktiviert wird. Beobachter sind einfacher (sehe Beispiel von Heute)  


Zitat:
Und ich möchte dass der Werker an der Einzelstation Messen_Zentrieren_AS_BS bleibt, während diese arbeitet. Normalerweise funktioniert das, wenn ich in der Arbeitsstation "Werker bleibt nach Abschluss der Arbeit" hier auswähle. Aber jetzt funktioniert es iwie nicht.

Werker bleibt solange keine weiteren Aufträge angenommen werden können an dem Werker vermittelt wurden. Entweder im Werkerpool "Arbeitsaufträge nur im Pool hollen" aktivieren (global auf alle Werker gültig).
Oder in Station die Bearbeitung mit Werker einrichten Importer auf aktiv (lokale Lösung)

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

[Diese Nachricht wurde von nadin1223 am 02. Apr. 2017 editiert.]

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: 02. Apr. 2017 22: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


Beobachter.PNG

 
Ich habe jetzt für P13 einen Beobachter erstellt --> Siehe Bild Beobachter
Und für Messen_Zentrieren_AS_BS habe ich den Importer auf aktiv --> Siehe Bild Importer
Sobald ich den Importer erstelle, wird jedoch der Auftrag von Messen_Zentrieren_AS_BS nicht mehr ausgeführt. Kannst du mir sagen, was ich falsch mache?

Ich habe mir noch eine weitere Lösungsmöglichkeit überlegt

if typ = 3 then
  if Bedingung = false then
if current.Messen_Zentrieren_AS_BS.voll then
?.standardImportDurchführen(Messen_Zentrieren_AS_BS, 3)
elseif current.Zentrieren_AS_BS.voll then
?.standardImportDurchführen(Zentrieren_AS_BS, 3)
else ?.standardImportDurchführen(P12, 3)
end
  else
if current.Messen_Zentrieren_AS_BS.voll then
?.standardImportDurchführen(Messen_Zentrieren_AS_BS, 3)
elseif current.Zentrieren_AS_BS.voll then
?.standardImportDurchführen(Zentrieren_AS_BS, 3)
else ?.standardImportDurchführen(P13, 3)
end
end
end

Ich habe diese Lösung mal getestet und beim Arbeitsplatz A20 von Messen_Zentrieren_AS_BS "Werker bleibt nach Abschluss der Arbeit hier" ausgewählt.
Bei dieser Lösung bringt der Werker das Teil zur Einzelstation Zentrieren_AS_BS, währen die Einzelstation arbeitet, geht er zurück in seinen Werkerpool. Sobald die Einzelstation fertig ist, geht er zur Einzelstation Messen_Zentrieren_AS_BS und bleibt während der gesamten Bearbeitungszeit dort. Wenn die Einzelstation fertig ist, bringt der Werker das Teil zu P13.

Dadurch dass der Werker an der Station Messen_Zentrieren_AS_BS bleibt, lagert P12 nicht schneller aus, als der Werker bei P13 ankommt.

Doch zu meinem Problem:
Bei dieser Lösung läuft anfangs alles richtig ab und sobald P13 voll ist wechselt die gobale Variable auf true. Doch danach geht der Werker in seinen WerkerPool zurück statt das nächste Teil aus P13 zu entnehmen. Weißt du woran das liegen kann?

Viele Grüße

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: 02. Apr. 2017 23:41    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

Ungünstige Wahl  , da -->
Code:

/*Bei Event --> leer*/
wenn alterWert= false then --war nicht leer // Jetzt ist LEER
Bedingung = true; //wenn LEER setze auf TRUE
sonst
Bedingung = false; //wenn nicht LEER setze auf FALSE
end;

/*Bei Event --> voll*/
wenn alterWert = false then --war vorher nicht voll // Jetzt ist VOLL
Bedinung = true; //wenn VOLL setze auf TRUE
sonst
Bedingung = false; //wenn nicht VOLL setze auf FALSE
end;


Code:
if typ = 3 then
  if Bedingung = false then
Print "Bedingung false;
if current.Messen_Zentrieren_AS_BS.voll then
Print "MZ_AB_BS voll", " auslager Event von --> " , obj.name;
?.standardImportDurchführen(Messen_Zentrieren_AS_BS, 3)
elseif current.Zentrieren_AS_BS.voll then
Print " hier das gleiche usw."
?.standardImportDurchführen(Zentrieren_AS_BS, 3)
else
Print " usw. für jede Möglichkeit ein Print damit in Konsole du die Entscheidungen nachvollziehen kannst "
?.standardImportDurchführen(P12, 3)

end
  else

if current.Messen_Zentrieren_AS_BS.voll then
?.standardImportDurchführen(Messen_Zentrieren_AS_BS, 3)
elseif current.Zentrieren_AS_BS.voll then
?.standardImportDurchführen(Zentrieren_AS_BS, 3)
else ?.standardImportDurchführen(P13, 3)
end
end
end


Dieser Lösungsansatz ist schwierig, da hier stets!!! sichergestellt werden muss, dass der zu erfüllende Zustand nur dann auftritt, wenn auch nur diese Station die Anfrage sendet. Setze mal paar Print-Befehle ein, dann siehst du was ich meine. 

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: 03. Apr. 2017 20: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

Ich habe das mal ausprobiert und verstehe was du meinst. Ich versuche grade wieder deinen Lösungsvorschlag.

Ich habe jetzt in meine Importeranfragesteuerung noch eine weitere Randbedingung bei P12 und P13 eingefügt und somit wird in P12 erst wieder ausgelagert, wenn das Teil in P13 bzw. P14 angekommen ist.

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 "P12"
  waituntil current.Zentrieren_AS_BS.leer AND Bedingung = false AND current.Messen_Zentrieren_AS_BS.leer prio 1 ; 
  case "Zentrieren_AS_BS"
    waituntil current.Messen_Zentrieren_AS_BS.leer prio 2;
  case "P13"
  waituntil current.Zentrieren_AS_BS.leer AND Bedingung = true AND current.Messen_Zentrieren_AS_BS.leer prio 3;
end
?.standardImportDurchführen(obj, 3)
end


Ich habe bei P13 einen Beobachter eingefügt
--> Beobachteter Wert von P13 ist VOLL

param Attribut: string, alterWert: any

if alterWert=false then              -- War nicht voll (somit leer oder zum Teil gefüllt) // Ist jetzt VOLL
current.Bedingung := true;    -- Wenn jetzt VOLL dann soll globale Variable Bedingung TRUE sein
end;

=> Wie setze ich "Bedingung" wieder auf false, wenn P13 wieder leer ist?

Wenn ich simuliere läuft anfangs alles richtig ab. Sobald P13 voll ist springt meine globale Variable "Bedingung" auf True und der Werker entnimmt auch kein Teil aus P12. Aber in dem Moment müsste er anfangen Teile aus P13 zu entnehmen. Doch das tut er nicht. Kannst du mir sagen, woran das liegt?

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: 03. Apr. 2017 21:04    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

Sobald die globale Variable "Bedingung" auf True springt, geht der Werker zurück zu seinem WerkerPool und führt keine Aufträge mehr aus

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: 03. Apr. 2017 21:33    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,

Zitat:
Aber in dem Moment müsste er anfangen Teile aus P13 zu entnehmen. Doch das tut er nicht. Kannst du mir sagen, woran das liegt?
dann wird
Code:
case "P13"
  waituntil current.Zentrieren_AS_BS.leer AND Bedingung = true AND current.Messen_Zentrieren_AS_BS.leer prio 3;
nicht aufgerufen/nie geweckt. Print davor und dahinter und schon ist dieser Punkt ausgeschlossen. Oder Klassenhaltepunkt kann da weiterhelfen. Kann P13 den umlagern? Ist der Name richtig geschrieben? ... usw.  :D 

Zitat:
=> Wie setze ich "Bedingung" wieder auf false, wenn P13 wieder leer ist?

genauso wie voll. Oder in Importeranfragesteuerung wenn P13.AnzahlBEs = 1 (aber nach waituntil). Ausgangssteuerung geht auch.

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: 03. Apr. 2017 23:18    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 die Print-Befehle in die Importeranfragesteuerung eingefügt.

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 "P12"
  Print "P12", " auslager Event von --> " , obj.name;
  waituntil current.Zentrieren_AS_BS.leer AND Bedingung = false AND current.Messen_Zentrieren_AS_BS.leer prio 1 ;
  Print "P12", " auslager Event von --> " , obj.name;
  case "Zentrieren_AS_BS"
  Print "Messen_Zentrieren_AS_BS", " auslager Event von --> " , obj.name;
  waituntil current.Messen_Zentrieren_AS_BS.leer prio 2;
  Print "Messen_Zentrieren_AS_BS", " auslager Event von --> " , obj.name;
  case "P13"
  Print "P13", " auslager Event von --> " , obj.name;
  waituntil current.Zentrieren_AS_BS.leer AND Bedingung = true AND current.Messen_Zentrieren_AS_BS.leer prio 3;
  Print "P13", " auslager Event von --> " , obj.name;
end
?.standardImportDurchführen(obj, 3)
end


Und die Konsole gibt mir folgendes aus.

13 auslager Event von --> P13
P12 auslager Event von --> P12
Messen_Zentrieren_AS_BS auslager Event von --> Zentrieren_AS_BS
Messen_Zentrieren_AS_BS auslager Event von --> Zentrieren_AS_BS
P12 auslager Event von --> P12
P13 auslager Event von --> P13
P12 auslager Event von --> P12
P12 auslager Event von --> P12
P13 auslager Event von --> P13
P12 auslager Event von --> P12
P12 auslager Event von --> P12
P12 auslager Event von --> P12
P12 auslager Event von --> P12
P13 auslager Event von --> P13
P12 auslager Event von --> P12
Messen_Zentrieren_AS_BS auslager Event von --> Zentrieren_AS_BS
Messen_Zentrieren_AS_BS auslager Event von --> Zentrieren_AS_BS
P12 auslager Event von --> P12
P13 auslager Event von --> P13
P12 auslager Event von --> P12
P12 auslager Event von --> P12
P13 auslager Event von --> P13
P13 auslager Event von --> P13
P13 auslager Event von --> P13
P13 auslager Event von --> P13
P13 auslager Event von --> P13
P13 auslager Event von --> P13
P13 auslager Event von --> P13
P12 auslager Event von --> P12

Sobald die globale Variable True ist gibt die Konsole "P13 auslager Event von --> P13" an, doch die letzte Zeile ist immer "P12 auslager Event von --> P12" egal wie lange die Simulation läuft 

Ansonsten ist alles richtig geschrieben und P13 kann auch auslagern.


Viele Grüße
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: 03. Apr. 2017 23: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 Lele01 10 Unities + Antwort hilfreich

Code:
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 "P12"
  Print "P12", " auslager Event START von --> " , obj.name , "; Zentrieren_AS_BS.leer= ", current.Zentrieren_AS_BS.leer , "; Bedingung= " , Bedingung , "; Messen_Zentrieren_AS_BS.leer= ", current.Messen_Zentrieren_AS_BS.leer;
  waituntil current.Zentrieren_AS_BS.leer AND Bedingung = false AND current.Messen_Zentrieren_AS_BS.leer prio 1 ;
  Print "P12", " auslager START von --> " , obj.name , "; Zentrieren_AS_BS.leer= ", current.Zentrieren_AS_BS.leer , "; Bedingung= " , Bedingung , "; Messen_Zentrieren_AS_BS.leer= ", current.Messen_Zentrieren_AS_BS.leer;
  case "Zentrieren_AS_BS"
  /**...usw. Es gillt ein Monitoring die relevanten Zustände und Events aufzuzeigen (Pro Case die Randbedingungen davor und danach), da die Ursache für Fehler nicht bekannt ist (es kann auch nicht der Importer sein). Und Ausgabetext muss Unikat sein, sonst weist du nicht welche Stelle grade was ausgibt.**/
end
?.standardImportDurchführen(obj, 3)
end


------------------
„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: 04. Apr. 2017 10:47    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

P12 auslager START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P13 auslager Event START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= false
P12 auslager Event START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= false
P12 auslager START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P13 auslager Event START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P12 auslager Event START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P12 auslager START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P12 auslager Event START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P12 auslager START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P13 auslager Event START von --> P13; Zentrieren_AS_BS.leer= false; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P12 auslager Event START von --> P12; Zentrieren_AS_BS.leer= false; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
Zentrieren_AS_BS auslager Event START von --> Zentrieren_AS_BS; Messen_Zentrieren_AS_BS.leer= true
Zentrieren_AS_BS auslager START von --> Zentrieren_AS_BS; Messen_Zentrieren_AS_BS.leer= true
P12 auslager START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P13 auslager Event START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= false
P12 auslager Event START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= false
P12 auslager START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= false; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true
P13 auslager Event START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true 
P13 auslager START von --> P13; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true       
P12 auslager Event START von --> P12; Zentrieren_AS_BS.leer= true; Bedingung= true; Messen_Zentrieren_AS_BS.leer= true

Sobald der Puffer voll ist, wird die globale Variable "Bedingung" aut true gesetzt, und sowohl das Event als auch der Vorgang werden gestartet. Aber in der Simulation geht der Werker zurück in seinen WerkerPool sobald der Puffer voll ist und die Variable True ist

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: 04. Apr. 2017 14: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 Lele01 10 Unities + Antwort hilfreich

Ist der Ausgang von P13 offen?

------------------
„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: 04. Apr. 2017 14:45    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


Ausgangssteuerung.PNG

 
Ich habe mal die Ausgangssteuerung angehängt

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: 04. Apr. 2017 15:22    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

hänge bitte das Modell an, ich schaue es mir an

------------------
„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: 04. Apr. 2017 15:27    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

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: 04. Apr. 2017 16: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 Lele01 10 Unities + Antwort hilfreich


P13 --> Ausgang --> Dienste sind nicht gesetzt

Hilft es?

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: 04. Apr. 2017 17:35    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

Ja jetzt funktioniert endlich alles    Vielen Dank.

Jetzt hätte ich noch eine andere Frage.
Ich möchte dass der Werker nachdem er ein Teil aufgenommen hat, am Arbeitsplatz 5 Sekunden stehen bleibt, bevor er zum Zielarbeitsplatz losläuft und wenn er am Zielarbeitsplatz ist, soll er wieder auf dem Arbeitsplatz 5 Sekunden stehen bleiben, bevor er das Teil auf die Einzelstation umlagert.
Kannst du mir sagen wie ich das umsetze?

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: 04. Apr. 2017 18:17    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

Es gehört zum Modellierungsprozess dazu eigenständig Lösungsansätze zu entwickeln. Ich helfe gerne weiter, wenn ich überzeugt bin, dass diese Hilfe erforderlich ist. Hilfe ist erforderlich, falls Verständnis falsch oder nicht da ist.

Zeitmangel oder faulheit gehören nicht dazu.   


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: 05. Apr. 2017 13:32    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 eben noch mal genauer geschaut und auch festgestellt, dass es eine dumme Frage war -.-'
Tut mir leid.
Noch mal vielen Dank für deine Hilfe. Jetzt verstehe ich endlich wie ich mit der Importeranfragesteuerung umgehe. Vor allem deine Vorgehensweise hat mir sehr weitergeholfen.

Viele Grüße

Lele

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