Einführung

TwinCAT CNC: Überblick

HLI-Schnittstelle

Zwischen CNC und PLC werden umfangreiche Datenmengen ausgetauscht. Dabei handelt es sich beispielsweise um

q Kommandos aus NC-Programm der CNC an die PLC (z.B. Technologie-Befehle wie M, S, T und H-Befehle usw).

q Quittierungen der Technologie-Befehle durch die PLC.

q Anzeigedaten der CNC (z.B. Momentane Achspositionen, aktuelle und programmierte Bahngeschwindigkeit usw).

q Aufträge der PLC an die CNC (z.B. Betriebsartenumschaltung, Feedhold setzen usw).

q Aufträge der GUI an die CNC, die von der PLC verifiziert und ggf. verweigert werden können (z.B. Betriebsartenumschaltung, Feedhold setzen usw).

Im folgenden Übersichtsbild ist die Schnittstelle zwischen CNC und PLC skizziert.

Abbildung 1-1: CNC-PLC-Interface

Diese Dokumentation beschreibt den Aufbau dieser Schnittstelle zwischen CNC und PLC, die im folgenden als High-Level-Interface (kurz HLI) benannt wird.

High-Level-Interface bezeichnet hier die Strukturierung der Schnittstelle mit komplexen Datenstrukturen und Handshakevariablen. Dies wird im Unterschied zu einer Datenschnittstelle auf niederem Abstraktionsniveau gesehen (Low-Level-Interface).

Mehr:

button Realisierung durch High-Level-Interface (HLI)

button Organisation des HLI

button Status und Anzeigeinformationen

button Steuerkommandos

button Betrieb mit und ohne PLC


Realisierung durch High-Level-Interface (HLI)

Um den Datenaustausch zwischen CNC und PLC zu realisieren, wird ein Speicherbereich als Shared Memory angelegt, auf den sowohl die CNC als auch die PLC zugreifen können. Dieser Speicherbereich wird als High-Level-Interface (HLI) bezeichnet.

Um diesen Datenzugriff zu ermöglichen, müssen die jeweiligen Sichten von CNC und PLC auf den Speicherbereich gleich sein. Die Konsistenz der Daten ist über geeignete Datenaustauschmechanismen sichergestellt.

Für die einfache Programmierung auf der PLC-Seite in IEC1131-3 wird dazu eine Bibliothek bereitgestellt, die den Aufbau des HLI in Structured Text enthält. Diese Bibliothek ist jeweils für das aktuelle HLI-Format und den aktuellen Stand der CNC gültig und kann sich bei einem Versionsupdate ändern. Entsprechend muss bei Einsatz einer neuen CNC auch die PLC mit der ggf. neuen Bibliothek neu übersetzt und geladen werden.


Organisation des HLI

Im Gegensatz zu der bei PLC-Anwendungen üblichen einfachen Strukturierung der auszutauschenden Daten in Eingabe-\Ausgabedaten liegen auf dem HLI komplexe Strukturen vor. Diese spiegeln die logische Gliederung der CNC in Kanäle, Achsen und Plattformdaten wieder.

Im folgenden Bild ist der logische Aufbau des HLI skizziert:

Abbildung 1-2: Strukturierung des HLI

Deutlich wird die Gliederung in kanalspezifische und achsspezifische Datenbereiche. Dabei besitzen die kanal- und achsspezifischen Speicherbereiche auf dem HLI den gleichen logischen Aufbau.

Die jeweiligen Speicherbereiche sind in

q einen Kopfbereich mit Verwaltungsdaten

q und in einen Nutzdatenbereich mit Statusinformationen, Steuerkommandos und Technologiedaten gegliedert.

Im folgenden Bild sind die kanal-/achsspezifischen Speicherbereiche vergrößert dargestellt

.

Abbildung 1-3: Daten eines Kanal \ einer Achse

Folgende Datenbereiche werden unterschieden, wobei Kanäle und Achsen gleich betrachtet werden dürfen:

Die Kopfbereiche enthalten

q Verwaltungsdaten wie Versionsinformationen, Anmeldeinformationen

Die Nutzdatenbereiche enthalten

q Status und Anzeigeinformationen (CNC → PLC),

q Steuerschnittstellen (PLC → CNC),

q Technologiebereiche (CNC → PLC und PLC → CNC),

q Sowie noch ggf. applikationsspezifische Daten.

Bestimmte Daten wie Statusinformationen werden von der CNC zyklisch aktualisiert und können bei Bedarf von der PLC gelesen werden. M-Funktionen, sogenannte Verbrauchsinformationen, müssen jedoch von der PLC gelesen werden. Dazu enthält das Interface geeignete Mechanismen, dass keine Daten verloren gehen sowie die Reihenfolge der Daten erhalten bleibt.


Status und Anzeigeinformationen

Die Statusinformationen werden unidirektional von der CNC an die PLC übertragen. Diese Daten werden von der CNC laufend aktualisiert und können von der PLC bei Bedarf gelesen werden. Die Aktualisierung der Statusinformationen erfolgt ohne Benachrichtigung der PLC, sie ist nicht mit einem Handshakeprotokoll oder Semaphorenmechanismus geschützt.

Bei großen Zykluszeiten der PLC registriert diese damit unter Umständen nicht jede kurzfristige Änderung, sondern erfährt nur den aktuellen Status.

Statusinformationen werden über Speicher auf dem HLI ausgetauscht. Die Übertragungsrichtung ist für jede Statusinformation festgelegt. Die Statusdaten werden auf dem HLI so weit als möglich als einzelne, elementare Daten (Byte, Bool, Integer, etc.) übertragen.

Zur besseren Strukturierung sind die Statusinformationen entsprechend des CNC-internen Aufbaus zusammengefasst.

Das folgende Bild stellt in vereinfachter Weise den internen Aufbau der CNC dar:

Abbildung 1-4: Übertragung von Statusinformationen

Die CNC gliedert sich in folgende Module:

q Dec (Decoder): Modul zur Decodierung des NC-Programmes. In diesem Modul wird das CNC-Programm in ein steuerungsinternes Datenformat überführt und verschiedene Berechnungen wie Parameterrechnung usw. werden durchgeführt. Der Decoder läuft zeitlich der tatsächlichen Bearbeitung voraus und ist damit unter Umständen mehrere hundert NC-Sätze weiter als die aktuelle Bearbeitung.

q Bavo (Bahnvorbereitung, Look-Ahead): Modul zur Berechnung dynamischer Grenzwerte aufgrund der eingestellten Parameter, erkennt Ecken und veranlasst Geometrieänderungen. Auch die Bavo läuft asynchron zur aktuellen Bearbeitung und ist damit unter Umständen mehrere hundert NC-Sätze weiter als die aktuelle Bearbeitung.

q Ipo (Interpolator): Modul zur Generierung einzelner Positionen für den aktuellen Zyklus, Berücksichtigung von programmierten und maximalen Geschwindigkeiten usw. . Der Interpolator stellt den aktuellen Zustand der Maschine dar.


Steuerkommandos

Steuerkommandos werden sowohl von der CNC an die PLC als auch in die umgekehrte Richtung übertragen.

Kommuniziert eine Oberfläche (GUI) über die CNC-Kommunikationsobjekte, ist die Möglichkeit vorhanden, jedes Kommando, das sowohl von der GUI als auch der PLC bedient werden kann, über die PLC umzuleiten. Die PLC trifft dann die Entscheidung, inwieweit das GUI-Kommando an die CNC durchgesetzt werden darf.

Für jedes Steuerkommando ist auf dem HLI eine sogenannte Control-Unit angelegt. Die Control-Units werden nach dem Wirkungsziel unterschieden und benannt.

q Control-Units, die zur Beeinflussung der CNC dienen, werden als MC-Control-Units bezeichnet (LC wirkt auf MC ein)

q Control-Units die zur Beeinflussung der PLC dienen, werden als LC-Control-Units bezeichnet (MC wirkt auf LC ein)

Die nachfolgende Abbildung veranschaulicht die realisierte Interaktion zwischen den Teilnehmern eines Steuerungssystem unter Verwendung einer MC-Control-Unit.

Abbildung 1-5: Anwendung einer MC-Control-Unit

Sollen Kommandos der GUI über die PLC umgeleitet werden, muss die PLC das Element X_Enable mit dem Wert TRUE belegen. Die entsprechenden Steuerkommandos der GUI werden dann vor der Verarbeitung auf das Element X_Request der MC-Control-Unit gelegt. Damit hat die PLC die Möglichkeit, dieses Anforderung der GUI zuzulassen oder abzulehnen. Wird ein Kommandierung der GUI durch die PLC erlaubt, so muss diese das Kommando vom Element X_Request auf das Element X_Command durch die PLC kopiert werden.

Ebenso kann die PLC Steuerkommandos an die CNC auch ohne vorherige Auftrag durch ein GUI direkt durch Beschreiben des Elements X_Command beauftragen.

Zur Kontrolle über den Erfolg der Kommandierung wird das Element X_State verwendet. Die CNC legt dort den zur Kommandierung korrespondierenden Status ab.

Eine MC-Control-Unit besitzt folgende Struktur:

TYPE MCControlUnit:

STRUCT

X_Request : < DATENTYP A >; (* von GUI kommandierte Daten *)

X_Enable : HLI_BOOLEAN; (* PLC bedient dieses Kommando *)

X_Command : < DATENTYP A >; (* von PLC kommandierte Daten *)

X_State : < DATENTYP B >; (* Rückmeldung der CNC *))

END_STRUCT

END_TYPE

Anmerkung:

q < DATENTYP A > und < DATENTYP B > können identisch sein.

q < DATENTYP A > und < DATENTYP B > können neben den Standarddatentypen (z.B. BOOL, INT, UINT, ... ) auch komplexe Datenstrukturen sein.

Mehr:

button Control Unit mit Verbrauchskontrolle


Control Unit mit Verbrauchskontrolle

Liegen die angeforderte bzw kommandierten Daten nicht statisch an, sondern soll hier eine einzelne Änderung übertragen werden, so sind die Daten der entsprechenden Controll-Unit mit einer zusätzlichen Verbrauchskontrolle versehen.

TYPE MCControlUnit:

STRUCT

X_Request : < DATENTYP A >; (* von GUI kommandierte Daten *)

X_Enable : HLI_BOOLEAN; (* PLC bedient dieses Kommando *)

X_Command : < DATENTYP A >; (* von PLC kommandierte Daten *)

X_RequestSemaphor : HLI_BOOLEAN; (* Request gültig *)

X_CommandSemaphor : HLI_BOOLEAN; (* Command gültig *)

X_State : < DATENTYP B >; (* Rückmeldung der CNC *))

END_STRUCT

END_TYPE

Beispiel:

CNC übernimmt die kommandierten Daten, wenn die Commandsemaphore den Value TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Value FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn die Commandsemaphore den Value FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Value TRUE.

CNC schreibt die von der GUI angeforderten Daten, wenn die Requestsemaphore FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn die Requestsemaphore TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.


Betrieb mit und ohne PLC

Die Maschineninbetriebnahme kann auch mit nur teilweise realisierter PLC-Funktionalität durchgeführt werden. Dazu enthält der CNC-seitige Treiber des HLI Mechanismen zur internen Simulation von Interaktionen zwischen PLC und CNC.

Beispiel:

Mit einer rudimentären PLC soll die Achse eingefahren werden. Dazu werden durch die PLC nur die Achsfreigaben gesetzt, weitere Funktionalität ist in der PLC noch nicht realisiert.

Um trotzdem Betriebsarten zu schalten oder einen Reset durchzuführen, simuliert nun der HLI-Treiber die notwendigen Quittierungen der PLC, damit die gewünschte Aktion trotzdem durchgeführt werden kann.

Um dieses Verhalten zu erreichen und trotzdem einen sicheren Betrieb zu gewährleisten, setzt die PLC für jede durch die PLC abgedeckte Funktionalität eine entsprechende Information an die CNC, einen sogenannten present-Merker. Dieses present bedeutet, dass die PLC möchte die entsprechende Schnittstelle bedienen und sendet notwendige Quittierungen.

Damit muss die PLC der CNC einmal global im HLI mitteilen, dass sie existiert. Zusätzlich werden alle Steuerkommandos einzeln freigegeben.

So sind drei Szenarien denkbar:

q CNC ohne PLC

q CNC mit PLC, die nicht alle Elemente des HLI bedient

q CNC mit PLC, die alle Elemente des HLI bedient

In den Verwaltungsteilen jedes Kanals bzw. jeder Achse gibt es dieses Element present, durch das die PLC die entsprechende Verantwortung für diese Schnittstelle übernimmt.

Zusätzlich ist in jeder Verwaltungseinheit eines Steuerkommandos, der Control-Unit, ein Element enthalten, mit dem die PLC der CNC mitteilt, dass sie dieses Kommando unterstützt. Dieses Element X_Enable bedeutet gleichzeitig, dass wenn das entsprechende Kommando auch über die GUI abgesetzt werden kann, diese über die PLC umgeleitet wird und von dort die CNC erreicht. Die CNC kann damit nicht mehr unterscheiden, ob ein Kommando von der PLC oder der GUI kommt.

Abbildung 1-6: Interaktion MC-Control-Unit und PLC

Der Anschluss der GUI über die CNC ist nicht zwingend erforderlich. Ebenso kann eine Oberfläche direkt mit der PLC kommunizieren, der zusätzlich vorgesehene Kommunikationsweg GUI -> CNC -> PLC wird in diesen Fällen nicht verwendet.


Definition von Achsen

In einem Steuerungssystem kann zwischen verschiedenen Arten von Achsen unterschieden werden. Eine sinnvolle Einteilung ist die in programmierbare, logische und physikalische Achsen.

Eine physikalische Achse entspricht einer realen Achse an der Maschine (translatorische oder rotatorische Achse). Innerhalb einer Steuerung wird eine physikalische Achse softwaretechnisch durch eine logische Achse repräsentiert (1:1-Abbildung).

Eine logische Achse ist die einheitliche Darstellung einer Achse im Achsenkoordinatensystem (acs). Eine logische Achse stellt steuerungsintern alle relevanten Informationen bereit, die für die zugehörige physikalische Achse notwendig sind. Seitens der CNC hat jede logische Achse einen eigenen Parametersatz sowie eine eigene Schnittstelle zur PLC.

Eine programmierbare Achse ist eine durch den Anwender im Teileprogramm oder MDI-Betrieb programmierbare bzw. beauftragbare Achse. Eine programmierbare Achse entspricht entweder direkt einer logischen / physikalischen Achse (1:1-Abbildung) oder wird durch kinematische Transformation auf logische / physikalische Achsen abgebildet (1:n-Abbildung).

Bei mehrkanaligem Betrieb kann eine logische Achse zwischen Kanälen getauscht werden (Achstausch). Dabei kann die gleiche logische Achse aus Sicht des Programmierers in den NC-Kanälen in unterschiedlichen Ausprägungen vorkommen, z.B. in einem Kanal als programmierbare Spindel (Geschwindigkeitsvorgabe, drehzahlgeregelt) und in einem anderen Kanal als programmierbare C-Achse (Positionsvorgabe, lagegeregelt).

Für einfache Maschinen (z.B. eine 3-achsige Fräsmaschine mit kartesisch angeordneten Linearachsen X, Y, Z) sind programmierbare, logische und physikalische Achsen in der Regel identisch (1:1 Abbildung). Bei komplexen Maschinenkinematiken oder bei Industrierobotern ist eine kinematische Transformation von programmierten auf logische / physikalische Achsen erforderlich (1:n-Abbildung).

Achsen werden im CNC-Programm programmiert und durch die CNC bewegt, alternativ können bestimmte Bewegungen auch direkt durch die PLC veranlasst werden.

Die PLC-Schnittstelle für Achsen ist ähnlich aufgebaut wie die Schnittstelle für Kanäle. M-Funktionen, die als achsspezifische M-Funktionen konfiguriert sind, erscheinen auch auf der achsspezifischen Schnittstelle und sind auch über diese Schnittstelle zu quittieren. Ebenso enthält diese Schnittstelle Achsfreigaben sowie Statusinformationen dieser Achse.


Definition von Koordinatensystemen

Bedingt durch die Struktur einer Maschine als auch durch die Bearbeitungsprogramme müssen verschiedene Koordinatensysteme berücksichtigt werden. Die Gesamtheit einer Maschine stellt das Bezugskoordinatensystem in Weltkoordinaten dar. Die einzelnen Achsen definieren selbst wiederum Koordinatensysteme sowie das Werkstück und das Werkzeug.

Nachfolgend sind die wesentlich verwendeten zwei unterschiedlichen Koordinatensystemen aufgeführt.

Achsen-Koordinatensystem acs (axes coordinate system)

Jede Achse hat ihr eigenes Koordinatensystem. Eine Achse ist entweder an den Maschinengrundkörper oder auf eine andere Achse montiert. Die Basis stellt damit der Maschinengrundkörper oder die entsprechende Achse dar. Das Achsenkoordinatensystem einer Achse ist fest bzgl. des Montagepunktes dieser Achse.

Teileprogramm-Koordinatensystem pcs (partprogramm coordinate system)

Dieses Koordinatensystem wird innerhalb der Geometriebeschreibung mittels DIN 66025 Programmiersprache verwendet. Die Daten in einem Teileprogramm sind Programmkoordinaten. Ausnahmen sind G-Funktionen, die sich auf direkte Achsenkoordinaten beziehen.

Zur Vollständigkeit sollen noch weitere Koordinatensystembezeichnungen aufgelistet werden.

Maschinen-Koordinatensystem mcs (machine coordinate system)

Das Maschinenkoordinatensystem stellt ein abstraktes Koordinatensystem dar. Es ist nicht an einen festen Punkt der Maschine gebunden. Alle anderen Koordinatensysteme beziehen sich auf dieses Koordinatensystem.

Werkstück-Koordinatensystem wcs (workpiece coordinate system)

Dieses Koordinatensystem ist fixiert an einen festen Punkt des Werkstücks. Die Beschreibung des Werkstücks durch Koordinatenangaben bezieht sich auf dieses System.

Werkzeug-Koordinatensystem tcs (tool coordinate system)

Das Werkzeugkoordinatensystem hat seinen Ursprung an der Aufspannung des Werkzeugs. Werkzeugangaben (Geometrie) beziehen sich auf dieses System. Eine Längenkorrektur wird daher in Werkzeugkoordinaten angegeben. Bei kartesischen Maschinen kann die Z-Achse mit der Längenkorrektur zusammenfallen.

Daten oder Variablen, die im folgenden beschrieben werden, beziehen sich daher immer auf ein bestimmtes Koordinatensystem. In obigem Bild sind drei Koordinatensysteme eingezeichnet. Die eingezeichneten Verschiebungen ∆x, ∆y, ∆z sowie die Orientierungen ∆Φ, ∆Θ, ∆Ψ repräsentieren die Transformationsparameter vom mcs zum wcs. Bei den Orientierungswinkeln handelt es sich um Euler-Winkel.

Die Namensgebung muss durch einen weiteren Zusatz ergänzt werden, um den zeitlichen Aspekt zu berücksichtigen. Im nachfolgenden Bild ist die Bearbeitungsrichtung eines Bearbeitungssatzes gezeigt. Die end position stellt den programmierten Wert dar, active position den momentanen Wert des Interpolators und current position die tatsächliche Position einschließlich des Regelfehlers.

Abbildung 2-1: Positionswerte im PC und AC


Beschreibung des achsspezifischen Interface

Mehr:

button Achsidentifikation

button Achspositionen

button Statusinformationen einer Achse

button Statusinformation des Antriebes einer Achse

button Statusinformation bezüglich der Kompensation einer Achse

button Statusinformation bezüglich Messen

button Steuerkommandos einer Achse

button Steuerkommandos eines Antriebs

button Externe Kommandierung einer Achse


Achsidentifikation

Achsname (PCS)
Beschreibung | Name der logischen Achse, mit welcher diese aktuell im Automatikprogramm / Handsatz referenziert wird (z.B. X, Y, Z). Dieser kann defaultmässig bei der Parametrierung des Kanals (SDA-MDS-Liste) oder dynamisch im NC-Programm durch einen Achstauschbefehl geändert werden.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].HLIAxeName_Data.STR_Zeichen
Datentyp | ARRAY[1..GCW_250_HLIAchsNameLaenge] OF BYTE
Zugriff | PLC liest

Logische Achsnummer (PCS)
Beschreibung | Ist eine Achse einem Kanal zugeordnet, wird hier die logische Achsnummer dieser Achse angezeigt. Die logische Achsnummer ist systemweit eindeutig. Die logische Achsnummer wird in der Parameterliste der Achse beliebig festgelegt und wird u.a. zur Identifizierung der Achse bei Achstausch (z.B. #CALL AX [X, 1, 0]) benötigt.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].W_LogAchsNr pAC[axis_idx]^.addr^.StateIpo_Data.W_LogAxeNr
Datentyp | UINT
Wertebereich | [1, nAxis]
Zugriff | PLC liest

Achsspindel (ACS)
Beschreibung | Gibt an, ob die Achse aktuell über den Bahninterpolator (z.B. Gewindebohren, -schneiden) oder die BF Spindel interpoliert wird.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIpo_Data.X_SpindleAxis
Datentyp | BOOL
Wertebereich | [TRUE = die Achse wird über die BF Spindel verfahren, FALSE]
Zugriff | PLC liest

Achstyp (PCS)
Beschreibung | Typ der Achse
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].W_AxisType pAC[axis_idx]^.addr^.StateIpo_Data.W_Type
Datentyp | UINT
Wertebereich | 1 = Translator, 2 = Rotator, 4 = Spindel
Zugriff | PLC liest

Kanalnummer der Achse
Beschreibung | Nummer des Kanals, über welchen die Achse momentan beauftragt wird. == 0: Achse ist momentan nicht in einem Kanal, bzw. Spindel bearbeitet keine Beauftragung eines Kanals. != 0: Achse gehört zu einem Kanal, bzw. Spindel führt ein Kommando eines Kanals aus.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.W_NCChannel pAC[axis_idx]^.addr^.StateIpo_Data.W_NCChannel
Datentyp | UINT
Wertebereich | [1..HLI_SYS_CHNMAX]
Zugriff | PLC liest


Achspositionen

Mehr:

button Achspositionen im PCS

button Achspositionen im ACS


Achspositionen im PCS

Zielposition (PCS)
Beschreibung | Zielposition des aktuellen NC-Satzes.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_CmdPosition
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Sollposition (PCS)
Beschreibung | Position, die im aktuellen Takt als Sollwert vorgegeben wird.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_ActPosition
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Istposition (PCS)
Beschreibung | Position, die im aktuellen Takt vom Messsystem zurückgemeldet wurde.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_CurrentPosition
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Positionssollwert inklusive Handbetriebsoffset (PCS)
Beschreibung | Aktuelle Sollposition einschließlich des Handbetriebsoffsets.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_ManPosition
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Handbetriebsoffset (PCS)
Beschreibung | Aktueller Handbetriebsoffsets.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_ManOffset
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Gesamtoffset (PCS)
Beschreibung | Summe aller aktiven Versätze TotalOffset = - Versaetze + Werkzeug
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_TotalOffset
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten | Verschiebungen gehen negativ in Summe ein ! Bei 2.5 D Betrieb: TotalOffset = - Offset_G92 - Offset_NP - ... + WZ_Achsversätze Berechnung von PCS Koordinaten aus ACS Koordinaten: PCS = ACS + TotalOffset Beispielprogramm: %total_offset N00 X100 (ACS = 100mm) N10 G92 X11 (total_offset = -11mm) N20 X200 (ACS = 211mm) N30 D1 (total_offset = 64mm,) ( bei wz[1].ax_versatz[0] 750000[0.1μm]) N40 V.G.WZ_AKT.V[0]=55 (total_offset = 44mm) N30 X300 (-> ACS-Koordinate = 256mm) M30


Achspositionen im ACS

Zielposition (ACS)
Beschreibung | Zielposition im aktuellen NC-Satz, ACS. Dies stellt die auf die Achsen bezogene Zielposition des Programmkoordinatensystems dar. Sie ist nur gültig, solange keine Transformation aktiv ist. Derzeit wird die Zielposition nicht auf die Achsen rücktransformiert.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_EndPositionACS
Datentyp | DINT
Zugriff | PLC liest

Istposition (ACS)
Beschreibung | Istposition des aktuellen Taktes im Achskoordinatensystem
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_CurrentPositionACS
Datentyp | DINT
Zugriff | PLC liest

Sollposition (ACS)
Beschreibung | Sollposition des aktuellen Taktes im Achskoordinatensystem
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_ActivePositionACS
Datentyp | DINT
Zugriff | PLC liest

Positionsoffset
Beschreibung | Anzeige des aktuellen Offsets der Absolutposition zwischen der Lagereglerachse (reale physikalische Achse) und der Interpolatorachse (logische Achse).
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_PositionOffsetPhysicalLogicalACS
Datentyp | DINT
Wertebereich | 0.1 µm
Zugriff | PLC liest


Statusinformationen einer Achse

Achszustand (PCS)
Beschreibung | Achszustand, PCS
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].W_State
Datentyp | UINT
Wertebereich | 1 = Ready, 3 = Active, 5 = Hold
Zugriff | PLC liest
Besonderheiten |

Achszustand (ACS)
Beschreibung | Achszustand, ACS
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.W_AxisState
Datentyp | UINT
Wertebereich | 1 = Ready, 3 = Active, 5 = Hold, 7 = Error
Zugriff | PLC liest
Besonderheiten | Auch wenn eine Achse im PCS nicht bewegt wird, kann durch eine entsprechende kartesische oder kinematische Transformation trotzdem eine Bewegung der physikalischen Achse durchgeführt werden. Beispiel: 90° Drehung um Z, bei Programmierung von X wird Y bewegt.

Restfahrweg (PCS)
Beschreibung | Verbleibender Restfahrweg im aktuellen NC-Satz, Differenz zwischen Ziel- und Sollposition.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].D_DistToGo
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Referenzpunktfahrt erfolgt (PCS)
Beschreibung | Die Achse hat die Referenzpunktfahrt erfolgreich abgeschlossen und ist damit referenziert.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].X_HomingDone
Datentyp | BOOL
Wertebereich | [TRUE = Achse ist referenziert, FALSE]
Zugriff | PLC liest
Besonderheiten |

Referenzpunktfahrt erfolgt (ACS)
Beschreibung | Die Achse hat die Referenzpunktfahrt erfolgreich abgeschlossen und ist damit referenziert.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_HomingDone
Datentyp | BOOL
Wertebereich | [TRUE = Achse ist referenziert, FALSE]
Zugriff | PLC liest
Besonderheiten |

Schleppfehler
Beschreibung | Momentaner Schleppfehler der Achse, Differenz zwischen Soll- und Istposition.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_FollowingError
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Achse im Regelfenster
Beschreibung | Die Achse befindet sich im Regelfenster
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_InWindow
Datentyp | BOOL
Wertebereich | [TRUE = Achse befindet sich im Regelfenster, FALSE]
Zugriff | PLC liest
Besonderheiten |

Achse in Position
Beschreibung | Die Achse befindet sich in Position
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_InPosition
Datentyp | BOOL
Wertebereich | [TRUE = Achse in Position, FALSE]
Zugriff | PLC liest
Besonderheiten |

Achse ist bewegt
Beschreibung | Die Achse wird aktuell für die programmierte Bahnbewegung mitverwendet.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_IsMoved
Datentyp | BOOL
Wertebereich | [TRUE = Achse ist bewegt, FALSE]
Zugriff | PLC liest
Besonderheiten |

Achse wird verfahren

Beschreibung

Die Achse fährt, d.h. bei der aktuellen Interpolation wird ein Sollwert für diese Achse generiert.

Signalfluss

CNC -> PLC

ST-Pfad

pAC[axis_idx]^.addr^.StateLR_Data.X_IsMoving

Datentyp

BOOL

Wertebereich

[TRUE = Achse wird verfahren, FALSE]

Zugriff

PLC liest

Besonderheiten

Wird eine Achse z.B. mit einer sehr kleinen Geschwindigkeit im NC-Programm verfahren, so gilt die Achse zwar für die komplette Verfahrbewegung als bewegt, jedoch kann es aufgrund der Quantisierung sein, dass sie nicht in jedem Takt einen neue Sollposition erhält. Somit würde die Anzeige Achse wird verfahren nicht in jedem Takt anliegen.

Ebenso gilt die Achse bei Override 0 als verfahren (Fahren mit Geschwindigkeit 0). Dagegen wird bei einem Vorschubstopp (FEEDHOLD) keine Geschwindigkeit kommandiert, d.h. die Achs gilt als nicht verfahren.

Achse fährt vorwärts
Beschreibung | Der letzte ausgegebene Sollwert führte zu einer Bewegung in positiver Verfahrrichtung.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_IsMovingForward
Datentyp | BOOL
Wertebereich | [TRUE = Achse fährt vorwärts, FALSE]
Zugriff | PLC liest
Besonderheiten | Ob sich die Achse tatsächlich bewegt kann mit dieser Statusanzeige nicht festgestellt werden, hierzu ist die Statusinformation pAC[axis_idx]^.addr^.StateLR_Data.X_IsMoving zu verwenden.

