|
Autor
|
Thema: waituntil oder anderer Befehl? (682 mal gelesen)
|
littlelady Mitglied

 Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 18. Jun. 2008 22:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe folgendes Problem: Auf einer Station (s1) werden Teile umgeladen auf eine Palette, diese soll aber erst dann weiterfahren, wenn die BEanzahl = 2 ist. Habe es so probiert: is do waituntil s1.anzahlBEs =2 prio 1; end; Ist waituntil hier richtig eingesetzt? Wär toll wenn mir hier jemand helfen kann. 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: 19. Jun. 2008 08:25 <-- editieren / zitieren --> Unities abgeben:          Nur für littlelady
|
littlelady Mitglied

 Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 19. Jun. 2008 09:07 <-- editieren / zitieren --> Unities abgeben:         
|
littlelady Mitglied

 Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 19. Jun. 2008 11:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo Simulant, ich hab noch eine Frage und zwar habe ich in meiner Methode einen GesamtPreis berechnet is local GesamtPreis:real; do GesamtPreis:= Berechnung.inhalt.Menge *Berechnung.inhalt.Preis; print GesamtPreis; end; Bis hierher funktioniert alles wunderbar. Nun möchte ich aber, dass dem Teil, dass sich auf der Station Berechnung befindet der errechnete Gesamtpreis als Wert für das Attribut GesamtPreis zugewiesen wird. Das Teil soll also den Wert Gesamtpreis speichern und zu jeder Zeit abrufbar sein (Weil damit im Nachhinein noch verschiedene Entscheidungen getroffen werden müssen) Nun habe ich versucht: Berechnung.inhalt.setzeAttribut("GesamtPreis",GesamtPreis); was nicht funktioniert hat. Gesamtpreis ist ja vom Datentyp real und ich hab in der Hilfe gelesen (bzw. hab ich es so verstanden), dass setzeAttribut nur mit Datentyp integer funktioniert.??? aber ref(Berechnung.inhalt.).DatenTyp:="string"; Berechnung.inhalt.setzeAttribut("GesamtPreis",GesamtPreis); funktioniert auch nicht. Die Fehlermeldung lautet: unbekannter name GesamtPreis. Vielleicht hast du ja einen Tip wie ich das machen kann. Liebe Grüße Monika
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer Simpson Mitglied
 
 Beiträge: 345 Registriert: 14.09.2005
|
erstellt am: 19. Jun. 2008 11:18 <-- editieren / zitieren --> Unities abgeben:          Nur für littlelady
Du musst dem BE natürlich schon vorher ein benutzerdefiniertes Attribut namens "Gesamtpreis" geben, bevor es funktionieren kann. Außerdem: Warum so kompliziert? Berechnung.inhalt.GesamtPreis := GesamtPreis; wird auch funktionieren (sobald das Attribut angelegt wurde). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
littlelady Mitglied

 Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 19. Jun. 2008 11:26 <-- editieren / zitieren --> Unities abgeben:         
|
littlelady Mitglied

 Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 19. Jun. 2008 13:44 <-- editieren / zitieren --> Unities abgeben:         
Ich bräuchte nochmal Hilfe: aus einer Station Auftragseingang kommen Paletten, die Mit einem Teil beladen(Auftrag) sind, was mehrere Art_Nr beinhaltet. Am Sensor soll nun geprüft werden welche Art_Nr das sind. Wenn Übereinstimmungen zu vorgegebenen Art_Nr besehen soll auf Zone1 umgelagert werden. Wenn nicht dann soll die Palette weiterfahren. Wenn die nächste Palett ankommt wird erneut geprüft, ist Zone1 belegt, wird auf Nebenstelle umgelagert. Wie bekomme ich es nun hin in die Methode mehrere Art_Nr einzubauen? Folgendes habe ich versucht: (SensorID : integer) is do if Förderstrecke.inhalt.inhalt.Art_Nr =55003200 or 70100602 or 70100603 or 55002200 then Förderstrecke.inhalt.umlagern(Zone1); elseif Förderstrecke2.belegt= true then förderstrecke.inhalt.umlagern(nebenstation);end;end; Natürlich funktioniert es nicht :-) hab ich eventuell was mit dem Sensor falsch gemacht?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| | E-Konstrukteur (m/w/d) | | Die besten Köpfe für die unterschiedlichsten Aufgaben zu finden sowie Menschen und Technologien zu verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Unterstütze uns: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und überzeugen täglich mit fundierter Expertise und fachlichem Know-how.... | | Anzeige ansehen | Feste Anstellung |
|
LaBonita Mitglied Dipl.-Math.
 
 Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 19. Jun. 2008 16:31 <-- editieren / zitieren --> Unities abgeben:          Nur für littlelady
Hallo littlelady, vielleicht wäre es sinnvoll, für ein neues Thema auch einen neuen Threat anzufangen... Aber anyway: Wenn Du eine liste anlegst, in die Du die verschiedenen Artikelnummern einträgst, dann kannst Du mit der finden Funktion darauf zugreifen. Sieht dann etwa so aus: Code: (SensorID : integer) is do local_Art_Nr_List.setCursor(1); if local_Art_Nr_List.find(Förderstrecke.inhalt.inhalt.Art_Nr) then Förderstrecke.inhalt.umlagern(Zone1); elseif Förderstrecke2.belegt = true then förderstrecke.inhalt.umlagern(nebenstation); end; end;
Das setCursor ist leider wichtig, damit der gesamte Listeninhalt durchsucht wird. Viel Erfolg damit. Gruß, Ortrun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |