Cancel
Showing results for 
Search instead for 
Did you mean: 

Durchlaufzeit berechnen

Pioneer
Pioneer

Hallo Zusammen,

 

ich möchte die Durchlaufzeit (Maximal, Minimal, Mittlere DLZ) berechnen und in einer Tabelle ausgeben. Dazu habe ich mithilfe einer Methode folgendes programmiert:

für die Eintrittszeit:

is

do

@.Eintritt:=Ereignisverwalter.absZeit;

print @.Eintritt;

end;

Das ganze habe ich bei der Quelle_Slots- Steuerungen- Ausgang eingefügt.

1. Fehlermeldung siehe Bild Fehlermeldung1

 

Programmierung für die Zeitauswertung:

is

do

Anzahl_IBN_Slots := Anzahl_IBN_Slots + 1;

 

 

               @.Austritt := Ereignisverwalter.absZeit;

               DLZ_Slots := @.Austritt - @.Eintritt;

 

               if Anzahl_IBN_Slots = 1 then

                              DLZmin_Slots := DLZ_Slots;

                              DLZmax_Slots := DLZ_Slots;

               else

               --- minimale und maximale DLZ berechnen

                              if DLZ_Slots > DLZmax_Slots then

                                            DLZmax_Slots := DLZ_Slots;

                              end;

                              if DLZ_Slots < DLZmin_Slots then

                                            DLZmin_SDLZ_Slots := DLZ_SDLZ_Slots;

                              end;

               end;

 

               --- mittlere DLZ berechnen

               DLZmittel_SDLZ_Slots := ((Anzahl_IBN_Slots -1)*DLZmittel_Slots + DLZ_Slots) / Anzahl_IBN_Slots;

 

               --- DLZ in Tabelle schreiben

               DLZStatistik_Slots.schreibeZeile(1,

                              DLZStatistik_Slots.YDim+1,

                              Anzahl_IBN_Slots, DLZ_Slots);

end;

Eingefügt habe ich das bei den Slots (Einzelstationen) bei Ausgang- Heck. Fehlermeldung siehe Bild Fehlereldung 2.

 

Anbei habe ich auch noch den Modellaufbau.

 

Ich weiß nicht, wo der Fehler ist, da ich es analog eines anderen Bsp. programmiert habe.

Würde mich freuen, wenn mir jemand helfen könnte.

19 REPLIES

Betreff: Durchlaufzeit berechnen

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo Hanahlou,

 

Wenn Sie auf ein Attribut 'Eintritt' bzw. 'Austritt' zugreifen wollen, so muss dieses Attribut zuerst bei dem BE angelegt werden. Öffnen Sie in der Klassenbibliothek das BE, gehen Sie auf die Registerkarte 'Benutzerdefiniert' und definieren Sie dort die beiden Attribute.

 

Mit freundlichen Grüßen

 

GG

Regards
GG

------------------------------------------------------------------------------------------------------
Did you like the answer? Then click the Thumbs Up button.
Did the answer solve your problem? Then accept the answer as solution

Betreff: Durchlaufzeit berechnen

Pioneer
Pioneer
Gibt es eine andere Möglichkeit die Durchlaufzeit zu berechnen? Ich habe ca 240 BE und in jedes einzeln diese Attribut einzutragen, wäre ein großer Aufwand

Betreff: Durchlaufzeit berechnen

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo Hannahlou90,

 

Sie müssen die Attribute nicht unbedingt hämndisch anlegen, das geht auch per Methode:

der Befehl createAttr(Attributname, Datentyp) kann hierzu verwendet werden.

 

Mit freundlichen Grüßen

 

GG

 

Regards
GG

------------------------------------------------------------------------------------------------------
Did you like the answer? Then click the Thumbs Up button.
Did the answer solve your problem? Then accept the answer as solution

Betreff: Durchlaufzeit berechnen

Pioneer
Pioneer
Ich hab jetzt folgendes in die Methode geschrieben:

is
do
createAttr(Eintritt, time);
end;

es zeigt mir aber eine Fehlermeldung an?!
Muss ich die Methode dann auch irgendwo einfügen?
Und ich muss dasselbe dann auch für den Austritt machen?

Betreff: Durchlaufzeit berechnen

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo hannahlou90,

 

Sie müssen natürlich schon das BE oder allgemeiner das Objekt angeben, bei dem Sie ein Attribut anlegen möchten (siehe Online-Hilfe)

 

BE_pfad.createAttribut("Eintritt", "time")

 

Mit freundlichen Grüßen

 

GG

Regards
GG

------------------------------------------------------------------------------------------------------
Did you like the answer? Then click the Thumbs Up button.
Did the answer solve your problem? Then accept the answer as solution

Betreff: Durchlaufzeit berechnen

Pioneer
Pioneer

Das tut mir jetzt Leid, aber versteh ich nicht.

Nachdem ich 240 (namentlich) unterschiedliche BE habe (in der Klassenbibliothek) und die exlizite Nennung aller mit dieser Methode umgehen möchte, was genau benutze ich als Pfad?

Ich habe momentan folgendes stehen:
is
do
    .BEs.createAttr("Eintritt", "time");
end;
da ich den Ordner BE bei der Klassenbibliothek in die Methode gezogen habe. Funktioniert nicht, gleiche Fehlermeldung. Ich habe auch versucht BEs.createAttr("Eintritt", "time") bzw die BE einzeln in die Methode zu ziehen (=drag and drop). Funktioniert auch nicht.
Also ich verstehe nicht, was genau unter "BE_pfad." stehen muss. Anbei auch ein Bild von meiner Klassenbibliothek.

Betreff: Durchlaufzeit berechnen

Siemens Phenom Siemens Phenom
Siemens Phenom

Hallo Hannahlou90,

 

mit folgender Methode können Sie bei allen von Ihnen erzeugten BEs die Attribute definieren:

 

var folder : object := .MUs
Var numBes : integer := folder.numNodes

for var i := 1 to numBes loop
	var be : object := folder.node(i)
	if 	pos("GX_KW", be.name)>0 then
		-- it is a user defined MU
		be.createAttr("Eintritt", "time")
		be.createattr("Austritt", "time")
			
	end
next

Eine andere Möglichkeit wäre gewesen:

Von dem ursprünglichen BE alle anderen BEs ableiten. Dann hätte es genügt, beim ursprünglichen BE die Attribute zu definieren und durch die Vererbung hätten alle abgeleiteten BEs die Attribute ebenfalls erhalten.

 

Mit freundlichen Grüßen

 

GG

 

 

Regards
GG

------------------------------------------------------------------------------------------------------
Did you like the answer? Then click the Thumbs Up button.
Did the answer solve your problem? Then accept the answer as solution

Betreff: Durchlaufzeit berechnen

Pioneer
Pioneer

Danke schön. Die Methode wurde zwar angenommen, ich habe aber immer noch die gleiche Fehlermeldung (siehe Anhang). An was kann das liegen?

Betreff: Durchlaufzeit berechnen

Pioneer
Pioneer

bzw. die Methode muss nirgends eingepflegt werden, oder?