Satznummer
Beschreibung | Momentane Satznummer des aktiven NC-Satzes
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_BlockNr
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Achsversorgung
Beschreibung | Die Kommandierung der physikalischen Achsen erfolgt durch die angegebene logische Achse eines NC-Kanals.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.W_LinkToLogicalAxis
Datentyp | UINT
Wertebereich | [= 0 - not linked, > 0  logische Nummer der Achse]
Zugriff | PLC liest
Besonderheiten |

Achszuordnung
Beschreibung | Es wird angezeigt, auf welche physikalische Achse die kommandierten Sollwerte der logischen Achse des Kanals ausgegeben werden.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIPO_Data.X_LinkToPhysicalAxis
Datentyp | UINT
Wertebereich | [= 0 - not linked, > 0  logische Nummer der Achse]
Zugriff | PLC liest
Besonderheiten |

Aktive Achskopplungen

Beschreibung

Es wird angezeigt ob die Achse Slave-Achse in einer Achskopplung ist, siehe auch [PROG - #AXIS LINK].

Signalfluss

CNC -> PLC

ST-Pfad

pAC[axis_idx]^.addr^.StateIPO_Data. W_AxLinkMode

Datentyp

INT

Wertebereich

WERT | PLC-Konstante | Bedeutung
-1 | HLI_AXIS_LINK_NONE | Keine Achskopplung aktiv für diese Achse
0 | HLI_AXIS_LINK_NORMAL | Die Achse ist Slaveachse einer Achskopplung
1 | HLI_AXIS_LINK_SPDL | Achse ist Slaveachse einer Spindel-Kopplung
2 | HLI_AXIS_LINK_GANTRY | Die Achse ist Slaveachse eines Soft-Gantry-Verbundes
3 | HLI_AXIS_LINK_MIRROR | Die Achse ist Slaveachse einer Achskopplung, die Achse bewegt sich spiegelbildlich zur Masterachse

Zugriff

PLC liest

Besonderheiten

Die angezeigten Achskopplungen sind nur dann aktiv, wenn gleichzeitig auch eine Masterachsnummer angezeigt wird.

Achsnummer der Masterachse bei aktiver Achskopplung
Beschreibung | Wenn die Achse an eine Masterachse gekoppelt ist (siehe [PROG - #AXIS LINK]) wird hier die logische Achsnummer der Masterachse angezeigt.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIPO_Data.W_AxLinkMasterAxNr
Datentyp | UINT
Wertebereich | 0 : Keine Kopllung aktiv > 0: logische Achsnummer der Masterachse
Zugriff | PLC liest
Besonderheiten |

Mehr:

button Anbindung an ADS


Anbindung an ADS

Boxidentifikation

Beschreibung

Geräteabhängige Daten, welche bei der Konfiguration des Systems (z.B. Systemmanager) festgelegt werden, könne hier ausgelesen werden.

Datentyp

HLITwincatBox

Signalfluss

CNC -> PLC

ST-Pfad

pAC[axis_idx]^.addr^.StateLR_Data.HLITwinCATBoxData

Zugriff

PLC liest

Elemente des Datentyps

ST-Element

.AdsNetId

Beschreibung

Hier kann die AmsNetId des TwinCAT-Rechners angegeben werden, auf dem die Funktion ausgeführt werden soll. Für den lokalen Rechner, kann auch ein Leerstring angegeben werden.

Eine SPS-Variable von diesem Typ ist ein String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird. Der String besteht aus sechs, durch Punkte getrennten, Zahlenfeldern. Jedes Zahlenfeld enthält eine Zahl zwischen 0 und 254. Gültige AMS-Netzwerkadressen sind z.B. "1.1.1.2.7.1" oder "200.5.7.170.1.7". Wird ein Leerstring übergeben, so wird automatisch die AMS-Netzwerkkennung des lokalen Gerätes angenommen.

ST-Element

.W_AdsPort

Beschreibung

ADS-Geräte im TwinCAT-Netzverbund werden durch eine AMS-Netzwerkadresse und eine Portnummer identifiziert. Die Portnummer des ADS-Gerätes wird durch den Systemmanager bei der Konfiguration vergeben.

ST-Element

.W_AdsChannel

Beschreibung

Besonderheiten

Geräteidentifikation
Beschreibung | Über die DeviceId (Geräte-Id) wird das IO-Gerät spezifiziert, auf dem die Funktion ausgeführt werden soll. Die Geräte-Id's werden während der Hardware-Konfiguration von TwinCAT-Systemmanager festgelegt.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.HLITwinCATDeviceData
ST-Element | .D_Id
Datentyp | UDINT
Zugriff | PLC liest
Besonderheiten | Die Device-ID wird derzeit für ringglobale Aktionen (z.B. Phase schalten oder lesen) verwendet.


Statusinformation des Antriebes einer Achse

Antriebstyp
Beschreibung | Typ des Antriebs einer Achse. Für jede Achse wird der Antriebstyp in den Achsmaschinenparametern unter dem Eintrag kenngr.antr_typ angegeben.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.W_DriveType
Datentyp | UINT
Wertebereich | 1 konventioneller Antrieb (+-10V), nicht verwendet 2 SERCOS-Antrieb 3 Profidrive 4 Antriebssimulation 5 Lightbus 6 Terminalachse (+-10V) über Bus 7 Echtzeit-Ethernet 8 CANopen Antrieb 16 Virtueller Antrieb 32 CAN-Antrieb (Option)
Zugriff | PLC liest
Besonderheiten |

Antrieb bereit zur Leistungszuschaltung
Beschreibung | Der Antrieb der Achse ist bereit zur Leistungszuschaltung
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_ReadyPowerOn
Datentyp | BOOL
Wertebereich | [TRUE = bereit zur Leistungszuschaltung, FALSE]
Zugriff | PLC liest
Besonderheiten | SERCOS-Antriebe Bei SERCOS-Antrieben wird diese Information aus Bit 14 des Statuswortes abgeleitet.

Antrieb betriebsbereit

Beschreibung

Antriebssteuerteil und Leistungsversorgung sind betriebsbereit.

Signalfluss

CNC -> PLC

ST-Pfad

pAC[axis_idx]^.addr^.StateLR_Data.X_ReadyControlLoopOn

Datentyp

BOOL

Wertebereich

[TRUE = Antrieb betriebsbereit, FALSE]

Zugriff

PLC liest

Besonderheiten

SERCOS-Antriebe

Bei SERCOS-Antrieben wird diese Information aus Bit 15 des Statuswortes abgeleitet.

Des weiteren steht bei SERCOS-Antrieben dieses Datum mit X_ReadyPowerOn (Seite 34) in folgendem Zusammenhang:

· Ist
(pAC[axis_idx]^.addr^.StateLR_Data.X_ReadyControlLoopOn == TRUE) &&
(pAC[axis_idx]^.addr^.StateLR_Data.X_ReadyPowerOn == FALSE) bedeutet dies, dass Antriebssteuerteil und Leistungsversorgung betriebsbereit sind, der Antrieb jedoch drehmomentfrei ist.

· Ist
(pAC[axis_idx]^.addr^.StateLR_Data.X_ReadyControlLoopOn == TRUE) &&
(pAC[axis_idx]^.addr^.StateLR_Data.X_ReadyPowerOn == TRUE) bedeutet dies, dass der Antrieb in Betrieb ist.
D.h.
Vorschubfreigabe, Achse und Antrieb ein sind auf TRUE gesetzt und wirksam. Damit ist der Antrieb drehmomentbehaftet und folgt der Positionssollwertvorgabe des NC-Kerns.

Antriebsfehler
Beschreibung | Im Antrieb ist ein Fehler aufgetreten. Der Antrieb ist deshalb verriegelt.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Error
Datentyp | BOOL
Wertebereich | [TRUE = Fehler ist aufgetreten, FALSE]
Zugriff | PLC liest
Besonderheiten | SERCOS-Antriebe Bei SERCOS-Antrieben wird diese Information aus Bit 13 des Statuswortes abgeleitet.

Antriebspezifischer Zustand
Beschreibung | Antriebsspezifischer Zustand entsprechend der Spezifikation des Antriebs (SERCOS, CAN, ...)
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.W_NativeDriveState
Datentyp | UINT
Zugriff | PLC liest
Besonderheiten | Entspricht bei SERCOS dem Antriebsstatuswort (S-0-00135).

Antriebsdaten lesen
Beschreibung | Daten, die vom Antrieb an den NC-Kern übermittelt werden. Der Inhalt ist applikationsspezifisch Diese Daten stehen parallel auch im Zustand der Control Unit bereit, s. Antriebsdaten zyklisch lesen / schreiben
Besonderheiten | Die Datenübertragung kann derzeit nur bei SERCOS-Antrieben genutzt werden. Hierzu muss in der Achsparameterliste die Übertragung des Wertes an den Antrieb freigeschaltet werden, z.B.: # zyklisches Lesen des 4 Byte-PLC-Wertes uns32_3 auf S-0-0819 antr_digital.typ.sercos.at[1].ident_nr 0819 antr_digital.typ.sercos.at[1].ident_len 4 antr_digital.typ.sercos.at[1].nc_ref LR_VAR3_IN
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_Word1 pAC[axis_idx]^.addr^.StateLR_Data.D_Word2 pAC[axis_idx]^.addr^.StateLR_Data.D_Word3 pAC[axis_idx]^.addr^.StateLR_Data.D_Word4
Datentyp | UDINT
Zugriff | PLC liest
Besonderheiten |

DRIVE_STATE_MODE_0
Beschreibung | present mode OF drive i.e. position loop control DRIVE_STATE_MODE_0 0x00000001
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode0
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten |

DRIVE_STATE_MODE_1
Beschreibung | DRIVE_STATE_MODE_1 0x00000002
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode1
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten |

DRIVE_STATE_MODE_2
Beschreibung | DRIVE_STATE_MODE_2 0x00000003
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode2
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten |

DRIVE_STATE_MODE_3
Beschreibung | DRIVE_STATE_MODE_3 0x00000004
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode3
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

DRIVE_STATE_MODE_4
Beschreibung | DRIVE_STATE_MODE_4 0x00000005
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode4
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

DRIVE_STATE_MODE_5
Beschreibung | DRIVE_STATE_MODE_5 0x00000016
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode5
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

DRIVE_STATE_MODE_6
Beschreibung | DRIVE_STATE_MODE_6 0x00000007
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_Mode6
Datentyp | BOOL
Wertebereich |
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt


Statusinformation bezüglich der Kompensation einer Achse

Kompensation der Antriebsdrift
Beschreibung | Zustand der Aktivierung der Driftkompensation des Antriebs
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_DriftErrorComp
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

Kompensation des Spindelsteigungsfehler
Beschreibung | Zustand der Aktivierung der Spindelsteigungsfehlerkompensation
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_PitchErrorComp
Datentyp | BOOL
Wertebereich | [TRUE = Spindelsteigungsfehlerkompensation aktiv, FALSE]
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

Kompensation des Temperatureinflusses
Beschreibung | Aktivierung der Temperaturkompensation des Antriebs
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_TempErrorComp
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

Kompensation der Umkehrspanne
Beschreibung | Zustand der Aktivierung der Kompensation der Umkehrspanne des Antriebs
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_BacklashErrorComp
Datentyp | BOOL
Wertebereich | [TRUE = Kompensation der Umkehrspanne aktiv, FALSE]
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt

Vorsteuerung
Beschreibung | Zustand der Aktivierung der Vorsteuerung
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_FeedForward
Datentyp | BOOL
Wertebereich | [TRUE = Vorsteuerung aktiv, FALSE]
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt


Statusinformation bezüglich Messen

Zustand Messtaster
Beschreibung | Zustand des Messtasters
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_MeasureEquipActive
Datentyp | BOOL
Wertebereich | [TRUE = Messtaster aktiv, FALSE]
Zugriff | PLC liest
Besonderheiten |

Messwert gültig
Beschreibung | Ein gültiger Messwert wurde vom Antrieb gelatcht
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_MeasureValueOk
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Zugriff | PLC liest
Besonderheiten | Wird derzeit nicht versorgt


Steuerkommandos einer Achse

Vorschubfreigabe, Achse
Beschreibung | Achsspezifische Vorschubfreigabe Für alle zu bewegenden Achsen muss die Vorschubfreigabe gesetzt sein. Ist dies nicht gegeben, findet keine Bahnbewegung statt.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | SERCOS-Antriebe Bei SERCOS-Antrieben wird das Datum auf das Bit 13 des Steuerworts geleitet.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_ReleaseFeedhold
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command . X_Request
Datentyp | BOOL
Wertebereich | [TRUE = Antriebsfreigabe, Übergang TRUE → FALSE: Der Antrieb wird unter Einhaltung der Beschleunigungsparameter stillgesetzt. FALSE = Antrieb HALT]
Rückgabewert
ST-Element | . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Antriebsfreigabe, FALSE = Antrieb HALT]
Umleitung
ST-Element | . X_Enable

Vorschubstopp EIN/AUS, Achse
Beschreibung | Achsspezifischer Vorschubstopp Der achspezifische Vorschubstopp wirkt sich auf eine Achse aus, falls diese aktuell nicht im Bahnverbund sondern im Handbetrieb oder als unabhängige Achse verfahren wird. Ansonsten wirkt für die Achse der globale Vorschubstopp des Kanals.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Datentyp | MCControlBoolUnit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_Feedhold
Kommandierter und angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Vorschubstopp ein, FALSE = Vorschubstopp aus]
Umleitung
ST-Element | . X_Enable

Vorschuboverride, Achse
Beschreibung | Achsspezifischer Vorschuboverride Mit dem achsspezifischen Vorschuboverride kann die Verfahrgeschwindigkeit einer Achse mit einem zusätzlichen Faktor gewichtet werden. Der achspezifische Vorschuboverride wirkt sich auf eine Achse nur dann aus, falls diese aktuell nicht im Bahnverbund, sondern im Handbetrieb oder als unabhängige Achse verfahren wird. Ansonsten wirkt für die Achse der globale Override des Kanals.
Datentyp | MCControlUNS16Unit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlUNS16Unit_Override
Kommandierter und angeforderter und Rückgabewert
ST-Element | .D_Command .D_Request .D_State
Einheit | 0.1 %
Datentyp | UINT
Wertebereich | [0, P-AXIS-00109] Beim Parameter P-AXIS-00109 handelt es sich um einen achsspezifischen Parameter. Sein Wert ist typischerweise 1000. Siehe [AXIS].
Umleitung
ST-Element | . X_Enable

Vorschuboverride gültig, Achse
Beschreibung | Achsspezifischer Vorschuboverride gültig
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_OverrideValid
Kommandierter und angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Achsspezifischer Vorschuboverride gültig, FALSE]
Umleitung
ST-Element | . X_Enable

Antrieb EIN
Beschreibung | Antrieb EIN
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | SERCOS-Antriebe Bei SERCOS-Antrieben wird das Datum auf das Bit 15 des Steuerworts geleitet.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_DriveOn
Kommandierte und angeforderter Werte
ST-Element | . X_Command . X_Request
Datentyp | BOOL
Wertebereich | [TRUE = Antrieb EIN, Übergang TRUE → FALSE: Der Antrieb wird bestmöglich stillgesetzt. FALSE = Antrieb AUS]
Rückgabewert
ST- Element | . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Antrieb EIN, FALSE = Antrieb AUS]
Umleitung
ST-Element | .X_Enable

Reglerfreigabe
Beschreibung | Reglerfreigabe ↔ achsspezifische Drehmomentzuschaltung.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | SERCOS-Antriebe Bei SERCOS-Antrieben wird das Datum auf das Bit 14 des Steuerworts geleitet.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_TorquePermission
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command . X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Drehmomentzuschaltung, FALSE = Antrieb ist drehmomentfrei]
Umleitung
ST-Element | . X_Enable

Für SERCOS-Antriebe kann aus der nachfolgenden Grafik der Zusammenhang zwischen den Control-Units des HLI und dem SERCOS-Statuswort bzw. SERCOS-Controlwort entnommen werden.

Abbildung 2-2: Interaktion Control Units und SERCOS Steuer- bzw. Statuswort

Referenznocken

Beschreibung

Signal eines Referenznocken bei der Referenzpunktfahrt.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Besonderheiten

Die Kommandierung dieses Signals wirkt sich nur dann aus, wenn im Achsmaschinendatensatz der betreffenden Achse die Kenngröße lr_hw[i].cam_direct_access = 0 gesetzt ist.

Durch Verwendung der Kenngröße lr_hw[i].cam_level im Achsmaschinendatensatz kann die Wirkung dieses Kommandos von high-aktiv auf low-aktiv parametriert werden.

Nachfolgend wird die Wirkung im Standardfall beschrieben.

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_ReferenceCam

Kommandierter, angeforderter und Rückgabewert

ST- Element

. X_Command

. X_Request

. X_State

Datentyp

BOOL

Wertebereich

[TRUE = Referenznocken geschaltet, FALSE = Referenznocken nicht geschaltet]

Umleitung

ST-Element

. X_Enable

Reduzierte Geschwindigkeit, Achse
Beschreibung | Durch setzen dieses Signals wird die Achsgeschwindigkeit bei G00 und G01 auf die in den Achsparametern P-AXIS-00214 bzw. P-AXIS-00155 definierten Werte reduziert. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Befindet sich diese Achse in einem Kanal, werden auch die Grenzwerte der an der Bewegung beteiligten Achsen berücksichtigt. Der wirksame Wert für die reduzierte Geschwindigkeit wird dann so ermittelt, dass keine er an der Bewegung beteiligten Achsen ihren konfigurierten Grenzwert überschreitet. Das Verhalten ist dann identisch zur Beauftragung über einen Kanal.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.MCControlIpo_Data.MCControlBoolUnit_ReducedFeed
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Reduzierte Geschwindigkeit aktiv, Reduzierte Geschwindigkeit nicht aktiv]
Umleitung
ST-Element | . X_Enable

Reduzierte Geschwindigkeit in Zone 1, Achse
Beschreibung | Durch setzen dieses Signals wird die Achsgeschwindigkeit auf die im Achsparameter P-AXIS-00030 definierte Geschwindigkeit begrenzt wenn sich die Achse innerhalb des durch die Parameter P-AXIS-00085 und P-AXIS-00093 definierten Bereiches befindet. Falls notwendig erfolgt eine Verzögerung der Achse nach Eintreten in den Bereich. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Befindet sich die Achse in einem Kanal, werden auch die Grenzwerte der an der Bewegung beteiligten Achsen berücksichtigt, die sich ebenfalls in einer geschwindigkeitsreduzierten Zone befinden.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.MCControlIpo_Data.MCControlBoolUnit_ReducedFeedZone
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Reduzierte Geschwindigkeit für Zone 1 aktiv, Reduzierte Geschwindigkeit für Zone 1 nicht aktiv]
Umleitung
ST-Element | . X_Enable

Reduzierte Geschwindigkeit in Zone 2 Achse
Beschreibung | Durch Setzen dieses Signals wird die Achsgeschwindigkeit auf die im Achsparameter P-AXIS-00030 definierte Geschwindigkeit begrenzt wenn sich die Achse innerhalb des durch die Parameter P-AXIS-00097 und P-AXIS-00105 definierten Bereiches befindet. Falls notwendig erfolgt eine Verzögerung der Achse nach eintreten in den Bereich. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Befindet sich die Achse in einem Kanal, werden auch die Grenzwerte der an der Bewegung beteiligten Achsen berücksichtigt, die sich ebenfalls in einer geschwindigkeitsreduzierten Zone befinden.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.MCControlIpo_Data.MCControlBoolUnit_ReducedFeedZone2
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Reduzierte Geschwindigkeit für Zone 2 aktiv, Reduzierte Geschwindigkeit für Zone 2 nicht aktiv]
Umleitung
ST-Element | . X_Enable

Unterdrückung der Einlesefreigabe
Beschreibung | Unterdrücken der Einlesefreigabe Bei Löschen der Einlesefreigabe (Setzen von NoEfg) liest der Interpolator keine neuen vorab dekodierte NC-Verfahrinformation ein. D.h. die Bewegung wird nach Ende der aktuellen im Interpolator vorliegenden Aufträge gestoppt.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_NoEfg
Kommandierter, angeforderter und Rückgabewert
ST- Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = keine Einlesefreigabe, FALSE = Einlesefreigabe]
Umleitung
ST-Element | . X_Enable

Bearbeitungssimulation, Achse
Beschreibung | Schaltet die achsspezifische Bearbeitungssimulation ein und aus. Während der Bearbeitungssimulation werden alle achsspezifischen Technologiebefehle des NC-Programms nicht mehr an die PLC ausgegeben, sondern intern quittiert.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_MachiningSimu
Kommandierter, angeforderter und Rückgabewert
ST- Element | .X_Command . X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = keine Einlesefreigabe, FALSE = Einlesefreigabe]
Umleitung
ST-Element | . X_Enable

Nachführbetrieb
Beschreibung | Die Achse wird in Nachführbetrieb gesetzt, d.h. der Regelkreis wird geöffnet und der kommandierte Sollwert gleich dem eingelesenen Istwert gesetzt.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Da hierdurch der Sollwert die aktuelle Regelabweichung des Istwerts übernimmt, ist es möglich, dass eine externe Krafteinwirkung (Gewicht der Achse) langsam die Achsposition ändert (Drift).
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_FollowUp
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Regelkreis geöffnet, FALSE]
Umleitung
ST-Element | . X_Enable

Ignorierung der minimalen Werkzeuggeschwindigkeit

Beschreibung

Wird beim Werkzeugwechsel eine minimale Werkzeuggeschwindigkeit angegeben, so überwacht der NC-Kern, dass diese Untergrenze durch die Vorgabe eines Override nicht unterschritten wird.

Mit dieser Control Unit kann dieses Verhalten ausgeschaltet werden und der Override wirkt entsprechend der Vorgabe auf die Achse.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Besonderheiten

Die Control Unit ist nur dann wirksam, wenn es sich bei der Achse um eine Spindel handelt.

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_IgnoreVbMinTool

Kommandierter, angeforderter und Rückgabewert

ST-Element

. X_Command

.X_Request

.X_State

Datentyp

BOOL

Wertebereich

[TRUE = Unterschreitung der minimalen Werkzeuggeschwindigkeit erlaubt, FALSE]

Umleitung

ST-Element

.X_Enable

Gantrydifferenz ausfahren
Beschreibung | Wenn die Achse eine Gantry-Slaveachse ist und sowohl Master als auch Slaveachse referenziert sind, wird die Gantrydifferenz ausgefahren.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_GantryOn
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Ausfahren Gantrydifferenz erlaubt, FALSE]
Umleitung
ST-Element | . X_Enable

Übernahme Referenzposition

Beschreibung

Übernahme der Referenzposition und markieren der Achse als referenziert bei einer steigenden Flanke an dieser Control Unit. Abhängig vom Wert des Parameters P-AXIS-00278 wird die Istposition der Achse auf den folgenden Wert gesetzt:

P-AXIS-00278 | Referenzposition der Achse
ABSOLUT | Wert von P-AXIS-00152
OFFSET | Encoderposition des des Antriebs + P-AXIS-00279
PLC | Wert der in der Control-Unit MCControlSGN32Unit_ReferencePosition steht.
PLC_OFFSET | Encoderposition des Antriebs + Wert der in der Control Unit refpos_position steht.

Die Variable X_State zeigt an, ob der Referenzposition manuell gesetzt und somit das Koordinatensystem verschoben wurde. Das manuelle Setzen kann durch eine CNC-geführte Referenzpunktfahrt (G74) wieder aufgehoben werden.

Auch bei einer Achse mit absolutem Messsystem kann die Referenzposition manuell gesetzt werden.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Besonderheiten

Flankenauswertung: Die Funktion wird bei der steigenden Flanke am Command-Eingang ausgelöst.

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_SetReferencePosition

Kommandierter, angeforderter und Rückgabewert

ST-Element

.X_Command

.X_Request

. X_State

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Umleitung

ST-Element

. X_Enable

Zu setzende Referenzposition

Beschreibung

Wenn in der Achsparameterliste der Parameter P-AXIS-00278 den Wert PLC bzw. PLC_OFFSET hat, wird beim Auslösen der Übernahme der Referenzposition über das HLI (siehe auch Control Unit set_reference_position) der Wert dieser Control Unit zur Berechnung der zu setzenden Position benutzt.

Dabei gibt es die folgenden Möglichkeiten, wie der Wert dieser Control Unit verwendet werden kann:

P-AXIS-00278 | Referenzposition der Achse
PLC | Wert der in dieser Control Unit steht.
PLC_OFFSET | Encoderposition des Antriebs + Wert der in dieser Control Unit steht.

Datentyp

MCControlSGN32Unit, s. Beschreibung Control Unit

Besonderheiten

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControlSGN32Unit_ReferencePosition

Kommandierter, angeforderter und Rückgabewert

ST-Element

.D_Command

.D_Request

. D_State

Datentyp

DINT

Einheit

0,1 um bzw. 10-4 °

Wertebereich

[MIN_SGN32, MAX_SGN32]

Umleitung

ST-Element

. X_Enable

Löschen der Referenzierung

Beschreibung

Wurde eine Achse durch Setzen der Referenzposition oder durch G74 referenziert, so kann dieser Status durch die aktuell Kontrol-Unit wieder rückgängig gemacht werden.

Besitzt die Achse ein absolutes Messsystem, so gilt die Achse nachfolgend auch als nicht referenziert (sie kann durch ein G74 wieder referenziert werden).

Hierdurch kann z. B. die Softwareendschalterüberwachung zeitweise ausgeschaltet werden.

Eine Verschiebung durch die Kontrollunit Setzen der Referenzposition wird nicht wieder aufgehoben.

Die Variable X_State zeigt an, ob die Achse aktuell als nicht referenziert gilt.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Besonderheiten

Flankenauswertung: Die Funktion wird bei der steigenden Flanke am Command-Eingang ausgelöst.

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_ClearReferencePosition

Kommandierter, angeforderter und Rückgabewert

ST-Element

.X_Command

.X_Request

. X_State

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Umleitung

ST-Element

. X_Enable

Messsignal
Beschreibung | Über diese Control Unit kann das Messignal übergeben werden. Bei der Verwendung dieser Control Unit ist in der Parameterliste der entprechenden Achse der Eintrag kenngr.probing_signal_via_plc auf 1 zu setzen. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Flankenauswertung: Zur Übernahme des Messwertes wird die in der Achsparameterliste im Eintrag kenngr.mess_neg_flanke parametrierte Falnke verwendet. Siehe auch [AXIS].
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_ProbingSignal
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | . X_Enable

OTC Offset
Beschreibung | Durch Setzen dieses Verschleißoffsets kann der Verschleiß in Richtung dieser Achse korrigiert werden. Einheit: 0.1µm
Datentyp | MCControlSGN32Unit, s. Beschreibung Control Unit
Besonderheiten | Der Verschleißoffset wird durch die CNC über mehrere Takte ausgefahren.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlSGN32Unit_OTCOffset
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command .X_Request .X_State
Datentyp | DINT
Wertebereich | [-P-TOOL-00031, P-TOOL-00031]
Umleitung
ST-Element | .X_Enable

Mehr:

button Beauftragung von Achskopplungen

button Abstandsregelung


Beauftragung von Achskopplungen

Beauftragung von Achskopplungen
Beschreibung | Über diese Control Unit können für die jeweilige Achse Achskopplungen definiert werden. Damit kann die Bewegung der Achse durch die Bewegung von anderen Achsen zusätzlich oder exklusive beeinflusst werden. Weitere Einzelheiten können der Dokumentation [FCT-A9] entnommern werden.
Datentyp | MCControlAxisCouplingUnit, s. Beschreibung Control Unit
Zugriff | PLC liest State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data. MCControlAxisCouplingUnit_AxisCoupling
Kommandierte Werte
ST-Element | .AxisCouplingCommand
Signalfluss | PLC -> CNC
Datentyp | HLIAxisCouplingCommand
Zugriff | PLC schreibt
Rückgabewert
ST-Element | .AxisCouplingState
Signalfluss | CNC -> PLC
Datentyp | HLIAxisCouplingState
Zugriff | PLC liest
Umleitung
ST-Element | .X_Enable

Achskopplungen, Status
Beschreibung | Anzeige ob für diese Achse Achskopplungen aktiv sind, und wenn ja welche.
Signalfluss | CNC -> PLC
Datentyp | HLIAxisCouplingState
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data. MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingState
Zugriff | PLC liest
Elemente des Datentyps
Element | .desc[ ]
Datentyp | ARRAY [1 .. HLI_AxisCouplingMax] OFHLIAxisCouplingDesc
Zugriff | PLC liest
Element | .X_State
Datentyp | BOOL
Zugriff | PLC liest

Achskopplungen, Kommando

Beschreibung

