Schnittstellenanbindung

Es gibt 2 Möglichkeiten der Schnittstellenanbindung (im Folgenden beschrieben):

Zugriff über CNC Objekte

Über CNC Objekte kann die Visualisierung parametriert und die Visualisierungsdaten abgefragt werden.

Alle Objektzugriffe erfolgen über die Task COM. Der Zugriff auf die einzelnen Daten/Parameter erfolgt über die folgenden Indexgroups/ -offsets.

Bei der Indexgroup ist für den Platzhalter <c> jeweils die Kanalnummer einzusetzen, wobei <c> innerhalb [1; max.Kanalanzahl] liegt.

Parameter

Format

Beschreibung

Index-Group

Index-Offset

mc_command_execution_mode_r,
mc_command_execution_mode_w

UNS32

Anwahl der Sollkonturvisualisierung

0x0000 ISG_STANDARD Normalbetrieb

0x0002 SOLLKON Sollkonturvisualisierung

0x0004 ON_LINE

Online-Visu

0x0008 SYNCHK

Syntaxcheck

0x2010<c>

 

c Element [1; max. Kanal]

0x40,

0x3f

mc_contour_visu_grid_w
mc_contour_visu_grid_r

UNS32

Streckenraster für Sollkonturvisualisierung für Linearsätze (G00/G01) in [0.1 µm]

0x2010<c>

 

c Element [1; max. Kanal]

0x89,

0x8a

mc_contour_rel_curv_error_w

REAL64

Maximaler relativer Bahnfehler in [0.1%] für Sollkonturvisualisierung für Kreise oder Polynome

0x2010<c>

 

c Element [1; max. Kanal]

0x8b

mc_contour_abs_curv_error_w

REAL64

Maximaler absoluter Bahnfehler in [0.1 µm] für Sollkonturvisualisierung

0x2010<c>

 

c Element [1; max. Kanal]

0x8c

Hinweis

notice

Bei gekrümmten Konturelementen (Kreise, Polynome) wird der Parameter berücksichtigt, welcher zum kleinsten Streckenraster führt.

Kommandos und Anzeige über HLI

Die Konturvisualisierung kann über die HLI kommandiert und angezeigt werden. Die folgende Tabelle listet die Parameter auf, die hierbei belegt sein müssen.

Kanalbetriebsart

Beschreibung

Anwahl einer speziellen Kanalbetriebsart, wie z.B. Syntaxcheck oder Fertigungszeitberechnung

Datentyp

MC_CONTROL_SGN32_UNIT, s. Beschreibung Control Unit

Zugriff

PLC liest request_r + state_r und schreibt command_w + enable_w

ST-Pfad

gpCh[channel_idx]^.decoder_mc_control.execution_mode

Kommandierter, angeforderter und Rückgabewert

ST-Element

.command_w

.request_r

.state_r

Datentyp

DINT

Wertebereich

Wert

Konstante

Bedeutung

0x0000

ISG_STANDARD

Normalbetrieb

0x0001

SV

Satzvorlauf

0x0002

SOLLKON

Simulation Sollkonturvisualisierung mit Ausgabe der Visualisierungsdaten

0x0802

SOLLKON_SUPRESS_OUTPUT & SOLLKON

Simulation Sollkonturvisualisierung ohne Ausgabe der Visualisierungsdaten

0x0004

ON_LINE

Simulation Onlinevisualisierung

0x0008

SYNCHK

Simulation Syntaxcheck

0x0010

PROD_TIME

Simulation Fertigungszeitberechnung

(bei TwinCAT ohne Funktion)

0x0020

ONLINE_PROD_TIME

Simulation Online-Fertigungszeitberechnung

0x0040

MACHINE_LOCK

Dry Run ohne Achsbewegung

0x0080

ADD_MDI_BLOCK

Erweiterter Handsatzmodus: das Ende eines Handsatzes wird nicht als Programmende gewertet, sondern erlaubt es weitere Handsätze zu beauftragen.

0x0100

KIN_TRAFO_OFF

Überschreibt die automatische Freischaltung für kinematische Transformationen durch eine in den Kanalparametern (sda_mds*.lis) definierte Kenngröße

