ItpWriteRParams
Veraltete Version Dieser Funktionsbaustein existiert ausschließlich zur Gewährleistung der Kompatibilität mit bestehenden Projekten. Für neue Projekte verwenden Sie bitte den Baustein ItpWriteRParamsEx. |
Interface
VAR_INPUT
bExecute : BOOL;
nChnId : UDINT;
pAddr : DWORD;
nIndex : DINT;
nCount : DINT;
tTimeOut : TIME;
END_VAR
VAR_OUTPUT
bBusy : BOOL;
bErr : BOOL;
nErrId : UDINT;
END_VAR
Beschreibung
Der Baustein ItpWriteRParams schreibt R-Parameter in die NC.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
bExecute |
BOOL |
Mit einer steigenden Flanke wird der Schreibvorgang gestartet |
nChnId |
UDINT |
ID des NC-Kanals dessen R-Parameter beschrieben werden sollen |
pAddr |
DWORD |
Adresse der Variablen, die die zu schreibenden Daten enthält. Dabei werden die Daten direkt ab der angegebenen Adresse verwendet. D.h. nIndex ist nicht als Offset zu pAddr zu sehen. Die Daten befinden sich für gewöhnlich in einem Array vom Typ LREAL, das vom Anwender definiert werden muss. |
nIndex |
DINT |
Beschreibt den Index des R-Parameters der aus NC Sicht beschrieben werden soll. |
nCount |
DINT |
Anzahl der zu beschreibenden R-Parameter |
tTimeOut |
TIME |
ADS Timeout-Delay |
Ausgang | Datentyp | Beschreibung |
---|---|---|
bBusy | BOOL | Dieser Ausgang bleibt solange 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. |
Beispiel
VAR
arrfRParam90to99 : ARRAY[0..9] OF LREAL;
fbWriteRParam : ItpWriteRParams;
n : INT := 0;
bWriteParam : BOOL := FALSE;
END_VAR
FOR n:=0 TO 9 DO
arrfRParam90to99[n] := 90 + n;
END_FOR
fbWriteRParam(
bExecute := bWriteParam,
nChnId := 2,
pAddr := ADR( arrfRParam90to99[0] ),
nIndex := 90,
nCount := 10,
tTimeOut := T#200ms );
In diesem Beispiel werden aus NC Sicht die Parameter R90 bis R99 beschrieben.
Voraussetzungen
Entwicklungsumgebung |
Zielplattform |
Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 |
PC (i386) |
TcNciItp.lib |
TwinCAT v2.8.0 |
PC (i386) |
TcNci.lib |