Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Bes erzeugen in Demontage

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:  Bes erzeugen in Demontage (1256 mal gelesen)
ominum
Mitglied



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

Beiträge: 10
Registriert: 10.08.2010

Plant Simulation 8.2

erstellt am: 15. Aug. 2010 12: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

Hallo,

hab mal eine Grundsätzliche Frage, ich möchte eine Station in einem Demontagebetrieb simulieren. Ein Be soll in eine Station reinkommen, und dort in ca. 20 Teile zerlegt werden(dafür habe ich eine Tabelle angelegt von den Namen die die Bes bekommen sollen, z.B. Auto kommt rein, und rauskommen soll 1 mal Frontscheibe, 1 mal Tür links, 1 mal tür rechts, etc.).  Ist das irgendwie möglich?
Hab jetzt schon probiert mit dem Demontagebaustein zu arbeiten, aber der nimmt leider die Tabelle nicht an, man kann sie zwar eintragen als Demontagetabelle, aber verändern tut sich nichts, die Bes heißen dann immer noch Fördergut1.
Muß ich jedes Be vorher erzeugen? Das wäre ein großes Problem, da sich die Tabelle ständig verändert und ich das Programm eigentlich so flexibel gestalten wollte, dass man andere Tabellen reinladen kann die andere Teile haben.

Wäre für jeden Tip echt dankbar.

vg

Ominum

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

tsx
Mitglied



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

Beiträge: 103
Registriert: 06.03.2010

erstellt am: 15. Aug. 2010 22: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 ominum 10 Unities + Antwort hilfreich

Hallo ominum,
ich mache das i.d.R. mit einer Methode - ist aus meiner Sicht einfacher und auch zuverlässiger als eine Demontagestation.

Der Code könnte als Eingangssteuerung einer Einzelstation so aussehen:

Code:

is
    i,j:integer;
do
    --Tabelle: Spalte 1 ist das BE, Spalte 2 die Menge
    for i:=1 to Tabelle.ydim loop
          for j:=1 to Tabelle[2,i] loop
              Tabelle[1,i].erzeugen(Puffer);
          next;   
    next;
    @.vernichten; --ursprüungliches BE vernichten
end;


------------------
Grüße,
tsx 

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

ominum
Mitglied



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

Beiträge: 10
Registriert: 10.08.2010

Plant Simulation 8.2

erstellt am: 16. Aug. 2010 00: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

Hi,

danke für die schnelle Antwort, funktioniert leider noch nicht so richtig.
Kannst du mir sagen wie die Tabelle formatiert sein muss dafür?
Also die Anzahl(Spalte 2) auf jedenfall alls Integer, aber wie schaut das für die 1. Spalte aus?
Wenn ich die Daten aus einer Exceltabelle einlese hab ich standartmäßig string als Datentyp.
Daraufhin kommt die Fehlermeldung "Ein String kann keine methode erzeugen empfangen".
Wenn ich als Object formatiere habe ich dann wieder das Problem das er das Be ja nicht erkennt weil es ja nicht existiert.
Vielleicht versteh ich auch was falsch, aber ich komme einfach nicht auf die richtige Lösung 
Hoffe du kannst mir nochmal helfen.

vg
Ominum

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

Samson53
Mitglied
Nur noch selten simulierend


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

Beiträge: 119
Registriert: 18.02.2010

erstellt am: 16. Aug. 2010 07: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 ominum 10 Unities + Antwort hilfreich

Hallo,

Wenn du außer dem Namen nicht noch andere spezielle Attribute brauchst (Symbole oder benutzerdefinierte), dann wurde ich ein Standard-BE erzeugen und den Namen zuweisen.

for I := 1 to Tabelle.YDim loop
  Modelle.Objekte.Einzelteil.erzeugen(Puffer);
  Puffer.inhalt(I).Name := Tabelle[1,I];
next;

Damit das funktioniert, muss der Puffer vor Beginn natürlich leer sein und in der Tabelle steht in Spalte 1
enthält den Namen als String.
Erzeuge vorher ein Objekt "Modelle.Objekte.Einzelteil" als BE.

------------------
Gruß
Samson

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

ominum
Mitglied



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