0x1000

BEARB_MODE_SCENE

Durch das Einschalten des SZENE-Modus wird die Ausgabe der #SCENE-Befehle auf der Schnittstelle eingeschaltet (s.a. [FCT-C17// Szene Konturvisualisierung]).

Die Anbindung eines weiteren Clients an diese Ausgabe findet über die DataFactory / CORBA statt.

0x2000

SUPPRESS_TECHNO_OUTPUT

Ohne Ausgabe von Technofunktionen (M/H/T). Wird implizit gesetzt in Verbindung mit Syntaxcheck.

0x10000

SUPPRESS_POSITION_REQUEST

Schneller Programmstart, ohne Positionsanforderung am Programmstart

0x20000

SUPPRESS_PROG_START_INIT

Unterdrücken Programmstartsequenz für Bearbeitung am Band

Umleitung

ST-Element

.enable_w

Ausgabe

Die Visualisierungsdaten können über folgende CNC Objekte gelesen werden.

Indexgroup

Indexoffset

Datentyp

Beschreibung

0x2010<c>

0x2000

SOLLKONT_VISU_PDU

Datensatz aus kanalspezifischem Ausgabepuffer (Fifo).

0x2010<c>

0x2001

UNS32

Anzahl der Datensätze im kanalspezifschen Ausgabefifo.

0x2010<c>

0x2002

SOLLKONT_VISU_PDU

Datensatz aus globalem Ausgabefifo.

0x2010<c>

0x2003

UNS32

Anzahl der Datensätze im globalen Ausgabefifo

Das gelesene Datenpaket hat dabei folgenden Aufbau:

 

SOLLKONT_VISU_PDU

SGN32

count, Anzahl der Strukturen SOLLKONT_VISU_DATA_V0 … SOLLKONT_VISU_DATA_V5 in der aktuellen Nachricht

UNS32

Versionskennung der Visualisierungsdaten siehe P-STUP-00039

SOLLKONT_VISU_DATA_V0

