ItpWriteRParams
Outdated version The sole purpose of the function block is to ensure compatibility with existing projects. For new projects please use the function block 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
Description
The ItpWriteRParams block writes R-parameters into the NC.
Input |
Data type |
Description |
---|---|---|
bExecute |
BOOL |
A rising edge starts the write operation |
nChnId |
UDINT |
ID of the NC channel whose R-parameters are to be written |
pAddr |
DWORD |
Address of the variables containing the data to be written. Data are used directly from the specified address, i.e. nIndex is not to be interpreted as offset from pAddr. The data are usually in an array of type LREAL, which has to be defined by the user. |
nIndex |
DINT |
Describes the index of the R-parameter to be written from an NC perspective. |
nCount |
DINT |
Number of R-parameters to be written |
tTimeOut |
TIME |
ADS Timeout-Delay |
Output |
Data type |
Description |
---|---|---|
bBusy |
BOOL |
This output remains TRUE until the function block has executed a command, but at the longest for the duration supplied to the 'Timeout' input. While Busy = TRUE, no new command will be accepted at the inputs. Please note that it is not the execution of the service but its acceptance whose time is monitored. |
bErr |
BOOL |
This output is switched to TRUE as soon as an error occurs during the execution of a command. The command-specific error code is contained in ‘nErrId’. Is reset to FALSE by the execution of a command at the inputs. |
nErrId |
UDINT |
Contains the command-specific error code of the most recently executed command. Is reset to 0 by the execution of a command at the inputs. The error numbers in ErrId can be looked up in the ADS error documentation or in the NC error documentation (error codes above 0x4000). |
Sample
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 this example the parameters R90 to R99 are written from an NC perspective.
Requirements
Development Environment |
Target System |
PLC Libraries to include |
---|---|---|
TwinCAT v2.7.0 |
PC (i386) |
TcNciItp.lib |
TwinCAT v2.8.0 |
PC (i386) |
TcNci.lib |