Beiträge: 10
Registriert: 10.08.2010

Plant Simulation 8.2

erstellt am: 16. Aug. 2010 10: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

Hallo,
vielen Dank, funktioniert schon besser, allerdings klappt es nur wenn ich bei folgendem Quellcode

is
    i,j:integer;
do
    --Tabelle: Spalte 1 ist das BE, Spalte 2 die Menge
    for i:=1 to Tabelle.ydim loop
.Modelle.Objekte.Einzelteil.erzeugen(puffer);       
              Puffer.inhalt(i).name:=Tabelle[1,i]
    next;
    @.vernichten; --ursprüungliches BE vernichten
end;


bei Puffer.inhalt  das (i) rausnehme, und nur 1 teil in der Tabelle habe. ansonsten sagt er mir jedesmal "Falsche Parameterzahl in(Inhalt), 1 übergeben 0 erwartet. Das heißt doch jetzt soviel wie dass ich so nicht auf die einzelnen Bes im Puffer zugreifen kann, oder? Gibts da vielleicht noch ne Möglichkeit das umzusetzen?  Wenn ich mir den Puffer anschaue kann ich ja auch sehen auf welchem Platz die sind nur ansprechen kann ich sie nicht.

vg
Ominum

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

tsx
Mitglied



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

Beiträge: 103
Registriert: 06.03.2010

erstellt am: 16. Aug. 2010 17: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 Nur für ominum 10 Unities + Antwort hilfreich

Bei meiner Methode hat die Spalte 1 den Datentyp object und bezeichnet den Pfad des BEs (z.B. .BEs.Fördergut).

Bei der Lösung von Samson gehts so (aus meiner Sicht am besten):

Code:

is
    i,j:integer;
    teil : object;
do
    --Tabelle: Spalte 1 ist das BE (string), Spalte 2 die Menge (integer)
    for i:=1 to Tabelle.ydim loop
        for j:=1 to Tabelle[2,i] loop
              teil:=.Modelle.Objekte.Einzelteil.erzeugen(puffer);      
              teil.name:=Tabelle[1,i];
          next;   
    next;
    @.vernichten; --ursprüngliches BE vernichten
end;

Der Fehler bei deiner Lösung lag an dem Aufruf inhalt(i). Der Parameter inhalt erwartet keinen Counter. Du hast vermutlich die Funktion be(i) gesucht. Die Verwendung der Funktionen inhalt und be ist jedoch relativ unsicher (z.B. wenn der Puffer vorher nicht leer war wird das falsche BE manipuliert. Die Zuweisung über über den lokalen Parameter "teil" ist jedoch 100%ig eindeutig.

------------------
Grüße,
tsx   

[Diese Nachricht wurde von tsx am 16. Aug. 2010 editiert.]

[Diese Nachricht wurde von tsx am 16. Aug. 2010 editiert.]

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

Samson53
Mitglied
Nur noch selten simulierend


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

Beiträge: 119
Registriert: 18.02.2010

Plant Simulation 11
Office 2013

erstellt am: 17. Aug. 2010 07:39    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 ominum 10 Unities + Antwort hilfreich

Super Lösung.

Jetzt habe ich auch etwas gelernt.
Danke.

------------------
Gruß
Samson

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



Entwicklungsingenieur (m/w/d) Versorgungssysteme / Energietechnik / Maschinenbau

Sie haben Spaß und Freude an der Arbeit und möchten sich in einem netten und kollegialen Team wiederfinden!? Dann passen wir zu Ihnen! Wir sind voller Energie, haben eine Menge Ideen und den Ehrgeiz, gemeinsam Herausforderungen zu meistern. Bei uns erwartet Sie ein angenehmes Betriebsklima, ein motiviertes Team sowie spannende und abwechslungsreiche Projekte.

Aalberts, es kommt nicht nur darauf an, wo Sie arbeiten....

Anzeige ansehenEntwicklung
ominum
Mitglied



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

Beiträge: 10
Registriert: 10.08.2010

Plant Simulation 8.2

erstellt am: 20. Aug. 2010 18: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

Hi,

vielen, vielen Dank nochmal,
so funktioniert es einwandfrei, hab auch meinen fehler verstanden.

vg
Ominum

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