VisuFbXYChartDataProvider (FB) ¶ FUNCTION_BLOCK VisuFbXYChartDataProvider IMPLEMENTS IXYChartDataProvider3 This function block is the implementation of the IXYChartDataProvider interface. It is used by the generated code to provide suitable instances of this interface. An instance of this is present in generated code only InOut: Scope Name Type Comment Input iNumOfAxes INT Axes designed by the customer using configuration page Here I’ve: 1) the number of the axes 2) a pointer to array of pointers of structures containig the axis data. Each cell can contain a structure allocated by the customer in IEC code and next assigned into configuration page or, if not, an automatic allocation of the same structure done by the system. In the first case customer can manipulate the data at run time, in the second case not a pointer to array of BOOL to know if the variable used is local or user defined a pointer to array of pointers of structures containig the axis properties written by generated code, from SP16. paAxisVar POINTER TO ARRAY [0..20] OF POINTER TO VisuStructXYChartAxis paAxisIsLocVar POINTER TO ARRAY [0..20] OF BOOL paAxisVarProper POINTER TO ARRAY [0..20] OF POINTER TO VisuStructXYChartAxis iNumOfCurves INT Curves designed by the customer using configuration page Here I’ve: 1) the number of the curves 2) a pointer to array of pointers of structures containig the curve data. Each cell can contain a structure allocated by the customer in IEC code and next assigned into configuration page or, if not, an automatic allocation of the same structure done by the system. In the first case customer can manipulate the data at run time, in the second case not a pointer to array of BOOL to know if the variable used is local or user defined a pointer to array of pointers of structures containig the curves properties written by generated code, from SP16. paCurveVar POINTER TO ARRAY [0..20] OF POINTER TO VisuStructXYChartCurve paCurveIsLocVar POINTER TO ARRAY [0..20] OF BOOL paCurveVarProper POINTER TO ARRAY [0..20] OF POINTER TO VisuStructXYChartCurve pElementVar POINTER TO VisuStructXYChart Pointer to the XY element structure, either the customer one or the system one, depending on if the customer has allocated the his one xElementIsLocVar BOOL Points to the XY element structure pElementVarProper POINTER TO VisuStructXYChart If the variable used is local or user defined eUpdateType EnXYChartUpdateType Points to the XY system element structure where the generated code writes the properties defined at design time, from SP16 Update type itfUpdateVar IXYChartGenericVariable Type of update used for element itfAutoUpdEnaVar IXYChartGenericVariable update variable pItfDataProviderCurve POINTER TO ARRAY [0..20] OF IXYChartDataProviderCurve Automatic update enable variable Pointer to the interfaces of curves data provider pItfDataProviderAxes POINTER TO ARRAY [0..20] OF IXYChartDataProviderAxis Pointer to the interfaces of axes data provider itfCursXPosVar IXYChartGenericVariable Variable of X axis value at cursor position, if present paAxisStruWD POINTER TO ARRAY [0..20] OF StruXYChartWorkingDataAxis These data are instantiated in generated code, but not use there Because these data are “number of axes/curves depending”, I’ve defined them in generated code where I know those numbers In this way I don’t need dynamic allocation memory in IEC code paCurveStruWD POINTER TO ARRAY [0..20] OF StruXYChartWorkingDataCurve Data for single curve elaboration, working data pClientData POINTER TO VisuStructClientData Variables used to get the correct data in case of “multiclient” (see “IsMultiClient” method to see more general comment) pClientSpecificData POINTER TO StruXYChartClientSpecificData xMultiClient BOOL Methods: GetAxisFontLabel GetDataProviderCurve GetLineLevelFont GetLineLevelStruct GetNumberOfAxes GetNumberOfCurves GetPntAxis GetPntCurve GetPntData GetPntWorkingDataAxis GetPntWorkingDataCurve GetUpdateType GetVariableItf IsAxisVarLocal IsCurveVarLocal IsElementVarLocal GetDataProviderAxis GetPntAxisProper GetPntCurveProper GetPntDataProper SetMultiClientData Structure: GetAxisFontLabel (Method) GetDataProviderCurve (Method) GetLineLevelFont (Method) GetLineLevelStruct (Method) GetNumberOfAxes (Method) GetNumberOfCurves (Method) GetPntAxis (Method) GetPntCurve (Method) GetPntData (Method) GetPntWorkingDataAxis (Method) GetPntWorkingDataCurve (Method) GetUpdateType (Method) GetVariableItf (Method) IXYChartDataProvider2 GetDataProviderAxis (Method) IXYChartDataProvider3 GetPntAxisProper (Method) GetPntCurveProper (Method) GetPntDataProper (Method) SetMultiClientData (Method) IsAxisVarLocal (Method) IsCurveVarLocal (Method) IsElementVarLocal (Method)
VisuFbXYChartDataProvider.GetAxisFontLabel (METH) ¶ METHOD GetAxisFontLabel : POINTER TO IXYChartFont Get label of the specific axis It’s used only in offline mode InOut: Scope Name Type Return GetAxisFontLabel POINTER TO IXYChartFont Input iWhich INT
VisuFbXYChartDataProvider.GetDataProviderCurve (METH) ¶ METHOD GetDataProviderCurve : IXYChartDataProviderCurve Get data provider interface for a specific curve InOut: Scope Name Type Return GetDataProviderCurve IXYChartDataProviderCurve Input iWhich INT
VisuFbXYChartDataProvider.GetLineLevelFont (METH) ¶ METHOD GetLineLevelFont : POINTER TO IXYChartFont Get a level line font label It’s used only in offline mode InOut: Scope Name Type Comment Return GetLineLevelFont POINTER TO IXYChartFont Input iWhichAx INT iWhichLv INT which axis I’m asking for
VisuFbXYChartDataProvider.GetLineLevelStruct (METH) ¶ METHOD GetLineLevelStruct : POINTER TO IXYChartVisuStructLevelLine Get a level line structure It’s used only in offline mode InOut: Scope Name Type Comment Return GetLineLevelStruct POINTER TO IXYChartVisuStructLevelLine Input iWhichAx INT iWhichLv INT which axis I’m asking for
VisuFbXYChartDataProvider.GetNumberOfAxes (METH) ¶ METHOD GetNumberOfAxes : INT Get number of axes defined in the element InOut: Scope Name Type Return GetNumberOfAxes INT
VisuFbXYChartDataProvider.GetNumberOfCurves (METH) ¶ METHOD GetNumberOfCurves : INT Get number of curves defined in the element InOut: Scope Name Type Return GetNumberOfCurves INT
VisuFctCalculateMaxTooltipLength (FUN) ¶ FUNCTION VisuFctCalculateMaxTooltipLength : INT This method calculates a suitable maximum tooltip length the trace or trend displays. The return value is this length InOut: Scope Name Type Comment Return VisuFctCalculateMaxTooltipLength INT Input pArrItfTraceMgrVariables POINTER TO ARRAY [0..0] OF ITraceMgrVariable The POINTER to the array ITraceMgrVariable instances representing the configuration of the variables to trace. iCountVariables INT The effective array size of the array above. xHasTriggerTooltip BOOL A flag indicating, whether the visu element displays also trigger values in tooltip (TRUE, for the trace element) or not (FALSE, for the trend element) itfTimestampLengthProvider ITimestampLengthProvider An instance of ITimestampLengthProvider, that can provide the maximum length of a timestamp
VisuFctGetGradient (FUN) ¶ FUNCTION VisuFctGetGradient Trasform gradient data for FPlot library InOut: Scope Name Type Comment Input pDest POINTER TO VisuFPlot.VisuStructGradientColor Destination structure itfSour IVisuStructTraceGradientColor2 Source structure
VisuFctGetTransparentValue (FUN) ¶ FUNCTION VisuFctGetTransparentValue : DWORD InOut: Scope Name Type Return VisuFctGetTransparentValue DWORD Input iTransp INT