# Betriebsarten von kernelv

Ein NC-Programm kann in 2 verschiedenen Kanalbetriebsarten gestartet werden. Abhängig von der Betriebsart stehen unterschiedliche Funktionalitäten der kernelv-DLL zur Verfügung. Die Betriebsart kann kanalspezifisch und ist beim Programmstart anzugeben.

Aktuell stehen die folgenden Betriebsarten zur Verfügung:

Name | E_KERNELV_PROG_START_MODE | Bedeutung
Normalbetriebsart | KERNELV_START_MODE_NORMAL | Standardbetriebsart, die Achsbewegungen werden in der korrekten Geschwindigkeit interpoliert, und die Bewegung der Physikalischen Achsen simuliert.
Sollkonturvisualisierung | KERNELV_START_MODE_CONTOUR_VISU | Betriebsart Sollkonturvisualisierung, es werden nur Interpolationsstützpunkte entsprechend dem eingestellten Visualisierungsraster berechnet.

## Normalbetriebsart

In der Normalbetriebsart wird das NC-Programm mit der beim Start der kernelv-DLL angegebenen Zykluszeit abinterpoliert. Die erzeugten Interpolationsdaten entsprechen denen einer in Echtzeit laufenden Steuerung. Die für die Achsen eingestellten dynamischen Grenzwerte werden eingehalten.

## Betriebsart Sollkonturvisualisierung

Die Betriebsart Sollkonturvisualisierung dient dem Erzeugen einer im Vergleich zur Normalbetriebsart gröberen Stützpunktfolge, zur schnellen Visualisierung der programmierten Kontur.

Das Ausgaberaster kann für gerade und gekrümmte Konturelemente mit den Funktionen
kernelv_ch_set_cont_visu_grid(),
kernelv_ch_set_cont_visu_rel_curvature_error() und
kernelv_ch_set_cont_visu_abs_curvature_error()
eingestellt werden. Unabhängig vom eingestellten Ausgaberaster werden die Endpunkte eines Bewegungssatzes immer ausgegeben.

Das gröbere Ausgaberaster wird erreicht, indem die Geschwindigkeit, mit der ein Konturelement abinterpoliert wird, so berechnet wird, dass sich das eingestellte Ausgaberaster ergibt. Die dynamischen Daten der Achsen werden deshalb nicht eingehalten, die interpolierten Sollwerte werden ebenfalls nicht an den Lageregler weitergegeben, sodass die ACS-Koordinaten sich in dieser Betriebsart nicht ändern.

## Anwahl einer Betriebsart

Die Betriebsart ist beim Aufruf der Funktion kernelv_ch_program_start() anzugeben.

## Programmierbeispiel

kernelv_ch_program_start (0,
prog_name,
KERNELV_START_MODE_NORMAL);

## Ausgabedaten der Konturvisualisierung

Die in der Betriebsart Konturvisualisierung berechneten Stützpunkte werden in einen FIFO-Speicher geschrieben und sind mit der Funktion kernelv_ch_get_cont_visu_data() zu lesen.

Um zu verhindern, dass Visualisierungsdaten verloren gehen, wird die Interpolation angehalten, wenn der interne FIFO voll ist. Um eine möglichst schnelle Abarbeitung eines NC-Programms zu erreichen, muss also die Funktion kernelv_ch_get_cont_visu_data() ausreichend oft aufgerufen werden.

## Ausgabeformat der Konturvisualisierung

Die bei aktiver Konturvisualisierung ausgegeben Daten können mittels des Parameters contour_visu_ifc_version (P-STUP-00039) in der Hochlaufliste systemweit eingestellt werden.

Abhängig von der eingestellten Interfaceversion ändert sich das Format der von der Funktion kernelv_ch_get_cont_visu_data() zurückgegebenen Daten. Siehe dazu auch Strukturdefinition CONTOUR_VISU.

Die interpolierten WCS-Koordinaten können mit den Funktionen kernelv_get_wcs_ gelesen werden.