Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  über Methode Werte in einer Tabelle ausgeben

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:  über Methode Werte in einer Tabelle ausgeben (2654 mal gelesen)
AM-SIM
Mitglied
Studentin


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

Beiträge: 26
Registriert: 20.06.2018

erstellt am: 17. Jul. 2018 15:08    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 liebes Forum,

ich möchte gerne folgende Werte aus meiner Senke durch eine Methode in einer Tabelle ausgegeben haben:
1)jeweilige produzierte Komponente
2)produzierte Teile in einer Woche pro Komponente
3)Durchlaufzeit pro Komponente
4)produzierte Teile pro Tag pro Komponente
5)und noch zu produzierende Teile für einen Monat - bezogen auf eine Abrufliste die den Monatsbedarf pro Komponente aufzeigt ->(Produzierte Teile(Durchsatz) - Abrufliste des jeweiligen Monats und Komponente) 

ich habe folgenden Versuch gestartet:

T_Prod.schreibeZeile(1,1,
Dekore_L.NumMUParts,
Dekore_L.ProcTime,
Dekore_L.statThroughputPerDay);

leider wird mir hier kein Wert ausgegeben. Wie kann ich die Methode am einfachsten für 7 Komponenten gestalten?
Vielen Dank  javascript:InsertSMI(' %20');


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: 19. Jul. 2018 15: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 AM-SIM 10 Unities + Antwort hilfreich

Hallo AM-SIM,

Zitat:
1)jeweilige produzierte Komponente

<DeinBeInDerBibliothek>.name

Zitat:
2)produzierte Teile in einer Woche pro Komponente [...]
4)produzierte Teile pro Tag pro Komponente [...]
5)und noch zu produzierende Teile für einen Monat


einen Generator je Woche/Tag aufrufen. In for-Schleife BE durchgehen ...

<DeinBeInDerBibliothek>.statVernichtet --> Anzahl vernichteter Objekte in extra! Tabelle(n) notieren. Tannst auf Tag mitschreiben. Zum Simulationsende mit Methode die Ergebnisse auf Woche, Monat, Jahr verdichten.
optional diese Statistik im BE zurücksetzen mit....
<DeinBeInDerBibliothek>.initStat(false) ---> Durchlaufzeit nicht Zurücksetzen

Zitat:
3)Durchlaufzeit pro Komponente

<DeinBeInDerBibliothek>.StatMittDurchlaufzeit


vG
Nadin

------------------

Zitat:
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

AM-SIM
Mitglied
Studentin


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

Beiträge: 26
Registriert: 20.06.2018

erstellt am: 23. Jul. 2018 17:31    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 AM-SIM 10 Unities + Antwort hilfreich


tabelle.PNG

 
Vielen Dank Nadin,

irgenwie schaffe ich es leider nur die Zeitabstände vom Generator auf meine Tabelle zu schreiben.
Der Rest klappt nicht.

Um die Ausbringung pro Woche auf die Tabelle zu schreiben müsste ich ja auch auf meine Senke zugreifen...
wie kann ich dann gleichzeitig die Daten im Generator und Senke lesen und schreiben?

So sollte es ausschauen

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: 24. Jul. 2018 19: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 AM-SIM 10 Unities + Antwort hilfreich


statistikBeispiel.spp.txt

 
Beispiel ist angehängt V14

vG
Nadin

------------------

Zitat:
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

AM-SIM
Mitglied
Studentin


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

Beiträge: 26
Registriert: 20.06.2018

erstellt am: 29. Jul. 2018 20: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 AM-SIM 10 Unities + Antwort hilfreich


TEST_Tabellenauswertung.spp.txt

 
Vielen Dank Nadin,

ich habe mehrere Quellen die BE´s werden dann auf eine Platte geladen und zum Schluss wieder entladen.
Da ich auch einen Ausschuss in meinem Prozess habe ist es für mich wichtig wie viel Teile ich von jeder Komponente raus bekomme.
Im Moment kann ich nur meine Platten zählen, aber die Fördergüter.
Da meine Montageliste(T_Montage) siehe Anhang, auch eine Subtabelle besitzt müsste diese doch mit meiner T_Quelle verbunden sein.. Wie komme ich auf das Ergebnis der Fördergüter?

Vielen Dank.

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. Jul. 2018 09:56    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 AM-SIM 10 Unities + Antwort hilfreich

