ItpWriteZeroShift

ItpWriteZeroShift 1:

Der Funktionsbaustein ItpWriteZeroShift schreibt für die angegebene Nullpunktverschiebung die Verschiebungskomponenten X, Y und Z.

Aus Kompatibilitätsgründen gibt es für jede einstellbare Nullpunktverschiebung pro Achse zwei Parameter (grob & fein). Beim Schreiben einer neuen Nullpunktverschiebung mit diesem Baustein wird der neue Wert in den 'Fein-Parameter' geschrieben. In den 'Grob-Parameter' wird eine 0.0 eingetragen. Auf diese Weise ist es möglich, dass z.B. mit dem ItpReadZeroShift Baustein die Nullpunktverschiebung gelesen, modifiziert und erneut der NC übergeben wird.

ItpWriteZeroShift 2:

Veraltete Version

Dieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mit bestehenden Projekten. Für neue Projekte verwenden Sie bitte den Funktionsbaustein ItpWriteZeroShiftEx.

ItpWriteZeroShift 3: Eingänge

VAR_INPUT
    bExecute       : BOOL;
    nChnId         : UDINT;
    nZsNo          : UDINT;
    tTimeOut       : TIME;
END_VAR

Name

Typ

Beschreibung

bExecute

BOOL

Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgeführt.

nChnId

UDINT

Kanal-ID

nZsNo

UDINT

Nummer der Nullpunktverschiebung

NC-seitig sind G54 bis G59 Nullpunktverschiebungen, wobei G58 und G59 nur aus dem NC-Programm editiert werden können. Der gültige Wertebereich für 'nZsNo' ist deshalb von 54 bis 57.

tTimeOut

TIME

ADS Timeout-Delay

ItpWriteZeroShift 4:/ItpWriteZeroShift 5: Ein-/Ausgänge

VAR_IN_OUT
    sZeroShiftDesc : ZeroShiftDesc;
END_VAR

Name

Typ

Beschreibung

sZeroShiftDesc

ZeroShiftDesc

sZeroShiftDesc: Struktur mit den Komponenten der Nullpunktverschiebung. Auf diese Struktur wird nur lesend zugegriffen.

ItpWriteZeroShift 6: Ausgänge

VAR_OUTPUT
    bBusy     : BOOL;
    bErr      : BOOL;
    nErrId    : UDINT;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Dieser Ausgang bleibt so lange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt, längstens aber für die Dauer der an dem 'Timeout'-Eingang angelegten Zeit. Während Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird.

bErr

BOOL

Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.

nErrId

UDINT

Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in der ADS Fehlerdokumentation oder in der NC Fehlerdokumentation (Fehlercodes ab 0x4000) nachgeschlagen werden.

TYPE ZeroShiftDesc:
STRUCT
    fShiftX : LREAL;
    fShiftY : LREAL;
    fShiftZ : LREAL;
END_STRUCT
END_TYPE

Siehe auch:

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT V3.1.0

PC oder CX (x86 oder x64)

Tc2_NCI