v0[ MAX_SOLLKONT_VISU_DATA_COUNT_V0 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 0 hat.

Oder

SOLLKONT_VISU_DATA_V1

v1[ MAX_SOLLKONT_VISU_DATA_COUNT_V1 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 1 hat.

Oder

SOLLKONT_VISU_DATA_V2

V2[ MAX_SOLLKONT_VISU_DATA_COUNT_V2 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 2 hat.

Oder

SOLLKONT_VISU_DATA_V3

v3[ MAX_SOLLKONT_VISU_DATA_COUNT_V3 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 3 hat.

Oder

SOLLKONT_VISU_DATA_V4

v4[ MAX_SOLLKONT_VISU_DATA_COUNT_V4 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 4 hat.

Oder

SOLLKONT_VISU_DATA_V5

V5[ MAX_SOLLKONT_VISU_DATA_COUNT_V5 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 5 hat.

Oder

SOLLKONT_VISU_DATA_V6

v6[ MAX_SOLLKONT_VISU_DATA_COUNT_V6 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 6 hat.

Oder

SOLLKONT_VISU_DATA_V7

v7[ MAX_SOLLKONT_VISU_DATA_COUNT_V7 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 7 hat.

Oder

SOLLKONT_VISU_DATA_V8

V8[ MAX_SOLLKONT_VISU_DATA_COUNT_V8 - 1 ]

Struktur mit Visualisierungsdaten wenn P-STUP-00039 den Wert 8 hat.

Oder

SOLLKONT_VISU_DATA_V9

V9[ MAX_SOLLKONT_VISU_DATA_COUNT_V9 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 9 hat.

Oder

SOLLKONT_VISU_DATA_V10

V10[ MAX_SOLLKONT_VISU_DATA_COUNT_V10 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 10 hat.

Oder

SOLLKONT_VISU_DATA_V11

V11[ MAX_SOLLKONT_VISU_DATA_COUNT_V11 - 1 ]

Struktur mit Visualisierungsdaten, wenn P-STUP-00039 den Wert 11 hat.

 

SOLLKONT_VISU_DATA_V0

SOLLKONT_VISU_CH_DATA_STD

Visu_data_std

SOLLKONT_VISU_ACHS_DATA_STD

Simu_achs_data_std[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V1

SOLLKONT_VISU_CH_DATA_STD

Visu_data_std

IF_FILE_NAME

File_name

SOLLKONT_VISU_ACHS_DATA_STD

Simu_achs_data_std[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V2

SOLLKONT_VISU_CH_DATA_V1

Visu_data_v1

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_STD

Simu_achs_data_std[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V3

SOLLKONT_VISU_CH_DATA_STD

Visu_data_std

SOLLKONT_VISU_ACHS_DATA_V1

Simu_achs_data_v1[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V4

SOLLKONT_VISU_CH_DATA_STD

Visu_data_std

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_V1

Simu_achs_data_v1[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V5

SOLLKONT_VISU_CH_DATA_V1

Visu_data_v1

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_V1

Simu_achs_data_v1[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V6

SOLLKONT_VISU_CH_DATA_STD

Visu_data_std

SOLLKONT_VISU_ACHS_DATA_V2

Simu_achs_data_v2[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V7

SOLLKONT_VISU_CH_DATA_STD

Visu_data_std

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_V2

Simu_achs_data_v2[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V8

SOLLKONT_VISU_CH_DATA_V1

Visu_data_v1

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_V2

Simu_achs_data_v2[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V9

SOLLKONT_VISU_CH_DATA_V2

Visu_data_v2

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_STD

Simu_achs_data_std[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V10

SOLLKONT_VISU_CH_DATA_V2

Visu_data_v2

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_V1

Simu_achs_data_v1[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_DATA_V11

SOLLKONT_VISU_CH_DATA_V2

Visu_data_v2

IF_FILE_NAME

Dateiname der NC-Programmdatei

SOLLKONT_VISU_ACHS_DATA_V2

Simu_achs_data_v2[ANZ_SIMU_KOORD]

Achsspezifische Visualisierungsdaten.

 

SOLLKONT_VISU_CH_DATA_STD

SGN32

nc_satz_nr, Satznummer im NC-Programm

SGN32

fileoffset, Dateioffset von Dateianfang in Bytes

>= 0 : gültiger Dateioffset bei aktivem Programm

== -1 : Offset nicht gültig, da kein Programm aktiv

UNS16

channel_nr, Kanalnummer

SGN16

g_function

>= 0 : G-Funktion : G0, G1, G2, G3, G61 für Polynomsätze

== -1 : keine G-Funktion aktiv

UNS32

circle_radius, Radius in [0.1 µm] für G2 / G3-Sätze

REAL64

circle_center_point[2]

Absolutposition des Kreismittelpunkts in der aktiven Bearbeitungsebene (G17,G18,G19) in [0.1 µm] für G2 / G3 Sätze (ab CNC-Version V2.10.1032.03 bzw. V2.10.1505.05)

 

SOLLKONT_VISU_CH_DATA_V2

SGN32

Nc_satz_nr, Satznummer im NC-Programm

SGN32

fileoffset, Dateioffset von Dateianfang in Bytes

>= 0 : gültiger Dateioffset bei aktivem Programm

== -1 : Offset nicht gültig, da kein Programm aktiv

UNS16

channel_nr, Kanalnummer

SGN16

g_function

>= 0 : G-Funktion : G0, G1, G2, G3, G61 für Polynomsätze

== -1 : keine G-Funktion aktiv

UNS32

circle_radius, Radius in [0.1 µm] für G2 / G3-Sätze

REAL64

circle_center_point[2]

Absolutposition des Kreismittelpunkts in der aktiven Bearbeitungsebene (G17,G18,G19) in [0.1 µm] für G2 / G3 Sätze (ab CNC-Version V2.10.1032.03 bzw. V2.10.1505.05)

SGN32

vb_prog, programmierte Bahngeschwindigkeit

SOLLKONT_VISU_DATA_TECHNO_V1

Techno_v1, Technologieinformationen

UNS32

Fillup (Alignmentdaten)

 

SOLLKONT_VISU_DATA_TECHNO_V1

UNS16

Axis_number, Achsnummer der Achse, auf der die Technologieinformationen ausgegeben wurden. Eine Achsnummer von 0 bedeutet, dass die Technologieinformationen auf der Kanalschnittstelle ausgegeben wurden

UNS16

Fillup, benutzt um Strukturausrichtung zu erzwingen

UNS32

m_h_count, Anzahl der belegten Einträge im Vektor m_h_data[]

SOLLKONT_M_H_PROCESS_V1

M_h_data_v1[MAX_M_H_DATA]

Vektor mit Informationen über M/H-Funktionen

UNS32

S_count, Anzahl der Einträge im Vektor s_proc[]

SOLLKONT_S_PROCESS

s_proc[]

Vektor mit Informationen über Spindel-Funktionen.

SGN32

vb_prog, programmierte Bahngeschwindigkeit

Hinweis

notice

Über den Dateioffset kann erkannt werden, ob ein Programm in Bearbeitung ist bzw. beendet wurde.

Eine ungültige G-Funktion (-1) wird z.B. durch eine NC-Zeile mit einer M-Funktion ausgelöst.

 

IF_FILE_NAME

ISG_CHAR

file_name[128]

Dateiname des aktuellen NC-Programms. Für die zusätzliche Ausgabe des Dateinamens muss als Versionskennung der Anzeigedaten „contour_visu_ifc_version“ (P-STUP-00039) auf den Wert 1, 2, 4, oder 5 gesetzt sein (ab CNC-Version V2.10.1032.08 bzw. V2.10.1507. 06).

 

SOLLKONT_VISU_ACHS_DATA_STD

SGN32

Akt_sollwert, aktueller Sollposition der Achse in [0.1 µm]

UNS16

Log_achs_nr, logische Achsnummer

UNS16

<alignment bytes>

 

SOLLKONT_VISU_ACHS_DATA_V1

SGN32

Akt_sollwert, aktueller Sollposition der Achse in [0.1 µm]

SGN32

Akt_sollwert_wcs0, aktueller Sollposition der Achse

im WCS0-System in [0.1 µm].

Dieser Wert wird nur berechnet, wenn Kanalparameter P-CHAN-00145 den Wert 1 hat und dem Kanalparameter P-CHAN-00032 ein Wert > 0 zugewiesen wird.

UNS16

Log_achs_nr, logische Achsnummer

UNS16

<alignment bytes>

 

SOLLKONT_VISU_ACHS_DATA_V2

SGN32

Akt_sollwert, aktuelle Sollposition der Achse in [0.1 µm]

SGN32

Akt_sollwert_wcs0, aktuelle Sollposition der Achse

im WCS0-System in [0.1 µm].

Dieser Wert wird nur berechnet, wenn Kanalparameter P-CHAN-00145 den Wert 1 hat und dem Kanalparameter P-CHAN-00032 ein Wert > 0 zugewiesen wird.

SGN32

Akt_sollwert_wcs, aktuelle Sollposition der Achse

im WCS-System in [0.1 µm].

Dieser Wert wird nur berechnet, wenn Kanalparameter P-CHAN-00145 den Wert 1 hat und dem Kanalparameter P-CHAN-00032 ein Wert > 0 zugewiesen wird.

UNS16

Log_achs_nr, logische Achsnummer

UNS16

<alignment bytes>

 

SOLLKONT_VISU_CH_DATA_V1

SGN32

Nc_satz_nr, Satznummer im NC-Programm

SGN32

fileoffset, Dateioffset von Dateianfang in Bytes

>= 0 : gültiger Dateioffset bei aktivem Programm

== -1 : Offset nicht gültig, da kein Programm aktiv

UNS16

channel_nr, Kanalnummer

SGN16

g_function

>= 0 : G-Funktion : G0, G1, G2, G3, G61 für Polynomsätze

== -1 : keine G-Funktion aktive

UNS32

circle_radius, Radius in [0.1 µm] für G2 / G3-Sätze

REAL64

circle_center_point[2]

Absolutposition des Kreismittelpunkts in der aktiven Bearbeitungsebene (G17,G18,G19) in [0.1 µm] für G2 / G3 Sätze (ab CNC-Version V2.10.1032.03 bzw. V2.10.1505.05)

SGN32

vb_prog, programmierte Bahngeschwindigkeit

 

SOLLKONT_VISU_DATA_TECHNO

techno, Technologieinformationen

 

 

SOLLKONT_VISU_DATA_TECHNO

UNS16

Axis_number, Achsnummer der Achse, auf der die Technologieinformationen ausgegeben wurden. Eine Achsnummer von 0 bedeutet, dass die Technologieinformationen auf der Kanalschnittstelle ausgegeben wurden

UNS16

Fillup, benutzt um Strukturausrichtung zu erzwingen

UNS32

m_h_count, Anzahl der belegten Einträge im Vektor m_h_data[]

SOLLKONT_M_H_PROCESS

M_h_data[MAX_M_H_DATA]

Vektor mit Informationen über M/H-Funktionen

UNS32

S_count, Anzahl der Einträge im Vektor s_proc[]

SOLLKONT_S_PROCESS

s_proc[]

Vektor mit Informationen über Spindel-Funktionen.

SOLLKONT_TOOL_ID

Tool, Informationen über die aktuell gültige Werkzeugnummer

 

SOLLKONT_M_H_PROCESS

UNS32

nr, Nummer der M-/H-Funktion

UNS32

sync, Synchronisationsart der M-/H-Funktion, siehe [CHAN// Konfiguration von SPS Funktionen]

UNS32

type, 1 = M-Funktion, 2 = H-Funktion

 

SOLLKONT_S_PROCESS

UNS16

Ax_nr, Achsnummer der Spindelachse

UNS16

Cmd, Spindelkommando:

 

Wert

Kommando

3

M3

4

M4

5

M5

19

M19

UNS32

Sync, Synchronisationsart der Spindelfunktion

SGN32

Position; Zielposition in 0,1 um bei Positionierbewegung

SGN32

Revolution, Sollgeschwindigkeit der Spindel in 10E-3°/s bzw.um/s.

 

SOLLKONT_TOOL_ID

SGN32

Basic, Basisnummer des Werkzeugs

SGN32

Sister, Schwesternummer des Werkzeugs, -1 bedeutet nicht belegt.

SGN32

Variant, Variantennummer des Werkzeugs, -1 bedeutet nicht belegt.

 

SOLLKONT_M_H_PROCESS_V1

UNS32

nr, Nummer der M-/H-Funktion

UNS32

sync, Synchronisationsart der M-/H-Funktion, siehe [CHAN// Konfiguration von SPS Funktionen]

UNS32

type, 1 = M-Funktion, 2 = H-Funktion

SGN32

Add_value, In M/H-Funktion programmierter zusätzlicher wert.

Konstanten

Konstante

Wert

MAX_SOLLKONT_VISU_DATA_COUNT_V0

15

MAX_SOLLKONT_VISU_DATA_COUNT_V1

10

MAX_SOLLKONT_VISU_DATA_COUNT_V2

5

MAX_SOLLKONT_VISU_DATA_COUNT_V3

10

MAX_SOLLKONT_VISU_DATA_COUNT_V4

7

MAX_SOLLKONT_VISU_DATA_COUNT_V5

4

MAX_SOLLKONT_VISU_DATA_COUNT_V6

7

MAX_SOLLKONT_VISU_DATA_COUNT_V7

6

MAX_SOLLKONT_VISU_DATA_COUNT_V8

4

MAX_SOLLKONT_VISU_DATA_COUNT_V9

5

MAX_SOLLKONT_VISU_DATA_COUNT_V10

4

MAX_SOLLKONT_VISU_DATA_COUNT_V11

3

ANZ_SIMU_KOORD

32

MAX_M_H_DATA

20

MAX_SPINDLE_DATA

6

Datentypen

Datentyp

C Datentyp

Beschreibung

SGN16

signed short

Vorzeichenbehaftete 16 Bit Ganzzahl

UNS16

unsigned short

Vorzeichenlose 16 Bit Ganzzahl

SGN32

signed long

Vorzeichenbehaftete 32 Bit Ganzzahl

UNS32

unsigned long

Vorzeichenlose 32 Bit Ganzzahl

REAL64

double

64 Bit Fließkommazahl

ISG_CHAR

char

8 Bit Text-Zeichen