Autor
|
Thema: Montage und Demontage (2238 mal gelesen)
|
Samson53 Mitglied Nur noch selten simulierend
Beiträge: 119 Registriert: 18.02.2010
|
erstellt am: 05. Apr. 2011 10:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Wissende, Ich habe Schwierigkeiten mit Montage/Demontagestationen. Ich möchte während der Laufzeit die (De)Montagelisten verändern: z.B. die Ladekapazität der Förderhilfmittel. In Simtalk mit Zitat: Montage.Montageliste[2,1] := 200
Wenn ich anschliessend Abfrage if Montage.Montageliste[2,1] = 200 Then ist alles in Ordnung. Schaue ich mir die Station dann anschließend an, steht dort der Anfangswert immer noch drin. Hat jemand hier Erfahrung? Das ist ja kein unnormales Problem, wenn verschiedene Teile mit unterschiedlichen Stückzahlen in die Ladungsträger gepackt werden. ------------------ Gruß Samson Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 05. Apr. 2011 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für Samson53
|
Samson53 Mitglied Nur noch selten simulierend
Beiträge: 119 Registriert: 18.02.2010
|
erstellt am: 05. Apr. 2011 12:49 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von der simulant:
schau Dir die Hilfe unter Montageliste/Assemblylist an Das müsste Dein Problem lösen
Den ganzen Morgen lese ich nichts anderes Was speziell meinst du muss mein Problem lösen. Trotzdem Danke. ------------------ Gruß Samson Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 06. Apr. 2011 09:07 <-- editieren / zitieren --> Unities abgeben: Nur für Samson53
Hi Samson53, du wolltest ja mit Deiner Methode in eine Zelle der Montageliste schreiben. In der Hilfe wird die Montageliste der Montagestation durch eine neue Liste ersetzt - das ist der Unterschied is tab:table[integer,integer]; do tab.create; tab.einfuegeListe(1,1,Tabelle); Montagestation.MontageListe := tab; end; Gruß der simulant
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Samson53 Mitglied Nur noch selten simulierend
Beiträge: 119 Registriert: 18.02.2010
|
erstellt am: 06. Apr. 2011 13:26 <-- editieren / zitieren --> Unities abgeben:
|
Record Mitglied
Beiträge: 3 Registriert: 21.01.2012
|
erstellt am: 23. Jan. 2012 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für Samson53
Hallo, ich möchte meine Montageliste ebenfalls steuern und habe eueren Anweisungen befolgt, jedoch bekomme ich eine Fehlermeldung. Falscher Datentyp für Spalte 1. Übergeben wird der BE-Name als String und erwartet wird ein integer. Ich verstehe es nicht so recht, denn die erste Spalte der Montageliste ist als String formatiert, sonst könnte man ja keine BE-Namen reinschreiben. Ich danke für eure Hilfe im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 24. Jan. 2012 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für Samson53
Hallo Record, du uebergibst in Spalte 1 nicht ein BE oder dessen Namen. Du uebergibst den Vorgaenger (und das ist ein Integer-Wert). In Spalte 2 uebergibst du die jeweilige Anzahl der zu montierenden BE's (ebenfalls integer) Ich hoffe, ich konnte Dir weiterhelfen Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Record Mitglied
Beiträge: 3 Registriert: 21.01.2012
|
erstellt am: 24. Jan. 2012 20:25 <-- editieren / zitieren --> Unities abgeben: Nur für Samson53
Hallo, ich habs jetzt hingekriegt. Meine Montagestation wird durch eine Methode am Ausgang der Quelle "Paletten" gesteuert. Die Quellen produzieren Teile in "Reihenfolge zyklisch". Ich habe nun das Problem, dass ab dem zweiten Zyklus die ID's mit 1 beginnen, sondern sich immer weiter fortsetzen. Kann mir jemand helfen die Methode so umzuschreiben, dass diese ohne der ID's funktioniert. Hier ist die aktuelle Methode: is A:integer; B:integer; C:integer; do A:=Einzelteile.BE.Anz_T_p_HA; B:=(Einzelteile.BE.Anz_LT-1)*(Einzelteile.BE.Anz_T_p_LT); C:=A-B; if @.id < Einzelteile.BE.Anz_LT and Einzelteile.BE.id = 1 or Einzelteile.BE.id = Einzelteile.BE.Anz_LT*@.id+1 then Montagestation.MontageListe[2,1]:=Einzelteile.BE.Anz_T_p_LT; end; if @.id = Einzelteile.BE.Anz_LT and Einzelteile.BE.id=B+1 then Montagestation.MontageListe[2,1]:=C; end; if Einzelteile.BE.Anz_LT = 1 and Einzelteile.BE.Anz_T_p_HA <= Einzelteile.BE.Anz_T_p_LT then Montagestation.MontageListe[2,1]:=Einzelteile.BE.Anz_T_p_HA; end; @.YDim:=1; @.XDim:=Einzelteile.BE.Anz_T_p_LT; @.umlagern; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |