Vorwärts-/ Rückwärtsfahren auf der Bahn (C7)

1.1 Vorwärts-/ Rückwärtsfahren auf der BahnPAGEREF _Toc304468717 \h5

1.2 NC-Programm 7

1.3 PLC-Schnittstelle 8

1.4 Bekannte Einschränkungen 11

1.5 Parameter 12

1.5.1 Überblick 12

1.5.2 Beschreibung 12

Mehr:

button Vorwärts-/ Rückwärtsfahren auf der Bahn

button NC-Programm

button PLC-Schnittstelle

button Bekannte Einschränkungen

button Parameter


Vorwärts-/ Rückwärtsfahren auf der Bahn

Modis

Schnittstellen

Beim Vorwärts- bzw. Rückwärtsfahren auf der Bahn werden die aufbereiteten NC-Befehle (Funktionssätze) gespeichert und dann vom Interpolator in der erforderlichen Reihenfolge ausgeführt.

Es stehen folgende Modis zur Verfügung, die über die SPS-Schnittstelle online geschaltet werden können.

q Normalbetrieb:
Vorwärtsfahren mit Synchronisation von M-Funktionen

q Simuliertes Vorwärtsfahren auf der Bahn:
"Simuliertes" Vorwärtsfahren mit Unterdrückung der Synchronisation von M-Funktionen, sofern dies in den Kanalparametern festgelegt ist.

q Rückwärtsfahren auf der Bahn:
Rückwärtsfahren mit Unterdrückung der Synchronisation von M-Funktionen, sofern dies in den Kanalparametern festgelegt ist.

Folgende Schnittstellen stehen zur Verfügung:

q Konfiguration der Speichergrösse

q Konfiguration von Synchronisationen der M-Funktionen im Vorwärts-/ Rückwärtsmodus

q Zusätzliche NC-Programmbefehle

q Control Units für Rückwärts, "Simuliertes" Vorwärts und Speichern EIN auf dem HLI

Abbildung 1-1: Schnittstellen für Vorwärts-/ Rückwartsfahren auf der Bahn

Interner Ablauf

Das untenstehende Bild zeigt das interne Schema bzgl. Vorwärts-/ Rückwärtsfahren auf der Bahn. Die aufbereiteten (decodierten) NC-Sätze werden in einem Puffer zwischengespeichert und an den Interpolator weitergeleitet. Beim Rückwärtsfahren werden die bereits aufbereiteten NC-Befehle invertiert und in umgekehrter Reihenfolge ausgeführt.

Das NC-Programm selbst wird nicht in umgekehrter Reihenfolge decodiert!

Nach der Programmdekodierung sind sämtliche Bedingungen, Verzweigungen und Schleifen des NC-Programms zu einem linearen Ablauf aufgelöst. Im Rückwärtsfahrspeicher wird nur noch dieses linear aufgelöste Programm in Vorwärts-/Rückwärtsrichtung verfahren. Deshalb wird jeder externe Einfluß während der Decodierung (z.B. aktuelle Wert einer externen Variablen für die Abbruchbedingung einer Schleife) bei der Rückwärtsfahrt nicht noch einmal berücksichtigt.

Echtzeiteinflüsse wie z.B. Vorschubstopp, Override und Einzelsatzbetrieb werden normal behandelt, da ihr Einfluß vom Interpolator zu jedem Zeitpunkt beachtet wird.

Abbildung 1-2:Sichern der Rückwärtsfahrbefehle und die Weiterleitung an den Interpolator auf Abruf

Speicher für die
Rückwärtsfahrt

Beispiel

Die Speichergrösse für die Rückwärtsfahrt kann in der Hochlaufliste mit
P-STUP-00033 (fb_storage_size) festgelegt werden [STUP]. Die NC prüft beim Hochlauf, ob die notwendige Minimalgröße eingehalten wird. Wenn dies nicht der Fall ist, so wird eine Warning erzeugt und die Speicher-grösse auf den erforderlichen Mindestwert gesetzt. Wird die Speichergröße auf 0 gesetzt, so steht die Funktionalität "Vorwärts-/ Rückwärtsfahren auf der Bahn" nicht zur Verfügung.

Die maximale Grösse wird nur durch die vorhandenen Ressourcen des Automatisierungsgeräts (z.B. IPC) begrenzt.

Für die CNC-Konfiguration ist eine minimale Speichergrösse von 210 KByte erforderlich. Erforderliche Einstellung in der Hochlaufliste:

fb_storage_size[0] 0x200000

Für das Rückwärtsfahren sollte ein Speicher > 1 MByte konfiguriert werden. Als Faustregel gilt: 1 NC-Zeile ≈ 1KByte

Synchronisation von
M-Funktionen

In der Grundeinstellung werden im Modus "Vorwärts-/Rückwärtsfahren auf der Bahn" alle M-Funktionen ohne Synchronisation ausgeführt. Wenn eine Synchronisation gewollt ist, so muß bei der Parametrierung der Synchronisationsart der M-Funktion ein zusätzliches Bit gesetzt werden. Ist dieses Bit gesetzt, dann werden bei der Rückwärtsfahrt auf der Bahn die M-Funktionen immer mit dem Synchronisationstyp MVS_SVS synchronisiert. Im Modus "Simuliertes Vorwärtsfahren" wird der Synchronisationtyp wie im Normalbetrieb (d.h. wie in den Kanalparametern festgelegt) verwendet.

Folgende Synchronisationstypen für die M-Funktionen während "Vorwärts-/Rückwärtsfahren auf der Bahn" sind erforderlich:

BWD_SYNCH 0x400000
FWD_SYNCH 0x800000

Sie werden zusätzlich zu den anderen verfügbaren Synchronisationtypen für M-Funktionen in der Kanalparameterliste gesetzt (P-CHAN-00041).

Beispiel

M2, M101 und M102 werden beim Rückwärtsfahren synchronisiert:

m_synch[2] 0x00400002

m_synch[101] 0x00400002

m_synch[102] 0x00400004

M103 und M104 werden beim simulierten Vorwärtsfahren synchronisiert:

m_synch[103] 0x00800002

m_synch[104] 0x00800004

M105 wird bei simulierten Vorwärts- und Rückwärtsfahrt synchronisiert:

m_synch[105] 0x00C00002


NC-Programm

#OPTIONAL EXECUTION ON / OFF

Im NC-Programm kann durch den Befehl #OPTIONAL EXECUTION eine Sequenz von NC-Sätzen als im Vorwärts-/ Rückwärtsfahrbetrieb nicht ausführbar markiert werden. Dieser markierte Bereich wird dann während aktivem Vorwärts-/Rückwärtsfahren auf Interpolatorebene ausgelassen. Es erfolgt jedoch keine Neuberechnung von Übergangsbedingungen zwischen den Sätzen vor und nach dem ausgelassenen Bereich.

Um einen diskontinuierlichen Übergang von Weg, Geschwindigkeit und Beschleunigung zwischen diesen Sätzen zu vermeiden, muß der Interpolatorkontext insbesondere im Bezug auf Achspositionen unverändert sein.

%t_storag.nc

X10 Y0

N10 G91 G00 X10 F1000

N11 #OPTIONAL EXECUTION ON

N12 Z123

N13 S1000 M3

N14 Z-123

N15 M101

N16 #OPTIONAL EXECUTION OFF

N20 G90 G01 X0

N30 G02 I10

N40 G03 J10

M30

Die CNC prüft und überwacht nur den kontinuierlichen Positionsverlauf der Achsen mit oder ohne Ausblenden von Sätzen. Die Einhaltung aller anderen Bedingungen muß vom Anwender gewährleistet sein, da diese von der CNC nicht geprüft werden.

Die Schachtelung von ausgeblendeten Bereichen wird nicht berücksichtigt.

Steht die Ausführung innerhalb eines OPTIONAL EXECUTION-Bereiches und es erfolgt die Anwahl des Vorwärts-/ Rückwärtsfahrbetriebs, so wird das Ausblenden bis zum Erreichen von OPTIONAL EXECUTION OFF verzögert. Das ist notwendig, weil nur komplette Bereiche ausgelassen werden dürfen.

Folgendes Beispiel zeigt eine fehlerhafte Programmierung, da die berechnete Geschwindigkeit und Beschleunigung an den Satzgrenzen des ausgeblendeten Bereiches unterschiedlich ist (N11 und N15), obwohl die Achsen einen kontinuierlichen Positionsverlauf haben.

%t_storag.nc

X00 Y0

N10 G90 G01 X10 F1000

N11 #OPTIONAL EXECUTION ON (X-axis moving in)
(position direction)

N12 X20

N13 S1000 M3

N14 X10

N15 #OPTIONAL EXECUTION OFF (X-axis moving in)
(negative direction)