In diesem Eintrag wird für die Achse eine Kopplungsvorschrift definiert. Die maximale Anzahl der definierbaren Kopplungsvorschriften ist in der Konstanten HLI_AxisCouplingMax definiert. Weitere Einzelheiten über die Definition der Kopplungsvorschriften können der Dokumentation [FCT-A9] entnommen werden.

Signalfluss

PLC -> CNC

Datentyp

HLIAxisCouplingCommand

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.
MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingCommand

Zugriff

PLC schreibt

Elemente des Datentyps

Element

.desc[ ]

Datentyp

ARRAY [1 .. HLI_AxisCouplingMax] OFHLIAxisCouplingDesc

Zugriff

PLC schreibt

Element

.X_Semaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Werte, wenn dieses Element den Wert TRUE besitzt. Nach erfolgreicher Übernahme setzt der CNC diesen Wert auf FALSE.

PLC setzt dieses Element auf TRUE, wenn die kommandierten Werte zur Übernahme durch den CNC freigegeben werden. Eine Aktualisierung der kommandierten Werte durch die PLC kann nur dann erfolgen, wenn dieses Element den Wert FALSE besitzt.

Definition einer Achskopplungsvorschrift

Beschreibung

In diesem Eintrag wird für die Achse eine Kopplungsvorschrift definiert. Die maximale Anzahl der definierbaren Kopplungsvorschriften ist in der Konstanten HLI_AxisCouplingMax definiert. Weitere Einzelheiten über die Definition der Kopplungsvorschriften können der Dokumentation [FCT-A9] entnommen werden.

Signalfluss

PLC -> CNC

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.
MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingCommand.desc[idx]

pAC[axis_idx]^.addr^.McControlLr_Data.
MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingState.desc[idx]

Datentyp

HLIAxisCouplingDesc

Zugriff

Kommando für die Achskopplung: PLC schreibt

Status der Achskopplung: PLC liest

Elemente des Datentyps

ST-Element

.CouplingMode

Datentyp

UINT

Wertebereich

HLI_AXIS_COUPLING_INACTIVE = 0,

HLI_AXIS_COUPLING_ZERO = 1,

HLI_AXIS_COUPLING_DIRECT = 2,

HLI_AXIS_COUPLING_MIRROR = 3

HLI_AXIS_COUPLING_FRACT = 4

Beschreibung

· HLI_AXIS_COUPLING_INACTIVE: Kopplung ist nicht aktiv

· HLI_AXIS_COUPLING_ZERO: Kopplungsfaktor ist Null, dient zum stillsetzen einer Achse

· HLI_AXIS_COUPLING_DIRECT: Kopplungsfaktor ist 1

· HLI_AXIS_COUPLING_MIRROR: Kopplungsfakltor ist 1

· HLI_AXIS_COUPLING_FRACT: KopplungsfaKtor ist ein Bruch, definiert durch .desc[idx].FractNumerator / .desc[idx].FractDenominator

ST-Element

. AxisNumber

Datentyp

UINT

Wertebereich

[UINT_MIN, UINT_MAX]

Beschreibung

Logische Achsnummer der Quellachse (der beeinflussenden Achse). Falls die Achse bei aktivierter Kopplung auch noch durch das NC-Programm bewegt werden soll, muss eine Kopplungsvorschrift mit der logischen Achsnummer der Achse und dem Kopplungsmode HLI_AXIS_COUPLING_DIRECT definiert werden.

ST-Element

.FractNumerator

Datentyp

INT

Wertebereich

Der zulässinge Wertebereich beträgt [-32768 .... 32767]. Ein Wert von 0 in diesem Element hat dieselbe Wirkung wie der Kopplungsmode HLI_AXIS_COUPLING_INACTIVE.

Beschreibung

Zähler des Kopplungsfaktors wenn als Kopplungsmodus HLI_AXIS_COUPLING_FRACT angegeben wurde. Für alle anderen Kopplungsmodi wird dieses Element nicht ausgewertet.

Der maximal zulässige Wert für den Kopplungsfaktor .desc[idx].FractNumerator / .desc[idx].FractDenominator ist durch die Konstante HLI_AXIS_COUPLING_FACT_MAX festgelegt. Wird dieser Wert überschritten, wird die Fehlermeldung P-ERR-70397 ausgegeben.

ST-Element

.FractDenominator

Datentyp

INT

Wertebereich

Der zulässinge Wertebereich beträgt [-32768 .... 32767] ohne die 0. Ein Wert von 0 in diesem Element führt zur Ausgabe der Fehlermeldung P-ERR-70396.

Beschreibung

Nenner des Kopplungsfaktors wenn als Kopplungsmodus HLI_AXIS_COUPLING_FRACT angegeben wurde. Für alle anderen Kopplungsmodi wird dieses Element nicht ausgewertet.

Der maximal zulässige Wert für denKopplungsfaktor .desc[idx].FractNumerator / .desc[idx].FractDenominator ist durch die Konstante HLI_AXIS_COUPLING_FACT_MAX festgelegt. Wird dieser Wert überschritten, wird die Fehlermeldung P-ERR-70397 ausgegeben.


Abstandsregelung

Beauftragung der Abstandsregelung

Beschreibung

Über diese Control Unit kann die Abstandsregelung der Achse beeinflusst werden. Voraussetzung ist, dass sie in den Achsparametern angewählt ist (s. P-AXIS-00328).

Datentyp

MCControlDistCtrlUnit, s. Beschreibung Control Unit mit Verbrauchskontrolle

Zugriff

PLC liest State und schreibt Command + X_Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControl_DistanceControl

Flusskontrolle der kommandierten Werte

ST-Element

.X_CommandSemaphor

Signalfluss

PLC -> CNC

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Werte, wenn dieses Element den Wert TRUE besitzt. Nach erfolgreicher Übernahme setzt die CNC diesen Wert auf FALSE.

PLC setzt dieses Element auf TRUE, wenn die kommandierten Werte zur Übernahme durch die CNC freigegeben werden. Eine Aktualisierung der kommandierten Werte durch die PLC kann nur dann erfolgen, wenn dieses Element den Wert FALSE besitzt.

Kommandierte Werte

ST-Element

.Command

Signalfluss

PLC -> CNC

Datentyp

HLIDistanceControlCommand

Zugriff

PLC schreibt

Zustand der Abstandsregelung

ST-Element

.State

Signalfluss

CNC -> PLC

Datentyp

HLIDistanceControlState

Zugriff

PLC liest

Umleitung

ST-Element

. X_Enable

Kommando für die Abstandsregelung
Beschreibung | In diesem Eintrag kann die Abstandsregelung beauftragt werden.
Signalfluss | PLC -> CNC
Datentyp | HLIDistanceControlCommand
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControl_DistanceControl.Command
Zugriff | PLC schreibt
Elemente des Datentyps
ST-Element | . D_ Transition
Datentyp | UDINT
Wertebereich | 0 = HLI_DIST_CTRL_OFF 1 = HLI_DIST_CTRL_ON 2 = HLI_DIST_CTRL_FREEZE 3 = HLI_DIST_CTRL_REF
Beschreibung | s. Tabelle 2-1
ST-Element | .D_Position
Datentyp | DINT
Wertebereich | [DINT_MIN, DINT_MAX]
Beschreibung | Die Bedeutung ist abhängig von der kommandierten Transition: HLI_DIST_CTRL_ON: Sollposition der Werkstückoberfläche (SET_POS) HLI_DIST_CTRL_REF: Referenzposition der Werkstückoberfläche (REF_POS)

Status der Abstandsregelung
Beschreibung | In diesem Eintrag kann der Zustand der Abstandsregelung gelesen werden.
Signalfluss | PLC -> CNC
Datentyp | HLIDistanceControlState
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControl_DistanceControl.State
Zugriff | PLC liest
Elemente des Datentyps
Element | .D_State
Datentyp | UDINT
Zugriff | PLC liest
Wertebereich | 0 = HLI_DIST_CTRL_STATE_INACTIVE 1 = HLI_DIST_CTRL_STATE_ACTIVE 2 = HLI_DIST_CTRL_STATE_FREEZE 3 = HLI_DIST_CTRL_STATE_TURNING_OFF 4 = HLI_DIST_CTRL_STATE_ERROR
Beschreibung | s. Tabelle 2-2
Element | .D_ActualPosition
Datentyp | DINT
Zugriff | PLC liest
Wertebereich | 0,1 µm bzw. 0,0001°
Beschreibung | Dieses Datum zeigt die aktuelle Istposition der Werkstückoberfläche an, die die Abtastregelung ermittelt hat.
Besonderheiten | Dieses Datum wird nur versorgt, falls in den Achsparametern die Abstandsregelung aktiviert ist (s. P-AXIS-00328).
Element | .D_ActualOffset
Datentyp | DINT
Zugriff | PLC liest
Wertebereich | 0,1 µm bzw. 0,0001°
Beschreibung | Dieses Datum zeigt den aktuellen Positionsoffset der Abstandsregelung, um den die Achse auf Grund von Abweichungen zwischen der tatsächlichen Werkstückoberfläche und der vorgegebenen Position (SET_POS) verschoben wurde. Im stationären Zustand (konstante Werkstückoberfläche und Positionsoffset komplett ausgefahren) gilt: Positionsoffset = SET_POS  D_ActualPosition
Besonderheiten | Dieses Datum wird nur versorgt, falls in den Achsparametern die Abstandsregelung aktiviert ist (s. P-AXIS-00328).

Die nachfolgenden Tabellen zeigen die zulässigen Werte für die Kommandierung der Abstandsrgegelung und die definierten araus resultierenden Zustände.

Transition | Wert | Bedeutung
HLI_DIST_CTRL_OFF | 0 | Ausschalten der Abstandsregelung. Es wird in den Zustand TURNING OFF gewechselt, in dem der Positionsoffset ausgefahren wird. Anschließend wird automatisch in den Zustand INACTIVE umgeschaltet.
HLI_DIST_CTRL_ON | 1 | Einschalten der Abstandsregelung. Beim Einschalten muss eine Sollposition für die Werkstückoberfläche im Datum D_Position übergeben werden. Falls kein Absolutgeber verwendet wird, muss die Abstandsregelung vorab referenziert werden.
HLI_DIST_CTRL_FREEZE | 2 | Einfrieren des aktuellen Positionsoffsets. Das Nachführen der Achse an die tatsächliche Werkstückoberfläche wird beendet.
HLI_DIST_CTRL_REF | 3 | Referenzieren der Abstandsregelung, falls kein Absolutgeber verwendet wird. Ein Referenzieren ist nur im Zustand INACTIVE erlaubt. Bei dieser Transition muss zusätzlich eine Referenzposition im Datum D_Position mit übergeben werden.

Tabelle 2-1: Zulässige Transitionen zur Kommandierung der Abstandsregelung

Zustand | Wert | Bedeutung
HLI_DIST_CTRL_STATE_INACTIVE | 0 | Die Abstandregelung ist deaktiviert. Der ausgegebene Offset (ActualOffset) ist Null.
HLI_DIST_CTRL_STATE_ACTIVE | 1 | Die Abstandsregelung ist aktiv und führt die Achse der Werkstückoberfläche nach.
HLI_DIST_CTRL_STATE_FREEZE | 2 | Die Abstandsregelung ist aktiv. Der Offset (ActualOffset) ist eingefroren d.h. ein nachführen der Achse an die Werkstückoberfläche erfolgt nicht.
HLI_DIST_CTRL_STATE_TURNING_OFF | 3 | Die Abstandsregelung wurde ausgeschalten. Der aktuell wirksame Offset (ActualOffset) wird ausgefahren. Sobald er Null ist, wird automatisch in den Zustand INACTIVE gewechselt.
HLI_DIST_CTRL_STATE_ERROR | 4 | Die Abstandsregelung befindet sich im Fehlerzustand z.B. auf Grund einer fehlerhaften Zustandstransition oder durch einen Fehler im Lageregler. Aus diesem Zustand ist nur eine Transition nach TURNING OFF möglich.

Tabelle 2-2: Definierte Zustände der Abstandseregelung


Steuerkommandos eines Antriebs

Antriebsdaten zyklisch lesen/schreiben
Beschreibung | Es stehen 4 Elemente zur Verfügung, welche in jedem Interpolationstakt von der PLC geschrieben und an den Antriebe über das unterlagerte Antriebsprotokoll übertragen werden können. Der Inhalt und die Wirkung ist applikationsspezifisch (abhängig von den Antrieben)
Datentyp | MCControlUNS32Unit
Besonderheiten | Die Datenübertragung kann derzeit nur bei SERCOS-Antrieben genutzt werden. Hierzu muss in der Achsparameterliste die Übertragung des Wertes an den Antrieb freigeschaltet werden, z.B.: # zyklisches Schreiben des 4 Byte-PLC-Wertes uns32_1 auf S-0-0815 antr_digital.typ.sercos.mdt[1].ident_nr 0815 antr_digital.typ.sercos.mdt[1].ident_len 4 antr_digital.typ.sercos.mdt[1].nc_ref LR_VAR1_OUT # zyklisches Lesen des 4 Byte-PLC-Wertes uns32_3 auf S-0-0819 antr_digital.typ.sercos.at[1].ident_nr 0819 antr_digital.typ.sercos.at[1].ident_len 4 antr_digital.typ.sercos.at[1].nc_ref LR_VAR3_IN
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlUNS32Unit_D<i> mit i [1; 4]
Kommandierte und angeforderte Werte
ST-Element | .D_Command . D_Request
Datentyp | UDINT
Rückgabewert
ST-Pfad | .D_State
Datentyp | UDINT
Besonderheiten | Diese Werte werden zusätzlich an der Lagereglerschnittstelle bereitgestellt. Siehe Antriebsdaten zyklisch lesen (pAC[axis_idx]^.addr^.StateLR_Data.D_Word1)
Umleitung
ST-Pfad | .X_Enable

Betriebsart

Beschreibung

Über diese Elemente können von der PLC (oder Bedienung) verschiedene Antriebsbetriebsarten kommandiert werden:

SERCOS-Antriebe:

Bei SERCOS-Antrieben werden diese Informationen auf das Bit 8 und Bit 9 des Steuerworts geleitet. Dadurch wird zwischen Haupt- und Nebenbetriebsarten des Antriebs umgeschaltet.

Mode0 entspricht dem niedrigsten Betriebsart-Steuerbit des Antriebes.

Derzeit werden für SERCOS-Antriebe die Variablen Mode0 und Mode1 verwendet.

PROFIDRIVE-Antriebe:

MCControlBoolUnit_Mode0

Mit dieser Control-Unit wird die Antriebsfunktionalität parkende Achse aktiviert, indem in Steuerwort 2 das Bit 7 gesetzt wird.

Das State-Element der Control-Unit zeigt an, ob die Funktionalität im Antrieb aktiv ist (Wert von Zustandswort 2, Bit 7).

Für eine geparkte Achse wird von der CNC intern der Nachführbetrieb aktiviert.

MCControlBoolUnit_Mode1 :

Mit dieser Control-Unit wird die Antriebsfunktionalität parkender Geber aktiviert, indem im Gebersteuerwort das Bit 14 gesetzt wird.

Das State-Element der Control-Unit zeigt an, ob die Funktionalität im Antrieb aktiv ist (Wert von Geberzustandswort Bit 14).

Für einen geparkten Geber wird von der CNC intern der Nachführbetrieb aktiviert.

MCControlBoolUnit_Mode2 :

Wird derzeit nicht verwendet.

Datentyp

MCControlBoolUnit

Besonderheiten

Die Elemente MCControlBoolUnit_Mode3  MCControlBoolUnit_Mode6 werden derzeit nicht benutzt.

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControlBoolUnit_Mode<i>

mit i aus [0; 6]

Kommandierte, angeforderte und Rückgabewerte

ST-Element

.X_Command

.X_Request

. X_State

Datentyp

BOOL

Wertebereich

[TRUE = Bit gesetzt, FALSE]

Umleitung

ST-Element

. X_Enable


Externe Kommandierung einer Achse

Aktivierung externer Positions- oder Geschwindigkeitssollwerte, Achse

Beschreibung

Vorgabe von zusätzlich zum Interpolator wirksamen Geschwindigkeits- oder Positionssollwerten durch die PLC. Eine Überwachung der übergebenen Werte auf Einhaltung der dynamischen Grenzwerte der Achse findet nicht statt.

Zur Aktivierung dieser Schnitstelle ist der Parameter P-AXIS-00091 (siehe [AXIS]) auf 1 zu setzen.

Datentyp

MCControlAddCmdValueUnit, s. Beschreibung Control Unit

Besonderheiten

Bei Verwendung dieser Schnittstelle kommt es zu einem dauerhaften Versatz der im Interpolator und im Decoder verwendeten Achspositionen. Eine erneute Synchronisation der Achspositionen erfolgt z. B. beim Programmstart, nach einer Referenzpunktfahrt, nach dem Messen oder durch den NC-Befehl #SET DEC LR SOLL.

Falls Falls keine Synchronisation erfolgen soll (der Versatz bleibt dann als Offset statisch erhalten) ist der Parameter P-AXIS-00322 (siehe [AXIS]) auf den Wert 1 zu setzen.

Zugriff

PLC schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlLr_Data.MCControlAddCmdValueUnit_AddCmdValue

Kommandierte Werte

ST-Element

. HLIAddCmdValue_Command

Datentyp

HLIAddCmdValueData

Aktivierung

ST-Element

. X_Enable

Externe Sollwerte, Achse
Beschreibung | Übergabe der zusätzlichen Positions- oder Geschwindigkeitssollwerte. Bei Aktivierung sind beide Werte gleichzeitig wirksam.
Datentyp | HLIAddCmdValueData
ST-Pfad | pAC[axis_idx]^.addr^.McControlLr_Data.MCControlAddCmdValueUnit_AddCmdValue.HLIAddCmdValue_Command
Elemente der Datenstruktur
ST-Element | . D_AddPosValue
Besonderheiten | Absolutwert
Datentyp | DINT
Einheit | 0.1 μ m
Zugriff | PLC schreibt
ST-Element | . D_AddSpeedValue
Datentyp | DINT
Einheit | 1 μ m/s
Zugriff | PLC schreibt


Einleitung

Eine Spindel ist eine Achse mit erweiterten Eigenschaften. Auf der Seite der CNC wird eine Spindel durch einen eigenen Bewegungscontroller (Interpolator) gebildet.

Damit kann die Spindelachse nicht nur durch das NC-Programm bewegt werden, Aufträge zur Bewegung können auch jederzeit durch die PLC erzeugt werden.


Beschreibung des spindelspezifischen Interface

Mehr:

button Drehzahlen einer Spindel

button Positionen einer Spindel

button Statusinformationen einer Spindel

button Steuerkommandos einer Spindel

button Externe Spindelbeauftragung


Drehzahlen einer Spindel

Solldrehzahl
Beschreibung | Momentane Solldrehzahl der Spindel
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_ActiveRev
Einheit | 10-3 °/s
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Istdrehzahl
Beschreibung | Momentane Istdrehzahl der Spindel
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_CurrentRev
Einheit | 10-3 °/s
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Drehzahl programmiert
Beschreibung | Über M03, M04 oder S im NC-Programm programmierte Solldrehzahl der Spindel
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.D_CmdRev
Einheit | 10-3 °/s
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten | Ist die Achse keine Spindel ist der Wert undefiniert.


Positionen einer Spindel

Zielposition
Beschreibung | Zielposition beim Positionieren mit M19
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIpo_Data.HLIAxeDispData_Spindle.D_CmdPosition
Einheit | 10-4 °
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Istposition
Beschreibung | Aktuelle Istposition bei Positionieren mit M19
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIpo_Data.HLIAxeDispData_Spindle.D_ActPosition
Einheit | 10-4 °
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |


Statusinformationen einer Spindel

Betriebszustand
Beschreibung | Aktueller Betriebszustand der Spindel
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIpo_Data.HLIAxeDispData_Spindle.D_Mode
Datentyp | UDINT
Wertebereich | 1 M05 aktiv 2 M03 aktiv 4 M04 aktiv 8 M19 aktiv 16 Überlagerte Bewegung (PLCopen) aktiv 32 RPF aktiv
Zugriff | PLC liest
Besonderheiten |

Drehzahlüberwachung aktiv
Beschreibung | Drehzahlüberwachung ist für die Spindel aktiviert.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_RevControlActiv
Datentyp | BOOL
Wertebereich | [TRUE = Drehzahlüberwachung ist aktiv, FALSE]
Zugriff | PLC liest
Besonderheiten | Ist die Achse keine Spindel ist der Wert undefiniert.

Solldrehzahl erreicht
Beschreibung | Die Spindel hat die programmierte Solldrehzahl erreicht.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_RevReached
Datentyp | BOOL
Wertebereich | [TRUE = Solldrehzahl erreicht, FALSE]
Zugriff | PLC liest
Besonderheiten | Ist die Achse keine Spindel ist der Wert undefiniert.

Spindel steht
Beschreibung | Die Spindeldrehzahl ist kleiner als der in der Achsparameterliste enthaltene Wert von vb_min_null (Drehzahl = 0).
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_RevZero
Datentyp | BOOL
Wertebereich | [TRUE = Spindel steht, FALSE]
Zugriff | PLC liest
Besonderheiten | Ist die Achse keine Spindel, ist der Wert undefiniert.

Drehzahlüberwachung ungültig
Beschreibung | Übersteigt die Rotationsgeschindigkeit der Spindel die Grenzgeschwindigkeit des Positionssensors der Spindel, wird die Drehzahlüberwachung abgeschaltet. Die Grenzgeschwindigkeit für das Positionsmeßsystem wird in der Achsparameterliste durch den Parameter vb_regelgrenze definiert.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateLR_Data.X_RevControlInvalid
Datentyp | BOOL
Wertebereich | [TRUE = Drehzahlüberwachung ungültig, FALSE]
Zugriff | PLC liest
Besonderheiten | Ist die Achse keine Spindel, ist der Wert undefiniert.

Restfahrweg
Beschreibung | Restfahrweg bei Positionieren mit M19
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIpo_Data.HLIAxeDispData_Spindle.D_DistToGo
Einheit | 10-4 °
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Auftragsfehler Spindel
Beschreibung | Ein Auftrag an die Spindel konnte wegen eines Fehlers nicht ausgeführt werden.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.StateIpo_Data.X_spindle_order_error_r
Datentyp | BOOL
Wertebereich | [TRUE = Auftrag nicht ausgeführt, FALSE]
Zugriff | PLC liest
Besonderheiten | Gültig nur im Zusammenhang mit externer Spindelbeauftragung durch die SPS


Steuerkommandos einer Spindel

Spindelstopp bei Programmende
Beschreibung | Wenn dieses Element den Wert TRUE bei Programmende besitzt, wird die Spindel angehalten.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_SpdlStopAtProgEnd
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Spindel wird bei Programmende angehalten, FALSE]
Umleitung
ST-Element | .X_Enable

Spindelreset
Beschreibung | Beauftragung eines Reset an die Spindel.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_SpdlReset
Kommandierter und angeforderter Wert
ST-Element | . X_Command .X_Request
Datentyp | BOOL
Wertebereich | [TRUE Spindelreset beauftragt, FALSE]
Rückgabewert
ST-Element | . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Spindereset wird durchgeführt, FALSE]
Umleitung
ST-Element | . X_Enable

Spindelfehler
Beschreibung | Setzt die Spindel in den Fehlerzustand
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_SpdlError
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .X_Enable

Nothalt, Spindel

Beschreibung

Die Beauftragung dieser Control Unit ist nur dann wirksam, wenn es sich bei der Achse um eine Spindel handelt.

Wenn dieses Element für Nothalt aktiv (TRUE) gesetzt wird, erfolgt ein sofortiges Abbrechen der Interpolation der Achse durch Ausgabe des Sollwertes Null bzw. durch eine Verzögerung entsprechend der Notfallverzögerung.

Diese Art der Bewegungsbeeinflussung hat höchste Priorität.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Besonderheiten

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_EmergencyStop

Kommandierter, angeforderter und Rückgabewert

ST-Element

. X_Command

.X_Request

.X_State

Datentyp

BOOL

Wertebereich

[TRUE = Nothalt aktiv, FALSE]

Umleitung

ST-Element

.X_Enable


Externe Spindelbeauftragung

Mehr:

button Control-Unit der externen Spindelbeauftragung

button Nutzdaten für externe Spindelbeauftragung


Control-Unit der externen Spindelbeauftragung

Externe Spindelbeauftragung

Beschreibung

Externe Spindelbeauftragung. Über diese Control-Unit können über die HLI-Schnittstelle Kommandos, z. B. Spindelstopp oder Spindelpositionierung, an die Spindel abgesetzt werden. Die weiteren Parameter des Auftrages an die Spindel sind in die Struktur HLIExtToIpoData einzutragen.

Datentyp

MCControlExtToIpo

Kommandierte Werte

ST-Pfad

pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.HLIExtToIpoData_Command

Signalfluss

PLC -> CNC

Datentyp

HLIExtToIpoData

Zugriff

PLC schreibt

Flusskontrolle kommandierte Daten

ST-Pfad

pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.X_CommandSemaphor

Signalfluss

PLC <-> CNC

Datentyp

BOOL

Wertebereich

[TRUE = Daten sind gültig, FALSE = Daten wurden übernommen]

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Werte, wenn dieses Element den Wert TRUE besitzt. Nach erfolgreicher Übernahme setzt der CNC diesen Wert auf FALSE.

PLC setzt dieses Element auf TRUE, wenn die kommandierten Werte zur Übernahme durch den CNC freigegeben werden. Eine Aktualisierung der kommandierten Werte durch die PLC kann nur dann erfolgen, wenn dieses Element den Wert FALSE besitzt.


Nutzdaten für externe Spindelbeauftragung

In den nachfolgend beschriebenen Strukturelementen müssen die Parameter für externe Spindelbeauftragung abgelegt werden. Abhängig von der Art des Auftrages an die Spindel müssen nicht alle Strukturelemente ausgefüllt werden.

Programmierter Satzvorschub
Beschreibung | Programmierter Satzvorschub
Signalfluss | PLC -> CNC
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.HLIExtToIpoData_Command.D_VbProg
Einheit | 10-3 °/s
Datentyp | DINT
Zugriff | PLC schreibt

G- und M-Funktionen
Beschreibung | Bitkodierte Spindelparameter
Signalfluss | PLC -> CNC
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.HLIExtToIpoData_Command.D_GeoGmFkt
Datentyp | UDINT
Wertebereich | Derzeit werden nur die folgenden 2 Bits verwendet: HLI_OPTIM_RICHTEN 0x00000010L Rundachse optimiert richten. Bei Spindelpositionierung wird die Zielposition auf dem kürzestmöglichen Weg angefahren. HLI_ABSOLUT 0x00000100L Positionsangaben absolut
Zugriff | PLC schreibt

Fahrweg
Beschreibung | Fahrweg (relativ oder absolut) bei Positionierung der Spindel mit M19.
Signalfluss | PLC -> CNC
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.HLIExtToIpoData_Command.D_Fahrweg
Einheit | 10-4 °
Datentyp | DINT
Zugriff | PLC schreibt

Typ der Spindelbeauftragung
Beschreibung | Mit diesem Element wird der Typ der Spindelbeauftragung festgelegt.
Signalfluss | PLC -> CNC
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.HLIExtToIpoData_Command.W_SatzTyp
Datentyp | UINT
Wertebereich | Folgende Werte sind anwendbar: 1 HLI_NC_MOVE_LIN Linearinterpolation 7 HLI_NC_MOVREF Referenzpunktfahrt 16 HLI_NC_MOVE_ENDLOS Endlosdrehen 20 HLI_NC_GETRIEBE Getriebeschalten der Spindel 29 HLI_NC_SPINDEL_STOP Stoppen der Spindel aus dem Endlosdrehen 30 HLI_NC_SUPER_IMPOSED entspr: PLCopen MC_SuperImposed 31 HLI_NC_TABLE_SELECT Auswahl einer Tabelle enspr. PLCopen MC_CamTableSelect 32 HLI_NC_CAM_IN entspr: PLCopen MC_CamIn 33 HLI_NC_CAM_OUT entspr. PLCopen MC_CamOut 34 HLI_NC_GEAR_IN entspr. PLCopen MC_GearIn 35 HLI_NC_GEAR_OUT entspr. PLCopen MC_GearOut 36 HLI_NC_PHASING entspr. PLCopen MC_Phasing 38 HLI_NC_TOUCH_PROBE entspr. PLCOpen MC_TouchProbe 39 HLI_NC_ABORT_TRIGGER entspr. PLCOpen MC_AbortTrigger
Zugriff | PLC schreibt

Spindeldrehrichtung
Beschreibung | Festlegen der Drehrichtung der Spindel
Signalfluss | PLC -> CNC
ST-Pfad | pAC[axis_idx]^.addr^.McControlIpo_Data.MCControlExtToIpo_ExtToIpo.HLIExtToIpoData_Command.W_DrehInfo
Datentyp | UINT
Wertebereich | Folgende Werte gelten, wenn sich die Spindel bewegt: 0x0000 negative Drehrichtung 0x0001 HLI_SPDL_POS_DREHR positive Drehrichtung
Zugriff | PLC schreibt


