Syntaxcheck (C9)

1.1 EinleitungPAGEREF _Toc304471647 \h2

1.2 Beschreibung 3

1.3 Parameter 3

1.3.1 Übersicht 3

1.3.2 Beschreibung Kanalparameter 3

1.4 Schnittstellenanbindung 3

1.4.1 Anwahl via HMI-Schnittstelle 3

1.4.2 Kommandos und Anzeige via PLC-Schnittstelle 3

Mehr:

button Einleitung

button Beschreibung

button Parameter

button Schnittstellenanbindung


Einleitung

Aufgabe

Für einen Test von NC-Programmen ist es oft hilfreich die Syntax durch eine Vorabdecodierung überprüfen zu lassen, ohne dass Achsen bewegt werden.

Eigenschaften

Die erkannten Syntaxfehler des NC-Programms werden angezeigt, protokolliert und stehen dem Bediener für eine anschließende Korrektur des Programms zur Verfügung.

Im Falle eines Syntaxfehlers wird die NC-Programmdecodierung nicht abgebrochen, sondern es wird versucht mit der folgenden NC-Zeile weiterzuarbeiten.

Achsen / Antriebe werden im Syntaxcheck nicht verfahren.

Die Schnittstelle zur PLC wird nur auf Dekodierebene ausgewertet bzw. aktualisiert. Z.B. werden keine Synchronisationen von M/H-Funktionen. ausgeführt.

Nach einer Syntax-Fehlermeldung ist ein definiertes Wiederaufsetzen unter weitgehender Vermeidung von Folgefehlern möglich.

Die im NC-Programm verwendeten Technobefehle (M-, H- und T-Funktionen) müssen für die Dekodierung entsprechend in der Kanalparameterliste angegeben sein.

Verhalten bei
Ressourcenfehler

Stacküberlauf

Verwerfen der NC-Zeile

Verhalten bei Syntaxfehler | Fehler innerhalb $- und #-Befehlen | Verwerfen der NC-Zeile
 | Unerwartetes Zeichen/ Term nach $- und #-Befehlen | Nutzen von Infos der aktuellen NC-Zeile
 | Unerwartete/ falsche Zeichen/ Terme | Nutzen von Infos der aktuellen NC-Zeile

Verhalten bei Semantikfehler | Linksseitiger Fehler in einer Zuweisung | Neupositionieren hinter Zuweisung
 | Anwahl von gleichzeitig nicht zulässigen NC-Befehlen | Weiterdecodieren ohne Neupositionieren
 | Über-/ Unterschreiten eines Grenzwertes | Weiterdecodieren ohne Neupositionieren
 | Programmierter Wert nicht sinnvoll | Weiterdecodieren ohne Neupositionieren
 | Unvollständige Information | Weiterdecodieren ohne Neupositionieren


Beschreibung

Bedienung

Die Bedienung während des Syntaxcheck erfolgt entsprechend zur realen Programmbearbeitung über die Betriebsartenschnittstelle. D.h. es können

q Kommandos START, STOP, FORTSETZEN, RESET,

q Anzeigestati ERROR, HOLD

ausgewertet werden.

Anzeige

In der realen Programmbearbeitung wird die Dateiposition (Dateiname und Dateioffset, mc_active_file_offset_r und mc_active_file_name_r) synchron zur realen Achsbewegung angezeigt. D.h. diese hat keinen zeitlichen Bezug mehr zur Programmdekodierung.

Bei aktivem Syntaxcheck wird die Dateiposition automatisch synchron zur Decodierung angezeigt.

Eine Bedienung muss für die Anzeige der Datei somit keine Unterscheidung berücksichtigen.

Programmierbeispiele

NC-Programm mit Syntaxfehlern

Im folgenden Beispiel sind verschiedene Syntaxfehler enthalten, bei denen weiterdecodiert werden kann. Das Programm kann im Syntaxcheck abgearbeitet werden, wobei die einzelnen Fehler gemeldet werden.

( Test syntax check of decoder)

%check_syntax