N20 X0

N30 G02 I10

N40 G03 J10

M30

#BACKWARD STORAGE CLEAR

Durch den NC-Befehl #BACKWARD STORAGE CLEAR kann der seitherige Rückwärtsfahrspeicher explizit gelöscht werden. Hierdurch kann sichergestellt werden, dass nach Überfahren dieser Programmposition nicht weiter zurückgefahren werden kann.

%backward-storage

N000 G01 X0 F10000

N010 X100 Y123

N020 X100

N030 X200 Y10

N040 X300 Y20

N050 #BACKWARD STORAGE CLEAR

N051 #BACKWARD STORAGE CLEAR (test multiple clearing

N052 #BACKWARD STORAGE CLEAR (test multiple clearing

N060 X400 Y-20

N070 X500 Y-3

N060 #BACKWARD STORAGE CLEAR

N080 X444 Y10

N090 X333 Y3

N100 X222 Y10

N110 X111 Y3

N120 X000 Y10

N130 X-111 Y3

N140 #BACKWARD STORAGE CLEAR

N1000 M30


PLC-Schnittstelle

Control Units

Die Optionen des Vorwärts-/ Rückwärtsfahrens auf der Bahn können von der PLC über drei Control Units beauftragt werden:

Rückwärts
Beschreibung | Rückwärtsfahren auf der Bahn ein-/ausschalten.
Datentyp | MC_CONTROL_BOOL_UNIT, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest request_r + state_r und schreibt command_w + enable_w
ST-Pfad | gpCh[channel_idx]^.bahn_mc_control.backward_motion pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_BackwardMotion
Kommandierter, angeforderter und Rückgabewert
ST-Element | .command_w .request_r .state_r
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .enable_w

Simuliertes Vorwärtsfahren
Beschreibung | Simuliertes Vorwärtsfahre auf der Bahn ein-/ausschalten. Z.B. werden Synchronisationen von M-Funktionen anders behandelt.
Datentyp | MC_CONTROL_BOOL_UNIT, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest request_r + state_r und schreibt command_w + enable_w
ST-Pfad | gpCh[channel_idx]^.bahn_mc_control.simulate_motion pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_SimulateMotion
Kommandierter, angeforderter und Rückgabewert
ST-Element | .command_w .request_r .state_r
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .enable_w

Speicher zum Rückwärtsfahren zurücksetzen
Beschreibung | Schaltet den Speicher zum Rückwärtsfahren aus. Kein weiterer NC-Satz wird im Speicher gesichert. Der Speicher wird gelöscht.
Datentyp | MC_CONTROL_BOOL_UNIT, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest request_r + state_r und schreibt command_w + enable_w
ST-Pfad | gpCh[channel_idx]^.bahn_mc_control.backward_storage_off pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_ResetBackwardStorage
Kommandierter, angeforderter und Rückgabewert
ST-Element | .command_w .request_r .state_r
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .enable_w

M-Funktionen
während  Vorwärts-/ Rückwärtsfahren auf der Bahn

Gebrauch des
Speichers für die
Rückwärtsfahrt

NC-Reset

In der Grundeinstellung werden die Synchronisationen der M-Funktionen während dem Vorwärts-/ Rückwärtsfahren auf der Bahn unterdrückt. Wenn jedoch erforderlich, kann die Synchronisation mit speziellen Bits freigeschaltet werden.

Bei Gebrauch dieser Bits werden während der Rückwärtsfahrt alle synchronisierten M-Funktionen als Synchronisationstyp MVS_SVS (Beauftragung vor Satz, Synchronisation vor Satz) behandelt. Im Modus "Simuliertes Vorwärtsfahren" wird der Synchronisationtyp wie in den Kanalparametern festgelegt, verwendet.

Das Sichern von Funktionssätzen im Speicher für die Rückwärtsfahrt kann nur ein-/ausgeschaltet werden, wenn kein NC-Programm ausgeführt wird und keine Rückwärtsfahrt aktiv ist. Wird der Speicher nach Programmende ausgeschaltet und dann wieder eingeschaltet, so wird der Speicher gelöscht. Dadurch ist sichergestellt, das keine nachfolgende Rückwärtsbewegung weiter als bis zu diesem Punkt zurückfahren kann.

Zusätzlich wird der Speicher für die Rückwärtsfahrt bei jedem NC-Reset gelöscht.


Bekannte Einschränkungen