Einleitung

Innerhalb eines Kanals werden die für eine Maschinenbewegung erforderlichen Führungsgrößen erzeugt. Dabei wird eine Eingangsinformation - das kann eine Anweisung eines NC-Programms, ein Handverfahrsatz oder ein inkrementaler Verfahrbefehl sein - in Positionssollwerte für die Maschinenantriebe umgesetzt. Um eine definierte Relativbewegung zwischen Werkzeug und Werkstück zu erzeugen, ist es notwendig, die Führungsgrößenerzeugung der beteiligten Maschinenachsen zu koordinieren. Man spricht in diesem Rahmen von Achsen, die in einem Kanalzusammenhang stehen. Wie viele Achsen in einem Kanal gesteuert werden sowie die Art der Achsen - translatorisch oder rotatorisch - sind vom Maschinenkonzept abhängig.

Beispielsweise werden bei der Fünfachs-Fräsbearbeitung drei translatorische und zwei rotatorische Achsen in einem Kanal gesteuert. Heutige Maschinen bieten zum Teil die Möglichkeit, ihre Achsen in mehreren Kanälen zu steuern; ein Mehrschlittendrehautomat ist ein anschauliches Beispiel hierfür. In diesen Maschinen werden für die einzelnen Kanäle spezifische Verfahrbewegungen im Programm vorgegeben und die entsprechenden Führungsgrößen unabhängig voneinander generiert. Es ist jedoch möglich, in den jeweiligen NC-Programmen Synchronisationspunkte einzubauen, um die Kanäle zu koordinieren.

Steuerungen tragen diesen Maschinenkonzepten Rechnung, indem sie die Führungsgrößenerzeugung in getrennten Kanälen organisieren. Entsprechend wird in jedem Kanal ein eigenes NC-Programm gestartet. Die kanalübergreifende Synchronisation erfolgt wahlweise über NC-Befehle oder aber über die PLC.


Beschreibung des kanalspezifischen Interface

Mehr:

button Statusinformationen eines Kanals

button Steuerkommandos eines Kanals


Statusinformationen eines Kanals

Zurückgelegter Satzfahrweg
Beschreibung | Anteil des Fahrweges, der vom Gesamtfahrweg im aktuellen Satz zurückgelegt wurde.
Signalfluss | CNC -> PLC
Einheit | 0.1 %
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.D_CoveredDistance
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten | Ist eine Hauptachse an der Bewegung beteiligt, so ist dies der zurückgelegte Bahnfahrweg bezogen auf den Satzfahrweg der ersten drei Achsen. Ist keine Hauptachse an der Bewegung beteiligt, so ist dies der zurückgelegte Fahrweg der Mitschleppachse mit der längsten Verfahrzeit bezogen auf den Satzfahrweg.

Bahnvorschub programmiert
Beschreibung | Bahnvorschub der im NC-Programm über F<value> programmiert wurde
Signalfluss | CNC -> PLC
Einheit | 1 µm/s
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.D_CommandFeed
Datentyp | DINT
Zugriff | PLC liest

Bahnvorschub programmiert, unter Berücksichtigung von Echtzeiteinflüssen
Beschreibung | Bahnvorschub der im NC-Programm über F<value> programmiert wurde, gewichtet mit den aktuellen Echtzeiteinflüssen, wie z.B. Override.
Signalfluss | CNC -> PLC
Einheit | 1 µm/s
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.D_CommandFeedActive
Datentyp | DINT
Zugriff | PLC liest

Bahnvorschub aktuell
Beschreibung | Aktueller Bahnvorschub während der Interpolation.
Signalfluss | CNC -> PLC
Einheit | 1 µm/s
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.D_ActiveFeed
Datentyp | DINT
Zugriff | PLC liest

Bedingt durch die Architektur des NC-Kernes, in der unterschiedliche Komponenten asynchron zueinander arbeiten, können bestimmte Statusinformationen von den verschiedenen Steuerungskomponenten mehrfach bereitgestellt werden.

Beispielsweise bedeutet das Signal X_ProgramEnd in der Statusanzeige des Decoders, dass der Decoder die Dekodierung des Programms abgeschlossen hat, während die eigentliche Interpolation durch den Bahninterpolator eventuell noch nicht beendet ist. Das Ende der Interpolation der Bahnachsen wird in wird durch das Signal X_ProgramEnd in den Statusdaten des Bahninterpolators angezeigt.

Programmende erreicht
Beschreibung | Interpolator hat das Programmende erreicht
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_ProgramEnd
Datentyp | BOOL
Wertebereich | [TRUE = Programmende erreicht, FALSE]
Zugriff | PLC liest
Besonderheiten |

Programmende erreicht
Beschreibung | Decoder hat das Programmende erreicht.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_ProgramEnd
Datentyp | BOOL
Wertebereich | [TRUE = Programmende erreicht, FALSE]
Zugriff | PLC liest
Besonderheiten | Vorsicht: Die Maschine kann sich noch weiter bewegen, da für eine Maschinenbewegung das Interpolatorsignal relevant ist.

Programmende erreicht
Beschreibung | Look Ahead-Funktion hat das Programmende erreicht
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBavo_Data.X_ProgramEnd
Datentyp | BOOL
Wertebereich | [TRUE = Programmende erreicht, FALSE]
Zugriff | PLC liest
Besonderheiten | Nur für Diagnose notwendig.

Fehler aufgetreten - Behebung erwartet
Beschreibung | Es ist ein interner Fehler aufgetreten. Der Interpolator wartet auf die Behebung dieses Fehlers.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_WaitErrorRemoval
Datentyp | BOOL
Wertebereich | [TRUE = Fehler aufgetreten - Interpolator wartet, FALSE]
Zugriff | PLC liest
Besonderheiten |

Fehler 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 aufgetreten  Decoder wartet, FALSE]
Zugriff | PLC liest
Besonderheiten |

Interpolator aktiv
Beschreibung | Maschine soll/wird bewegt.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_InterpolationActive
Datentyp | BOOL
Wertebereich | [TRUE = Maschine soll/wird bewegt, FALSE]
Zugriff | PLC liest
Besonderheiten |

Technologiefunktion Quittierung
Beschreibung | Der Interpolator wartet auf die Quittierung einer Technologiefunktion durch die PLC
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_WaitTechnoAcknowledge
Datentyp | BOOL
Wertebereich | [TRUE = wartet auf Quittierung der Technologiefunktion, FALSE]
Zugriff | PLC liest
Besonderheiten |

Freigabe Fortsetzung der Bewegung
Beschreibung | Der Interpolator wartet auf eine Freigabe zur Fortführung der Bewegung nach einem Stopp bei Einzelschrittbetrieb.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_WaitContinue
Datentyp | BOOL
Wertebereich | [TRUE = Interpolator wartet auf Fortsetzung der Bewegung, FALSE]
Zugriff | PLC liest
Besonderheiten |

Verweilzeit aktiv
Beschreibung | Der Interpolator wartet auf Grund einer programmierten Verweilzeit (G04)
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_DwellTimeActive
Datentyp | BOOL
Wertebereich | [TRUE = Interpolator wartet, FALSE]
Zugriff | PLC liest
Besonderheiten |

Achsgruppe in Position
Beschreibung | Alle Achsen der Achsgruppe haben ihre programmierten Endpositionen erreicht
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_AxesInPosition
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Zugriff | PLC liest
Besonderheiten |

Warten auf Achsgruppe in Position
Beschreibung | Der Interpolator wartet bei Einzelsatzbetrieb, bei einem programmierten Halt (M00) oder einem wahlweisen Halt (M01), dass alle Achsen in Position sind.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_WaitAxesInPosition
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Zugriff | PLC liest
Besonderheiten |

Warten auf angeforderte Achse
Beschreibung | Die Bahnvorbereitung wartet nach einer programmierten Achsanforderung (#CALL AX, siehe Programmieranleitung) auf deren Erhalt.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBavo_Data.X_WaitForAxis
Datentyp | BOOL
Wertebereich | [TRUE = warten auf angeforderte Achse, FALSE]
Zugriff | PLC liest
Besonderheiten |

Satzvorlauf aktiv
Beschreibung | Der Interpolator arbeitet im Satzvorlauf-Modus.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_BlockSearchActive
Datentyp | BOOL
Wertebereich | [TRUE = aktive - Interpolator arbeitet im Satzvorlaufmodus, FALSE]
Zugriff | PLC liest
Besonderheiten |

Satzvorlauf aktiv
Beschreibung | Die Bahnvorbereitung arbeitet im Satzvorlauf-Modus
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBavo_Data.X_BlockSearchActive
Datentyp | BOOL
Wertebereich | [TRUE = aktive  Bahnvorbereitung arbeitet im Satzvorlaufmodus, FALSE]
Zugriff | PLC liest
Besonderheiten |

Satzvorlauf aktiv
Beschreibung | Der Decoder arbeitet im Satzvorlauf-Modus
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateDecoder_Data.X_BlockSearchActive
Datentyp | BOOL
Wertebereich | [TRUE = aktiv - Decoder arbeitet im Satzvorlaufmodus, FALSE]
Zugriff | PLC liest
Besonderheiten |

Bahngeschwindigkeit unter Grenzwert
Beschreibung | Die Bahngeschwindigkeit unterschreitet den parametrierten Grenzwert.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.X_SpeedLimitDetect
Datentyp | BOOL
Wertebereich | [TRUE = aktive  Bahngeschwindigkeit unterschreitet parametrierten Granzwert, FALSE]
Zugriff | PLC liest
Besonderheiten |


Steuerkommandos eines Kanals

Überlesemodus NC-Satz
Beschreibung | Schaltet den Überlesemodus auf Interpreterebene für das NC-Programm EIN/AUS. Der Status des Überlesemodus wird nur am NC-Programmstart ausgewertet. Eine Umschaltung während der Ausführung eines NC-Programms hat keine Wirkung.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlBoolUnit_ProgramBlockIgnore
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Überlesemodus NC-Satz EIN, FALSE = Überlesemodus NC-Satz AUS, FALSE]
Umleitung
ST-Element | . X_Enable

Einzelsatzmodus auf Interpreterebene NC-Satz
Beschreibung | Schaltet den Einzelsatzmodus auf Interpreterebene EIN/AUS. Für jeden Satz muss ein erneuter Start vorliegen
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Wird derzeit noch nicht unterstützt
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlBoolUnit_SingleBlock
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Einzelsatzmodus EIN, FALSE]
Umleitung
ST-Element | . X_Enable

Freigabe Bearbeitung nächster NC-Satz
Beschreibung | Freigabe zur Bearbeitung des nächsten NC-Satzes. Dieses Element dient zur Synchronisation der Geometriekette mit der PLC. Die PLC blockiert hierzu die Einzelsatzweiterschaltung und stoppt damit den Interpreter.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Wird derzeit noch nicht unterstützt.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlBoolUnit_ContinueMachining
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | . X_Enable

Fortsetzung NC-Programm-Dekodierung
Beschreibung | Setzt die Dekodierung eines NC-Programms fort, nachdem ein Fehler aufgetreten ist, wenn Syntaxcheck (Simulationsbetrieb) und interaktive Weiterschaltung der Dekodierung aktiviert ist (Decoderparameter, Kenngröße: syn_chk.interaktiv = 1).
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Wird derzeit noch nicht unterstützt.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlBoolUnit_ReleaseStop
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | . X_Enable

Stopp NC-Programm-Dekodierung
Beschreibung | Stoppt die Dekodierung eines NC-Programmes, wenn im Simulationsbetrieb Syntaxcheck die interaktive Freigabe der Weiterverarbeitung des NC-Programms aktiviert wurde.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Wird derzeit noch nicht unterstützt.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlBoolUnit_DecStop
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | . X_Enable

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

0x0001 SV Satzvorlauf

0x0002 SOLLKON Simulation Sollkonturvisualisierung mit Ausgabe der Visualisierungsdaten

0x0802 SOLLKON Simulation Sollkonturvisualisierung ohne Ausgabe der Visualisierungsdaten

0x0004 ON_LINE Simulation Onlinevisualisierung

0x0008 SYNCHK Simulation Syntaxcheck

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 im
SDA_MDS (sda_mds*.lis) definierte Kenngröße.

Umleitung

ST-Element

. X_Enable

Index der Platzversatzgruppe

Beschreibung

Durch einen Platzversatz wird eine zusätzliche Verschiebung definiert, mit der z.B. unterschiedliche Aufspannpositionen eines Werkstückes im Arbeitsraum einer Maschine berücksichtigt werden können.

Platzversätze werden in den Platzversatzdaten festgelegt. Innerhalb einer Platzversatzgruppe werden die Platzversätze für jede Achse angegeben. Die Auswahl einer Platzversatzgruppe erfolgt über den Index der Gruppe. Die Daten der Platzversätze werden beim Programmstart vom CNC ausgewertet.

Datentyp

MCControlSGN16Unit, s. Beschreibung Control Unit

Besonderheiten

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlDecoder_Data.MCControlSGN16Unit_ClampPosition

Kommandierter, angeforderter und Rückgabewert

ST-Element

.D_Command

.D_Request

.D_State

Datentyp

INT

Wertebereich

[0, 67]

Umleitung

ST-Element

. X_Enable

Vorschubstopp EIN/AUS
Beschreibung | Kanalspezifischer Vorschubstopp. Das Setzen dieses Elements auf TRUE bewirkt während der Interpolation ein sofortiges Abrampen der Vorschubgeschwindigkeit entsprechend den eingestellten Beschleunigungen auf den Vorschub = 0.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_FeedHold
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Vorschubstopp EIN, FALSE]
Umleitung
ST-Element | . X_Enable

Der Kanal kann durch das Setzen des Vorschubstopps (FEEDHOLD) oder durch ein MCM-STOP-Kommando in der aktuellen Betriebsart (s Zustandsgraph der Betriebsarten) angehalten werden. In beiden Fällen zeigt die Betriebsart den Zustand HOLD an.

Ebenso kann nach einem Anhalten der Kanal durch das Wegnehmen des Vorschubstopps oder durch eine MCM-RESUME wieder fortgesetzt werden.

D.h. die beiden Signale FEEDHOLD oder MCM-STOP können symmetrisch verwendet werden. Bei einem MCM-STOP wird intern eine FEEDHOLD ausgelöst. D.h. die SPS muss die Vorschubstopp-Control Unit versorgen, damit das MCM-STOP-Kommando durchgesetzt wird.

Abbildung 4-1: Interaktion Vorschubstop und MCM-STOP

Nothalt, Kanal
Beschreibung | Wenn dieses Element für Nothalt aktiv (TRUE) gesetzt wird, erfolgt ein sofortiges Abbrechen der Interpolation durch Ausgabe des Sollwertes Null bzw. durch eine Verzögerung entsprechend der Notfallverzögerung. Der NC-Kern geht in den Fehlerzustand über. Diese Art der Bewegungsbeeinflussung hat höchste Priorität.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_EmergencyStop
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Nothalt aktiv, FALSE]
Umleitung
ST-Element | .X_Enable

Einzelsatzbetrieb
Beschreibung | Einzelsatzbetrieb ein-/ausschalten. Der Einzelsatzbetrieb bezieht sich nur auf Bewegungssätze. Solange der Einzelsatzbetrieb eingeschaltet ist, wird am Ende jedes Bewegungssatzes auf Vorschub = 0 abgebremst. Nachfolgende Sätze können nur dann durch Setzen des Elements continue motion ausgeführt werden, wenn sich alle Achsen im Regelfenster befinden.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_SingleBlock
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .X_Enable

Wahlweiser Halt

Beschreibung

Wahlweisen Halt ein-/ausschalten.

Wenn im aktuellen Satz des NC-Programms die Funktion M01 (Wahlweiser Halt) programmiert ist, kann durch das Setzen dieses Elements auf den Wert TRUE am Satzende angehalten werden (rampenförmiges Abbremsen gemäss den zulässigen Beschleunigungen).

Der nachfolgende Satz kann durch Aktivieren des Elements continue machining freigegeben werden, wenn der NC-Kern Durch Rücksetzen der Statusanzeige X_WaitAxesInPosition anzeigt, dass sich alle Achsen im Regelfenster befinden.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Besonderheiten

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_M01StopEnable

Kommandierter, angeforderter und Rückgabewert

ST-Element

.X_Command

.X_Request

.X_State

Datentyp

BOOL

Wertebereich

[TRUE = Wahlweiser Halt aktiv, FALSE]

Umleitung

ST-Element

.X_Enable

Fortsetzung der Bewegung
Beschreibung | Wird der Wert des Elements Fortsetzung der Bewegung auf TRUE gesetzt, so wird die durch die Anwahl von Einzelsatzbetrieb und/oder Wahlweiser Halt und/oder durch M00 im NC-Programm programmierten Halt unterbrochene Programmbearbeitung wieder aufgenommen. Voraussetzung dafür ist, dass sich alle Achsen im Regelfenster befinden. Bei jeder steigenden Flanke an diesen Eingang wird ein NC-Satz abgearbeitet.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Flankenauswertung
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_ContinueMotion
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .X_Enable

Bearbeitungssimulation EIN/AUS
Beschreibung | Ein-/Ausschalten der Bearbeitungssimulation. Während der Bearbeitungssimulation werden alle Technologiefunktionen des NC-Programms nicht an die PLC ausgegeben, sondern intern quittiert.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_MachiningSimulation
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | . X_Enable

Vorschuboverride
Beschreibung | Durch den Vorschuboverride kann die programmierte Bahngeschwindigkeit mit einem zusätzlichen Faktor gewichtet werden.
Datentyp | MCControlUNS16Unit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlUNS16Unit_OverrideFeedrate
Kommandierter, angeforderter und Rückgabewert
ST-Element | .D_Command .D_Request .D_State
Einheit | 0.1 %
Datentyp | UINT
Wertebereich | [0, P-CHAN-00056] Beim Parameter P-CHAN-00056 handelt es sich um einen kanalspezifischen Parameter. Sein Wert ist typischerweise 1000. Siehe [CHAN].
Umleitung
ST-Element | .X_Enable

Eilgangoverride

Beschreibung

Durch den Eilgangoverride können G0 Verfahrbewegungen mit einem Faktor gewichtet werden.

Siehe auch Besonderheiten!

Datentyp

MCControlUNS16Unit, s. Beschreibung Control Unit

Zugriff

PLC Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlUNS16Unit_OverrideRapidMove

Kommandierter, angeforderter und Rückgabewert

ST-Element

.D_Command

.D_Request

.D_State

Einheit

0.1 %

Datentyp

UINT

Wertebereich

[0, 1000]

Umleitung

ST-Element

.X_Enable

Besonderheiten

Parametrierung / Wirkungsweise

Der Eilgangoverride ist nur wirksam, wenn diese Funktionalität auch in der Kanalparameterliste eingeschaltet wird, ansonsten wird zwischen Vorschub- und Eilgangsätzen nicht unterschieden!

Einstellmöglichkeiten über den Kanalparameter P-CHAN-00181:

- Der Eilgangoverride ist inaktiv. Der Vorschuboverride wirkt auf Vorschub- und Eilgangsätze.

- Der Eilgangoverride ist aktiv. Bei Vorschubsätzen wirkt der Vorschuboverride, bei Eilgangsätzen wirkt das Minimum von Vorschub- und Eilgangoverride.

- Der Eilgangoverride ist aktiv. Bei Vorschubsätzen wirkt der Vorschuboverride, bei Eilgangsätzen wirkt nur der Eilgangoverride.

Beschleunigungsoverride

Beschreibung

Durch den Beschleunigungsoverride kann die aktive Bahnbeschleunigung mit einem zusätzlichen Faktor gewichtet werden.

Wenn erforderlich wird die Bahnbeschleunigung in dynamischen Bewegungsphasen auf den Nennnwert gesetzt.

Bei aktivem Feedhold wird der Overridewert ignoriert. Die Schnittstelle ist nur wirksam wenn der Kanalparameter P-CHAN-00170 nicht gesetzt ist !

Datentyp

MCControlUNS16Unit, s. Beschreibung Control Unit

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlUNS16Unit_OverrideAcceleration

Kommandierter, angeforderter und Rückgabewert

ST-Element

.D_Command

.D_Request

.D_State

Einheit

0.1 %

Datentyp

UINT

Wertebereich

[50, 1000]

Umleitung

ST-Element

.X_Enable

Sollwertausgabe auf reale Achsen unterbrechen

Beschreibung

Hierdurch wird die Ausgabe von Sollwerten des NC-Kanals auf die physikalischen Achsen unterbrochen. Der NC-Kanal wird angehalten und die Zuordnung zu den realen Achsen wird aufgehoben.

Die physikalischen Achsen können danach durch einen anderen Kanal angefordert und verfahren werden. Hierbei kann eine unterschiedliche logische Achse der physikalischen Achse zugeordnet werden.

Nach Aufheben dieser Unterbrechung können die Achsen wieder angefordert werden und der ursprüngliche Kanal fährt mit seiner Bewegung fort.

Datentyp

MCControlBoolUnit, s. Beschreibung Control Unit

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_SuspendAxisOutput

Kommandierter, angeforderter und Rückgabewert

ST-Element

.X_Command

.X_Request

.X_State

Datentyp

BOOL

Wertebereich

[TRUE - , FALSE]

Umleitung

ST-Element

.X_Enable

Externe Vorgabe Bahngeschwindigkeit
Beschreibung | Externe Vorgabe der Bahngeschwindigkeit. Die Aktivierung der eingestellten Bahngeschwindigkeit erfolgt mit der Control Unit MCControlBoolUnit_ExtCommandSpeedValid.
Datentyp | MCControlUNS32Unit, s. Beschreibung Control Unit
Besonderheiten | Die in dieser Schnittstelle übergebene Bahngeschwindigkeit wird automatisch auf die in den Achsparametern eingestellten Grenzwerte begrenzt.
Einheit | 1 μ m/s
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlUNS32Unit_ExtCommandSpeed
Kommandierter und angeforderter Wert
ST-Element | .D_Command .D_Request
Datentyp | UDINT
Rückgabewert
ST-Element | .D_State
Datentyp | UDINT
Besonderheiten | In D_State wird die tatsächlich im Interpolator verwendete Bahngeschwindigkeit angezeigt, inclusive einer eventuellen Beeinflussung durch den Override.
Umleitung
ST-Element | .X_Enable

Aktivierung externe Bahngeschwindigkeit
Beschreibung | Aktivierung der in der Control Unit MCControlUNS32Unit_ExtCommandSpeed kommandierten Geschwindigkeit. Zur Erreichung der kommandierten Geschwindigkeit werden die an der Bewegung beteiligten Achsen beschleunigt oder verzögert.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[ channel_idx ]^.addr^.MCControlBahn_Data.MCControlBoolUnit_ExtCommandSpeedValid
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command .X_Request .X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | .X_Enable

Einlesesperre Interpolator
Beschreibung | Sperren des Einlesens von Sätzen im Interpolator. Bei Aktivierung der Control Unit stoppt der Interpolator nachdem er die bereits eingelesenen Sätze abgearbeitet hat.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[ channel_idx ]^.addr^.MCControlBahn_Data.MCControlBoolUnit_InputDisable
Kommandierter, angeforderter und Rückgabewert
ST-Element | . X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Umleitung
ST-Element | . X_Enable

OTC Radius Offset
Beschreibung | Durch Setzen dieses Verschleißoffsets kann der Werkzeugradius entsprechend dem Verschleiß angepasst werden. Einheit: 0.1µm
Datentyp | MCControlSGN32Unit, s. Beschreibung Control Unit
Besonderheiten | Der Verschleißoffset wird in der CNC nicht in einem Takt ausgegeben, sondern er wird über mehrere Takte ausgefahren.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlSGN32Unit_OTCRadiusOffset
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | DINT
Wertebereich | [-P-TOOL-00031, P-TOOL-00031]
Umleitung
ST-Element | . X_Enable

Reduzierte Geschwindigkeit, Kanal
Beschreibung | Durch setzen dieses Signals wird die Bahngeschwindigkeit auf die in den Achsparametern P-AXIS-00214 bzw. P-AXIS-00155 defiinierten Werte reduziert. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten | Es werden die Grenzwerte der an der Bewegung beteiligten Achsen berücksichtigt. Der wirksame Wert für die reduzierte Geschwindigkeit wird so ermittelt, dass keine er an der Bewegung beteiligten Achsen ihren konfigurierten Grenzwert überschreitet.
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_ReducedFeed
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Reduzierte Geschwindigkeit aktiv, Reduzierte Geschwindigkeit nicht aktiv]
Umleitung
ST-Element | . X_Enable

Reduzierte Geschwindigkeit in Zone 1, Kanal
Beschreibung | Durch setzen dieses Signals wird die Bahngeschwindigkeit auf die im Achsparameter P-AXIS-00030 definierte Geschwindigkeit begrenzt wenn sich die Achse innerhalb des durch die Parameter P-AXIS-00085 und P-AXIS-00093 definierten Bereiches befindet. Falls notwendig erfolgt eine Verzögerung der Achse nach eintreten in den Bereich. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_ReducedFeedZone
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Reduzierte Geschwindigkeit für Zone 1 aktiv, Reduzierte Geschwindigkeit für Zone 1 nicht aktiv]
Umleitung
ST-Element | . X_Enable

Reduzierte Geschwindigkeit in Zone 2, Kanal
Beschreibung | Durch Setzen dieses Signals wird die Bahngeschwindigkeit auf die im Achsparameter P-AXIS-00030 definierte Geschwindigkeit begrenzt wenn sich die Achse innerhalb des durch die Parameter P-AXIS-00097 und P-AXIS-00105 definierten Bereiches befindet. Falls notwendig erfolgt eine Verzögerung der Achse nach eintreten in den Bereich. Siehe auch [AXIS].
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_ReducedFeedZone2
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Reduzierte Geschwindigkeit für Zone 2 aktiv, Reduzierte Geschwindigkeit für Zone 2 nicht aktiv]
Umleitung
ST-Element | . X_Enable

Zeitoverride gültig
Beschreibung | Zeitoverride ist aktiviert.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Besonderheiten |
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlBoolUnit_OverrideTimeValid
Kommandierter, angeforderter und Rückgabewert
ST-Element | .X_Command .X_Request . X_State
Datentyp | BOOL
Wertebereich | [TRUE = Zeitoverride ist aktiviert, Zeitoverride ist nicht aktiviert]
Umleitung
ST-Element | . X_Enable

Zeitoverride

Beschreibung

Durch den Zeitoverride kann die CNC-interne Zeitbasis für Bewegungen beeinflusst werden. Die Wirkung entspricht einer Zeitlupenfunktion.

Dabei wirkt sich der Zeitoverride unterschiedlich auf die Bahngeschwindigkeit und beschleunigung aus.

Beispiel:
Bei 50% Zeitoverride (command_w = 500) wird die Geschwindigkeit um Faktor 2 und die Beschleunigung um Faktor 4 reduziert.

Datentyp

MCControlUNS16Unit, s. Beschreibung Control Unit

Besonderheiten

Über den Kanalparameter P-CHAN-00111 kann der Anwender die Wirkungsweise des Zeitoverride auch auf die Funktionalität Verweilzeit wirken lassen. Siehe [CHAN].

Durch den Zeitoverride wird neben dem Bahnvorschub die Beschleunigung unabhängig von Echtzeitfunktionen wie Feedhold oder Sicherheitsfunktionen wie Reduced Speed gewichtet. Dies hat der Anwender bei der Nutzung dieser Funktion zu berücksichtigen !!!!!!!

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlBahn_Data.MCControlUNS16Unit_OverrideTime

Kommandierter, angeforderter und Rückgabewert

ST-Element

.D_Command

.D_Request

.D_S tate

Einheit

0.1 %

Datentyp

UINT

Wertebereich

[100, 1000]

Umleitung

ST-Element

.X_E nable


Steuerkommandos an PLC

Mehr:

button Reset

button Satzvorlauf


Reset

PLC-Reset, Achse
Beschreibung | Die PLC kann über diese achsspezifische Schnittstelle zu einem Reset aufgefordert werden. Hierzu muss die PLC durch Setzen des Elements X_Enable anzeigen, dass sie über Resetsetanforderungen durch den NC-Kern informiert werden möchte.
Datentyp | LCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | Verbrauchsdatum CNC setzt X_Command auf TRUE zur Beauftragung eines Reset für die PLC. Der CNC setzt X_Command auf FALSE, nachdem die PLC die Ausführung des Reset über das Element X_State quittiert hat.
ST-Pfad | pAC[axis_idx]^.addr^.LcControlIpo_Data.LCControlBoolUnit_PLCReset
Kommandierter Wert
ST-Element | .X_Command
Signalfluss | CNC -> PLC
Datentyp | BOOL
Wertebereich | [TRUE = Resetanforderung von CNC an PLC, FALSE]
Rückgabewert
ST-Element | . X_State
Signalfluss | PLC -> CNC
Datentyp | BOOL
Wertebereich | [TRUE = PLC hat Reset durchgeführt, FALSE]
Anforderung
ST-Element | .X_Enable
Signalfluss | PLC -> CNC
Datentyp | BOOL
Wertebereich | [TRUE = PLC möchte über Anforderungen durch die CNC informiert werden, FALSE]

