CSPlot versions
This document contains version information for the ConSys CSPlot Program.
Bugs/Ideas:
E2: Histories are often not coming through (ie. the waiting for histories dialogbox has a long list.)
E1: Invalid data are not plottet (this is OK), but when data again becomes valid a line connecting the last valid point and the new valid point is drawn. It would be better if there is a gap in the plot. (JSN 040323)
W2: File and window name at the bottom left on prints (like now print time at the lower right). JSN 030320
W1: In a new plot, turn off the grid for the right axis. (GridBorder.Visibel = false) (JSN 030903)
W2: When a plot window is maximized the program title (titlebar and taskbar name) becomes "CSPlot - 'window name'". Would be much better without "CSPlot - ". (When having many CSPlots open one cannot se the the window name) JSN 030320.
W1: A button to refresh the plot (for use when it "forgets" part of the curve, instead of manually changing the window size) (LL/JSN 020827)
W2: Implementation of Copy-Paste of PlotWindows (and DataSources), also across documents. (JSN 020724)
W0: Selective clear of history of one parameter. (Could be usefull if there come garbled data in one parameter) (JSN 000824)
E2: The plot (for plots with many parameters, (AstridTemperatures)) does sometime not show up (at least before one gets impatient)) (JSN 020806) (Can still happen (seen on FEC07), although not so often. JSN 030320)
* WISH: Option to plot one parameter as a function of another. (JSN 000821)
* WISH: Implementation of a CConSysArray (ie a X- and Y-array), which can be plotted in CSPlot (replot with each new array). Should also be implemented in ConSysAPI. (JSN 020405)
W1: Possibility of getting the min and max value in addition to the mean, when averaging data. (Fabrian(MSL)/JSN 030823)
* Tau1 history is "filled up" if reactivated after some time of inactive, but normal Beamcurrent, Tau10, Tau60 and ITau are not updated. (Probably in beamcurrent device) (JSN 000831) Well, later they showed up "by then selves" - Funny.
E2: The new version does not (always) set scale correctly when doing Reset Scale and having 'fixed scale' in plot windows scale setup – could not be reproduced (JSN020829) (TW020912 Could not reproduce this error – if it still exist more information is needed to correct the error.
Version 1.25.117.141 (TW061001):
Datasource: New option 'Use received time'. On some devices, data is not changed very often - and the timestamp is set when the data change value. As CSplot plots use the timestamp as x-axis these values will not be plotted even when maxTime between value updates is set as a finite value, like 1000 ms. It should be possible to use the received time as x value instead of the timestamp. Set for each source value when defining the plot.
Version 1.24.97.118 (TW041122):
New method: Button for reconnect, Full history.
Version 1.23.92.103 (TW040204):
New feature: Detect 'information' message, no 'History not supported, handle:%i' send from dataservers from this version of the kernel. Stop waiting for history for the given parameter when this message is received.
Corrected bugs:
* Wait for history never disappeared when some parameters did not receive histories (no support for history, missing connection etc.)
Version 1.16.71.75 (TW020916):
NEW FEATURES:
· Link to new web help pages with format string specifications in CSPlot help – and from Parameter definition dialog and x scale dialog
Would be VERY nice if it is allowed to use negative multiplication in the data source dialog. (JSN 020804) – Check is removed – but be aware that is now possible to multiply by 0.
· In parameter windows Scientific notation as in the console with prefix p(ico) , n(ano)...... (JSN 020829): To use this feature, specify %c in the position of prefix, as for example ‘%7.2f %cA’
·
CORRECTED BUGS:
E2: The new version (65) does not correctly reads old files. It "forgets" the last plotserie in every plotvindow. (JSN 020724)
E2????: The X-axis (ticks and labels) in the new version (65) is not working very good. Setting (trying) a 1 day plot, will not give very many ticks (and labels) when decreasing timescale (ASTRIDtemperatures:Magnets) (JSN 020108) IT is completely impossible to use!!!!!
E2: The new version does not (always) set scale from database if parameter is plottet from Console: Remark: the error was present in distributed version but could not be reproduced in this version.
Version 1.16.65.66 (TW020523):
New display: Parameter window with marked values.
Version 1.16.65.65 (TW020515):
REMARK: Due to the new plot method, the file format has changed. Old files can be read by the new version of CSPlot, but the new files can not be read by old CSPlot versions.
NEW FEATURES:
New plot type: Plot marked values as points.With this plot option, only marked data values are added to the plot. The plot series for this type is created as point type with 2x2 circles. This can be changed to any plot type that accepts the AddXY method, and goes with fastline.
New option, ‘use right vertical axis’ when defining a plot series:With this option set, the right vertical scale will be used from the creation of the new series (before, this must be set afterwards in the TeeChart chart).
IMPROVEMENTS:
Better handling of plot editing: The plot definition editor keeps track of changes, and updates the teechart plot when the editing is finished. If update will force a deletion and recreation of the teechart plot series, the user is prompted and given a option to do this manually.
CORRECTED BUGS:
PlotDefinition dlg, edit left and right vertical axis, data validation used wrong plot limits:The data validation procedures used validation ranges from the csplot document => new or deleted series defined in the current edit session was not taken into account. It was impossible to set limits to new series without exiting and re-entering the plot definition dialog.
PlotDefinition dlg, edit left and right vertical axis – run time error when in validation procedure when no series is defined. Made unavailable before series is defined.
Print, footer font size bug corrected: When a view was printed more than once, the footer font became very big. Due to bug in teeChart, corrected by avoiding calling setfont more than once.
Print scale problem: When using fixed scale and the zooming or otherwise having another scale one does not get what one expect when printing. The print scale ARE from the fixed scale value (ie. NOT what one has on plot).
Version 1.16.60.60 (TW020411):
Corrected error in data source, history select, did display correct selection. Was due to error in definitions in ConSysKernel, history.h
Version 1.16.60.60 (TW020411):
Day and time on print’s implemented.
Default setting of Printer Margins (top=15%, bot=10%, left=right=5%). Orientation landscape, detail 50.
Changed plotting method for data with invalid mark set. Before and after data marked as invalid, the lines are drawn from actual values to 0.
Cleaning of illegal characters in datasource name. (As it is now one gets an error message from TeeChart.) JSN 000912
CORRECTED BUG’s:
With many (>10) series in one window, the plot settings dialog has a bug in the data source map. It sorts on name (ie 'series: 10' comes before 'series: 2'), but when choosing edit one gets the numeric index (ie choosing 'series: 10' gives series 2). (JSN 000817)
BUG Corrected: There is no check of illegal numbers in the "Data Serie no:" field in "Center new data" section of the YScale setup dialog in "Plot Settings" (Edit of Plot Windows). The name "Data Serie no:" is not completely clear. It was confused with Data sources, which maybe would have been a more logical choice. A better name could be "Plot Serie no:". If a wrong number is typed in, the program crashes during load of the file. (JSN 000921)
Version 1.14.47.47 (TW010913):
Note on (increasing) memory use: The memory usage for each point in a tchart plot is in the order of 200 bytes (found by looking at the additional memory usage when adding points to tchart.). CSPlot adds all new points to a the charts as they arrive. For each data series the data is also stored in the specified history buffer. When the number of points plotted in a chart is 1.5 times the number of points in the history buffer, the chart data is cleared and replotted from the history buffer. For large buffers meant for several days of plotting there it can take several days before the CSPlot reaches its maximum memory usage. When stabilised the memory usage will go up and down depending on the clearing intervals.
NEW FEATURES:
Help link implemented: Html link to the CSPlot manual and history types implemented in menu.
Charting, Autoscroll optimized: TChart scrolls approx. 1/5 of the x scale when auto scrolling the x scale. New code that checks the x scale end time after scroll has been added. For plots with an x scale span less than 2 hours, a maximum of 5 minutes free is accepted. For plots with longer x scale span, the maximum accepted free time axis is set to 1 hour.
CHANGED BEHAVEVIORS:
Automatic resetting of scale after deactivation/reactivation has been removed.The reason for this code were, that change in scale settings during deactivation should be displayed automatically. In practice, this is inconvenient. In most situations, we do not want all scales to reset after a reactivation. Instead, the user must now reset plots with scale setting changes manually. Instead, the scale settings is stored when deactivation, and restored after reactivation.
CORRECTED BUGS:
Invalid points at start of plot - corrected: Was due to and error in the history class - setting the exact copy of the history buffer by adding with AddNoReduce had a failure.
New empty document on start. Corrected - now starts without opening an empty document (again).
Beamplot, FastCurrent - did not wait for history buffer.Cause: The original procedure was based on number of points received - but for fast beam current, the limit was exceeded before the history buffer arrived. The code has been changed, so it now waits 10 seconds for the history to arrive before starting plotting without history.
The x-scale (time scale) is slowly getting larger and larger, so that an one hour plot after some time will be a two hour plot. The Xscale jumps quite a big step for big scales (hours and especially for many hours: The error is in TChart component, the xscale is slowly increasing when scrolling. Solved by a hack: In every user change of the x scale, the scale x scale with is stored. Whenever the plot is reset (1.5 times the number of points in the history buffer), the x scale width is restored.
The connection between the Activate Checkbox in the control window and the AcivateMenu point in the Plot Menu is not working properly. Deactivating in the does not update the checkbox. Correction: Implemented missing code.
TChart, Fastline - hole in plot after clear and replot:Due to 'error' in TChart, fastline. Implemented additional code to ensure wait for all prev. points finished before adding newly arived points.
TeeChart autoscale is not remembered. Choosing TeeChart scaling in Plot Scale, then a full autoscale in teeChart will not be remembered (ie. on open and on a new activation): Correction: The cause for this had several indepedent reasons: 1: The ScaleStorage class did not store the automatic scale state <=> at every reset or replot after erasing data, the autoscale setting was lost. 2: Calling UpdateNewData in ResetScale caused a resetting of automatic scale state.
Another scale error: If chossing TChart scaling, and selecting auto max scale, then by Deactivating and Reactivate the plot the autoscale for the maxscale is disabled.
Version 1.14.46.44 (TW010615):
Y scale min and max limits retrieved from database and can be used to set TCHART scale limits in TChart scale mode.
Min check - default TRUE changed to default FALSE.
Version 1.14.46.43 (TW010531):
On open of file, do not display the control window topmost if windows are maximized - solved.
Start parameter implemented - see program manual
Version 1.11.40.35 (TW001204):
Error corrected: Auto store timer was not killed when deactivated - Boolean control variable was wrong.
New plot exported when activated.
Version 1.11.40.34 (TW001130):
Beamplot write to WWW server changed, new options needed for general web plots.
REMARK: New file format.
Version 1.11.39.31 (TW000825):
Beamplot write to WWW server updated to new method.I
mplemented optional min check: There is a problem (probablely with TeeChart) that if a value of zero is plotted in a logaritmic plot a minimum scale of 1e-10 is choosen.Can be cured by optionally setting (programmably) all values smaller than a predefined value to the predefined value. An example of the problem can be found in RingVacuum.csp (JSN000719/000817)
Version 1.10.33.24 (TW000608):
Implemented new start option: Full history - starts the plot in the old fashioned way - ie. clear all data and request full history. The 'Full History' option is automatic cleared when used once.
Separate zoom:Separate zoom for the x-axis, left axis and right axis - selected from the toolbar.
Version 1.10.33.23 (TW000608):
Corrected bug: Does not plot anything for parameters that do not have a history implemented. (Ex. MFDVPast.data (Faraday BeamCurrent)) (JSN 000526) - Now waits 5 data points for the requested history - and if it does not arrive, start plotting without history.
Scale mode changed:The 'Auto Y scale' mode that forced the TChart scale to auto scale has been changed to 'TChart scale'. The forced auto scale is common to all scale modes - when set, the TChart auto scale is set active for min as well as max.
ConSysKernel changed, so read only mode allows write of CDataServerControl objects => demand history now also works with a read only kernel.
Decrease X scale implemented.
Error corrected - plot of parameters from devices without history did never start.If no history is received after the first 5 data points has arrived, it is now assumed that the device has no history and the plot is started.
Deactivation/Activation, history request updated:Before an activation CSplot always erased all data and requested the full history from the device. Now, data is never erased. Only the missing history is requested. In this way, no data is lost, even if the device has no history buffer.
Version 1.10.33.22 (TW000606):
- Name based history selection implemented.
- Drop down box with history names instead of numbers implemented. This has been done through a set of new methods in the ConSysKernel.
- Possibility to get default history type from database in data source dialog implemented. Includes check for existence of the parameter in the database.
- Automatic selection of default history type from database in 'single plot'
- Parameter existence check after 'Single plot' definition
- "Data Source" by default would match the "Series no" in the new DataSource Map.
- Spaces in data source name and plot window name automatic replaced by underscores.
Last Modified 04 February 2019