IOF_CAN_Layer2Command
The IOF_CAN_Layer2Command function block sends a 10-byte long command to layer 2 of a CAN master.
VAR_INPUT
VAR_INPUT
NETID : T_AmsNetId;
DEVICEID : UDINT;
LEN : UDINT;
SRCADDR : PVOID;
START : BOOL;
TMOUT : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
NETID: The network address of the TwinCAT computer on which the function is to be executed can be entered here (type: T_AmsNetID). If it is to be run on the local computer, an empty string can be entered.
DEVICEID: DeviceId specifies the device (CAN master) on which the function is to be executed. The device IDs are specified by the TwinCAT system during the hardware configuration.
LEN: The length of the layer 2 command in bytes.
SRCADDR: The address of the first data word in the CAN layer 2 command.°
START: the block is activated by a positive edge at this input.
TMOUT: States the length of the timeout that may not be exceeded during execution of the command.
VAR_OUTPUT
VAR_OUTPUT
BUSY : BOOL;
ERR : BOOL;
ERRID : UDINT;
END_VAR
BUSY: When the function block is activated this output is set. It remains set until a feedback is received.
ERR: If an error should occur during the transfer of the command, then this output is set once the BUSY output was reset.
ERRID: Supplies the ADS error number when the ERR output is set.
Example:
PROGRAM MAIN
VAR
IOF_CAN_Layer2Command1 : IOF_CAN_Layer2Command;
Layer2Data : ARRAY[1..5] OF WORD;
StartLayer2 : BOOL;
Layer2_Busy : BOOL;
Layer2_Err : BOOL;
Layer2_ErrId : UDINT;
END_VAR
Requirements
Development environment |
Target platform |
IO hardware |
PLC libraries to be integrated (category group) |
---|---|---|---|
TwinCAT v3.1.0 |
None. This functionality is not supported by TwinCAT 3 at present! |
HILSCHER CIF3xx COM master card |
Tc2_IoFunctions (IO) |