PLC-Reset, Kanal
Beschreibung | Die PLC kann über diese kanalspezifische Schnittstelle zu einem Reset aufgefordert werden. Hierzu muss die PLC durch Setzen des Elements X_Enable anzeigen, dass sie über Resetanforderungen durch den NC-Kern informiert werden möchte.
Datentyp | LCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | Verbrauchsdatum NCK setzt X_Command auf TRUE zur Beauftragung eines Reset für die PLC. Der NCK setzt X_Command auf FALSE, nachdem die PLC die Ausführung des Reset über das Element X_State quittiert hat.
ST-Pfad | pMC[channel_idx]^.addr^.LCControlBahn_Data.LCControlBoolUnit_PLCReset
Kommandierter Wert
ST-Element | .X_Command
Signalfluss | NCK -> PLC
Datentyp | BOOL
Wertebereich | [TRUE = Resetanforderung von NCK an PLC, FALSE]
Rückgabewert
ST-Element | .X_State
Signalfluss | PLC -> NCK
Datentyp | BOOL
Wertebereich | [TRUE = PLC hat Reset durchgeführt, FALSE]
Anforderung
ST-Element | .X_Enable
Signalfluss | PLC -> NCK
Datentyp | BOOL
Wertebereich | [TRUE = PLC möchte über Anforderungen durch die CNC informiert werden, FALSE]

Abbildung 5-1: Interaktion BOOLEAN-MC-Control Unit und PLC

Vor einer Neubeauftragung und nach Erkennen der Resetquittierung wird das Signal X_State durch die CNC zurückgesetzt.


Satzvorlauf

Satzvorlauf an/aus anPLC

Beschreibung

Datentyp

LCControlBoolUnit, s. Beschreibung Control Unit

Zugriff

Verbrauchsdatum

NC-Kern setzt X_Command auf TRUE wenn der Satzvorlauf eingeschaltet werden soll und wartet auf die Quittierung der PLC. Die PLC quittiert das Einschalten des Satzvorlaufs durch Setzen des Elements X_State.

Entsprechend setzt der NC-Kern beim Ausschalten des Satzvorlaufs X_Command auf FALSE und wartet auf die Quittierung der PLC, die dies durch Löschen des Elements X_State anzeigt.

ST-Pfad

pMC[channel_idx]^.addr^.LCControlBahn_Data.LCControlBoolUnit_BlockSearch

Kommandierter Wert

ST-Element

.X_Command

Signalfluss

CNC -> PLC

Datentyp

BOOL

Wertebereich

[TRUE = Satzvorlauf soll eingeschaltet werden, FALSE]

Rückgabewert

ST-Element

.X_State

Signalfluss

PLC -> NCK

Datentyp

BOOL

Wertebereich

[TRUE = PLC hat Satzvorlauf eingeschaltet, FALSE]

Anforderung

ST-Element

.X_Enable

Abbildung 5-2: Interaktion BOOLEAN-MC-Control Unit und PLC

Im Falle eines CNC-Reset werden X_Command und X_State durch die CNC zurückgesetzt.


Einleitung

Für jeden Kanal und jede Achse können Technologiefunktionen im Decoderparametersatz (SDA-MDS) definiert werden. In diesem wird auch der Synchronisationsmechanismus der Technologiefunktion festgelegt. Es werden zwei grundsätzliche Arten der Synchronisation unterschieden:

q Satzweise Synchronisationen (Standardsynchronisation),

q Satzübergreifende Synchronisationen.

M-Funktionen, die im Decoderparametersatz nicht definiert werden, werden nach Start des NC-Programms als unbekannte M-Funktionen durch eine Fehlermeldung angezeigt, die Decodierung wird abgebrochen.


Verwaltung von Technologiefunktionen

Grundsätzlich können Technologiefunktionen in zwei Typen unterschieden werden:

Satzweise zu synchronisierende Technologiefunktionen und satzübergreifend zu synchronisierende Technologiefunktionen. Diese Aufteilung spiegelt sich auch auf dem High-Level-Interface wieder.

Alle satzweise zu synchronisierenden Technologiefunktionen müssen spätestens am Ende des NC-Satzes, in dem sie programmiert wurden, quittiert sein. Sie werden deshalb im entsprechenden Verwaltungsfeld aufeinanderfolgend abgelegt.

Bei Technologiefunktionen mit satzübergreifender Synchronisation ist dies nicht der Fall. Dort sind die noch auszuführenden, nicht quittierten Technologiefunktionen über das gesamte Feld verteilt (lückend). Außerdem kann der Fall auftreten, dass mehrere gleiche Technologiefunktionen in diesem Feld vorhanden sind, da durch die satzübergreifende Synchronisation die einzelnen Technologiebefehle nicht am Ende des NC-Satzes quittiert sein müssen, in dem sie programmiert wurden. Für die Erzeugung der Quittierung von Technologiefunktionen muss dies auf der Seite der PLC berücksichtigt werden.

Für das Feld der satzweise synchronisierten Technologiefunktionen wird die Anzahl der in einem NC-Satz programmierten Technologiefunktionen auf dem HLI zur Verfügung gestellt. Für das Feld der satzübergreifend synchronisierten Technologiefunktionen wird die Anzahl der unquittierten Technologiefunktionen angegeben.


Elemente zur Verwaltung achsspezifischer Technologie-Control-Units

Mehr:

button Satzweise Synchronisation (Standardsynchronisation)

button Satzübergreifende Synchronisation


Satzweise Synchronisation (Standardsynchronisation)

Feld der Technologiefunktionen mit satzweiser Synchronisation
Beschreibung | Feld von M-/H-/S-/T-Technologiefunktionen mit satzweiser Synchronisation. Technologiefunktionen liegen lückenlos in diesem Feld.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.ATechnoUnitAxe_Std[tech_unit_idx]
Datentyp | ARRAY [1.. HLI_MaxTechnoUnitsAxeStdSync] OF TechnoUnitAxe
Besonderheiten |

Anzahl der Technologiefunktionen mit satzweiser Synchronisation
Beschreibung | Anzahl der Einträge im Feld ATechnoUnitAxe_Std ( = Anzahl der in diesem Satz zu quittierenden M-Funktionen)
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.W_UsedUnitsStdSync
Datentyp | UINT
Wertebereich | [0, HLI_MaxTechnoUnitsAxeStdSync]


Satzübergreifende Synchronisation

Technologiefunktionen mit satzübergreifender Synchronisation
Beschreibung | Feld von M-/H-/S-/T-Technologiefunktionen mit satzübergreifender Synchronisation. Zwischen den Einträgen für nicht quittierte M-Funktionen können Einträge von bereits quittierten Technologiefunktionen liegen.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.ATechnoUnitAxe_Late[tech_unit_idx]
Datentyp | ARRAY [1.. HLI_MaxTechnoUnitsAxeLateSync] OF TechnoUnitAxe
Besonderheiten |

Anzahl der Technologiefunktionen mit satzübergreifender Synchronisation
Beschreibung | Anzahl der nicht quittierten Technologiefunktionen im Feld AtechnoUnitAxe_Late
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.W_UsedUnitsLateSync
Datentyp | UINT
Wertebereich | [0, HLI_MaxTechnoUnitsAxeLateSync]


Elemente zur Verwaltung kanalspezifischer Technologie-Control-Units

Mehr:

button Satzweise Synchronisation (Standardsynchronisation)

button Satzübergreifende Synchronisation


Satzweise Synchronisation (Standardsynchronisation)

Feld der Technologiefunktionen mit satzweiser Synchronisation
Beschreibung | Feld von M-/H-/S-/T-Technologiefunktionen mit satzweiser Synchronisation. Technologiefunktionen liegen lückenlos in diesem Feld.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.ATechnoUnitChannel_Std[tech_unit_idx]
Datentyp | ARRAY [1..HLI_MaxTechnoUnitsChStdSync] OF TechnoUnitChannel
Zugriff | PLC liest

Anzahl der Technologiefunktionen mit satzweiser Synchronisation
Beschreibung | Anzahl der Einträge im Feld ATechnoUnitChannel_Std ( = Anzahl der in diesem Satz zu quittierenden M-Funktionen)
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.W_UsedUnitsStdSync
Datentyp | UINT
Wertebereich | [0, HLI_MaxTechnoUnitsChStdSync]


Satzübergreifende Synchronisation

Technologiefunktionen mit satzübergreifender Synchronisation
Beschreibung | Feld von M-/H-/S-/T-Technologiefunktionen mit satzübergreifender Synchronisation. Zwischen den Einträgen für nicht quittierte M-Funktionen können Einträge von bereits quittierten Technologiefunktionen liegen.
Signalfluss | CNC -> PLC
Einheit | 0.1 µm
ST-Pfad | pMC[channel_idx]^.addr^.ATechnoUnitChannel_Late[tech_unit_idx]
Datentyp | ARRAY [1.. HLI_MaxTechnoUnitsChLateSync] OF TechnoUnitChannel

Anzahl der Technologiefunktionen mit satzübergreifender Synchronisation
Beschreibung | Anzahl der Einträge im Feld ATechnoUnitChannel_Late.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.W_UsedUnitsLateSync
Datentyp | UINT
Wertebereich | [0, HLI_MaxTechnoUnitsChLateSync]


Daten einer Technologie-Control-Unit

Mehr:

button Daten einer achsspezifischen Technologie-Control-Unit

button Daten einer kanalspezifischen Technologie-Control-Unit


Daten einer achsspezifischen Technologie-Control-Unit

Daten einer Technologiefunktion, Achse

Beschreibung

In einer Technologie Control Unit sind Elemente zur Beauftragung, Quittierung sowie zur Übergabe von eventuell nötigen Parametern enthalten.

Datentyp

TechnoUnitAxe

Besonderheiten

ST-Pfad

Standardsynchronisation:

pAC[axis_idx]^.addr^.ATechnoUnitAxe_Std[tech_unit_idx]

satzübergreifende Synchronisation:

pAC[axis_idx]^.addr^.ATechnoUnitAxe_Late[tech_unit_idx]

Auftrag

ST-Element

. X_Please

Beschreibung

Durch Setzen von X_Please signalisiert die CNC der PLC, dass die Technologie-Control-Unit ausgeführt werden soll.

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

Verbrauchsdatum

Die CNC aktualisiert die Daten der Technologiefunktion nur dann, wenn dieses Element FALSE ist. Nach der Aktualisierung setzt die CNC dieses Element auf TRUE, wobei zuvor das Element X_Done auf FALSE gesetzt wird.

Die PLC liest die Daten der Technologiefunktion, wenn dieses Element den Wert TRUE besitzt. Nach der Übernahme der Daten setzt die PLC den Wert auf FALSE.

Funktionstyp

ST-Element

. W_FktCtrl

Beschreibung

In W_FktCtrl wird der Typ der Technologiefunktion übergeben.

Datentyp

UINT

Wertebereich

1 = GCW_250_HLIIntfMFkt M-Funktion

2 = GCW_250_HLIIntfHFkt H-Funktion

3 = GCW_250_HLIIntfSpindel S-Funktion

Zugriff

PLC liest

Parameter

ST-Element

. MSTHProsessAxe_Attribut

Beschreibung

In Abhängigkeit des Inhaltes des Elements W_FktCtrl enthält dieses Element die Parameter einer

· M-Funktion/H-Funktion bei Technologiefunktionstyp GCW_250_HLIIntfMFkt oder GCW_250_HLIIntfHFkt

· S-Funktion (Spindel) bei Technologiefunktionstyp GCW_250_HLIIntfSpindel

Datentyp

ARRAY [1.. HLI_TechnoUnionByteCountAxe] OF BYTE

Wertebereich

Zugriff

PLC liest

Quittierung

ST-Element

. X_Done

Beschreibung

Durch Setzen des Elements X_Done auf TRUE signalisiert die PLC der CNC dass die Technologieinformation ausgeführt wurde.

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

Verbrauchsdatum

PLC setzt den Wert auf TRUE, wenn die Technologiefunktion ausgeführt wurde.

CNC setzt den Wert vor einer neuen Beauftragung auf FALSE.


Daten einer kanalspezifischen Technologie-Control-Unit

Daten einer Technologiefunktion, Kanal

Beschreibung

In einer Technologie Control Unit sind Elemente zur Beauftragung, Quittierung sowie zur Übergabe von eventuell nötigen Parametern enthalten.

Datentyp

TechnoUnitChannel

Besonderheiten

ST-Pfad

Standardsynchronisation:

pMC[channel_idx]^.addr^.ATechnoUnitChannel_Std[tech_unit_idx]

satzübergreifende Synchronisation:

pMC[channel_idx]^.addr^.ATechnoUnitChannel_Late[tech_unit_idx]

Auftrag

ST-Element

. X_Please

Beschreibung

Durch Setzen von X_Please signalisiert die CNC der PLC, dass die Technologie-Control-Unit ausgeführt werden soll.

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

Verbrauchsdatum

Die CNC aktualisiert die Daten der Technologiefunktion nur dann, wenn dieses Element FALSE ist. Nach der Aktualisierung setzt die CNC dieses Element auf TRUE, wobei zuvor das Element X_Done auf FALSE gesetzt wird.

Die PLC liest, die Daten der Technologiefunktion, wenn dieses Element den Wert TRUE besitzt. Nach der Übernahme der Daten setzt die PLC den Wert auf FALSE.

Funktionstyp

ST-Element

. W_FktCtrl

Beschreibung

In W_FktCtrl wird der Typ der Technologiefunktion übergeben.

Datentyp

UINT

Wertebereich

1 = GCW_250_HLIIntfMFkt M-Funktion

2 = GCW_250_HLIIntfHFkt H-Funktion

3 = GCW_250_HLIIntfSpindel S-Funktion

4 = GCW_250_HLIIntfTool T-Funktion

Zugriff

PLC liest

Parameter

ST-Element

. MSTHProsessChannel_Attribut

Beschreibung

In Abhängigkeit des Inhaltes des Elements W_FktCtrl enthält dieses Element die Parameter einer

· M-Funktion/H-Funktion bei Technologiefunktionstyp GCW_250_HLIIntfMFkt oder GCW_250_HLIIntfHFkt

· S-Funktion (Spindel) bei Technologiefunktionstyp GCW_250_HLIIntfSpindel

· T-Funktion bei Technologiefunktionstyp GCW_250_HLIIntfTool

Datentyp

ARRAY [1.. HLI_TechnoUnionByteCountChannel] OF BYTE

Wertebereich

Zugriff

PLC liest

Quittierung

ST-Element

. X_Done

Beschreibung

Durch Setzen des Elements X_Done auf TRUE signalisiert die PLC der CNC dass die Technologieinformation ausgeführt wurde.

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

Verbrauchsdatum

PLC setzt den Wert auf TRUE, wenn die Technologiefunktion ausgeführt wurde.

CNC setzt den Wert vor einer neuen Beauftragung auf FALSE.


Daten der Technologiefunktionen

Mehr:

button Daten der M-Funktion/H-Funktion

button Daten der S-Funktion

button Daten der T-Funktion


Daten der M-Funktion/H-Funktion

Daten der M-Funktion/H-Funktion

Beschreibung

Als zusätzliche Parameter einer M- oder H-Funktion werden die Funktionsnummer und die Ausführungszeit übergeben.

Datentyp

MHProzess

ST-Pfad

pMHProcessData : POINTER TO MHProzess;
kanalspezifisch, Standardsynchronisation:

pMHProcessData := ADR(pMC[channel_idx]^.addr^.ATechnoUnitChannel_Std[tech_unit_idx].MSTHProsessChannel_Attribut.AB_Data[1]);

kanalspezifisch, Satzübergreifende Synchronisation:

pMHProcessData := ADR(pMC[channel_idx]^.addr^.ATechnoUnitChannel_Late[tech_unit_idx].MSTHProsessChannel_Attribut.AB_Data[1]);

Zugriff

PLC liest

Nummer der M-Funktion/H-Funktion

Beschreibung

Nummer der M- bzw. H-Funktion. Diese entspricht der im NC-Programm programmierten Zahl bei einer M- bzw. H-Funktion.

Bsp: 4711, wenn M4711 programmiert wurde.

ST-Element

.D_Number

Datentyp

UDINT

Einheit

-

Zugriff

FktNr : UDINT;

FktNr := pMHProcessData^.D_Number

Besonderheiten

Voraussichtliche Ausführungsdauer M-/H-Funktion

Beschreibung

Enthält die in den Kanalparametern im Eintrag m_prozess_zeit[] eingetragenen Werte. Hiermit kann auf Seiten der PLC eine Timeoutüberwachung für Technologiefunktionen realisiert werden.

Beim Synchronisationstyp MOS_TS wird in dem Element der Abtastzeitoffset des M-Codes bereitgestellt.

ST-Element

.D_Time

Datentyp

UDINT

Einheit

Us

Zugriff

Time : UDINT;

Time := pMHProcessData^.D_Time

Besonderheiten

Der Wert ist der im Decoderparametersatz definierte Wert für die entsprechende M-/H-Funktion.

Bsp: Für eine M-Funktion lautet die Kenngröße: spindel[index].mX_prozess_zeit.


Daten der S-Funktion

Bei der Programmierung von M-Funktionen (M03, M04, M05, M19) im NC-Programm, die sich auf eine Spindel beziehen, werden die Technologiefunktionsdaten als S-Funktion auf dem jeweiligen achsspezifischen HLI-Bereich abgelegt.

Daten der M-Funktion/H-Funktion

Beschreibung

In der Struktur SProzess sind die Parameter einer S-Funktion enthalten.

Datentyp

Sprozess

ST-Pfad

pSProcessData : POINTER TO SProzess;

achsspezifisch, Standardsynchronisation:

pSProcessData := ADR(pAC[axis_idx]^.addr^.ATechnoUnitAxe_Std[tech_unit_idx].MSTHProsessAxe_Attribut.AB_Data[1]);

achsspezifisch, satzübergreifende Synchronisation:

pSProcessData := ADR(pAC[axis_idx]^.addr^.ATechnoUnitAxe_Late[tech_unit_idx].MSTHProsessAxe_Attribut.AB_Data[1]);

Zugriff

PLC liest

Positionssollwert der Spindel bei M19

Beschreibung

Sollposition bei Spindelpositionierung mit M19

ST-Element

.D_Pos

Datentyp

DINT

Einheit

10-4 °

Zugriff

ActivePosition : DINT;

ActivePosition := pSProcessData^.D_Pos;pMHProcessData^.D_Pos

Besonderheiten

Programmierte Spindeldrehzahl

Beschreibung

Programmierte Spindeldrehzahl

ST-Element

. D_Rev

Datentyp

DINT

Einheit

10-3 °/s

Zugriff

PrgRevolution : DINT;

PrgRevolution: = pSProcessData^.D_Rev;

Besonderheiten

Voraussichtliche Ausführungsdauer

Beschreibung

Zeitdauer, die voraussichtlich für die Verarbeitung einer S-Funktion benötigt wird.

ST-Element

.D_Zeit

Datentyp

UDINT

Einheit

1 μs

Zugriff

ExpectedTime : UDINT;

ExpectedTime:= pSProcessData^.D_Zeit;

Besonderheiten

Nummer der M-Funktion der Spindelschaltfunktion

Beschreibung

Nummer der Spindelschalfunktion (M03, M04, M05)

ST-Element

. W_MoveCmd

Datentyp

UINT

Einheit

Wertebereich

3 M03

4 M04

5 M05

Zugriff

MoveCmdNum : UINT;

MoveCmdNum := pSProcessData^.W_MoveCmd;

Besonderheiten

Nummer der M-Funktion der Spindelpositionierfunktion

Beschreibung

Nummer der Spindelpositionierfunktion (M19)

ST-Element

. W_PosCmd

Datentyp

UINT

Wertebereich

0 keine M-Funktion angegeben ???

19 steht für M19

Zugriff

PosCmdNum : UINT;

PosCmdNum := pSProcessData^.W_PosCmd;

Besonderheiten

Achsnummer

Beschreibung

Systemweit eindeutige Nummer einer logischen Achse/Spindel

ST-Element

. W_log_AxeNr

Datentyp

UINT

Wertebereich

[1, nAxis]

Zugriff

LogAxisNum : UINT;

LogAxisNum := pSProcessData^.W_Log_AxeNr;

Besonderheiten


Daten der T-Funktion

Daten der T-Funktion

Beschreibung

In einer T-Funktion sind alle Daten für einen Werkzeugwechsel zusammengefasst. Eine Struktur vom Typ TProzess besitzt als einziges Element die Datenstruktur HLIToolID_Data vom Typ HLIToolId.

Datentyp

TProzess

ST-Pfad

pTProcessData : POINTER TO TProzess;
pHLIToolIdData : POINTER TO HLIToolId

kanalspezifisch, Standardsynchronisation:

pTProcessData := ADR(pMC[channel_idx]^.addr^.ATechnoUnitChannel_Std[tech_unit_idx].MSTHProsessChannel_Attribut.AB_Data[1]);

kanalspezifisch, satzübergreifende Synchronisation:

pTProcessData := ADR(pMC[channel_idx]^.addr^.ATechnoUnitChannel_Late[tech_unit_idx].MSTHProsessChannel_Attribut.AB_Data[1]);

pHLIToolIdData := ADR(pTProcessData^.HLIToolIdData);

Zugriff

PLC liest

Nummer des einzuwechselnden Werkzeugs

Beschreibung

Nummer des einzuwechselnden Werkzeugs

ST-Element

.D_Basic

Datentyp

DINT

Zugriff

ToChangeToolNum : DINT;

ToChangeToolNum := pHLIToolIdData^.D_Basic;

Besonderheiten

Nummer eines Schwesterwerkzeugs

Beschreibung

Nummer eines gleichartigen Schwesterwerkzeugs

ST-Element

.D_Sister

Datentyp

DINT

Zugriff

SisterToolNum : DINT;

SisterToolNum := pHLIToolIdData^.D_Sister;

Besonderheiten

Nummer eines Variantenwerkzeugs

Beschreibung

Nummer eines ähnlichen Variantenwerkzeugs

ST-Element

.D_Variant

Datentyp

DINT

Zugriff

VariantToolNum : DINT;

VariantToolNum := pHLIToolIdData^.D_Variant;

Besonderheiten

Schwesterwerkzeugs gültig

Beschreibung

Gültigkennung für das Schwesterwerkzeug.

ST-Element

.X_SisterValid

Datentyp

BOOL

Zugriff

SisterToolValid : BOOL;

SisterToolValid := pHLIToolIdData^.X_SisterValid;

Variantenwerkzeug gültig

Beschreibung

Gültigkennung für das Variantenwerkzeug.

ST-Element

.X_VariantValid

Datentyp

BOOL

Zugriff

VariantToolValid : BOOL;

SisterToolValid := pHLIToolIdData^.X_VariantValid;


Externe Variablen / V.E.-Variablen

Mit Hilfe von externen Variablen können Daten zwischen dem NC-Programm und der PLC über das HLI ausgetauscht werden. Jeder Kanal hat einen eigenen Datenbereich für externe Variablen, die nur im Kanal bekannt sind, zusätzlich gibt es einen kanalübergreifenden globalen Datenbereich, auf den von allen Kanälen aus zugegriffen werden kann.

Auf der PLC-Seite stellen sich die Datenbereiche für die externen Variablen als ARRAY OF UDINT dar. Der Index der einzelnen Arrayelemente startet dabei mit dem Wert 1.

Eine einzelne externe Variable belegt unabhängig von ihrem Datentyp stets einen Speicherblock von HLI_VEByteCount (24) Bytes. Falls ein Array von externen Variablen definiert wurde, werden die einzelnen Variablen gepackt im Speicherbereich abgelegt (mehrere Variablen pro Speicherblock), wobei abhängig von der Arraygröße eventuell mehrere aufeinanderfolgende Speicherblöcke verwendet werden.

Beim Zugriff auf externe Variablen von der PLC aus ist zunächst der Index der Variablen im Speicherbereich der externen Variablen zu bestimmen:

Beispiel Indexberechnung

4. Variable (VarNr = 4):

Offset = (VarNr 1 )* HLI_VEByteCount / 4 + 1

Für eine Variable mit index = 3 ergibt sich somit ein Offset im Speicher von 13.

Der Zugriff auf den Speicherbereich muss dann entsprechend dem tatsächlichen Datentyp der externen Variablen erfolgen. Alle hierzu nötigen Informationen sind in der Konfigurationsliste der externen Variablen enthalten.

Weitere Einzelheiten über externe Variablen können der Dokumentation [EXTV] entnommen werden.

Falls der NC-Kern in der TwinCAT Laufzeitumgebung läuft, kann die Anzahl der externen Variablen im Systemmanager konfiguriert werden.

Ein Beispielprogramm zum Zugriff auf externe Variablen ist unter dem Namen HLI-Ve1.pro verfügbar.

Externe Variable
Beschreibung | Speicherbereich zum Datenaustausch zwischen NC-Programm und PLC
Datentyp | VeData
ST-Pfad | pVeData : POINTER TO VEData; VeOffset :DINT; VeOffset := (VarNr 1) * HLI_VEByteCount / 4 + 1; CNC global: pVeData := ADR(pVeGlob^.addr); kanalspezifisch: pVeData := ADR(pVe[channelIdx]^.addr);
Zugriff | pLRealVal : POINTER TO LREAL; LRealVal : LREAL; pLRealVal := ADR(pVeData^.AHLI_UNS32_Data[VeOffset]); LRealVal := pLRealVal^;
Besonderheiten | Beim Zugriff muß entsprechend dem Datentyp der externen Variablen zugegriffen werden.


Betriebsarten

Die CNC unterscheidet zwischen fünf Betriebsarten. Zwischen diesen Betriebsarten kann über die Bedien- und/oder die PLC-Schnittstelle umgeschaltet werden, wobei immer nur eine Betriebsart aktiv sein kann.

Folgende Betriebsarten sind definiert:

Betriebsart | ST-Konstante | Wert | Erläuterung
Standby | GCW_250_HLIImcmStandbyMode | 1 | Es ist keine Betriebsart angewählt. Default nach Hochlauf der Steuerung.
Automatik | GCW_250_HLIImcmAutomaticMode | 2 | Die Steuerung kann ein komplettes NC-Programm automatisch abarbeiten. Dabei kann der Programmablauf unterbrochen und wiederaufgenommen werden.
Handsatz | GCW_250_HLIImcmMDIMode | 3 | Die Kommandierung von Bewegungen erfolgt durch den Bedienrechner über einen einzelnen NC-Satz. Der NC-Satz wird als String an die Steuerung übertragen und über ein START-Kommando ausgeführt. Ein Unterbrechen und Wiederaufnehmen der Bewegung ist dabei möglich.
Handbetrieb | GCW_250_HLIImcmManualMode | 4 | Die Kommandierung von Bewegungen erfolgt durch direkt an die Steuerung angeschlossene Peripheriegeräte (Tasten, Handräder).
Referenzpunktfahrt | GCW_250_HLIImcmReferenceMode | 5 | Die Achsen können referenziert werden. Dabei wird ein NC-Programm mit dem Namen rpf.nc gestartet.

Tab. 0.1 Betriebsarten

Eine Betriebsart kann unterschiedliche Zustände besitzen. Die Zustände für die einzelnen Betriebsarten und deren Bedeutung bezüglich der Betriebsart sind den nachfolgenden Kapiteln zu entnehmen.

Mehr:

button Zustandsgraph der Betriebsarten

button Steuerkommandos/Statusinformation für Betriebsarten


Zustandsgraph der Betriebsarten

Anmerkung: Für die Betriebsart standby gibt es keinen Zustandsgraph.

Abbildung 8-1: Zustandsgraph einer Betriebsart

Bei Beauftragung der Zielbetriebsart und des Zielzustandes wird ein CNC-Reset automatisch ausgeführt, falls der Zustandswechsel einen Abbruch erfordert (siehe abort).

Der Fehlerzustand wird über einen automatisch durchgeführten Reset verlassen, wenn eine Betriebsart beauftragt wurde.

Zusätzlich kann ein Reset durch folgende Beauftragung explizit erzwungen werden:

a) Anwahl der Betriebsart = STANDBY und des Zustands = SELECTED

b) Explizite Vorgabe der Transition = RESET in der aktuell aktiven Betriebsart

c) Vorgabe des Zielzustands = RESETTING (s. u.)

8.1.1

Mehr:

button Zustände der Betriebsart: Automatik

button Zustände der Betriebsart: Handsatz

button Zustände der Betriebsart: Handbetrieb

button Zustände der Betriebsart: Referenzpunktfahrt


Zustände der Betriebsart: Automatik

Zustand | ST-Konstante | Wert | Beschreibung
DESELECTED | GCW_250_HLIImcmProcessDeselected | 1 | Betriebsart ist abgewählt
SELECTED | GCW_250_HLIImcmProcessSelected | 2 | Betriebsart Automatik ist angewählt
READY | GCW_250_HLIImcmProcessReady | 3 | NC-Programm ist angewählt
ACTIVE | GCW_250_HLIImcmProcessActive | 4 | NC-Programm läuft
HOLD | GCW_250_HLIImcmProcessHold | 5 | NC-Programm ist unterbrochen (s.a. Vorschubstopp).
ERROR | GCW_250_HLIImcmProcessError | 6 | Bei der Ausführung des NC-Programms ist ein Fehler aufgetreten.

