FBP_DIAG¶
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.