FB_MBUdpDiagnose (Modbus function 8)

FB_MBUdpDiagnose (Modbus function 8) 1:

The diagnosis function provides a series of tests for checking the communication system between the master and the slave and for examining a variety of internal error states within the slave.

VAR_INPUT

VAR_INPUT
    sIPAddr         : STRING(15);
    nTCPPort        : UINT:= MODBUS_TCP_PORT;
    nUnitID         : BYTE:=16#FF;
    nSubFnc         : WORD;
    nWriteData      : WORD;
    bExecute        : BOOL;
    tTimeout        : TIME;
END_VAR

sIPAddr : Is a string containing the IP address of the target device.

nTCPPort : Port number of the target device.

nUnitID: Identification number of a serial sub-network device. If a device is addressed directly via TCP/IP, this value must be 16#FF.

nSubFnc : The sub-function to be executed.

nWriteData: The data word to be written.

bExecute: The function block is activated by a rising edge at this input.

tTimeout: States the length of the timeout that may not be exceeded by execution of the ADS command.

VAR_OUTPUT

VAR_OUTPUT
    bBusy       : BOOL;
    bError      : BOOL;
    nErrId      : UDINT;
    nReadData   : WORD;
END_VAR

bBusy : When the function block is activated this output is set. It remains set until an acknowledgement is received.

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

nErrId : Supplies the ADS error number when the bError output is set.

nReadData: Supplies the read data word.

Function specific ADS error code

Possible reason

0x8001

Modbus function not implemented

0x8002

Invalid address or length

0x8003

Invalid parameters:

- wrong number of registers

0x8004

Modbus server error

Requirements

Development environment

Target system type

PLC libraries to be linked

TwinCAT v2.8.0

PC (i386)

TcModbusSrv.Lib