Tabelle 8-1: Zustände der Betriebsart Automatik

Der NC-Programmname muss beim Übergang von selected nach ready übergeben werden.


Zustände der Betriebsart: Handsatz

Zustand | ST-Konstante | Wert | Beschreibung
DESELECTED | GCW_250_HLIImcmProcessDeselected | 1 | Betriebsart Handsatz ist abgewählt.
SELECTED | GCW_250_HLIImcmProcessSelected | 2 | Betriebsart Handsatz ist angewählt. Ein NC-Satz (NC-Sätze) können programmiert werden.
READY | GCW_250_HLIImcmProcessReady | 3 | ??? MDI-Satz (Sätze) ist (sind) angewählt. ??? CNC hat den(die) programmierten NC-Satz (NC-Sätze) übernommen.
ACTIVE | GCW_250_HLIImcmProcessActive | 4 | Der (die) NC-Satz (NC-Sätze) werden abgearbeitet.
HOLD | GCW_250_HLIImcmProcessHold | 5 | NC-Satz (Sätze) ist (sind) gestoppt (s.a. Vorschubstopp).
ERROR | GCW_250_HLIImcmProcessError | 6 | Fehlerzustand

Tabelle 8-2: Zustände der Betriebsart Handsatz

Der Handsatz (String) muss beim Übergang von selected nach ready übergeben werden.


Zustände der Betriebsart: Handbetrieb

Zustand | ST-Konstante | Wert | Beschreibung
DESELECTED | GCW_250_HLIImcmProcessDeselected | 1 | Betriebsart ist abgewählt.
SELECTED | GCW_250_HLIImcmProcessSelected | 2 | Betriebsart ist angewählt. (Grundzustand).
READY | GCW_250_HLIImcmProcessReady | 3 | Handbetrieb ist parametriert.
ACTIVE | GCW_250_HLIImcmProcessActive | 4 | Handbetrieb wird abgearbeitet.
HOLD | GCW_250_HLIImcmProcessHold | 5 | Handbetrieb ist gestoppt (s.a. Vorschubstopp).
ERROR | GCW_250_HLIImcmProcessError | 6 | Fehlerzustand

Tabelle 8-3: Zustände der Betriebsart Handbetrieb


Zustände der Betriebsart: Referenzpunktfahrt

Zustand | ST-Konstante | Wert | Beschreibung
DESELECTED | GCW_250_HLIImcmProcessDeselected | 1 | Betriebsart ist abgewählt.
SELECTED | GCW_250_HLIImcmProcessSelected | 2 | Betriebsart ist angewählt. (Grundzustand).
READY | GCW_250_HLIImcmProcessReady | 3 | Referenzpunktfahrt ist parametriert (z.B. bzgl. Reihenfolge).
ACTIVE | GCW_250_HLIImcmProcessActive | 4 | Referenzpunktfahrt wird abgearbeitet.
HOLD | GCW_250_HLIImcmProcessHold | 5 | Referenzpunktfahrt ist gestoppt (s.a. Vorschubstopp).
ERROR | GCW_250_HLIImcmProcessError | 6 | Fehlerzustand

Tabelle 8-4: Zustände der Betriebsart Referenzpunktfahrt

Die zu referenzierenden Achsen müssen beim Übergang von selected nach ready übergeben werden. Wird kein String übergeben, wird das Default-Referenzpunktprogramm rpf.nc gestartet.


Steuerkommandos/Statusinformation für Betriebsarten

Die nachfolgend beschriebene Control-Unit beinhaltet Daten, mit denen ein Wechsel der Betriebsart kommandiert und der aktuelle Zustand der Betriebsartenverwaltung abgefragt werden kann.

Mehr:

button Control-Unit

button Nutzdaten


Control-Unit

Betriebsart

Beschreibung

Control-Unit zur Umschaltung der Betriebsart und die Abfrage des aktuellen Zustandes der Betriebsartenverwaltung, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

MCControlMCMMode_State_Unit, siehe Beschreibung Control Unit mit Verbrauchskontrolle

ST-Pfad

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit

Kommandierte, angeforderte Daten

ST-Element

.HLIProcTransTo_Mode_StateCommand

. HLIProcTransTo_Mode_StateRequest

Datentyp

HLIProcTransTo_Mode_State

Zugriff

PLC schreibt Command und liest Request

Rückgabe-Daten

ST-Element

. HLI_EImCmProcState_ModeStateRequest

Datentyp

HLI_EImCmProcState_ModeState

Zugriff

PLC liest

Flusskontrolle kommandierter und angeforderter Wert

ST-Element

.X_McmCommandSemaphor

. X_McmRequestSemaphor

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.

CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST-Pfad

.X_McmEnable


TwinCAT CNC: Überblick

Betriebsarten > Steuerkommandos/Statusinformation für Betriebsarten

Nutzdaten

Mehr:

button Angeforderte und kommandierte Nutzdaten

button Statusinformationen


Angeforderte und kommandierte Nutzdaten

Ausgangsbetriebssart

Beschreibung

Betriebsart von der ausgehend gewechselt werden soll..

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateCommand

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateRequest

Kommandierter, angeforderter Wert

ST-Element

. X_McmCommandFromMode

Datentyp

UDINT

Wertebereich

1 = GCW_250_HLIImcmStandbyMode

2 = GCW_250_HLIImcmAutomaticMode

3 = GCW_250_HLIImcmMDIMode

4 = GCW_250_HLIImcmManualMode

5 = GCW_250_HLIImcmReferenceMode

Besonderheiten

Dieses Element muss beim Wechsel der Betriebsart nicht versorgt werden. Wird jedoch ein Wert angegeben, so wird beim Wechsel der Betriebsart überprüft, ob sich die CNC tatsächlich in der angegebenen Betriebsart befindet. Ist dies nicht der Fall erfolgt eine Warnung.

Ausgangszustand der Betriebsart bei Betriebsartwechsel

Beschreibung

Zustand innerhalb der Betriebsart, von dem aus die Zustandsumschaltung erfolgen soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateCommand

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateRequest.X_McmCommandFromState

Kommandierter, angeforderter Wert

ST-Element

. X_McmCommandFromState

Datentyp

UDINT

Wertebereich

1 = GCW_250_HLIImcmProcessDeselected

2 = GCW_250_HLIImcmProcessSelected

3 = GCW_250_HLIImcmProcessReady

4 = GCW_250_HLIImcmProcessActive

5 = GCW_250_HLIImcmProcessHold

6 = GCW_250_HLIImcmProcessError

Besonderheiten

Dieses Element muss beim Wechsel der Betriebsart nicht versorgt werden. Wird jedoch ein Wert angegeben, so wird beim Wechsel der Betriebsart überprüft, ob sich die Betriebsart tatsächlich in dem angegebenen Zustand befindet. Ist dies nicht der Fall erfolgt eine Warnung.

Zielbetriebsart bei Betriebsartenumschaltung

Beschreibung

Betriebsart in die umgeschaltet werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateCommand.

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateRequest.

Kommandierter, angeforderter Wert

ST-Element

.X_McmCommandToMode

Datentyp

UDINT

Wertebereich

Siehe Betriebsart-Istwert bei Betriebsartwechsel → Wertebereich

Zielzustand bei Betriebsartwechsel

Beschreibung

Zielzustand innerhalb der Zielbetriebsart.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateCommand

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateRequest

Kommandierter, angeforderter Wert

ST-Element

.X_McmCommandToState

Datentyp

UDINT

Wertebereich

Siehe Zustands-Istwert der Betriebsart bei Betriebsartwechsel → Wertebereich

Wird als Zielzustand State = RESETTING = 15 vorgegeben, so wird explizit ein CNC-Reset durchgeführt.

Diese Funktion ist ab folgenden Versionen zur Verfügung:

V2.10.1033.01 oder höher

V2.10.1507.02 oder höher

V2.10.1800.04 oder höher

Parameter bei Betriebsartenwechsel

Beschreibung

Parameter bei Betriebsartenwechsel.

Für den erfolgreichen Wechsel in eine bestimmten Zustand einer Betriebsart kann es erforderlich sein Parameter bei der Kommandierung des Betriebsartenwechsel anzugeben. Diese werden in diesem Element abgelegt.

ST-Pfad

pParameter : POINTER TO STRING;

Parameter : STRING;

Kommandierter Wert

pParameter := ADR(pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateCommand.AB_Data[1]);

Angeforderter Wert

pParameter := pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLIProcTransTo_Mode_StateRequest.AB_Data[1]

Parameter := pParameter^;

Datentyp

ARRAY[1..GCW_250_HLIImCmProcModeStateParaSize] OF BYTE

Wertebereich

Wird ein Betriebsartenwechsel kommandiert, kann es erforderlich sein, einen Parameter anzugeben, damit die Kommandierung erfolgreich ausgeführt werden kann. Für welche Fälle dies erforderlich ist und welche Art von Parameter übergeben werden muss, lässt sich der nachfolgenden Tabelle entnehmen. Ist bei dem Betriebsarten- und Zustandswechsel einer der aufgeführten Zustandsübergänge beteiligt, ist der entsprechende Parameter anzugeben. Zur Bestimmung ob bei einem kommandierten Betriebsartwechsel einer der unten aufgeführten Zustandsübergänge ausgeführt wird, ist der "Zustandsgraph weitere Betriebsarten" zu betrachten.

Betriebsart-Sollwert | Zustandsübergang | Parameter
Automatik | prepare | Der NC-Programmname als Zeichenkette.
Handsatz | prepare | NC-Satz (Sätze)
Handbetrieb | prepare | · kein Parameter → alle Achsen werden aktiviert (G200) · explizites aktivieren spezifischer Achsen mit G200[Achse_1, ...]
Referenzpunktfahrt | prepare | · kein Parameter → NC-Programm rpf.nc wird gestartet · explizite Auswahl der Achsen über Handsatz ( z.B.: G74 X1 Z2 )

Tabelle 8-5: Parameter bei Betriebsartwechsel

Kanalnummer

Beschreibung

Nummer des Kanals, dessen Betriebsart umgeschaltet werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Command.X_McmCommandChannelNo

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Request.X_McmCommandChannelNo

Datentyp

UDINT

Besonderheiten

Unbelegt (nur zur Kompatibilität mit dem HÜMNOS-Standard).


Statusinformationen

Betriebsart-Istwert
Beschreibung | Istwert der Betriebsart.
ST-Pfad | pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLI_EImCmProcState_ModeStateRequest.X_McmRequestReadMode
Datentyp | UDINT
Wertebereich | Siehe Betriebsart-Istwert bei Betriebsartwechsel → Wertebereich

Zustands-Istwert der Betriebsart
Beschreibung | Istwert des Zustands der Betriebsart.
ST-Pfad | pMC[channel_idx]^.addr^.MCControlChannel_Data.MCControlMCMMode_State_Unit.HLI_EImCmProcState_ModeStateRequest.X_McmRequestReadState
Datentyp | UDINT
Wertebereich | Siehe Zustands-Istwert der Betriebsart bei Betriebsartwechsel → Wertebereich (on page 135)


Handbetrieb

Die Funktionalität Handbetrieb ermöglicht ein externes Ansteuern einzelner Achsen mit physikalischen Handbetriebselementen (Handrad, Tipptasten) über das HLI.

Es stehen die folgenden drei Möglichkeiten der Achsbewegung zur Verfügung:

q Handradfunktion: beliebiger Weg mit beliebiger Geschwindigkeit durch
Vorgabe von Handradinkrementen.

q Tippbetrieb: beliebiger Weg mit parametrierbarer Geschwindigkeit bei
Betätigung eines Schalters.

q Jogbetrieb: vorgebbarer Weg mit parametrierbarer Geschwindigkeit
bei Betätigung eines Schalters.

Es besteht die Möglichkeit die Handbetriebselemente während des Betriebs dynamisch einer oder mehreren Achsen zuzuordnen sowie die Parametrierung (z. B. Jogschrittweite) zu ändern. Die Zuordnung des Bedienelements zu den logischen Achsen erfolgt dabei durch die logische Achsnummer. Das folgende Diagramm zeigt beispielhaft die Zuordnung von Handbetriebselementen zu CNC-Achsen.

In der Betriebsart Handbetrieb kann jede Achse drei Zustände annehmen:

· IDLE

· BEREIT

· AKTIV

Zur Verwendung des Handbetriebs für eine Achse sind die folgenden Schritte nötig:

· Aktivierung des Zustandes BEREIT für die Achse

· Parametrierung des Handbetriebsart

· Aktivierung des Handbetriebs (Übergang in den Zustand AKTIV)

· Übergabe der Bedienelementaktionen (Tastendrücke, Zählerstand des Handradzählers) an die CNC.

Übergang in Zustand BEREIT

Der Übergang in den Zustand BEREIT kann durch folgende Maßnahmen erfolgen:

· Explizite Betriebsartenumschaltung über HLI oder GUI.

· Programmierung von G200/G201 im NC-Programm/Handsatz

Im Zustand BEREIT kann nun die gewünschte Handbetriebsart parametriert werden. Siehe auch Abschnitt Parametrierung Handbetrieb.

Übergang in den Zustand AKTIV

Die Achse geht in den Zustand AKTIV, sobald ihr ein Bedienelement zugeordnet wurde. Einzelheiten können dem Abschnitt Aktivierung von Bedienelementen entnommen werden.

Übergabe der Bedienelementaktionen

In der Betriebsart AKTIV können nun die Bedienelementaktionen an die CNC übergeben werden um die Achse zu bewegen.

Beenden des Handbetriebes

Der Zustand AKTIV einer Achse wird wieder verlassen, wenn der Achse das Bedienelement 0 zugeordnet wurde oder ein Reset durchgeführt wurde.

Informationen über den Status einer Achse bezüglich des Handbetriebes können der Struktur AxeHBDisplayData_Data (siehe Abschnitt Statusinformationen des Handbetriebs) entnommen werden.

Mehr:

button Statusinformationen des Handbetriebs

button Steuerkommandos des Handbetriebs


Statusinformationen des Handbetriebs

TwinCAT CNC: Überblick

Handbetrieb

Status informationen des Handbetriebs

Zustand des Handbetriebs
Beschreibung | Die Betriebsart Handbetrieb befindet sich in einem der nachfolgend beschriebenen Zuständen.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.W_State
Datentyp | UINT
Wertebereich | 0 Betriebsart deaktiviert 1 Betriebsart im NC-Programm über G200, G201 freigeschaltet, aber kein Bedienelement zugeordnet. 2 Betriebsart im NC-Programm über G200, G201 freigeschaltet, Bedienelement zugeordnet.
Zugriff | PLC liest
Besonderheiten |

Betriebsart des Handbetriebs
Beschreibung | Die Bahnvorbereitung wartet nach Anforderung einer Achse auf deren Erhalt.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.W_OperationMode
Datentyp | UINT
Wertebereich | 0 keine Betriebsart angewählt 1 Handradbetrieb 2 Tippbetrieb 3 Jogbetrieb
Zugriff | PLC liest
Besonderheiten |

Bedienelementnummer
Beschreibung | Logische Nummer des Bedienelements, das momentan mit der betreffenden Achse verbunden ist.
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.W_ControlElement
Datentyp | UINT
Zugriff | PLC liest
Besonderheiten |

Handradauflösung
Beschreibung | Auflösung des Handrads, das als Bedienelement mit der betreffenden Achse verbunden ist.
Signalfluss | CNC -> PLC
Einheit | Inkremente je Handradimpuls
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.D_HRAufloesung
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Verfahrgeschwindigkeit im Tippbetrieb
Beschreibung | Verfahrgeschwindigkeit der betreffenden Achse, wenn sie im Tippbetrieb bewegt wird.
Signalfluss | CNC -> PLC
Einheit | mm/min
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.D_TippGeschw
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Verfahrgeschwindigkeit im Jogbetrieb
Beschreibung | Verfahrgeschwindigkeit der betreffenden Achse, wenn sie im Jogbetrieb bewegt wird
Signalfluss | CNC -> PLC
Einheit | mm/min
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.D_JogGeschw
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |

Verfahrweg im Jogbetrieb
Beschreibung | Verfahrweg der betreffenden Achse pro Tastendruck, wenn sie im Jogbetrieb bewegt wird.
Signalfluss | CNC -> PLC
Einheit | Mm
ST-Pfad | pMC[channel_idx]^.addr^.StateBahn_Data.HLIBahnCoordDispData_Coord[axis_idx].AxeHBDisplayData_Data.D_JogWeg
Datentyp | DINT
Zugriff | PLC liest
Besonderheiten |


Steuerkommandos des Handbetriebs

Die Steuerung der einzelnen Handbetriebsarten erfolgt über spezifische Control-Units. Diese Control-Units enthalten Daten zur Flusskontrolle der Nutzdaten, sowie die Nutzdaten selbst. Die Nutzdaten sind im allgemeinen Elemente einer Struktur.

Mehr:

button Aktivierung von Bedienelementen für Handbetrieb

button Parametrierung des Handbetriebs

button Bedienelemente des Handbetriebs


Aktivierung von Bedienelementen für Handbetrieb

TwinCAT CNC: Überblick

Handbetrieb > Steuerkommandos des Handbetriebs

Aktivierun g von Bedienelementen für Handbetrieb

Nachdem eine Achse durch G200/G201 für den Handbetrieb vorbereitet wurde, kann dieser Achse ein logisches Bedienelement (Taste / Handrad) mit einem Parametersatz zugeordnet werden. Dies findet bei der sogenannten Aktivierung der Achse statt.

Die Defaultwerteinstellungen hierzu sind über die achsspezifischen Parameterlisten vorbelegt:

handbetrieb.default.operation_mode 2 # 1 handwheel, 2 continuous,

3 incremental

handbetrieb.default.control_element 1 # logical handwheel/key

Als Defaultparameter wird der 0.-te Parametersatz (Index = 0) der Handbetriebsparameter verwendet.

Bei jeder Neuanwahl der Handbetriebsart (s. Betriebsarten) oder G200/G201 wird die zuletzt bekannte Einstellung (Betriebsart, Verbindung mit Bedienelement sowie Parametersatz) der Achsen wieder hergestellt.

Aktivierung von Bedienelementen bei Handbetrieb

Beschreibung

Control-Unit zur Verwaltung der Daten für die Aktivierung eines Bedienelements und dessen Zuordnung zu einer Achse bei Handbetrieb, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

HBActivationControlUnit, siehe Beschreibung Control Unit mit Verbrauchskontrolle

Besonderheiten

Diese Control-Unit kann nur eingesetzt werden, wenn sich die CNC in der Betriebsart Handbetrieb befindet bzw. die Achsen über explizites G200/G201 für den Handbetrieb freigegeben wurden.

Ansonsten wird die Aktivierung mit einer Fehlermeldung (z.B. 150048 -> Betriebsartenanwahl unzulässig bei Tippbetrieb) abgelehnt.

ST-Pfad

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation

Zugriff

PLC liest HBActivation_Request und schreibt HBActivation_Command + X_Enable

Kommandierte, angeforderte Daten

ST-Element

.HBActivation_Command

.HBActivation_Request

Datentyp

HBActivation, Beschreibung siehe Kapitel Nutzdaten bei Aktivierung

Flusskontrolle kommandierte Daten

ST-Element

. X_CommandSemaphor

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.

Flusskontrolle angeforderte Daten

ST-Element

. X_RequestSemaphor

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

Verbrauchsdatum

CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST-Pfad

.X_Enable

Mehr:

button Nutzdaten bei Aktivierung


Nutzdaten bei Aktivierung

Achsnummer

Beschreibung

Systemweit eindeutige Nummer einer logischen Achse.

Der spezifizierten logischen Achse wird das Bedienelement zugeordnet, über das die Achse im Handbetrieb bewegt werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Command.W_LogAchsNr

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Request.W_LogAchsNr

Datentyp

UINT

Wertebereich

[1, nAxis]

Bedienelementnummer

Beschreibung

Nummer des logischen Bedienelements, das der logischen Achse zugeordnet werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Command.W_ControlElement

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Request.W_ControlElement

Datentyp

UINT

Wertebereich

Einer der Werte, die in der Konfigurationsliste hand_mds.lis für die Kenngrößen tasten_data[X].log_tasten_nr als logische Tipptastenpaarnummern definiert sind, wenn es sich bei dem Bedienelement um ein Tastenpaar handelt

oder

einer der Werte, die in der Konfigurationsliste hand_mds.lis für die Kenngrößen hr_data[0].log_hr_nr als logische Handradnummern definiert sind, wenn es sich bei dem Bedienelement um ein Handrad handelt.

Besonderheiten

Wird als logische Nummer 0 vorgegeben, so wird der aktuelle Betriebsart einer Achse abgewählt.

Handbetriebsart

Beschreibung

Handbetriebsart, die der logischen Achse zugewiesen werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Command.W_OperationMode

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Request.W_OperationMode

Datentyp

UINT

Wertebereich

0 keine Betriebsart, Abwahl der aktuellen Betriebsart

1 Handradbetrieb

2 Tippbetrieb

3 Jogbetrieb

Handbetriebsparametersatz

Beschreibung

Angabe des Index des Parametersatzes, welcher für den Handbetrieb verwendet werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Command.W_ParameterIndex

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBActivationControlUnit_Activation.HBActivation_Request.W_ParameterIndex

Datentyp

UINT

Wertebereich

[0; 2]

Besonderheiten

Der erste Wertesatz der Parametertabelle (Index = 0) wird bei Vorgabe individueller Parameter über die SPS-Schnittstelle überschrieben. Die restlichen Parametersätze bleiben dabei unverändert, d.h. sie entsprechen den in der achsspezifischen Parametrierungs-Liste angegebenen Werten.

Bemerkung:

Die aktuell aktivierte Achse kann sowohl durch Abwahl der Betriebsart als auch durch Zuordnen des Bedienelements 0 deaktiviert werden.


Parametrierung des Handbetriebs

TwinCAT CNC: Überblick

Handbetrieb > Steuerkommandos des Handbetriebs

Parame trierung des Handbetriebs

Grundsätzlich kann jede Handbetriebsart spezifisch parametriert werden. Z.B. können die Verfahrgeschwindigkeiten oder die Schrittweiten pro Achse eingestellt werden. Die Defaultwerte hierzu sind über die achsspezifischen Parameterlisten vorbelegt.

handbetrieb.hr.aufl[0] 10

handbetrieb.hr.aufl[1] 20

handbetrieb.hr.aufl[2] 30

#

handbetrieb.tipp.geschw[0] 30000

handbetrieb.tipp.geschw[1] 30000

handbetrieb.tipp.geschw[2] 40000

handbetrieb.tipp.vb_eilgang 40000

#

handbetrieb.jog.weg[0] 1000

handbetrieb.jog.weg[1] 2000

handbetrieb.jog.weg[2] 3000

handbetrieb.jog.geschw[0] 30000

handbetrieb.jog.geschw[1] 30000

handbetrieb.jog.geschw[2] 60000

Daneben kann über die SPS Schnittstelle ein individueller Parameterwert vorgegeben werden. Dieser Parameterwert wird als erstes Element (Index 0) in der Tabelle der Defaultparameter abgelegt und kann bei der Aktivierung einer Achse angewählt werden.

Die Parameter können jederzeit geändert werden, jedoch werden diese nur wirksam zum Zeitpunkt der Aktivierung einer Achse (s.o.). Bei der Aktivierung einer Achse wird neben der Betriebsart und dem Bedienelement die Nummer (Index) des gewünschten Parametersatzes angegeben.

Mehr:

button Tippbetrieb (kontinuierliches Verfahren über Tastendruck)

button Jogbetrieb (inkrementelles Verfahren über Tastendruck)

button Handradbetrieb


TwinCAT CNC: Überblick

Handbetrieb > Steuerkommandos des Handbetriebs > Parametrierung des Handbetriebs

Tippbetrieb (kontinuierliches Verfahren über Tastendruck)

Mehr:

button Control-Unit

button Nutzdaten


Control-Unit

Parametrierung des Tippbetriebs bei Handbetrieb

Beschreibung

Control-Unit zur Verwaltung der Daten für die Parametrierung des Tippbetriebs bei Handbetrieb, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

HBTipParameterControlUnit, siehe Beschreibung Control Unit mit Verbrauchskontrolle

Besonderheiten

Der Handbetriebsparameter kann jederzeit geschrieben werden und wird intern in einer Tabelle unter dem Index 0 abgelegt. Dieser Wert wird erst bei Aktivierung der Achse in der entsprechenden Betriebsart wirksam gesetzt.

Zugriff

PLC liest HBTipParameter_Request und schreibt HBTipParameter_Command + X_Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlHB_Data.HBTipParameterControlUnit_TipParameter

Kommandierte, angeforderte Daten

ST-Element

.HBTipParameter_Command

.HBTipParameter_Request

Datentyp

HBTipParameter, Beschreibung siehe Kapitel Nutzdaten

Flusskontrolle kommandierte Daten

ST-Element

.X_CommandSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.

Flusskontrolle angeforderte Daten

ST- Element

.X_RequestSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST-Pfad

.X_Enable


Nutzdaten

Achsnummer

Beschreibung

Systemweit eindeutige Nummer einer logischen Achse.

Der spezifizierten logischen Achse wird die Geschwindigkeit zugeordnet, mit der sie im Handbetrieb in der Betriebsart Tippbetrieb bewegt werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBTipParameterControlUnit_TipParameter.HBTipParameter_Command.W_LogAchsNr

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBTipParameterControlUnit_TipParameter.HBTipParameter_Request.W_LogAchsNr

Datentyp

UINT

Wertebereich

[1, nAxis]

Tippgeschwindigkeit

Beschreibung

Geschwindigkeit, die der logischen Achse im Tippbetrieb zugewiesen werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBTipParameterControlUnit_TipParameter.HBTipParameter_Command.D_Speed

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBTipParameterControlUnit_TipParameter.HBTipParameter_Request.D_Speed

Einheit

1 µm/s

Datentyp

UDINT


TwinCAT CNC: Überblick

Handbetrieb > Steuerkommandos des Handbetriebs > Parametrierung des Handbetriebs

Jogbetrieb (inkrementelles Verfahren über Tastendruck)

Mehr:

button Control-Unit

button Nutzdaten


Control-Unit

Parametrierung des Jogbetriebs bei Handbetrieb

Beschreibung

Control-Unit zur Verwaltung der Daten für die Parametrierung des Jogbetriebs bei Handbetrieb, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

HBJogParameterControlUnit, siehe Beschreibung Control Unit mit Verbrauchskontrolle

Besonderheiten

Der Handbetriebsparameter kann jederzeit geschrieben werden und wird intern in einer Tabelle unter dem Index 0 abgelegt. Dieser Wert wird erst bei Aktivierung der Achse in der entsprechenden Betriebsart wirksam gesetzt.

ST-Pfad

PMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter

Zugriff

PLC liest HBJogParameter_Request und schreibt HBJogParameter_Command + X_Enable

Kommandierte, angeforderte Daten

ST-Element

.HBJogParameter_Command

.HBJogParameter_Request

Datentyp

HBJogParameter, Beschreibung siehe Kapitel Nutzdaten

Flusskontrolle kommandierte Daten

ST- Element

HBJogParameterControlUnit_JogParameter.X_CommandSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.

Flusskontrolle angeforderte Daten

ST- Element

.X_RequestSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST-Element

. X_Enable


Nutzdaten

Achsnummer

Beschreibung

Systemweit eindeutige Nummer einer logischen Achse.

Der spezifizierten logischen Achse wird die Geschwindigkeit und die Schrittweite je Tastendruck zugeordnet, mit der sie im Handbetrieb in der Betriebsart Jogbetrieb bewegt werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter.HBJogParameter_Command.W_LogAchsNr

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter.HBJogParameter_Request.W_LogAchsNr

Datentyp

UINT

Wertebereich

[1, nAxis]

Joggeschwindigkeit

Beschreibung

Geschwindigkeit, die der logischen Achse im Jogbetrieb zugewiesen werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter.HBJogParameter_Command.D_Speed

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter.HBJogParameter_Request.D_Speed

Einheit

1 µm/s

Datentyp

UDINT

Jogweg

Beschreibung

Weg je Tastendruck der Jogtaste, den die logische Achse im Jogbetrieb zurücklegen soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter.HBJogParameter_Command.D_Distance

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBJogParameterControlUnit_JogParameter.HBJogParameter_Request.D_Distance

Einheit

0.1 µm

Datentyp

UDINT


TwinCAT CNC: Überblick

Handbetrieb > Steuerkommandos des Handbetriebs > Parametrierung des Handbetriebs

Handradbetrieb

Mehr:

button Control-Unit

button Nutzdaten


Control-Unit

Parametrierung des Handradbetriebs bei Handbetrieb

Beschreibung

