IOF_CAN_Layer2Command

IOF_CAN_Layer2Command 1:

The function block IOF_CAN_Layer2Command permits a command 10 bytes long to be sent to layer 2 of a CAN master. Internally, an instance of the ADSWRITE function block is called.

VAR_INPUT

VAR_INPUT
    NETID       : T_AmsNetId;
    DEVICEID    : UDINT;
    LEN         : UDINT;
    SRCADDR     : DWORD;
    START       : BOOL;
    TMOUT       : TIME;
END_VAR

NETID: It is possible here to provide the AmsNetId of the TwinCAT computer on which the function to be executed. 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 Manager 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 function block is activated by a positive edge at this input.

TMOUT: States the length of the timeout that may not be exceeded by execution of the ADS 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 and acknowledgement is received.

ERR: If an ADS error should occur during the transfer of the command, then this output is set once the BUSY output is reset.

ERRID: Supplies the ADS error number when the ERR output is set.

Example of a call in FBD:

IOF_CAN_Layer2Command1  : IOF_CAN_Layer2Command;
Layer2Data              : ARRAY[1..5] OF WORD;
StartLayer2             : BOOL;
Layer2_Busy             : BOOL;
Layer2_Err              : BOOL;
Layer2_ErrId            : UDINT;

IOF_CAN_Layer2Command 2:

Requirements

Development environment

Target system type

IO-Hardware

PLC libraries to include

TwinCAT v2.7.0

PC (i386)

HILSCHER CIF3xx COM master card

Standard.Lib; PLCSystem.Lib; TcPLCAds.Lib; TcPlcIoFunctions.Lib

TwinCAT v2.8.0

PC (i386)

HILSCHER CIF3xx COM master card

TcIoFunctions.Lib

( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib are included automatically )