Schnittstellenanbindung
Es gibt 2 Möglichkeiten der Schnittstellenanbindung (im Folgenden beschrieben):
- Anwahl über HMI oder über CNC Objekte
- Kommandos und Anzeige über HLI
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, | 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 | 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
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. | |
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
Ü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 |