Control-Unit zur Verwaltung der Daten für die Parametrierung des Handradbetriebs bei Handbetrieb, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

HBHRParameterControlUnit, siehe Beschreibung Control Unit mit Verbrauchskontrolle

Besonderheiten

Der Handbetriebsparameter kann jederzeit geschrieben werden und wird intern in einer Tabelle unter dem Index 0 abgelegt. Dieser Wert wird erst bei Aktivierung der Achse in der entsprechenden Betriebsart wirksam gesetzt.

ST-Pfad

pMC[channel_idx]^.addr^.MCControlHB_Data.HBHRParameterControlUnit_HRParameter.

Zugriff

PLC liest HBHRParameter_Request und schreibt HBHRParameter_Command + X_Enable

Kommandierte, angeforderte Daten

ST- Element

.HBHRParameter_Command

. HBHRParameter_Request

Datentyp

HBHRParameter, Beschreibung siehe Kapitel Nutzdaten

Flusskontrolle kommandierte Daten

ST- Element

.X_CommandSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.

Flusskontrolle angeforderte Daten

ST- Element

.X_RequestSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST- Element

.X_Enable


Nutzdaten

Achsnummer

Beschreibung

Systemweit eindeutige Nummer einer logischen Achse.

Der spezifizierten logischen Achse wird die Handradauflösung zugeordnet, die Grundlage für die Bewegung der Achse im Handbetrieb in der Betriebsart Handradbetrieb ist.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBHRParameterControlUnit_HRParameter.HBHRParameter_Command.W_LogAchsNr

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBHRParameterControlUnit_HRParameter.HBHRParameter_Request.W_LogAchsNr

Datentyp

UINT

Wertebereich

[1, nAxis]

Handradauflösung

Beschreibung

Auflösung des Achsverfahrwegs bei einer Handradumdrehung.

Die interne verwendete Gesamtauflösung der Achse in 0.1 µm pro geliefertem Handradinkrement ergibt sich aus der aktuellen Handradauflösung in 0.1 µm/Inkrement dividiert durch die physikalisch Handradauflösung Inkrement/Umdrehung der Handradbeschreibung.

Handparameterliste:

hr_data[0].hr_aufl_z 1000 # Inkr./Umdr. - Zaehler

hr_data[0].hr_aufl_n 14 # Inkr./Umdr. - Nenner

Programmierbefehl:

#SET HR [ 0.1, 90.2, 0.5 ] X (Angaben hier in mm / Umdrehung)

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBHRParameterControlUnit_HRParameter.HBHRParameter_Command.D_Resolution

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBHRParameterControlUnit_HRParameter.HBHRParameter_Request.D_Resolution

Einheit

0.1 µm / Handradumdrehung

Datentyp

DINT


Bedienelemente des Handbetriebs

Mehr:

button Durchsetzung eines Tastendrucks

button Eilganggeschwindigkeit während Verfahrbewegung

button Handradinkremente


Durchsetzung eines Tastendrucks

Auf dem HLI sind vier gleichartige Control-Units vorhanden, mit denen parallel Tastendrücke beauftragt werden können.

In diesem Abschnitt werden die Control-Units mit HBKeyControlX bezeichnet, wobei der Platzhalter X den Wert  (nichts), 2, 3 bis 9 annehmen kann. Im Tabellenabschnitt ST-Pfad werden die Namen aller vorhandenen Control-Units einmal aufgezählt.

Übergabe von GUI-Requests:

Um einen von der GUI einigetroffenen Request an die PLC zu übergeben werden die aktivierten Control-Units in der Reihenfolge HBKeyControlUnit_Key, HBKeyControlUnit_Key2, HBKeyControlUnit_Key3 bis HBKeyControlUnit_Key9 geprüft ob der Request-Semaphor frei ist und das erste freie Request-Element zur Übergabe der Tastenanforderung an die PLC verwendet. Die PLC muß also für alle Control-Units für die sie X_Enable auf TRUE gesetzt hat, die X_RequestSemaphore bearbeiten.

Mehr:

button Control-Unit

button Nutzdaten


Control-Unit

Durchsetzung eines Tastendrucks bei Handbetrieb

Beschreibung

Control-Unit zur Verwaltung der Daten für die Durchsetzung eines Tastendrucks bei Handbetrieb, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

HBKeyControlUnit_Key, siehe Beschreibung Control Unit mit Verbrauchskontrolle

Besonderheiten

Das Melden eines Tastendrucks ist jederzeit möglich, jedoch bleibt dieser ohne zugeordnete Achse in der Betriebsart kontinuierlicher/inkrementieller Jogbetrieb ohne Wirkung.

ST-Pfad

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key2

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key3

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key4

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key5

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key6

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key7

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key8

pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_Key9

Zugriff

PLC liest HBKey_Request und schreibt HBKey_Command + X_Enable

Kommandierte, angeforderte Daten

ST-Element

.HBKey_Command

.HBKey_Request

Datentyp

HBKey, Beschreibung siehe Kapitel Nutzdaten

Flusskontrolle kommandierte Daten

ST- Element

. X_CommandSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE.

PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.

Flusskontrolle angeforderte Daten

ST- Element

.X_RequestSemaphor

Datentyp

BOOL

Zugriff

Verbrauchsdatum

CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE.

PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST element

. X_Enable


Nutzdaten

Tastennummer
Beschreibung | Logische Tastennummer von der die Beauftragung kommt.
ST-Pfad | Kommandierter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Command.W_LogKeyNr Angeforderter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Request.W_LogKeyNr
Datentyp | UINT
Wertebereich | Einer der Werte, die in der Konfigurationsliste hand_mds.lis für die Kenngrößen tasten_data[X].log_tasten_nr als logische Tipptastenpaarnummern definiert sind.

Tastendruck Beginn/Ende
Beschreibung | Tastendruck Beginn/Ende-Ereignis und Verfahrrichtung der Verfahrrichtungstasten im Handbetrieb
ST-Pfad | Kommandierter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Command.W_Direction Angeforderter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Request.W_Direction
Datentyp | INT
Wertebereich | -1 Tastendruck Beginn, Verfahrrichtung negativ 0 Tastendruck Ende 1 Tastendruck Beginn, Verfahrrichtung positiv
Besonderheiten | Da es sich bei der Durchsetzung eines Tastendrucks um eine botschaftsorientierte Übertragung (Verbrauchsdatum) handelt, muss sowohl das Tastendruck Beginn-Ereignis als auch das Tastendruck Ende-Ereignis von der PLC erzeugt werden.

Lebenszeit des Tastensignals
Beschreibung | Besitzt dieses Element einen Wert ungleich 0, erzeugt die CNC nach dem Eingang eines Tastendruck Beginn-Ereignisses nach Ablauf der Zeitdauer, die durch die Anzahl der angegebenen Interpolatorzyklen vorgeben wurde, selbstständig das Tastendruck Ende-Ereignis.
ST-Pfad | Kommandierter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Command.D_LifeTime Angeforderter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Request.D_LifeTime
Einheit | Anzahl Interpolatorzyklen
Datentyp | UDINT
Besonderheiten | Siehe Anmerkung

Retriggern Tastendruck-Beginn-Ereignis
Beschreibung | Erneutes Auslösen des Tastendruck-Beginn-Ereignisses. Besitzt das Element Lebenszeit des Tastensignals einen Wert ungleich 0, kann das Tastendruck Beginn-Ereignis erneut ausgelöst werden, wenn die Lebenszeit des Tastensignals noch nicht abgelaufen ist.
ST-Pfad | Kommandierter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Command.X_FRefresh Angeforderter Wert pMC[channel_idx]^.addr^.MCControlHB_Data.HBKeyControlUnit_KeyX.HBKey_Request.X_FRefresh
Datentyp | BOOL
Wertebereich | [TRUE = erneutes Auslösen des Tastendruck-Beginn-Ereignisses, FALSE]
Besonderheiten | Siehe Anmerkung

Anmerkung: Die Elemente Lebenszeit des Tastensignals und Erneutes Auslösen des Tastendruck-Beginn-Ereignisses stellen eine Art Watchdog-Funktion dar. Ihre Verwendung ist insbesondere angezeigt, wenn das zeitliche Verhalten der PLC nicht sichergestellt (deterministisch) ist (z.B. Soft-PLC als Windows-Task).


Eilganggeschwindigkeit während Verfahrbewegung

Im kontinuierlichen Jogbetrieb kann zwischen normaler Geschwindigkeit und Eilganggeschwindigkeit umgeschaltet werden. Die Eilganggeschwindigkeit wird in der achsspezifischen Parameterliste angegeben

handbetrieb.tipp.vb_eilgang (P-AXIS-00210) 4000

Der Eilgang ist hierbei eine tastenspezifische Eigenschaft und wird erst wirksam, wenn die entsprechende Taste gedrückt und mit einer Achse verbunden ist.

Mehr:

button Control-Unit

button Nutzdaten


Control-Unit

Eilganggeschwindigkeit während Verfahrbewegung bei Handbetrieb
Beschreibung | Control-Unit zur Aktivierung / Deaktivierung des Eilgangmodus eines normalen Tastendrucks des Handbetriebs.
Datentyp | HBRapidKeyControlUnit, siehe Beschreibung Control Unit mit Verbrauchskontrolle
Besonderheiten | Das tastenspezifische Melden des Eilgangmodus ist jederzeit möglich und wird intern pro Taste abgelegt. Jedoch erst wenn die entsprechende Taste gedrückt wird hat dieser eine Auswirkung.
ST-Pfad | pMC[channel_idx]^.addr^.MCControlHB_Data.HBRapidKeyControlUnit_RapidKey
Zugriff | PLC liest HBRapidKey_Request und schreibt HBRapidKey_Command + X_Enable
Kommandierte, angeforderte Daten
ST-Element | .HBRapidKey_Command .HBRapidKey_Request
Datentyp | HBRapidKey, Beschreibung siehe Kapitel Nutzdaten
Flusskontrolle kommandierte Daten
ST- Element | .X_CommandSemaphor
Datentyp | BOOL
Zugriff | Verbrauchsdatum CNC übernimmt die kommandierten Daten, wenn dieses Element den Wert TRUE besitzt und setzt nach vollständiger Übernahme der Daten dieses Element auf den Wert FALSE. PLC kann Daten zur Kommandierung schreiben, wenn dieses Element den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC dieses Element auf den Wert TRUE.
Flusskontrolle angeforderte Daten
ST- Element | .X_RequestSemaphor
Datentyp | BOOL
Zugriff | Verbrauchsdatum CNC schreibt die von der GUI angeforderten Daten, wenn dieses Element FALSE ist und setzt anschließend dieses Element auf TRUE. PLC liest die vom GUI angeforderten Daten, wenn dieser Wert TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.
Umleitung
ST- Element | .X_Enable


Nutzdaten

Tastennummer

Beschreibung

Logische Tastennummer, für welche der Eilgangmodus aktiviert / deaktiviert werden soll.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBRapidKeyControlUnit_RapidKey.HBRapidKey_Command.W_LogKeyNr

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBRapidKeyControlUnit_RapidKey.HBRapidKey_Request.W_LogKeyNr

Datentyp

UINT

Wertebereich

Einer der Werte, die in der Konfigurationsliste hand_mds.lis für die Kenngrößen tasten_data[X].log_tasten_nr als logische Tipptastenpaarnummern definiert sind

Eilganggeschwindigkeit während Verfahrbewegung

Beschreibung

Eilgangmodus der Taste an / aus.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBRapidKeyControlUnit_RapidKey.HBRapidKey_Command.W_KeyPressed

Angeforderter Wert

pMC[channel_idx]^.addr^.MCControlHB_Data.HBRapidKeyControlUnit_RapidKey.HBRapidKey_Request.W_KeyPressed

Datentyp

UINT

Wertebereich

TRUE = Taste im Eilgangmodus aktiv. Beim kontinuierlichen Jogbetrieb wird die parametrierte Eilgang-Verfahrgeschwindigkeit verwendet.

FALSE = Taste nicht im Eilgangmodus aktiv. Beim kontinuierlichen Jogbetrieb wird die parametrierte normale Verfahrgeschwindigkeit verwendet.]


Handradinkremente

Handradinkremente Zählerstand

Beschreibung

Array von Control-Units zur Verwaltung der Zählerstände der Handradinkremente aller Handräder, einschließlich der Flusskontrolle der Nutzdaten.

Datentyp

MCControlSGN32Unit, siehe Beschreibung Control Unit

Besonderheiten

Handradzählerstände können jederzeit verändert werden, jedoch haben diese nur bei zugeordneter Achse im Handradbetrieb eine Auswirkung.

Erst nach Aktivierung des Handradbetriebs einer Achse werden relative Änderungen des Handradzählerstandes ausgewertet.

Zugriff

PLC liest Request + State und schreibt Command + Enable

ST-Pfad

pMC[channel_idx]^.addr^.MCControlHB_Data.AMCControlSGN32Unit_HandWheelIncs[idx]

Kommandierter, angeforderter und Rückgabewert

ST-Element

.D_Command

.D_Request

. D_State

Datentyp

DINT

Umleitung

ST-Pfad

.X_Enable


Kanalspezifische Schnittstelle

Mehr:

button Watchdog-Mechanismus


Watchdog-Mechanismus

Watchdog, CNC überwacht PLC

Beschreibung

Die CNC nutzt die Daten dieser Unit um zu überwachen, ob die PLC noch betriebsbereit ist.

Bei der Überwachung der PLC durch die CNC muss der PLC-Task, in der das PLC-Lebenszeichen alive_rw gesetzt wird, mit einer höheren Priorität als die beiden CNC-Tasks SDA und COM ausgeführt werden (s. Beispiel TwinCAT). Um bei großen PLC-Projekten Probleme mit der Satzversorgung zu vermeiden, empfiehlt es sich zusätzlich, die Watchdog-Behandlung in einen extra PLC-Task auszugliedern und nur diesem eine höhere Priorität zuzuweisen.

Datentyp

MCWatchDogUnit

ST-Pfad

pMC[channel_idx]^.addr^.HLIHeadChannel_Data.MCWatchDogUnit_mc

PLC bedient Funktionalität

Beschreibung

Durch Setzen dieses Elements auf den Wert TRUE zeigt die PLC der CNC an, dass sie die Daten für die Watchdog-Funktionalität versorgt.

ST-Element

. X_enable_w

Datentyp

BOOL

Wertebereich

[TRUE = PLC versorgt die Daten für eine Watchdog-Überwachung, FALSE]

Zugriff

PLC schreibt

Signal der PLC

Beschreibung

CNC nutzt dieses Element zur Feststellung, ob die PLC noch betriebsbereit ist. Diese Überprüfung erfolgt dann, wenn das Element PLC bedient Funktionalität und PLC vorhanden den Wert TRUE besitzen.

ST- Element

.X_alive_rw

Datentyp

BOOL

Wertebereich

[TRUE = PLC signalisiert dass sie betriebsbereit ist, FALSE]

Zugriff

CNC detektiert, ob dieses Element innerhalb der durch das Element Watchdog-Zykluszeit vorgegebenen Zeit von FALSE auf TRUE wechselt. Nach der erfolgreichen Detektion setzt die CNC den Wert auf FALSE.

PLC schreibt in jedem PLC-Zyklus den Wert TRUE in dieses Element, um ihre Betriebsbereitschaft zu bestätigen.

Signal PLC nicht betriebsbereit

Beschreibung

Stellt die CNC fest, dass die PLC nicht mehr betriebsbereit ist, setzt er dieses Element auf TRUE.

ST- Element

.X_alive_state_r

Datentyp

BOOL

Wertebereich

[TRUE = PLC betriebsbereit, FALSE = PLC ist nicht betriebsbereit]

Zugriff

CNC schreibt

Watchdog-Zykluszeit

Beschreibung

Zykluszeit des Watchdog.

Damit eine sinnvolle Überwachung der PLC durch die CNC erfolgen kann, müssen die Werte für die Watchdog-Zykluszeit größer als die Zykluszeit der PLC sein.

ST- Element

.D_cycle_time_w

Einheit

1 µs

Datentyp

UDINT

Zugriff

PLC schreibt

Watchdog, PLC überwacht CNC

Beschreibung

Die PLC nutzt die Daten dieser Unit um zu überwachen, ob die CNC noch betriebsbereit ist.

Bei der Überwachung der CNC durch die PLC muss der PLC-Task, in der das CNC-Lebenszeichen alive_rw geprüft wird, mit einer höheren Priorität als die beiden CNC-Tasks SDA und COM ausgeführt werden (s. Beispiel TwinCAT). Um bei großen PLC-Projekten Probleme mit der Satzversorgung zu vermeiden, empfiehlt es sich zusätzlich, die Watchdog-Behandlung in einen extra PLC-Task auszugliedern und nur diesem eine höhere Priorität zuzuweisen.

Datentyp

LCWatchDogUnit

ST-Pfad

pMC[channel_idx]^.addr^.HLIHeadChannel_Data.LCWatchDogUnit_lc

Signal der CNC

Beschreibung

In dieses Element schreibt die CNC in jedem Interpolationszyklus den Wert TRUE zur Bestätigung, dass er betriebsbereit ist.

ST-Pfad

.X_alive_rw

Datentyp

BOOL

Zugriff

CNC schreibt in jedem CNC-Zyklus den Wert TRUE in dieses Element, um seine Betriebsbereitschaft zu bestätigen.

PLC detektiert, ob dieses Element innerhalb der durch das Element Watchdog-Zykluszeit vorgegebenen Zeit von FALSE auf TRUE wechselt. Nach der erfolgreichen Detektion setzt die PLC den Wert auf FALSE.

Signal CNC nicht betriebsbereit

Beschreibung

Stellt die PLC fest, dass die CNC nicht mehr betriebsbereit ist, setzt sie dieses Element auf TRUE.

ST-Pfad

.X_alive_state_w

Datentyp

BOOL

Wertebereich

[TRUE = CNC ist betriebsbereit, FALSE = CNC ist nicht betriebsbereit]

Zugriff

PLC schreibt

Watchdog-Zykluszeit

Beschreibung

Der NC-Kern schreibt in dieses Element die Zykluszeit des Interpolators. Damit eine sinnvolle Überwachung der CNC durch die PLC erfolgen kann, müssen die Werte für die Watchdog-Zykluszeit größer als die Zykluszeit der PLC sein.

ST-Pfad

.D_cycle_time_r

Einheit

1 µs

Datentyp

UDINT

Zugriff

PLC liest

Abbildung 10- 1 : Prioritäten für Watchdogmechanismus (Beispiel TwinCAT)


Kanalspezifische Schnittstelle

Abbildung 11-1: Verwaltungsdaten der kanalspezifischen Schnittstelle

Versionskennung PLC → CNC
Beschreibung | Falls die Version des HLI auf Seite des NC-Kerns ausgewertet wird, legt die PLC die zu vereinbarende Versionskennung in diesem Element ab. Die Auswertung auf Seite des NC-Kern muss applikationsspezifisch vereinbart werden.
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.HLIIntfVersionName_VersionWrite.AB_Zeichen
Datentyp | ARRAY [1..GCW_250_HLIIntfVersionNameLength] OF BYTE
Zugriff | PLC schreibt
Besonderheiten | Wird im NC-Kern gegenwärtig nicht ausgewertet.

Versionskennung CNC → PLC
Beschreibung | Falls die Version des HLI auf Seite der PLC ausgewertet wird, legt der NC-Kern die zu vereinbarende Versionskennung in diesem Element ab. Die Auswertung auf Seite der PLC muss applikationsspezifisch vereinbart werden.
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.HLIIntfVersionName_VersionRead.AB_Zeichen
Datentyp | ARRAY [1..GCW_250_HLIIntfVersionNameLength] OF BYTE
Zugriff | PLC liest

Größe des HLI
Beschreibung | In dieses Element schreibt der NC-Kern die Größe des gesamten kanalspezifischen Schnittstellenbereichs
Einheit | Byte
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.D_SizeofInterface
Datentyp | UDINT
Zugriff | PLC liest
Besonderheiten |

PLC vorhanden
Beschreibung | Durch Setzen des Wertes auf TRUE meldet die PLC, dass sie vorhanden ist. Nur wenn dieser Wert auf TRUE gesetzt ist, kann die PLC auf den NC-Kern Einfluss nehmen und wird vom NC-Kern mit Techno-Befehlen versorgt.
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.X_PLCPresent
Datentyp | BOOL
Wertebereich | [TRUE = PLC vorhanden, FALSE]
Zugriff | PLC schreibt
Besonderheiten |

Aktualisierung des HLI
Beschreibung | Durch Setzen dieses Wertes auf TRUE, kann die PLC die Aktualisierung des gesamten achsspezifischen Schnittstellenbereichs veranlassen. Dieser Wert wird nach erfolgter Aktualisierung vom NC-Kern auf FALSE zurückgesetzt.
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.X_FUpdateRequest
Datentyp | BOOL
Wertebereich | [TRUE = Aktualisierung des HLI aktiviert, FALSE]
Zugriff | Schreiben/Lesen
Besonderheiten | Wird derzeit nicht unterstützt, d.h. das HLI wird in jedem NC-Zyklus aktualisiert.

Updatezyklus des HLI
Beschreibung | Über dieses Element teilt die PLC dem NC-Kern mit, auf wie viele Interruptzyklen der NC-Kern die Aktualisierung des achsspezifischen Schnittstellenbereichs verteilen darf. Besonders bei vielkanaligen und achsigen Konfigurationen führt dies zu einer geringeren Belastung der Interrupttask.
Einheit | Anzahl Takte des NC-Kern
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.W_NUpdateTickCount
Datentyp | UINT
Zugriff | PLC schreibt
Besonderheiten | Wird derzeit nicht unterstützt, d.h. das HLI wird in jedem NC-Zyklus aktualisiert.

Hochlauf NC-Kern abgeschlossen
Beschreibung | Durch setzen dieses Wertes auf TRUE zeigt der NC-Kern der PLC an, dass der Hochlauf des NC-Kern abgeschlossen ist und das HLI nun zyklisch versorgt wird. D.h. die Anzeigedaten sind gültig und die Steuerkommandos werden an den NC-Kern abgesetzt.
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.X_hochlauf_quit_r
Datentyp | BOOL
Wertebereich | [TRUE = Hochlauf des NC-Kern abgeschlossen, FALSE]
Zugriff | PLC liest
Besonderheiten |

Reservierte Elemente
Beschreibung | Reservierte Elemente
Signalfluss |
ST-Pfad | pMC[channel_idx]^.addr^.HLIHeadChannel_Data.X_reserved_2 pMC[channel_idx]^.addr^.HLIHeadChannel_Data.X_reserved_3 pMC[channel_idx]^.addr^.HLIHeadChannel_Data.X_reserved_4
Datentyp | BOOL
Wertebereich | [TRUE, FALSE]
Zugriff |
Besonderheiten |


Achsspezifische Schnittstelle

PLC vorhanden
Beschreibung | Durch Setzen des Wertes auf TRUE meldet die PLC, dass sie vorhanden ist. Nur wenn dieser Wert auf TRUE gesetzt ist, kann die PLC auf den NC-Kern Einfluss nehmen und wird vom NC-Kern mit Techno-Befehlen versorgt.
Signalfluss | PLC -> CNC
ST-Pfad | pAC[axis_idx]^.addr^.HLIHeadAxe_Data.X_PLCPresent
Datentyp | BOOL
Wertebereich | [TRUE = PLC vorhanden, FALSE]
Zugriff | Schreiben
Besonderheiten |

Aktualisierung des HLI
Beschreibung | Durch Setzen dieses Wertes auf TRUE, kann die PLC die Aktualisierung des gesamten achsspezifischen Schnittstellenbereichs veranlassen. Dieser Wert wird nach erfolgter Aktualisierung vom NC-Kern auf FALSE zurückgesetzt.
Signalfluss | CNC <-> PLC
ST-Pfad | pAC[axis_idx]^.addr^.HLIHeadAxe_Data.X_FUpdateRequest
Datentyp | BOOL
Wertebereich | [TRUE = Aktualisierung des HLI aktiviert, FALSE]
Zugriff | Schreiben/Lesen
Besonderheiten | Wird derzeit noch unterstützt, d.h. das HLI wird in jedem NC-Zyklus aktualisiert.

Updatezyklus des HLI
Beschreibung | Über dieses Element teilt die PLC dem NC-Kern mit, auf wie viele Interruptzyklen der NC-Kern die Aktualisierung des achsspezifischen Schnittstellenbereichs verteilen darf. Besonders bei vielkanaligen und achsigen Konfigurationen führt dies zu einer geringeren Belastung der Interrupttask.
Signalfluss | PLC -> CNC
Einheit | Anzahl Takte des NC-Kern
ST-Pfad | pAC[axis_idx]^.addr^.HLIHeadAxe_Data.W_NUpdateTickCount
Datentyp | UINT
Zugriff | Schreiben
Besonderheiten | Wird derzeit nicht unterstützt, d.h. das HLI wird in jedem NC-Zyklus aktualisiert.

Achsfehler
Beschreibung | Die CNC setzt diesen Wert auf TRUE, falls sich die Achse im Fehler befindet.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.HLIHeadAxe_Data.X_Error
Datentyp | BOOL
Wertebereich | [TRUE = Achse im Fehler, FALSE = Kein Fehler]
Zugriff | Lesen
Besonderheiten |

Logische Achsnummer
Beschreibung | Logische Nummer einer Achse, die im gesamten System einmalig vorkommt und die Achse identifiziert. Das Datum steht an dieser Stelle nach dem Hochlauf der Steuerung zur Verfügung, unabhängig von der konfigurierten Betriebsart der Achse oder der Zurdnung der Achse zu einem Kanal.
Signalfluss | CNC -> PLC
ST-Pfad | pAC[axis_idx]^.addr^.HLIHeadAxe_Data.W_LogAxNr
Datentyp | UINT
Zugriff | Lesen
Besonderheiten |


Fehlermeldungen

Im NC-Kern auftretende Fehler können auf dem HLI-Interface angezeigt werden, um der PLC die Möglichkeit zu einer Fehlerreaktion und Protokollierung zu geben.

Die Bedeutung der einzelnen Strukturelemente ist in [DIAG] dokumentiert.

Jede Fehlermeldung wird über eine eindeutige Fehlernummer identifiziert, die Fehlermeldungen sind in [DIAG] dokumentiert.

Mehr:

button Verwaltungsdaten einer Fehlermeldung

button Nutzdaten einer Fehlermeldung


Verwaltungsdaten einer Fehlermeldung

Mehr:

button Fehlermeldung CNC -> PLC

button Fehlermeldung PLC -> CNC


Fehlermeldung CNC -> PLC

Fehlermeldung CNC → PLC Verwaltungsdaten

Beschreibung

Diese Struktur enthält die Nutzdaten und Daten zur Flusskontrolle einer Fehlermeldung.

Datentyp

McError

ST-Pfad

pMC[channel_idx]^.addr^.MCErrorSatz_Data.

Nutzdaten

Beschreibung

Nutzdaten einer Fehlermeldung.

ST-Element

. SatzR

Datentyp

ErrorSatz

Zugriff

PLC liest

Flusskontrolle der Nutzdaten

Beschreibung

Gültigkeits-Flag einer Fehlermeldung.

ST-Element

.SemaphorRw

Datentyp

BOOL

Wertebereich

[TRUE = Nutzdaten sind gültig, FALSE]

Zugriff

CNC setzt diesen Wert auf TRUE, wenn die Nutzdaten einer Fehlermeldung geschrieben sind und damit die Fehlermeldung gültig ist.

PLC muss den Wert dieses Elements auf FALSE setzen, wenn das Element Umleitung den Wert TRUE besitzt und die PLC die Fehlermeldung übernommen hat.

Umleitung

ST-Element

.EnableW

Datentyp

BOOL


Fehlermeldung PLC -> CNC

Fehlermeldung PLC → CNC Verwaltungsdaten
Beschreibung | Diese Struktur enthält die Nutzdaten und Daten zur Flusskontrolle einer Fehlermeldung.
Datentyp | LcError
ST-Pfad | pMC[channel_idx]^.addr^.LCErrorSatz_Data.
Nutzdaten
Beschreibung | Nutzdaten einer Fehlermeldung.
ST-Element | . SatzR
Datentyp | ErrorSatz
Zugriff | PLC schreibt
Flusskontrolle der Nutzdaten
Beschreibung | Gültigkeits-Flag einer Fehlermeldung.
ST-Element | .SemaphorRw
Datentyp | BOOL
Wertebereich | [TRUE = Nutzdaten sind gültig, FALSE]
Zugriff | PLC setzt diesen Wert auf TRUE, wenn die Nutzdaten einer Fehlermeldung geschrieben sind und damit die Fehlermeldung gültig ist. CNC setzt den Wert dieses Elements wieder FALSE, wenn sie die Fehlermeldung übernommen hat.


Nutzdaten einer Fehlermeldung