Solange die Montage und Demontage keine BE vernichtet, sondern nur auf- oder abläd, kann Monitoring ausschließlich auf die Systemgrenzen bezogen werden. Werden BE in Demontage- oder Montagestation vernichtet und neue BE erzeugt, übernimmt das neue BE die Statistik der vernichteten BE nicht.

Das Auslesen erfolgt mithilfe einer For-Schleife. Diese gibt die Reihenfolge und die BEs vor. Mehr nicht. Zum Beispiel für die EndSim:

Code:
var _T_STATISTIK: object
_T_STATISTIK := current.T_DLZ_GES

--*************************************
_T_STATISTIK.löschen({0,1}..{*,*})
for var i:= 1 to /*current.T_Quelle.ydim*/ current.DeineSpezielleTabelle.ydim loop
_T_STATISTIK[0,_T_STATISTIK.ydim+1]:=  current.DeineSpezielleTabelle[1,i].name
_T_STATISTIK[1,_T_STATISTIK.ydim+1]:=time_to_num(current.DeineSpezielleTabelle[1,i].StatMittDurchlaufzeit)

next



 
In current.DeineSpezielleTabelle legst du beispielsweise alle BEs (aus Bibliothek als Objekt) ab, die du schreiben wills.

Auch die M_Schreibe Methode greift dann auf DeineSpezielleTabelle zu...

Code:
var _T_STATISTIK: object
_T_STATISTIK := current.T_ProdTag

--***********************************
_T_STATISTIK[0,_T_STATISTIK.ydim+1]:= EventController.Zeit --notiere Zeit in sec, da beispielsweise in Excel die SimZeit umständlicher zu handhaben ist
for var i:= 1 to  current.DeineSpezielleTabelle.ydim /*current.T_Quelle.ydim*/ loop --gehe Obj durch
_T_STATISTIK.setzeZeiger(0,0) --setze Zeiger für das Suchen

--if  _T_STATISTIK.finden({0,0}..{*,0},current.T_Quelle[4,i]) =true

if i= 1
_T_STATISTIK[current.DeineSpezielleTabelle[1,i].name,_T_STATISTIK.ydim+1]:= current.DeineSpezielleTabelle[1,i].statVernichtet
--_T_STATISTIK[current.T_Quelle[3,i],_T_STATISTIK.ydim+1]:= current.T_Quelle[1,i].statVernichtet
else
_T_STATISTIK[current.DeineSpezielleTabelle[1,i].name,_T_STATISTIK.ydim]:= current.DeineSpezielleTabelle[1,i].statVernichtet
--_T_STATISTIK[current.T_Quelle[3,i],_T_STATISTIK.ydim]:= current.T_Quelle[1,i].statVernichtet
end;

--end;
--_T_STATISTIK[_T_STATISTIK.ZeigerX,_T_STATISTIK.ydim+1] := current.T_Quelle[1,i].statVernichtet  --schreibe Anzahl vernichtetet Teile
current.DeineSpezielleTabelle[1,i].initStat(false)
--current.T_Quelle[1,i].initStat(false) ---> Durchlaufzeit nicht Zurücksetzen!!
next;


In Tabellen T_DLZ_GES und T_ProdTag sind nun die Name der BEs, Paletten usw. manuell noch nachzuflegen..

Mit einwenig Modifikation kannst du auch eine der Tabellen, in die du die Daten Schreibst, für die For-Schleife nutzen, sodass keine zusätzliche Tabelle nötig ist....


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

AM-SIM
Mitglied
Studentin


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

Beiträge: 26
Registriert: 20.06.2018

erstellt am: 30. Jul. 2018 14: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 AM-SIM 10 Unities + Antwort hilfreich


TEST_Tabellenauswertung1.spp.txt


UnbekBez.PNG

 
Vielen Dank.
leider taucht dann folgender Fehler in beiden Methoden auf: unbekannter Bezeichner für die Methode: .statVernichte und .statMittDurchlaufzeit - liegt das an der Subtabelle in T_Montage[1,i]? Kann man die Subtabelle der Tabelle auch angeben?

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. Jul. 2018 15: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 Nur für AM-SIM 10 Unities + Antwort hilfreich


