FBP_DIAG

../_images/295568e8e389f4720a33139000eba54e
Parameter Value
Library_File_Name Diag_AC500_V10.lib
Firmware V1.0.2
Type Type_Function_Block_History
Group -

The Function Block FBP_DIAG is used to output the diagnosis data of the FBP slave interface.

The instance diagFBP of the Function Block DIAG_FBP is declared in the global variables list GL_AC500_Diagnosis. The integrated visualization of the Function Block accesses the variables of this instance.

In order to include the Function Block into an AC500 project, it is only necessary to call the Function Block instance. Example in ST:

diagFBP(EN := TRUE);

The read values are written into internal structures of the instance diagFBP.

Structure TYPE Assignment
strVisuData strFBP_Info Diagnosis data of the FBP slave interface
strVisuData1 strFBP_Statistics Statistic data of the FBP slave interface

The structure strFBP_Info is composed as follows:

TYPE strFBP_Info :

STRUCT

  pbyBinInputs : POINTER TO BYTE; (* internal variable *)
  pbyBinOutputs : POINTER TO BYTE; (* internal variable *)
  pbyAnaInputs : POINTER TO BYTE; (* internal variable *)
  pbyAnaOutputs : POINTER TO BYTE; (* internal variable *)
  pParameter : POINTER TO BYTE; (* internal variable *)
  apsModule : ARRAY[1..8] OF POINTER TO strFBP_ModuleInfo; (* submodule info *)
  usNumModules : WORD; (* number of modules *)
  usSizeParameters : WORD; (* parameter length in bytes *)
  usNumParameters : WORD; (* number of parameters *)
  usNumBinaryInputs : WORD; (* number of digital input bytes *)
  usSizeBinaryInputs : WORD; (* length of digital input bytes *)
  usNumBinaryOutputs : WORD; (* number of digital output bytes *)
  usSizeBinaryOutputs : WORD; (* length of digital output bytes *)
  usNumAnalogueInputs : WORD; (* number of analog input words *)
  usSizeAnalogueInputs : WORD; (* length of analog inputs in bytes *)
  usNumAnalogueOutputs : WORD; (* number of analog output words *)
  usSizeAnalogueOutputs : WORD; (* length of analog outputs in bytes *)
  ulBaudRate : DWORD; (* current baud rate *)
  byBusAddress : BYTE; (* bus address reported to FBP *)
  bySelectedTelegramType : BYTE; (* telegram type (acc. to FBP spec) *)
  bySelectedBaudRate : BYTE; (* set baud rate (acc. to FBP spec) *)
  byPrmFormat : BYTE; (* parameter format (acc. to FBP spec) *)

END_STRUCT

END_TYPE

The structure strFBP_Statistics is composed as follows:

TYPE strFBP_Statistics :

STRUCT

  ulNumInitRequestsSent : DWORD; (* no. of Inits sent to FBP since configuration *)
  ulNumRec : DWORD; (* no. of telegrams received from FBP since config *)
  ulNumSend : DWORD; (* no. of telegrams sent to FBP since config *)
  ulNumRecErrors : DWORD; (* number of faulty telegrams since config *)
  ulNumTimeouts : DWORD; (* number of timeouts since configuration *)
  ulNumChecksumErrors : DWORD; (* number of telegrams with checksum error *)
  ulNumInvalidRecs : DWORD; (* number of wrong/unknown telegrams *)

END_STRUCT

END_TYPE

If the user program should have access to these values, this is done as follows:

diagFBP.strVisuData.Variable.

In the following example, the FPB slave address is read and assigned to the variable byFBPAddress:

diagFBP.strVisuData.byBusAddress—————byFBPAddress

Using the visualization Visu_FBP_Diag, the values are represented graphically Visualizations.