Gliederung der Handbetriebparameter

Die Parameter des Maschinen-Daten-Satzes enthalten Konfigurierungsdaten für den Handbetrieb.

In der Liste werden die für den Handbetrieb erforderlichen Hardware-Informationen der physikalischen Handräder und Tipptasten den logischen Handbetriebselementen zugeordnet. So werden beispielsweise die Hardwareadressen physikalischer Handräder logischen Handrädern zugeordnet. Außerdem werden Anzahl der Handräder und Tipptastenpaare sowie allgemeine Konfigurierungsdaten für den Handbetrieb festgelegt.

Die Parameter sind folgendermaßen gegliedert:

q Anzahl der konfigurierten Handräder

q Parametrierungsdaten der einzelnen Handräder

q Anzahl der konfigurierten Tipptasten

q Parametrierungsdaten der einzelnen Tipptasten

q Behandlung von Handbetriebsfahrwegen während eines Feedholds

Die in der Liste anzugebenden Feldindizes entsprechen der handbetrieb-internen Achs- und Handbetriebselementindizierung

Wertebereiche von Parametern werden ggf. auch durch Angabe einer Grenze, die sich aufgrund des Datenformats ergibt, z. B. MAX(UNS32) etc., definiert.


Syntax und Interpretation des Handbetrieb-ASCII-Files

Die Handbetriebparameter werden in einem ASCII-File definiert und von einem ASCII-Interpreter interpretiert und in den entsprechenden Strukturen gespeichert.

Danach werden für die Handbetriebparameter Plausibilitätsprüfungen durchgeführt.

Dieses Dokument definiert Inhalt und Syntax des ASCII-Files (Beispiel "hand_mds.lis") sowie die Elemente der Handbetriebparameter.

Für Handbetriebparameter vom Typ BOOLEAN gilt folgende Vereinbarung:

Wert | Bedeutung
0 | Definition von FALSE
1 | Definition von TRUE


Kommentar im ASCII-File

Kommentare können ganzzeilig, oder am Ende einer Zeile eingefügt werden.

Bei ganzzeiligem Kommentar muß am Zeilenanfang das Kommentarzeichen "'#", gefolgt von einem Leerzeichen eingefügt werden.

Soll am Ende einer Zeile ein Kommentar eingefügt werden, so muß vor dem Kommentar lediglich ein Leerzeichen vorhanden sein. Wurde in der Zeile jedoch ein String definiert, so muß dem Kommentar das Kommentarzeichen "(" vorangestellt werden.

Leerzeilen sind ebenfalls möglich.

Beispiel:

# ************************************************************************

# Daten

# ************************************************************************

#

# Auflistung

dummy[1] 1 Kommentar

dummy[2] 1 # Kommentar

