Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Das Laden der ausgewählten Klasse und deren Instanziierung zeigt Abbildung<br />
4-19.<br />
public void createDynCNCInterpreterClass(String name)<br />
throws ClassNotFoundException, NoSuchMethodException,<br />
IllegalAccessException, InstantiationException,<br />
InvocationTargetException<br />
{<br />
}<br />
// Klasse laden<br />
Class dynCNCInterpreter = Class.forName(name);<br />
// Parametertyp des zu ermittelnden Konstruktors<br />
Class[] paramTypes = new Class[] { Joints.class };<br />
Object[] paramValues;<br />
// Konstruktor ermitteln<br />
Constructor cncInterpreterConstructor = dynCNCInterpreter<br />
.getConstructor(paramTypes);<br />
// Konstruktor-Parameter erstellen<br />
paramValues = new Object[] {<br />
new Joints(elementConnections,cncEmulator)<br />
};<br />
// Instanz erzeugen<br />
cncInterpreter = (CNCInterpreter) cncInterpreterConstructor<br />
.newInstance(paramValues);<br />
// Interpreter der Ablaufsteuerung zuweisen<br />
cncEmulator.setInterpreter(cncInterpreter);<br />
Abb. 4-19 dynamisches Laden des CNC-Interpreters<br />
Zusätzlich können im Konfigurationsdialog der CNC-Simulation die Anzahl<br />
der parallel auszuführenden CNC-Programme festgelegt und diese benannt<br />
werden. Folglich können beliebig viele parallel laufende Prozesse simuliert<br />
werden.<br />
Zur Auswertung der CNC-Simulationen können die wichtigsten angefallenen<br />
Daten in einer Log-Datei gespeichert werden. Diese enthält Informationen über<br />
den zeitlichen Verlauf der Simulation und eventuell aufgetretene Kollisionen<br />
(auf Wunsch inklusive der kollidierenden Primitive). Letztere werden dabei der<br />
aktuellen CNC-Zeile und dem aktuellen Zeitschritt zugeordnet. Somit lassen<br />
sich in einer nachträglichen Auswertung Rückschlüsse auf die Ursache der<br />
Kollision ziehen.<br />
Es soll an dieser Stelle nicht unerwähnt bleiben, dass bei Eintritt einer<br />
Kollision selbstverständlich auch eine Ermittlung des ersten Kontaktzeitpunkts<br />
zwischen zwei Zeitschritten möglich wäre. Da hier jedoch lediglich die<br />
betr<strong>of</strong>fene CNC-Zeile von Interesse ist, wurde von einer Implementierung<br />
abgesehen. Darüber hinaus wäre es sicherlich lohnender, die in Abschnitt 3.3.9<br />
angesprochene kontinuierliche Kollisionserkennung anstelle dessen zu implementieren,<br />
da diese die Ermittlung des ersten Kontaktzeitpunkts bereits implizit<br />
mitbestimmt.<br />
82