Autor
|
Thema: Bearbeitungszeit anhand der Attribute der BE auslesen? (1638 mal gelesen)
|
Alemano Mitglied Student
Beiträge: 45 Registriert: 16.02.2015
|
erstellt am: 03. Mrz. 2015 10:23 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe folgendes Problem. Ich möchte an einer Maschine verschiedene Bearbeitungszeiten aus meinen BEs auslesen und in Folge dessen bearbeiten. Ich habe in meiner Liste BEs eines Typs mit 3 verschiedene Bearbeitunsgvorgänge hinterlegt (Loch ohne Abkanten, Abkanten ohne Loch, beides) Loch/boolean/true Abkanten/boolean/false Loch/boolean/false Abkanten/boolean/true Loch/boolean/false Abkanten/boolean/false Wie kann ich hierzu Zeiten hinterlegen und diese durch eine Methode (Eingangssteuerung) abfragen und demnach bearbeiten? Vielen Dank für Eure Hilfe! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alemano Mitglied Student
Beiträge: 45 Registriert: 16.02.2015
|
erstellt am: 03. Mrz. 2015 10:57 <-- editieren / zitieren --> Unities abgeben:
Hier mein Code (da ich blutiger Anfänger bin, wäre es toll wenn ihr meinen Code korregiert). is do if @.Loch= true then processTime:=1; elseif @.Loch= false then processTime:=0; if @.Abkanten= true then processTime:=2; elseif @.Abkanten= false then processTime:=0; end; end; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 03. Mrz. 2015 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für Alemano
in der Tabelle könnten Sie den Spaltenindex einschalten. Dann tragen Sie die BE-namen in den Spaltenindex ein (den können Sie in SimTalk als Schlüssel verwenden). Für die Produktvarianten können Sie in den Zeilenindex auch Namen vergeben. Tragen Sie für alle Varianten die Zeiten in die Tabelle (formatieren Sie die Spalten als time). In der Eingangssteuerung wählen Sie dann je nach BE-Namen und Variante eine Zelle aus:
Code:
id t:time; do if @.loch and @.abkanten then t:=bearbeitungszeiten[@.name,1]; elseif @.loch then t:=bearbeitungszeiten[@.name,2]; else t:=bearbeitungszeiten[@.name,3]; end; ?.bearbeitungszeit:=t;end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alemano Mitglied Student
Beiträge: 45 Registriert: 16.02.2015
|
erstellt am: 03. Mrz. 2015 12:49 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank. Anbei sende ich im Anhang meine Tabelle welche ich über die Quelle ansteuere. Leider habe ich einen Fehler drin evt. finden Sie heraus an was es liegt. Zudem eine Frage zum Code: id t:time; do if @.loch and @.abkanten then t:=bearbeitungszeiten[@.name,1]; Frage1: was bedeutet dieser Ausdruck "[@.name,1]" elseif @.loch then t:=bearbeitungszeiten[@.name,2]; else t:=bearbeitungszeiten[@.name,3]; end; ?.bearbeitungszeit:=t; end; Frage1: was bedeutet dieser Ausdruck "[@.name,1]" Frage2: warum muss dieser Ausruck an das Ende, muss es nicht auch bearbeitungszeiten heissen? [Diese Nachricht wurde von Alemano am 03. Mrz. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alemano Mitglied Student
Beiträge: 45 Registriert: 16.02.2015
|
erstellt am: 05. Mrz. 2015 14:14 <-- editieren / zitieren --> Unities abgeben:
Sorry die Frage war falsch gestellt... Wie muss meine Tabelle aussehen dass die Methode auf die Tabelle zugreifen kann mit Hilfe dieses Stück Codes? Für was steht die Zahl in der Klammer? (Anfängerfrage sorry XD) t:=bearbeitungszeiten[@.name,1] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 05. Mrz. 2015 21:23 <-- editieren / zitieren --> Unities abgeben: Nur für Alemano
Das mit den Attributen funktioniert so nicht, je Attribut (Zeile) darf nur ein Wert in der Spalte mit dem richtigen Datentyp stehen. Wenn Sie die Bearbeitungszeit so definieren wollen, dann muss Bearbeitungszeit in einer Zeile stehen und in der Spalte mit dem Datentyp time der Wert. Dann können Sie die Bearbeitungszeit der Maschine mit : ?.bearbeitungszeit:=@.bearbeitungszeit; setzen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Alemano Mitglied Student
Beiträge: 45 Registriert: 16.02.2015
|
erstellt am: 10. Mrz. 2015 10:43 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für Ihre Antwort, leider kommme ich immer noch nicht weiter, da ich nicht weiss wie ich die Zeiten aus meiner Tabelle ziehe. Daher meine Frage, wie lautet der genaue Code um auf die Spalten der Tabelle zugreifen zu können (siehe Anhang). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 11. Mrz. 2015 00:55 <-- editieren / zitieren --> Unities abgeben: Nur für Alemano
|