Applies To:
  • CitectSCADA 3.00 3.10 4.00

Summary:
Trend printing will not adjust itself to the resolution of the printer properly. It seems to be working for some resolutions but not all.  

Solution:
The trend print functions were orignally optimized for 300 DPI printers and they may not print out as well for other resolution printers. The trend printout functions have been improved in version 3.20 and later and should resolve most of these limitiatations.

You can also improve the optimization of the trend printout by making the following modifications to the trend printout functions.

There is one function called TrnPlot written in cicode library file GRAPH.CI in the INCLUDE project that does the printing operation. TrnPrint function, which is another function written in cicode that resides in ZOOM.CI file in the INCLUDE project, calls TrnPlot function to print trends. So, it seems that modifying TrnPlot function will resolve the resolution problem. Although this is theoretically correct we suggest that you follow the steps below as INCLUDE project will be updated with a new installation which will override all user changes.

1) Copy TrnPlot from INCLUDE project to your project and rename the one in your project to TrnPlotEx.
2) Copy TrnPrint from INCLUDE project to your project and rename the one in your project to TrnPrintEx.
3) Copy the trend templates you are using from INCLUDE project and rename your copies.i.e copy STANDARD type singletrend template to your project and rename it to singletrendex
4) Modify the new singletrendex template so that the button that activates trend printing now calls TrnPrintEx instead of TrnPrint function.

Now you are ready to modify the TrnPrintEx and TrnPlotEx functions:

Modifications to the TrnPrintEx function:

  1. Change the call to TrnPlot to TrnPlotEx.

Modifications to the TrnPlotEx function:

  1. Citect versions of 3.10 or earlier (4.00 which is 32bit included). There are three fonts used in this function : GraphColour, GraphColourBig and GraphColourSmall. Create three new fonts (in the Fonts form in your project) GraphColourEx, GraphColourBigEx, GraphColourSmallEx that will look proportinally right in your resolution. Use these fonts for hFont, hBigFont and hSmallFont.

i.e hFont = DspFontHnd("GraphColourEx");

The yResolution argument to this function is obtained by calling :

yRes = PlotInfo(hPlot,VERTRES,"");

If this function is not returning the correct resolution then you can assign it yourself as you know the resolution of your printer, ie:

yRes = 900;

If required you can also change calculation of all variables that are calculated based on xPage and/or yPage so that they will be proportional in your resolution.

  1. Citect versions of 3.20 or later ( or later than 4.00 in 32 bit)

There are three fonts that are generated inside the _TrnGetFonts local function. The yResolution argument to this function is obtained by calling :

yRes = PlotInfo(hPlot,VERTRES,"");

If this function is not returning the correct resolution then you can assign it yourself as you know the resolution of your printer, ie:

yRes = 900;

Inside the _TrnGetFonts function the SizeFontSmall, SizeFontBig and SizeFontNormal can be set to font heights that will be suitable for your printer.

If required you can also change calculation of all variables that are calculated based on xPage and/or yPage so that they will be proportional in your resolution.

 

Keywords:
 

Attachments