(-> domain error

N40 G01 X10 F11111111111111111111111111

(-> error

N50 command_unknown

(-> error

N60 V.E.not_present = 1

(-> error

N70 #CALL AX [X2, 11, 0]

(-> semantic error

N80 G00 G01 X100 F1000

N130 M30

Einzelschritt /
Decodierung unterbrechen

Während des Syntaxchecks wirkt der Einzelschrittbetrieb automatisch auf Decodierebene. Nach jeder NC-Zeile wird angehalten, was durch den Betriebsartenzustand HOLD angezeigt wird. Durch Kommandieren des START-Transition an die aktive Betriebsart wird um eine NC-Zeile weiterdecodiert. Somit kann die Decodierung der NC-Befehle (Parameterzuweisungen, Verzweigungen, Schleifen, etc.) einzeln ausgeführt werden, wodurch der Programmablauf während der Decodierung einsehbar ist.

Entsprechend dem Einzelschritt wirkt im Syntaxcheck auch das STOP / RESUME-Kommando auf Decodierebene. D.h. durch Kommandierung der STOP-Transition an die aktive Betriebart wird die Decodierung unterbrochen. Über RESUME kann die Decodierung dann wieder fortgesetzt werden.


Parameter

Parametrierung

Der Bediener kann durch Einstellung in der Kanalparameterliste [CHAN] entweder schrittweise über fehlerhafte Befehle im NC-Programm hinweggehen und die Decodierung interaktiv fortsetzen, oder er kann in einem Durchgang (ohne weitere Bedienhandlungen) die Syntax überprüfen.

Die gemeldeten Fehler können protokolliert werden, damit der Bediener anschließend mit Hilfe dieses Fehlerprotokolls das NC-Programm überarbeiten und ggf. lauffähig machen kann.

Die Einstellungen für die Programmbearbeitung im Syntaxcheck werden vor Programmablauf angewählt. Änderung der Einstellungen werden nicht während des Syntaxchecks neu übernommen, d.h. sie werden erst bei erneutem Programmstart wirksam.

Mehr:

button Übersicht

button Beschreibung Kanalparameter


Übersicht

ID | Parameter | Beschreibung
P-CHAN-00019 | fehler_gesamt | Gesamtzahl der zulässigen Fehler
P-CHAN-00020 | fehler_pro_zeile | Fehler pro Zeile
P-CHAN-00028 | interaktiv | Betriebsmodus


Beschreibung Kanalparameter

P-CHAN-00019 | Gesamtzahl der Fehler
Parameter | syn_chk.fehler_gesamt
Beschreibung | Über diesen Parameter wird festgelegt, ab welcher Fehleranzahl die Decodierung des NC-Programms abgebrochen wird. Dieser Grenzwert ist nur im automatischen Syntaxcheck, d.h. ohne Benutzeraktion, wirksam.
Datentyp | UNS16
Datenbereich | 0 ≤ P-CHAN-00019 ≤ MAX_UNS16
Standardwert | 20
Anmerkungen | -

P-CHAN-00020 | Fehler pro Zeile
Parameter | syn_chk.fehler_pro_zeile
Beschreibung | Mit P-CHAN-00020 wird festgelegt ab welcher Fehleranzahl in die nachfolgende Programmzeile gesprungen wird.
Datentyp | UNS16
Datenbereich | 0 ≤ P-CHAN-00020 ≤ MAX_UNS16
Standardwert | 2
Anmerkungen | -

P-CHAN-00028

Betriebsmodus

Parameter

syn_chk.interaktiv

Beschreibung

0 - Automatikbetrieb:

Nach einem Fehler wird automatisch die Decodierung fortgesetzt. Der Syntaxcheck wird nur dann abgebrochen, wenn die eingestellte Gesamtzahl der Fehler (P-CHAN-00019) erreicht ist.

1 - (Interaktiv-) betrieb:

Nach jedem Fehler wird die Decodierung angehalten. Der Bediener kann entscheiden, ob der Syntaxcheck weiterlaufen oder die Decodierung abgebrochen werden soll. Wird die eingestellte zulässige Gesamtzahl der Fehler (P-CHAN-00019) erreicht, erfolgt automatisch der Abbruch der Decodierung.

Datentyp

BOOLEAN

Datenbereich

0 ≤ P-CHAN-00028 ≤ 1

Standardwert

1

Anmerkungen

-

P-CHAN-00021 | Ausgabe der Funktionssätze (wird nicht mehr verwendet)
Parameter | syn_chk.fkts_ausgabe
Beschreibung | Durch das Datum "fkts_ausgabe" kann festgelegt werden, ob die Funktionssätze für eine spätere Prüfung protokolliert werden sollen.
Datentyp | <gemäß Kapitel Einleitung Datentypen>
Datenbereich | 0  FALSE Decoderfunktionssätze werden zur Protokollierung ausgegeben. 1 - TRUE Funktionssätze werden decoderintern verworfen.
Standardwert |
Anmerkungen | < Besonderheiten bzgl. Achs- und Antriebstyp >


Schnittstellenanbindung

Mehr:

button Anwahl via HMI-Schnittstelle

button Kommandos und Anzeige via PLC-Schnittstelle


Anwahl via HMI-Schnittstelle

Der Syntaxcheck wird als Bearbeitungsmode vor dem Programmstart durch die Bedienung eingestellt. Diese Einstellung wird über eine sogenannte ControlUnit an die PLC weitergegeben, welche diesen zulassen oder ablehnen kann. Ebenso hat die PLC hierdurch die Möglichkeit den Syntaxcheck ohne vorherige HMI Anforderung selbst anzuwählen.

Parameter | Beschreibung
mc_command_execution_mode_r, mc_command_execution_mode_w | Anwahl des Syntaxchecks
mc_active_file_offset_r, mc_active_file_name_r | Anzeige der aktuellen Dateiposition während Syntaxcheck auf Decodierebene
mc_command_single_block_w | Im Syntaxcheck kann hierüber der Decoder-Einzelschrittbetrieb angewählt werden.

Syntaxcheck via HMI
Beschreibung | Über diese Schnittstelle kann eine Oberfläche den Syntaxcheck anwählen.
Typ | 32 Bit
Wertebereich | 0x0000 ISG_STANDARD Normalbetrieb 0x0008 SYNCHK Simulation Syntaxcheck
HMI Elemente | mc_command_execution_mode_r, mc_command_execution_mode_w
Zugriff | Read, write
IndexOffsetADS | 0x40, 0x3f (IndexGroupADS = 0x000201<ii> mit <ii> = Kanal)


Kommandos und Anzeige via PLC-Schnittstelle

Kommandos:

Kanalbetriebsart
Beschreibung | Anwahl einer speziellen Kanalbetriebsart, wie z.B. Syntaxcheck oder Fertigungszeitberechnung
Datentyp | MCControlSGN32Unit, s. Beschreibung Control Unit
Besonderheiten | -
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlSGN32Unit_ExecutionMode
Kommandierter, angeforderter und Rückgabewert
ST-Element | .D_Command .D_Request . D_State
Datentyp | DINT
Wertebereich | 0x0000 ISG_STANDARD Normalbetrieb 0x0008 SYNCHK Simulation Syntaxcheck Bemerkung: Folgend Einstellungen sind in Vorbereitung: 0x0002 SOLLKON Simulation Sollkonturvisualisierung 0x0004 ON_LINE Simulation Onlinevisualisierung 0x0010 PROD_TIME Simulation Fertigungszeitberechnung 0x0020 ONLINE_PROD_TIME Simulation Online- Fertigungszeitberechnung 0x0040 MACHINE_LOCK Dry run ohne Achsbewegung 0x0080 TECHNO_FILTER Dry run TECHNO-Filter 0x0100 KIN_TRAFO_OFF Überschreibt die automatische Freischaltung für kinematische Transformationen durch eine in den Kanalparametern (sda_mds*.lis) definierte Kenngröße.
Umleitung
ST-Element | . X_Enable

Anzeige:

Parameter | Beschreibung
X_SyntaxCheck | Anzeige : Syntaxcheck aktiv
X_WaitAfterError | Anzeige : Decoder wartet auf Freigabe zum Fortsetzen
X_SyntaxCheckWaitContinueCleared | Anzeige : Decoder wartet auf Rücknahme der Freigabe zum Fortsetzen

Syntaxcheck aktiv
Beschreibung | Decoder arbeitet aktuell im Syntaxcheck
Signalfluss | CNC → PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_SyntaxCheck
Datentyp | BOOL
Wertebereich | [TRUE = Decoder arbeitet im Syntaxcheck, FALSE]
Zugriff | PLC liest
Besonderheiten | -

Fehler währedn Syntaxcheck aufgetreten warten auf externe Vorgabe
Beschreibung | Der Decoder wartet im Modus Syntaxcheck nach einem Fehler auf weitere externe Vorgabe (Fortfahren, Abbrechen)
Signalfluss | CNC → PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_WaitAfterError
Datentyp | BOOL
Wertebereich | [TRUE = Fehler im Syntaxcheck aufgetreten  Decoder wartet, FALSE]
Zugriff | PLC liest
Besonderheiten | -

Syntaxcheck aktiv
Beschreibung | Decoder arbeitet aktuell im Syntaxcheck und wartet nach Fehler und Freigabe bis die Freigabe wieder zurückgenommen wird.
Signalfluss | CNC → PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_SyntaxCheckReleaseNextBlockCleared
Datentyp | BOOL
Wertebereich | [TRUE = Decoder wartet auf löschen der Freigabe, FALSE]
Zugriff | PLC liest
Besonderheiten | -

Abbildung 1-1: Implizites Handshake beim interaktiven Syntaxcheck zwischen Decoder und Mcm/PLC

Decodierung unterbrochen
Beschreibung | Die Decodierung wurde unterbrochen und wartet bis auf Freigabe zum Fortsetzen gebeben wird..
Signalfluss | CNC → PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_WaitContinue
Datentyp | BOOL
Wertebereich | [TRUE = Decoder unterbrochen, FALSE]
Zugriff | PLC liest
Besonderheiten | -

Decodierung unterbrochen
Beschreibung | Die Decodierung wurde unterbrochen und der Decoder wartet vor Wiederaufnahme bis die Freigabe wieder gelöscht wird.
Signalfluss | CNC → PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_WaitReleaseNextBlockCleared
Datentyp | BOOL
Wertebereich | [TRUE = Decoder wartet, FALSE]
Zugriff | PLC liest
Besonderheiten | -