Fehlernummer
Beschreibung | Eindeutige Fehlernummer.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.ErrorId
Datentyp | UDINT
Zugriff | PLC liest
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Modulname des Moduls, das einen Fehler meldet
Beschreibung | Modulname des Moduls, das einen Fehler meldet
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.ModulName
Datentyp | STRING(GCW_250_HLIFileNameLaengeMinus1)
Zugriff | PLC liest
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Zeilennummer
Beschreibung | Zeilennummer im Modul, bei der der Fehler aufgetreten ist.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.Line
Datentyp | INT
Zugriff | PLC liest
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Fehlernummer einer Dienstfunktion
Beschreibung | Fehlernummer bei Verwendung einer Dienstfunktion.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.UtilErrorId
Datentyp | UDINT
Zugriff | PLC liest
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Modulname des Moduls mit Dienstfunktionen, das einen Fehler meldet
Beschreibung | Modulname des Moduls mit Dienstfunktionen, das einen Fehler meldet
Signalfluss | CNC -> PLC
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.UtilModulName
Datentyp | STRING(GCW_250_HLIFileNameLaengeMinus1)
Zugriff | PLC liest
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Zeilennummer einer Dienstfunktion
Beschreibung | Zeilennummer der Zeile, bei der der Fehler in einem Modul mit Dienstfunktionen aufgetreten ist.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.UtilLine
Datentyp | INT
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Mehrfachfehlernummer
Beschreibung | Fehlermeldungen können an mehreren verschiedenen Stellen des NC-Kerns ausgegeben werden. Zur Unterscheidung wird bei der mehrfachen Verwendung eine einmalige Mehrfachfehlernummer vergeben.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.MultipleId
Datentyp | UINT
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Typ der Beauftragbaren Funktion
Beschreibung | Typ der Beauftragbaren Funktion, in der ein Fehler aufgetreten ist.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.BFType
Datentyp | UINT
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Kanalnummer
Beschreibung | Kanalnummer, des Kanals in dem der gemeldete Fehler aufgetreten ist.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.CncChannel
Datentyp | UINT

Kommunikations-Id
Beschreibung | Kommunikations-Id der fehlermeldenden BF im CNC
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.KommuId
Datentyp | UINT
Zugriff | PLC liest
Besonderheiten | Wird für interne Diagnosezwecke verwendet.

Zeitangabe bei Fehlermeldung:
Beschreibung | Datum zum Zeitpunkt der Fehlermeldung
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.FbZeitangabe.DateCounter
Datentyp | UDINT
Besonderheiten | Zur Zeit nicht realisiert, Wert ist immer 0.

Zeitangabe bei Fehlermeldung:Interruptzyklen seit Systemstart
Beschreibung | Anzahl der Interruptzyklen seit Systemstart zum Zeitpunkt der Fehlermeldung
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.FbZeitangabe.ZyklCounter
Datentyp | UDINT
Zugriff | PLC liest

Versionsbezeichnung CNC
Beschreibung | Versionsbezeichnung der CNC, die in der Fehlermeldung angegeben wird.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.VersionName
Datentyp | STRING(GCW_250_HLIIntfVersNameLaengeMin1)

Behebungsklasse
Beschreibung | Behebungsklasse eines Fehlers
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.BehebungsKlasse
Datentyp | UINT
Wertebereich | [0 ..8]

Reaktionsklasse eines Fehlers
Beschreibung | Reaktionsklasse eines Fehlers
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.ReaktionsKlasse
Datentyp | UINT
Wertebereich | [0 ..8]

Rumpftyp eines Fehlers
Beschreibung | Rumpftyp eines Fehlers. Abhängig von der Fehlerart sind im Fehlersatzrumpf weitere Informationen über den aufgetretenen Fehler abgelegt. Die einzelnen Strukturelemente sind in [DIAG] beschrieben.
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Kopf.RumpfTyp
Wertebereich | 1 = HLI_RumpfTypNcProg, 2 = HLI_RumpfTypMds 3 = HLI_RumpfTypKommu 4 = HLI_RumpfTypRamDisk 5 = HLI_RumpfTypFile 6 = HLI_RumpfTypIntprFile 7 = HLI_RumpfTypListeBinaer 8 = HLI_RumpfTypGcm 9 = HLI_RumpfTypLeer 10 = HLI_RumpfTypHLI
Besonderheiten |

Mehr:

button Fehlermeldungsinhalt, body nc program

button Fehlermeldungsinhalt, body machine data

button Fehlermeldungsinhalt, body communication

button Fehlermeldungsinhalt, body RAM disk

button Fehlermeldungsinhalt, body file

button Fehlermeldungsinhalt, body interprete file list

button Fehlermeldungsinhalt, body binary list

button Fehlermeldungsinhalt, body global channel manager

button Zusätzliche Fehlerinformation Wert 1 - 5


Fehlermeldungsinhalt, body nc program

NC program
Beschreibung | Fehlerinformation im Bezug zum NC Program
Datentyp | RumpfNcProg
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Logische Pfad nummer (s Hochlaufliste).
ST-Pfad | .logPfadNr
Datentyp | UINT
Wertebereich | s. Hochlaufliste
Beschreibung | Program name
ST-Pfad | .ProgName
Datentyp | STRING(GCW_250_HLIProgNameLaengeMinus1)
Wertebereich |
Beschreibung | Dataname
ST-Pfad | .FileName
Datentyp | STRING(GCW_250_HLIProgNameLaengeMinus1)
Wertebereich |
Beschreibung | Dateioffset in Bytes
ST-Pfad | .FileOffset
Datentyp | UDINT
Wertebereich |
Beschreibung | Tokenoffset der aktuellen NC-Zeile
ST-Pfad | .TokenOffset
Datentyp | UINT
Wertebereich |
Beschreibung | Satznummer der aktuellen NC-Zeile
ST-Pfad | .SatzNumber
Datentyp | UDINT
Wertebereich |
Beschreibung | Additional Programinformation
ST-Pfad | .SaddProgInfo
Datentyp | STRING(GCW_250_HLIProgNameLaengeMinus1)
Wertebereich |


Fehlermeldungsinhalt, body machine data

Maschinendaten
Beschreibung | Fehlerinformation im Bezug zum Updaten der Maschinen daten
Datentyp | RumpfMds
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Type of list
ST-Pfad | .ListenTyp
Datentyp | UINT
Wertebereich | 1 - manual data, 2  channel list, 3  axis list, 4  zero offsets, 5  tool data, 6  clamp position, 7  startup list, 9  axis compensations, 12  external variables
Beschreibung | Name der falschen Struktur
ST-Pfad | .StruktName
Datentyp | STRING(GCW_250_HLIStruktNameLaengeMinus1)
Wertebereich |


Fehlermeldungsinhalt, body communication

Kommunikation
Beschreibung | Fehlerinformation im Bezug zu protocol data unit (Nachricht)
Datentyp | RumpfKommu
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Typ der Liste
ST-Pfad | .Medium
Datentyp | UINT
Wertebereich | 1  function block, 2  PDU
Beschreibung | Code der Nachricht
ST-Pfad | .Typ
Datentyp | UDINT
Wertebereich |
Beschreibung | Empfänger oder Sender der Nachricht
ST-Pfad | .Partner
Datentyp | UDINT
Wertebereich |


Fehlermeldungsinhalt, body RAM disk

RAM disk
Beschreibung | Fehlerinformation im Bezug zum RAM disk Zugriff
Datentyp | RumpfRAMDisk
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Listentyp
ST-Pfad | .Medium
Datentyp | UINT
Wertebereich | 1  function block, 2  PDU
Beschreibung | Code der Nachricht
ST-Pfad | .Typ
Datentyp | UDINT
Wertebereich |
Beschreibung | Empfänger oder Sender der Nachricht
ST-Pfad | .Partner
Datentyp | UDINT
Wertebereich |
Beschreibung | Dateiname
ST-Pfad | .FileName
Datentyp | STRING(GCW_250_HLIProgNameLaengeMinus1)
Wertebereich |
Beschreibung | Dateoffset in Bytes
ST-Pfad | .FileOffset
Datentyp | UDINT
Wertebereich |


Fehlermeldungsinhalt, body file

Datei
Beschreibung | Fehlerinformation im Bezug zum Dateizugriff
Datentyp | RumpfFile
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Dateiname
ST-Pfad | .FileName
Datentyp | STRING(GCW_250_HLIProgNameLaengeMinus1)
Wertebereich |
Beschreibung | Dateioffset in bytes
ST-Pfad | .FileOffset
Datentyp | UDINT
Wertebereich |


Fehlermeldungsinhalt, body interprete file list

Listeninterpretation
Beschreibung | Fehlerinformation im Bezug zum Interpretieren der ASCII Parameterliste
Datentyp | RumpfIntprFile
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Dateiname
Datentyp | .FileName
ST-Pfad | STRING(GCW_250_HLIProgNameLaengeMinus1)
Beschreibung |
Beschreibung | Dateioffset in Bytes
Datentyp | .FileOffset
ST-Pfad | UDINT
Beschreibung |
Beschreibung | Zeilennummer in der aktuellen Datei
Datentyp | .FileLine
ST-Pfad | UDINT
Wertebereich |
Beschreibung | Listentyp
Datentyp | .ListenTyp
ST-Pfad | UINT
Wertebereich | 1 = Handbetriebsliste 2 = Kanalparameter 3 = Achsparameter 4 = Nullpunktsliste 5 = Werkzeugparameter 6 = Platzversatzliste 7 = Hochlaufliste 9 = Achskompensationsliste
Beschreibung | Name der falschen Struktur
Datentyp | .StruktName
ST-Pfad | STRING(GCW_250_HLIStruktNameLaengeMinus1)
Wertebereich |


Fehlermeldungsinhalt, body binary list

Binary list
Beschreibung | Fehlerinformation im Bezug zum Update einer binären Liste
Datentyp | RumpfListeBinaer
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Name der falschen Struktur
ST-Pfad | .StruktName
Datentyp | STRING(GCW_250_HLIStruktNameLaengeMinus1)
Wertebereich |


Fehlermeldungsinhalt, body global channel manager

Global channel manager
Beschreibung | Fehlerinformation im Bezug zum Global Channel Manager
Datentyp | RumpfListeGcm
ST-Pfad | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Maske.NCProg
Beschreibung | Name der falschen Struktur
ST-Pfad | .VarString
Datentyp | STRING(GCW_250_HLIVarStringLaengeMinus1
Wertebereich |
Beschreibung | Dateiname
ST-Pfad | .FileName
Datentyp | STRING(GCW_250_HLIProgNameLaengeMinus1)
Wertebereich |
Beschreibung | Nummer des Interpreters
ST-Pfad | .InterpNo
Datentyp | UDINT
Wertebereich |
Beschreibung | Zeilennummer
ST-Pfad | .LineNo
Datentyp | UDINT
Wertebereich |
Beschreibung | Spaltennummer
ST-Pfad | .ColNo
Datentyp | UDINT
Wertebereich |
Beschreibung | Offset
ST-Pfad | .OffsetNo
Datentyp | UDINT
Wertebereich |
Beschreibung | Kommandonummer
ST-Pfad | .CommandNo
Datentyp | UDINT
Wertebereich |
Beschreibung | Id des Teils
ST-Pfad | .PartId
Datentyp | UDINT
Wertebereich |
Beschreibung | Id des Schritts
ST-Pfad | .StepId
Datentyp | UDINT
Wertebereich |
Beschreibung | Ebene des if-constructs
ST-Pfad | .IfLevel
Datentyp | UDINT
Wertebereich |


Zusätzliche Fehlerinformation Wert 1 - 5

Zusätzliche Fehlerinformation
Beschreibung | Individuelle Fehlerinformation
ST-Pfad | WertB
Datentyp | pMC[channel_idx]^.addr^.MCErrorSatz_Data.SatzR.Rumpf.Wert1 ... Wert5
Beschreibung | Datentyp
ST-Pfad | .Typ
Datentyp | INT
Wertebereich | 1 = BOOL 2 = USINT 3 = SINT 4 = SINT 5 = INT 6 = UDINT 7 = DINT 10 = LREAL 19 = STRING
Beschreibung | Dimension des Datums
ST-Pfad | .Dimension
Datentyp | INT
Wertebereich | 1 = Position 2 = Velocity 3 = Acceleration 4 = Jerk 5 = Time 6 = Per cent 7 = Address 8 = Inkrements 9 = Revolution 10 = Cutting velocity
Beschreibung | Bedeutung des Datums
ST-Pfad | .Bedeutung
Datentyp | INT
Wertebereich | 1 = limit 2 = actual value 3 = wrong value 4 = expected value 5 = corrected value 6 = logical axis id 7 = drive type 8 = logical control element 9 = state 10 = transition 11 = sender 12 = class 13 = instance 14 = indent number 15 = status 16 = ring 17 = block number
Beschreibung | Datum selbst
ST-Pfad | .Inhalt
Datentyp | (als Union, muss typosiert ausgelesen werden entsprechend dem angegebenen Datentype)


Plattformdaten

Plattformdaten sind Daten, die sich nicht einer speziellen Achse oder einem Kanal zuordnen lassen, sondern auf die gesamte NC-Steuerung wirken.

Mehr:

button Retain Daten


Retain Daten

TwinCAT CNC: Überblick

Plattformdaten

Reta in Daten

Der NC-Kern bietet die Möglichkeit, beim Herunterfahren der Steuerung Zustandsdaten der Steuerung zu speichern und beim Starten der Steuerung wieder zu laden. Diese Daten werden im folgenden als Retaindaten bezeichnet. Beispiele für solche Daten sind:

q Achspositionen

q Achzustand bezüglich der Referenzpunktfahrt

Diese Retaindaten werden auf der Festplatte in einer Datei gespeichert. Die Retaindaten vom vorherigen Herunterfahren der Steuerung werden in einer weiteren Datei gespeichert, so dass normalerweise immer zwei Sätze von Retaindaten vorhanden sind.

Bei Änderungen der NC-Konfiguration (hinzufügen/entfernen einer Achse oder eines Kanals) werden die gespeicherten Retaindaten ungültig.

Mehr:

button Statusinformationen einer Plattform

button Steuerkommandos einer Plattform


Statusinformationen einer Plattform

Beim Starten der Steuerung wird zunächst versucht den Retaindatensatz, der beim letzten Herunterfahren der Steuerung gespeichert wurde, zu laden. Gelingt dies nicht, so wird versucht den Datensatz vom vorherigen Herunterfahren der Steuerung zu laden.

Falls ein Datensatz geladen werden konnte wird überprüft, ob dieser gültige Daten enthält und übernommen werden könnte. Die Übernahme der Retaindaten erfolgt durch ein HLI-Kommando (siehe auch Abschnitt 13.1.2).

Eingelesener Retaindatensatz ist gültig
Beschreibung | Der eingelesene Datensatz enthält gültige Retaindaten.
Signalfluss | CNC -> PLC
ST-Pfad | pPlatform^.addr^.StatePlatform_Data.Retain_Data.RetainDataValid
Datentyp | BOOL
Zugriff | PLC liest

Letzter Retaindatensatz konnte geladen werden
Beschreibung | Der eingelesene Datensatz enthält die Retaindaten, die beim letzten Herunterfahren der Steuerung gespeichert wurden.
Signalfluss | CNC -> PLC
ST-Pfad | pPlatform^.addr^.StatePlatform_Data.Retain_Data.ActDataPresent
Datentyp | BOOL
Zugriff | PLC liest

Vorletzter Retaindatensatz konnte geladen werden
Beschreibung | Der eingelesene Datensatz enthält die Retaindaten, die beim vorletzten Herunterfahren der Steuerung gespeichert wurden.
Signalfluss | CNC -> PLC
ST-Pfad | pPlatform^.addr^.StatePlatform_Data.Retain_Data.OldDataPresent
Datentyp | BOOL
Zugriff | PLC liest


Steuerkommandos einer Plattform

Basierend auf den Retaindaten bezüglich der internen Zustände besitzt die NC-Steuerung nach ihrem Neustart denselben Zustand wie vor dem Herunterfahren.

Dieses Neuladen der Retaindaten wird durch ein HLI-Kommando gestartet. Vor Ausführung des Kommandos darf keine Achse der NC-Steuerung bewegt werden, weil sonst die abgespeicherten Achspositionen ungültig werden.

Falls vor Übernahme der Retaindaten eine Achse bewegt wurde, wird die Fehlermeldung 70191 ausgegeben.

Retaindaten übernehmen
Beschreibung | Veranlasst die Übernahme der geladenen Retaindaten. Dies kann nur erfolgen, wenn ein gültiger Datensatz vorhanden ist (siehe auch 13.1.1 ) und die Achsen seit Steuerungshochlauf noch nicht bewegt wurden.
Datentyp | MCControlBoolUnit, s. Beschreibung Control Unit
Zugriff | PLC liest Request + State und schreibt Command + Enable
ST-Pfad | pPlatform^.addr^.MCPlatformControl_Data.SetRetainData
Kommandierter, angeforderter Wert
ST-Element | .X_Command .X_Request
Datentyp | BOOL
Wertebereich | [TRUE = Retaindaten übernehmen]
Rückgabewert
ST-Element | .X_State
Datentyp | BOOL
Wertebereich | [TRUE = Retaindaten konnten übernommen werden]
Umleitung
ST-Element | . X_Enable


Control Unit

Nachricht an/von PLC

Beschreibung

Mit dieser Control Unit können Nachrichten von der CNC an die PLC empfangen werden und Nachrichten von der PLC an einen anderen Teilnehmer des Kommunikationsprozesses, der von der CNC bereitgestellt wird, geschickt werden.

Die CNC kann über die Befehle #MSG PLC [""] bzw. #MSG SYN PLC [...] (siehe [PROG]) eine Nachricht an die PLC absetzen. Die Information mit welchem der Befehle eine Nachricht verschickt wurde, wird in den Nutzdaten dieser Control Unit ebenfalls versendet.

Datentyp

McControlMsgUnit, siehe Beschreibung Control Unit mit Verbrauchskontrolle

ST-Pfad

pMC[channel_idx]^.addr^.MsgMcControl_Data

Kommandierte, angeforderte Daten

ST-Element

.CommandW

. RequestR

Datentyp

HliMsgSendung

Zugriff

PLC schreibt CommandW und liest RequestR

Flusskontrolle kommandierter und angeforderter Wert

ST-Element

.CommandSemaphorRw

. RequestSemaphorRw

Datentyp

BOOL

Wertebereich

[TRUE, FALSE]

Zugriff

kommandierte Daten

PLC kann Daten zur Kommandierung schreiben, wenn CommandSemaphorRw den Wert FALSE besitzt. Sind alle zu kommandierenden Daten geschrieben, setzt die PLC CommandSemaphorRw auf den Wert TRUE.

CNC entnimmt die kommandierten Daten wenn CommandSemaphorRw TRUE ist und setzt anschließend das Flag auf FALSE.

angefordete Daten

Die von der GUI angeforderten Daten können in die Control Unit geschrieben werden, wenn RequestSemaphorRw FALSE ist. Anschließend wird dieses Element auf TRUE gesetzt.

PLC liest die vom GUI angeforderten Daten, wenn RequestSemaphorRw TRUE ist. Nachdem die Daten vollständig in die PLC übernommen worden sind, setzt die PLC dieses Element auf FALSE.

Umleitung

ST-Pfad

.EnableW


Nutzdaten

Mehr:

button Angeforderte und kommandierte Nutzdaten


Angeforderte und kommandierte Nutzdaten

Inhalt der Nachricht an/von PLC
Beschreibung | Daten der Nachricht, die empfangen/versendet wurde.
ST-Pfad | Kommandierter Wert pMC[channel_idx]^.addr^.MsgMcControl_Data.CommandW Angeforderter Wert pMC[channel_idx]^.addr^.MsgMcControl_Data.RequestR
ST-Element | . Inhalt
Datentyp | ARRAY [ 1 .. GCW_250_HliMessageLaenge] OF BYTE

Typ der Nachricht an/von PLC

Beschreibung

Kennzeichnet ob eine Nachricht durch einen #MSG- bzw. #MSGINFO-Befehl (siehe [PROG]) von der CNC an die PLC geschickt wird.

ST-Pfad

Kommandierter Wert

pMC[channel_idx]^.addr^.MsgMcControl_Data.CommandW

Angeforderter Wert

pMC[channel_idx]^.addr^.MsgMcControl_Data.RequestR

ST-Element

. Typ

Datentyp

UDINT

Wertebereich

0 Initialwert

1 Typ der Nachricht, die durch einen #MSG-Befehl abgesetzt wurde (wenn
diese durch die CNC verschickt wurde)

2 Typ der Nachricht, die durch einen #MSGINFO-Befehl abgesetzt wurde
(wenn diese durch die CNC verschickt wurde)


Implementierung als SPS-Bibliothek

Für den Zugriff auf das HLI, wird dem SPS-Applikationsentwickler eine SPS-Bibliothek bereitgestellt. Diese Bibliothek wird für die unterschiedliche SPS-Systeme spezifisch implementiert. Die Namen der Bibliothek für das jeweilige SPS-System ist der nachfolgenden Tabelle zu entnehmen.

SPS-System | KW | 3S | TwinCAT
HLI SPS-Bibliothek | - | - | tccnchli1.lib

In dieser Bibliothek sind

· die Datenstrukturen implementiert, aus denen das HLI besteht.

· globale Variablen implementiert, über die auf die Elemente des HLI zugegriffen werden können

· Funktionsbausteine implementiert, die die globalen Zeiger initialisieren

Mehr:

button Zugriff auf das HLI

button Funktionsbausteine in der SPS-Bibliothek


TwinCAT CNC: Überblick

Implementierung als SPS-Bibliothek

Zugriff auf das HLI

Mehr:

button SPS-System TwinCAT


SPS-System TwinCAT

In diesem System sind in der HLI-SPS-Bibliothek globale Zeiger auf die spezifischen Bereiche des HLI angelegt, über die man die Control Units und Statusdaten oder sonstige Daten eines solchen Bereiches erreichen kann. Die Verwendbarkeit dieser Zeiger unter dem einzelnen SPS-System zeigt die nachfolgende Tabelle:

 | Erläuterung | SPS-Systeme
Globaler Zeiger |  | TwinCAT
pPlatform | Plattform spezifischer Bereich | X
pMC | Feld von Zeigern auf kanalspezifische Bereiche | X
pAC | Feld von Zeigern auf achsspezifische Bereiche | X
pCTM | Feld von Zeigern auf Bereiche zur Auftragsplanung | X
pVEGlob | Zeiger auf die globalen V.E.-Variablen | X
pVE | Feld von Zeigern auf die kanalspezifischen V.E.-Variablen | X

Tabelle 15-1: Globale Zeiger auf Bereiche des HLI

Zu beachten ist, dass nur die Zeiger initialisiert sind, die von dem jeweiligen System unterstützt werden und durch eine entsprechende Ausprägung des NC-Kerns ( Anzahl Kanäle, Anzahl Achsen, ... ) sinnvoll sind. Alle anderen Zeiger sind NULL-Zeiger.


Funktionsbausteine in der SPS-Bibliothek

Mehr:

button Übersicht der PLCopen FBs

button ISG_HliInterface


Übersicht der PLCopen FBs

Die folgende Tabelle gibt eine Übersicht über die Verfügbarkeit der implementierten Funktionsbausteine in den von ISG unterstützten SPS-Systemen.

Funktionsbaustein | SPS-Systeme
 | KW | 3S | TwinCAT
ISG_HliInterface | - | - | X


ISG_HliInterface

Eine Instanz des ISG_HliInterface muß zwingend von jeder SPS-Applikation aufgerufen werden, für deren System dieser FB implementiert wurde und die auf Elemente des HLI zugreifen will.

Mit steigender Flanke an Eingang bStart wird vom NC-Kern die Information über seine Ausprägung (Anzahl Kanäle, Anzahl Achsen, ...) des HLI angefordert und mit der Ausprägung des HLI auf Seite der SPS verglichen. Kommt es zu Abweichungen wird der Ausgang bError auf TRUE gesetzt und am Ausgang iErrorID eine Fehlermeldungskennung ausgegeben. Stimmen hingegen die Ausprägungen des HLI auf beiden Seiten überein, wird der Ausgang bInitialized auf TRUE gesetzt und die SPS-Applikation kann über die global definierten Zeiger (siehe Tabelle 15-1) auf die jeweiligen Bereiche des HLI zugreifen (siehe PLC-Hauptprogrammrahmen).

Blockdiagramm

Parameter des FB

VAR_INPUT
 | bStart | BOOL | Steigende Flanke löst Überprüfung der Übereinstimmung von SPS- und NC-Kern-seitiger HLI-Definition aus.
VAR_OUTPUT
 | bBusy | BOOL | Anforderung und Überprüfungsvorgang ist noch aktiv.
 | bInitialized | BOOL | Überprüfung wurde erfolgreich abgeschlossen und nun darf erstmalig auf das HLI zugegriffen werden.
 | bError | BOOL | Ist TRUE, wenn ein Fehler im FB auftritt
 | iErrorId | UDINT | Fehlerkennung. Mögliche Werte siehe Tabelle 15-2.
 | iPlcErrorId | UDINT | Spezifische Fehlermeldung des verwendeten SPS-Systems. Weitere Erläuterungen siehe Tabelle 15-2, Fehlerwert 9 (ISG_PLC_PFORM_ERROR)
 | expectedHli | HLI_DIAGNOSTIC | Information über die Ausprägung des HLI auf Seite der SPS. Die Datenstruktur enthält die Anzahl der wesentlichen Bereiche des HLI, sowie die Versionskennung der HLI-Definition.
 | actualHli | HLI_DIAGNOSTIC | Enthält die Ausprägung des HLI auf Seite des NC-Kerns.

Verhalten des FB:

q Tabelle der Werte für die Fehlerkennung

Fehler-wert | Globale Konstante definiert in SPS-Bibliothek | Beschreibung
0 | ISG_NO_ERROR | Kein Fehler aufgetreten
1 | ISG_WRONG_VERSION | Versionsbezeichnung für das HLI aus der SPS und dem NC-Kern unterscheiden sich
2 | ISG_WRONG_PARAMETER | Unterscheidliche Ausprägung (Anzahl Kanäle, oder Anzahl Achsen, oder ..) des HLI in SPS und NC-Kern.
9 | ISG_PLC_PFORM_ERROR | Es ist ein Fehler im Zusammenhang mit dem verwendeten SPS-System aufgetreten. Ein SPS-System spezifischer Fehlerwert wird nun an Ausgang iPlcErrorId ausgegeben, soweit verfügbar. Beispiel: bei TwinCAT könnte es sich dann um einen ADS-Fehler handeln. Dann würde hier die ADS-Fehlernummer angezeigt.

Tabelle 15-2: Fehlerwert aus ISG_HliInterface


PLC-Hauptprogrammrahmen

PROGRAM MAIN

VAR

Hli : ISG_HliInterface;

HliInitError : BOOL := FALSE; (* Error at initialisation of HLI *)

UserInitialisationDone : BOOL := FALSE; (* User initialisation done *)

END_VAR

(* Request description of the HLI from the CNC *)

Hli(bStart := TRUE);

(* Check if initialization of HLI finished successful and if

errors occured during initialization phase. *)

IF Hli.bInitialized = TRUEAND Hli.bError = FALSE

THEN

(* Do the initialization we do once the PLC starts up. *)

IF UserInitialisationDone = FALSETHEN

(* Get the result of the user defined initialization *)

UserInitialisationDone := UserInitialisations(dummy:=TRUE);

END_IF;

(* --------------------------------------------------- *)

(* Insert your PLC application code after this comment *)

(* --------------------------------------------------- *)

IF Hli.bError = TRUETHEN

(* Fehler beim Initialisieren des HLI *)

(* iErrorId enthaelt Fehlernummer *)

HliInitError := TRUE;

END_IF;

END_IF;

Mehr:

button Initialisierungsfunktion UserInitialisations()


Initialisierungsfunktion UserInitialisations()

FUNCTION UserInitialisations : BOOL

VAR_INPUT

dummy : BOOL := FALSE; (* not used *)

END_VAR

VAR

AxIdx : UDINT;

ChIdx : UDINT;

END_VAR

(* Register PLC at all axes interfaces *)

FOR AxIdx := 1 TO nAxis DO

(* Set plc_present_w at each axis *)

pAC[AxIdx]^.addr^.HLIHeadAxe_Data.X_PLCPresent := TRUE;

(* Register at all axis specific control units you want to handle by PLC *)

(* Register at all control units to enable a drive *)

pAC[AxIdx]^.addr^.McControlLr_Data.MCControlBoolUnit_TorquePermission.X_Enable
:= TRUE;

pAC[Lauf1]^.addr^.McControlLr_Data.MCControlBoolUnit_ReleaseFeedhold.X_Enable

:= TRUE;

pAC[Lauf1]^.addr^.McControlLr_Data.MCControlBoolUnit_DriveOn.X_Enable := TRUE;

END_FOR;

(* Register PLC at all channel interfaces *)

FOR ChIdx := 1 TO nChannel DO

(* Set plc_present_w at each channel *)

pMC[ChIdx]^.addr^.HLIHeadChannel_Data.X_PLCPresent := TRUE;

(* Register at all channel specific control units you want to handle by PLC *)

END_FOR;

UserInitialisations := TRUE;