01.03.2013 Aufrufe

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Interpreter ruft diese Methode vor Beginn der Simulation auf, so dass bei<br />

Ausführung der Simulation bereits alle CNC- Quelltexte geparst sind.<br />

Die DefaultCNCCommand- Implementierung geht davon aus, dass die CNC-<br />

Programme in der Struktur:<br />

„Gelenkbezeichnung Neuer_Wert benötigte_Zeit_in_ms“<br />

,also bspw. in der Form „Arm1 +45 3000“ vorliegen.<br />

public class DefaultCNCCommand extends CNCCommand {<br />

}<br />

// Gelenkverbindung<br />

Joint joint;<br />

// neuer Absolutwert<br />

double value;<br />

// Gesamtlaufzeit<br />

int totalTime;<br />

// parst die CNC-Quelle<br />

public void create(CNCSourceLine line) throws CNCException {<br />

}<br />

// Zeilentext holen<br />

String lineText = line.getText();<br />

// Gelenkname, Neuer Wert und Zeit identifizieren<br />

String gelenkName = ...<br />

value = ...<br />

totalTime = ...<br />

// betr<strong>of</strong>fenes Gelenk holen<br />

joint= joints.getJointByName(gelenkName);<br />

// führt das Kommando aus<br />

public void execute(int t0, int t1) {<br />

}<br />

// Interpolation bestimmen<br />

double anteil = (t1 - t0) / totalTime;<br />

// delta = Sollwert – IstWert_zu_Kommandobeginn<br />

double delta = value - getState(joint);<br />

// neuen Wert setzen<br />

joint.setValue(delta * anteil + joint.getValue());<br />

// liefert die Gesamtlaufzeit des Kommandos<br />

public int getTotalTime() {<br />

return totalTime;<br />

}<br />

...<br />

Abb. 4-22 DefaultCNCCommand- Implementierung<br />

Die Methode execute berechnet folglich den Interpolationswert (anteil) und<br />

anschließend die Differenz zwischen Sollwert und Istwert. Der Istwert<br />

entspricht hier dem Wert unmittelbar vor der Ausführung des Kommandos und<br />

85

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!