q Eine Bewegung mit externem Meßsignal (G100) wird nur beim ersten mal vollständig ausgeführt. Bei jeder weiteren Vorwärts-/ Rückwärtsbewegung wird das externe Meßsignal nicht mehr berücksichtigt.

q Eine Referenzpunktfahrt kann nicht rückwärts gefahren werden, weil diese Bewegung externen Einfluß auf die Achsbewegungen hat (Nockensignal) und diese in Rückwärtsrichtung nicht ausgeführt werden können. Auch digitale Antriebe können ohne CNC selbstständig die Referenzpunktfahrt durchführen. Deshalb ist G74 für das Rückwärtsfahren nicht zugelassen. Alle zuvor gespeicherten Befehle werden verworfen.

q Der Handbetrieb ohne parallele Interpolation (G200) und der Handbetrieb mit überlagerter Interpolation (G201) werden im Vorwärts-/ Rückwärtsfahrbetrieb nicht behandelt.

q Die Bewegungen im Handbetrieb aufgrund von Tastendrücken oder Handradinkrementen werden während Vorwärts-/ Rückwärtsfahrbetrieb weder gespeichert noch invertiert.

q Spindelspezifische Befehle (Drehzahl/Position) werden nicht invertiert.

q Die explizite Synchronisation für unabhängige Achsen kann im Moment während der Rückwärtsfahrt nicht invertiert werden.

q Der Satzvorlauf wird im Moment nicht berücksichtigt.


Parameter

Mehr:

button Überblick

button Beschreibung


Überblick

Konstante | Beschreibung
M_FKT_ANZ | Maximale Anzahl von M-Funktionen [SYSP - Kapitel 8.1]
KANAL_ANZ_RND | Maximale Anzahl unabhängiger Kanäle [SYSP - Kpitel 2.4]

ID | Parameter | Bedeutung
P-CHAN-00041 | m_synch[i] | Synchronisationarten für M-Funktionen
P-STUP-00033 | fb_storage_size[i] | Speichergrösse für das Rückwärtsfahren


Beschreibung

P-CHAN-00041

Synchronisationsarten für M-Funktionen

Parameter

m_synch[i]

Beschreibung

Im Array "m_synch[i]" wird die Synchronisationsart der entsprechenden M-Funktion definiert. Dabei definiert der Feldindex "i" die Nummer der M-Funktion. Die maximale Nummer bzw. Anzahl der M-Funktionen ist durch die Konstante M_FKT_ANZ begrenzt.

Der Wert von P-CHAN-00041 gibt an, welche Synchronisationsart die M-Funktion besitzt, d.h. wann eine Überprüfung auf das Vorliegen der SPS-Quittierung erfolgt. Eine Bewegung wird nicht ausgeführt bzw. spätestens zum Satzende hin gestoppt, wenn zum Zeitpunkt der Überprüfung keine Quittierung von der SPS eingetroffen ist.

Datentyp

UNS16

Datenbereich

NO_SYNCH, MOS, MVS_SVS, MVS_SNS, MNS_SNS, MNE_SNS, MVS_SLM, MVS_SLP, MEP_SVS, MET_SVS

Dimension

translatorisch: -

rotatorisch: -

Standardwert

NO_SYNCH

Anmerkungen

-

P-STUP-00033 | Speichergrösse für das Rückwärtsfahren
Parameter | fb_storage_size[i]
Beschreibung | Dieser Parameter legt die Speichergrösse in Byte für das Rückwärtsfahren auf der Bahn fest. Dabei definiert der Feldindex "i" die NC-Kanalnummer. Die maximale Kanalanzahl ist durch die Konstante KANAL_ANZ_RND begrenzt, wobei der erste Kanal mit dem Index "0" beginnt. Die NC prüft beim Hochlauf, ob die notwendige Minimalgröße eingehalten wird. Wenn dies nicht der Fall ist, so wird eine Warning erzeugt und die Speichergrösse auf den erforderlichen Mindestwert gesetzt. Wird die Speichergröße auf 0 gesetzt, so steht die Funktionalität "Vorwärts-/ Rückwärtsfahren auf der Bahn" nicht zur Verfügung. Die maximale Grösse wird nur durch die vorhandenen Ressourcen des PC begrenzt.
Datentyp | UNS32
Datenbereich | 0 ≤ P-STUP-00033 ≤ MAX(UNS32)
Dimension | translatorisch: - | rotatorisch: -
Standardwert | -
Anmerkungen | -