dummy[3] 1 ( Kommentar

dummy[4] 1 /* Kommentar

...

...

beispiel[0].bezeichnung STRING_2 (Kommentar, hier Kommentarklammer nötig!)


Einstellungen für die Handräder

Mehr:

button Anzahl der physikalischen Handräder (P-MANU-00001)

button Handraddaten (hr_data[i].*)


Anzahl der physikalischen Handräder (P-MANU-00001)

TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Handräder

Anzahl der physikalischen Handräder (P-MANU-00001 )

Mit diesem Strukturelement wird die Anzahl der Handräder festgelegt.

Die Handradanzahl muß mit den belegten Handrädern in der Handraddatenliste "hr_data[i]" übereinstimmen.

Variablenname | Typ | erlaubter Bereich | Dimension
hr_anzahl | UNS16 | 0 ... HR_MAX | ----

Wert HR_MAX | Bedeutung
applikationsabhängig | Maximale Anzahl der Handräder

BEISPIEL: Es sollen zwei physikalische Handräder konfiguriert werden.

Auszug aus "hand_mds.lis":

# Handradanzahl

# ============================================================================

hr_anzahl 2


Handraddaten (hr_data[i].*)

TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Handräder

Handraddaten (hr_data[i] .*)

In der Struktur "hr_data[i]" werden die Konfigurierungsdaten der vorhanden Handräder abgelegt.

Variablenname | Typ | Index | Dimension
hr_data[i] | HR_DATA | i = 0 ... hr_anzahl | ----

Mehr:

button Logische Handradnummer (P-MANU-00002)

button Zugriff auf Handradzähleradresse (P-MANU-00003)

button Adresse des Handradzählers (P-MANU-00004)

button Auflösung des Handrades

button Obergrenze für Handradinkremente (P-MANU-00007)

button Offset beim Aktivieren (P-MANU-00012)


Logische Handradnummer (P-MANU-00002)

TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Handräder > Handraddaten (hr_data[i].*)

Logische Handradnummer ( P-MANU-00002)

Mit dem Strukturelement "hr_data[i].log_hr_nr" wird die logische Handradnummer eines Handrades definiert. Die logische Handradnummer ist im gesamten System eindeutig. Über die logische Handradnummer erfolgt die softwaretechnische Zuordnung des Aktivierungs- und Deaktivierungsauftrags zu einem physikalischen Handrad. Über die logische Handradnummer erfolgt auch die Zuordnung eines physikalischen Handrades zu einer logischen Achse.

Eine logische Handradnummer darf nicht mehrfach zugeordnet werden. Ist dies der Fall, so erfolgt eine Fehlermeldung bei der Plausibilitätsprüfung der Daten. Die logische Handradnummer "0" ist nicht erlaubt.

Die Aktivierung und Deaktivierung der Handbetriebsarten ist in [PROG] beschrieben.

Variablenname | Typ | erlaubter Bereich | Dimension
log_hr_nr | UNS16 | 1 ... MAX(UNS16) | ----

BEISPIEL: Es sollen zwei physikalische Handräder konfiguriert werden. Diese sollen mit den logischen Handradnummern "1" und "2" identifiziert werden.

Auszug aus "hand_mds.lis":

# Handraddaten

# ============================================================================

hr_data[0].log_hr_nr 1 # logische Handradnummer Handrad 1

.........

hr_data[1].log_hr_nr 2 # logische Handradnummer Handrad 2

..........


Zugriff auf Handradzähleradresse (P-MANU-00003)

TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Handräder > Handraddaten (hr_data[i].*)

Zugriff auf Handradzähleradresse ( P-MANU-00003)

Dieser Parameter gibt an, ob die Handradinkremente direkt von einem Zählerbaustein oder über das High Level Interface (HLI) eingelesen werden.

Variablenname | Typ | erlaubter Bereich | Dimension
hr_zaehler_direct_access | BOOLEAN | 0 / 1 | ----

0 | Handradzähleradresse liegt auf High Level Interface (HLI). Immer bei Betriebssystemen mit virtuellem Adressraum (z.B. RTWin, NT).
1 | Handradzähleradresse liegt auf Hardware (HW). Z.Zt. nur für Betriebssysteme mit absolutem Adressraum (z.B. VxWorks, OS9) realisiert.

BEISPIEL: Handradinkremente werden direkt von einem Zählerbaustein gelesen.

Auszug aus "hand_mds.lis":

# Handraddaten

# ============================================================================

hr_data[0].hr_zaehler_direct_access 1 #Direkter Hardwarezugriff Handrad 1

.........


Adresse des Handradzählers (P-MANU-00004)

TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Handräder > Handraddaten (hr_data[i].*)

Adresse des Handradzählers ( P-MANU-00004)

Abhängig vom Element P-MANU-00003 wird hier entweder die physikalische Handradzähleradresse oder der Index im HLI-Array zum Einlesen der Inkremente festgelegt.

Variablenname | Typ | erlaubter Bereich | Dimension
*adr_hr_zaehler | UNS16 | 0 ... MAX(UNS16) | ----

Wert | Bedeutung
>0 | Physikalische Adresse eines Zählerbausteines
0...HR_MAX-1 | Arrayindex im High Level Interface (HLI)

Wert HR_MAX | Bedeutung
applikationsabhängig | Maximale Anzahl der Handräder

BEISPIEL 1: Es sollen zwei Handräder konfiguriert werden. Diese erhalten die logischen Handradnummern "1" und "2". Das Einlesen der Inkremente erfolgt über direkten Hardwarezugriff:

Auszug aus "hand_mds.lis":

# Handraddaten

# ==============================================================================

hr_data[0]. log_hr_nr 1 #logische Handradnummer Handrad 1

hr_data[0].hr_zaehler_direct_access 1 #Hardwarezugriff Handrad 1

hr_data[0].adr_hr_zaehler 0x0030 #Adresse Handrad 1

.........

hr_data[1].log_hr_nr 2 #logische Handradnummer Handrad 2

hr_data[1].hr_zaehler_direct_access 1 #Hardwarezugriff Handrad 2

hr_data[1].adr_hr_zaehler 0x0080 #Adresse Handrad 2

BEISPIEL 2: Es sollen zwei Handräder konfiguriert werden. Diese erhalten die logischen Handradnummern "1" und "2". Das Einlesen der Inkremente erfolgt über das HLI-Interface:

Auszug aus "hand_mds.lis":

# Handraddaten

# ==============================================================================

hr_data[0].log_hr_nr 1 #logische Handradnummer Handrad 1

hr_data[0].hr_zaehler_direct_access 0 #HLI-Zugriff Handrad 1

hr_data[0].adr_hr_zaehler 0 #Index im HLI-Array Handrad 1

.........

hr_data[1].log_hr_nr 2 #logische Handradnummer Handrad 2

hr_data[1].hr_zaehler_direct_access 0 #HLI-Zugriff Handrad 2

hr_data[1].adr_hr_zaehler 1 #Index im HLI-Array Handrad 2


Auflösung des Handrades

Die Anzahl der Handradinkremente pro Handradumdrehung wird als Handradauflösung eingetragen. Diese Größe muß durch einen Zähler- und Nennerwert angegeben werden.

Handradauflösung = Zähler / Nenner = hr_aufl_z / hr_aufl_n

Einheit Handradauflösung: [Inkremente/Umdrehung]

Diese handradspezifische Auflösung darf nicht verwechselt werden mit der achsspezifischen Auflösung für die Betriebsart Handrad [PROG].

Mehr:

button Zähler der Handradauflösung (P-MANU-00005)

button Nenner der Handradauflösung (P-MANU-00006)


TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Handräder > Handraddaten (hr_data[i].*) > Auflösung des Handrades

Zähler der Handradauflösung (P-MANU-00005)

Variablenname | Typ | erlaubter Bereich | Dimension
hr_aufl_z | UNS32 | 1 ... MAX(UNS32) | incr


Nenner der Handradauflösung (P-MANU-00006)

Variablenname | Typ | erlaubter Bereich | Dimension
hr_aufl_n | UNS32 | 1 ... MAX(UNS32) | U

BEISPIEL: Es sollen zwei Handräder konfiguriert werden. Diese erhalten die logischen Handradnummern "1" und "2". Die Handradauflösungen sind (100 Inkremente / Umdrehung) und (2700 Inkremente / 14 Umdrehungen):

Auszug aus "hand_mds.lis":

# Handraddaten

# ==============================================================================

hr_data[0].log_hr_nr 1 # logische Handradnummer Handrad 1

:

hr_data[0].hr_aufl_z 100 # Zähler Handradauflösung Handras 1

hr_data[0].hr_aufl_n 1 # Nenner Handradauflösung Handrad 1

# ==============================================================================

hr_data[1].log_hr_nr 2 # logische Handradnummer Handrad 2

:

hr_data[1].hr_aufl_z 2700 # Zähler Handradauflösung Handrad 2

hr_data[1].hr_aufl_n 14 # Nenner Handradauflösung Handrad 2


Obergrenze für Handradinkremente (P-MANU-00007)

Die Obergrenze für die Anzahl der eingelesenen Handradinkremente pro Zyklus wird durch den Parameter "hr_data[i].max_inkr_pro_takt" definiert. Dieser Parameter ist eine Plausibilitätsgrenze für die Handrad-Hardware.

Variablenname | Typ | erlaubter Bereich | Dimension
max_inkr_pro_takt | UNS32 | < MAX(UNS32) | incr

BEISPIEL: Die maximale Anzahl der eingelesenen Handradinkremente pro Takt ist 1000.

Auszug aus "hand_mds.lis":

# Handraddaten

# ==============================================================================

.....

hr_data[0].max_inkr_pro_takt 1000 # Obergrenze für Handradinkremente

.....


Offset beim Aktivieren (P-MANU-00012)

Über den Parameter "hr_data[i].hr_abs_pos_init" wird festgelegt, ob bei Aktivierung des Handradbetriebs auf den Handradzählerstand absolut oder relativ aufgesetzt wird.

Variablenname | Typ | erlaubter Bereich | Dimension
hr_abs_pos_init | BOOLEAN | 0 / 1 | ----

0 | Relatives Aufsetzen auf Handradzählerstand beim Aktivieren des Handrad-Betriebs (Default).
1 | Absolute Übernahme des Handradzählerstandes beim Aktivieren des Handrad-Betriebs.

Auszug aus "hand_mds.lis":

# Handraddaten

# ==============================================================================

.....

hr_data[0].hr_abs_pos_init 0 # Relatives Aufsetzen beim Aktivieren

.....

Beim typischem Handradbetrieb ist der relative Modus sinnvoll, d.h. es erfolgt keine Verfahrbewegung, auch wenn der Zählerstand des Handrades bei Aktivierung des Handradbetriebs nicht 0 ist.


Einstellungen für die Tipptasten

Mehr:

button Anzahl der Tipptastenpaare (P-MANU-00008)

button Tipptastendaten (tasten_data[i].*)


Anzahl der Tipptastenpaare (P-MANU-00008)

Mit diesem Strukturelement wird die Anzahl der Tipptastenpaare festgelegt.

Die Tipptastenanzahl muß mit den belegten Elementen in der Tipptastendatenliste "tasten_data[i]" übereinstimmen.

Variablenname | Typ | erlaubter Bereich | Dimension
tasten_anzahl | UNS16 | 0 ... TASTE_MAX | ----

Wert TASTE_MAX | Bedeutung
applikationsabhängig | Maximale Anzahl der Tipptastenpaare

BEISPIEL: Es sollen zwei Tipptastenpaare konfiguriert werden.

Auszug aus "hand_mds.lis":

# Tastenanzahl

# ===========================================================================

tasten_anzahl 2


Tipptastendaten (tasten_data[i].*)

TwinCAT CNC: Überblick

Beschreibung der Elemente > Einstellungen für die Tipptasten

Tipptastendaten (tasten_data[i] .*)

In der Struktur "tasten_data[i]" werden die Konfigurierungsdaten der vorhandenen Tipp-tastenpaare festgelegt.

Variablenname | Typ | Index | Dimension
tasten_data[i] | TASTEN_DATA | i = 0 ... tasten_anzahl | ----

Mehr:

button Logische Tastennummer (P-MANU-00009)


Logische Tastennummer (P-MANU-00009)

Mit dem Strukturelement "tasten_data[i].log_tasten_nr" wird die logische Tastennummer eines Tipptastenpaares definiert. Die logische Tastennummer ist im gesamten System eindeutig. Über die logische Tastennummer erfolgt die Zuordnung eines Aktivierungs- oder Deaktivierungsauftrags zum physikalischen Tipptastenpaar. Über die logische Tastennummer erfolgt auch die Zuordnung eines physikalischen Tastenpaares zu einer logischen Achse.

Eine logische Tastennummer darf nicht mehrfach zugeordnet werden. Ist dies der Fall, so erfolgt eine Fehlermeldung bei der Plausibilitätsprüfung der Handbetriebs-daten. Die logische Tastennummer "0" ist nicht erlaubt.

Die Aktivierung und Deaktivierung der Handbetriebsarten ist in [PROG] beschrieben.

Variablenname | Typ | erlaubter Bereich | Dimension
log_tasten_nr | UNS16 | 1 ... MAX(UNS16) | ----

BEISPIEL: Es sollen zwei physikalische Tipptastenpaare konfiguriert werden. Diese erhalten die logischen Tastennummern "1" und "2". Folgende Einträge sind notwendig.

Auszug aus "hand_mds.lis":

# Tipptastendaten

# ============================================================================

tasten_data[0].log_tasten_nr 1 # logische Tastennummer Tastenpaar 1

.........

tasten_data[1].log_tasten_nr 2 # logische Tastennummer Tastenpaar 2

..........


Feedholdbehandlung (feedhold.*)

TwinCAT CNC: Überblick

Beschreibung der Elemente

Feedholdbehandlung (feedhold .*)

In der Struktur "feedhold" wird die Behandlung von eingelesenen Handradinkrementen und Jogbetriebsverfahrwegen während eines Feedholds definiert.

Mehr:

button Betriebsart Handrad (P-MANU-00010)

button Betriebsart Jogbetrieb (P-MANU-00011)


Betriebsart Handrad (P-MANU-00010)

Wird der Parameter "feedhold.hr_inkr_verwerfen" auf TRUE gesetzt, dann werden die während eines Feedholds eingelesenen Handradinkremente verworfen. Andernfalls werden diese Handradinkremente nach Wegnahme des Feedholds ausgegeben.

Variablenname | Typ | erlaubter Bereich | Dimension
hr_inkr_verwerfen | BOOLEAN | 0 / 1 | ----

BEISPIEL: Die während eines Feedholds eingelesenen Handradinkremente sollen nicht verworfen werden.

Auszug aus "hand_mds.lis":

# Feedholdbehandlung

# ============================================================================

feedhold.hr_inkr_verwerfen 0 # Verwerfen der Handradinkremente

.........


Betriebsart Jogbetrieb (P-MANU-00011)

Wird der Parameter "feedhold.jog_inkr_verwerfen" auf TRUE gesetzt, dann werden die während eines Feedholds generierten Jogbetriebsverfahrwege verworfen. Andernfalls werden diese Verfahrwege nach Wegnahme des Feedholds ausgegeben.

Variablenname | Typ | erlaubter Bereich | Dimension
jog_inkr_verwerfen | BOOLEAN | 0 / 1 | ----

BEISPIEL: Die während eines Feedholds eingelesenen Jogbetriebverfahrwege sollen verworfen werden.

Auszug aus "hand_mds.lis":

# Feedholdbehandlung

# ============================================================================

feedhold.jog_inkr_verwerfen 1 # Verwerfen der Jogbetriebverfahrwege

.........


Beispiel für die Belegung der Handbetriebsparameter

# ************************************************************************

# Handbetriebsdaten

# ************************************************************************

# Wichtiger Hinweis: Hinter dem Kommentarzeichen ´# ´muß

# unbedingt ein Leerzeichen (Space) eingefügt werden.

# ************************************************************************

# Anzahl der Handräder

**************************************************************************

hr_anzahl 2

**************************************************************************

# Anzahl der Tipptastenpaare

**************************************************************************

tasten_anzahl 3

**************************************************************************

# Handraddaten

**************************************************************************

hr_data[0].log_hr_nr 1

hr_data[0].hr_aufl_z 100

hr_data[0].hr_aufl_n 1

hr_data[0].hr_zaehler_direct_access 1

hr_data[0].adr_hr_zaehler 0x8a0a0030

hr_data[0].max_inkr_pro_takt 1000

hr_data[0].hr_abs_pos_init 0

#

hr_data[1].log_hr_nr 2

hr_data[1].hr_aufl_z 180

hr_data[1].hr_aufl_n 1

hr_data[1].hr_zaehler_direct_access 1

hr_data[1].adr_hr_zaehler 0x8a0a0080

hr_data[1].max_inkr_pro_takt 1000

hr_data[1].hr_abs_pos_init 0

*************************************************************************

# Tipptastendaten

*************************************************************************

tasten_data[0].log_tasten_nr 1

#

tasten_data[1].log_tasten_nr 2

#

tasten_data[2].log_tasten_nr 3

************************************************************************

# Feedholdbehandlung

************************************************************************

feedhold.hr_inkr_verwerfen 0

feedhold.jog_inkr_verwerfen 1