4. Configuration
173
Diagnostic Variable T_DIAG_IEC61850_SERVER.*
Size
Description
tConnectionStatus
tConnectionStatus[n]
bActive
BOOL
Connection established with a 61850
Client
sIP_ADDR
STRING(15)
61850 Client IP address that is
connected
udiFramesTx
UDINT
Reports the number of frames
transmitted in the communication
with the 61850 Client that is
connected
udiFramesRx
UDINT
Reports the number of frames
received in the communication with
the 61850 Client that is connected
Table 4-120. IEC 61850 Server Diagnostics
Commands Interception
The interception of commands received by the IEC 61850 Server driver is accomplished through the
CommandReceive function block as described in Interception of Commands from Control Center.
This feature allows the interception of selection and operation commands to the following CDCs
(Common Data Classes): SPC, DPC, INC, BSC, and ISC.
Check below an example of application in ST. It shows a command interception for the BlkOpn
object (XCBR Logical Node). It results in “SUCCESS” to the IEC 61850 Client.
PROGRAM UserPrg
VAR
bSetup: BOOL:= TRUE;
CRReceive: CommandReceiver;
CComamnd: COMMAND_T;
CRResult: COMMAND_RESULT:= COMMAND_RESULT.SUCCESS;
END_VAR
IF bSetup THEN // Executes setup routine in the first cycle
CRReceive.dwVariableAddr:=ADR(gfbIEC61850_LogicalDevice.XCBR1.fbBlkOpn.
Oper.ctlVal);
CRReceive.bExec:= TRUE;
CRReceive.eCommandResult:= COMMAND_RESULT.NONE;
CRReceive.dwTimeout:= 500;
bSetup:= FALSE;
RETURN;
END_IF
IF CRReceive.bCommandAvailable THEN // When a command is captured:
CComamnd:= CRReceive.sCommand; // Save its data
CRReceive.eCommandResult:= CRResult; // answers “SUCCESS”
CRReceive.bDone:= TRUE;
END_IF
CRReceive();
IF CRReceive.bDone THEN
CRReceive.bDone:= FALSE;
END_IF
Communcation Performance
MODBUS Communication Performance
The configurable MODBUS devices in Hadron Xtorm CPUs run in a cyclical way and in
background, that is, with a priority below the user application. Thus, its performance will vary
according to the remaining time, taking into account the difference between the interval and the
application time. For example, a MODBUS device in an application that runs at every 100 ms with a