PicCAD.jpg

 
wenn es unbedingt auf Montageliste gehen soll, dann sehe Pic. Dies ist eine Vereinfachte Lösung. Denn es wird NUR die erste Position in der MontageListe genommen. Auch wird nicht geprüft, ob BE schon notiert ist. Deshalb, wenn ein BE in mehreren Montagelisten vorkommt, bedeutet dies, dass nochmaliger Zugrif den Wert überschreibt und somit - da es auch noch resetet wird - "0" einträgt.

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

AM-SIM
Mitglied
Studentin


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

Beiträge: 26
Registriert: 20.06.2018

erstellt am: 30. Jul. 2018 18: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 Nur für AM-SIM 10 Unities + Antwort hilfreich

Es müsste nicht über die Montageliste gehen. Für mich ist es vom verständis her mit der T_Quelle Liste Leichter - wichtig ist für mir nur dass in der Tabelle nicht die Anzahl der Förderhilfsmittel, sondern nur der Födergüter(BE)steht, da ich noch Ausschuss und weitere Montagelisten berücksichtige.

Wenn ich die Methode so übernehme erhalte ich einen Syntaxfehler zur folgenden Zeile:

_obj:= str_to_obj(incl(to_str(root.location),incl(".MU.",current.T_Montage[1,i][1,i],-1)-1))

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. Jul. 2018 10: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 Nur für AM-SIM 10 Unities + Antwort hilfreich


TEST_TabellenauswertungBEAnr.spp.txt

 
Zitat:
_obj:= str_to_obj(incl(to_str(root.location),incl(".MU.",current.T_Montage[1,i][1,i],-1),-1))

anbei ein implementiertes Beispiel für "DeineSpezielleTabelle"

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

AM-SIM
Mitglied
Studentin


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

Beiträge: 26
Registriert: 20.06.2018

erstellt am: 05. Aug. 2018 12: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 Nur für AM-SIM 10 Unities + Antwort hilfreich

Vielen Dank für die Unterstützung!
Meine DLZ berechnet sich nur dann wenn ich den Generator genau auf die angebene Laufzeit im Ereignisverwalter setzte. Sobald der Generator eine niederigere Berechnungszeit als der Ereignisverwalter hat - bekomme ich den Wert 0.
Desweiteren ist die Summe meiner Mittleren DLZ größer als die gesamte Simulationszeit. Nach meinem Verständnis macht es wenig Sinn oder wie berechnet sich das?

Vielen Dank.
AM-SIM

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: 05. Aug. 2018 22:25    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 AM-SIM 10 Unities + Antwort hilfreich


ja hast recht...Anscheinend ist für EM Durchlaufzeit nicht gleich StatMitDurchlaufzeit, sodass initStat auch die Durchlaufzeit resetet. Also einmal ohne initStat 

einmal den Inhalt in Methode "M_Schreibe" ersetzen durch:

Code:

var _T_STATISTIK: object
_T_STATISTIK := current.T_ProdTag

--***********************************
_T_STATISTIK[0,_T_STATISTIK.ydim+1]:= EventController.Zeit --notiere Zeit in sec, da beispielsweise in Excel die SimZeit umständlicher zu handhaben ist
for var i:= 1 to  current.DeineSpezielleTabelle.indexydim  loop --gehe Obj durch
_T_STATISTIK.setzeZeiger(0,0) --setze Zeiger für das Suchen
if _T_STATISTIK.indexydim = 1 then
_T_STATISTIK[current.DeineSpezielleTabelle[0,i],_T_STATISTIK.indexydim]:= current.DeineSpezielleTabelle[1,i].statVernichtet
else
_T_STATISTIK[current.DeineSpezielleTabelle[0,i],_T_STATISTIK.indexydim]:= current.DeineSpezielleTabelle[1,i].statVernichtet- _T_STATISTIK.sum({current.DeineSpezielleTabelle[0,i],1}..{current.DeineSpezielleTabelle[0,i],_T_STATISTIK.indexydim-1})
end
-- current.DeineSpezielleTabelle[1,i].initStat(true)
next;


...wenn du die alte Menge - diese wird in den obigen Code mit _T_STATISTIK.sum({current.DeineSpezielleTabelle[0,i],1}..{current.DeineSpezielleTabelle[0,i],_T_STATISTIK.indexydim-1}) berechnet, in einer anderen Variable speicherst und in darauffolgenden Aufruf auf diesen Wert zurückgreifst und anschließend überschreibt, ist es eleganter.


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

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