From: B.Gilli Date: 2001-10-04 VLT-SW-OCT2001 - RELEASE NOTES FOR CCS ======================================= Most of the changes and/or new features for the MARCH 2001 release concern CCS_Lite extensions in order to cover more of the full CCS functionality under this platform. That should allow an easier porting for applications migrating on this cheaper platform. LINUX: Most of the CCS core functionality is now available also under the LINUX OS. Main limitations are related to the different "endianess" of the LINUX hardware which is based on x86 processors. CCS has implemented internally the appropriate bytes swapping mechanisms to transparently transport data across environments. However this is only possible when the structure of the transported data is known; which is not the case for messages transporting unformatted binary data. In that case, the bytes swapping activity must be performed within the user application. For those interested, a comparative performance table is provided at the end of these release notes. ccs: ---- Minor bug fixing. Under CCS_Lite the ccsScheduler accepts a new option <-s pid>. When used, the process with pid will receive a SIGUSR1 signal after ccsScheduler has started all processes configured as AUTOSTART in the CcsEnvTable. Files created by the ccsScheduler in the environment directory get now protections allowing a different user to restart the environment. On PCs running LINUX, it is also possible to generate the ccsScheduler without the s bit. In that case, it will run in single user mode. err: ---- Minor bug fixing: SPR 20010112. Environemnt name is now always formatted with 7 characters in error logs. Logging System: --------------- Minor bug fixing: SPRs 20010229, 20010233 and 20010477 cmd: ---- Minor bug fixing: SPR 20010348 msg: ---- Minor bug fixing: SPR 20010349. Full support under LINUX, except for binary data transfer with LCUs and remote HP or SUN WS. db: --- dbStartup new option <-a size> to modify the default internal alarm queue size. Under CCS_Lite, the handling of the TZ variable in dbTimeToString has been corrected. Minor bug fixing in the Calculation Engine under LINUX. Full support under LINUX. evt: ---- Full support under LINUX, with the exception of the evtAttachExt when used to attach events on attribute located within remote environments. In that case, if the user string attached to the future event notification is used to transport binary data, bytes will be swapped if environments run on different CPUs: LINUX(386) <-> HP or LINUX <-> SUN or LINUX <-> LCUs scan: ----- Minor bugs fixing. Full support under LINUX OS. tims: ----- Minor bug fixing: SPR 20010400: More flexibility in the function timsDateTimeToUTC for the handling of the fractions of seconds. Full support under LINUX alrm: ----- Bug fixing. More alarm definition macros available under CCS_Lite: All alrmDiscretexxx without acknowledge are now supported analog2 and 3 states without acknowledge are also supported. Scope can only be LOCAL under CCS_Lite. An Alarm Display with history and summary modes is also available under CCS_Lite. The complete CCS_Lite functionality is supported under LINUX. fnd (G.Chiozzi) --------------- - Updated man page of fndQUEUE class eccs (G.Chiozzi) --------------- - src/ECCS.intro SPR.20010406. Replaced Procname with Destproc in eccs documentation - src/eccsTestDriver.tcl SPR.20010395. Lines sorted only if -noorder=1 (default) evh (G.Chiozzi) --------------- - Modified evhDB_SYNC to allow monitoring also dbLOGICAL attributes (SPR 20010060) - Fixed problems with modular test, Sun and pecs - src/evhDB_CMD_SERIAL.C (ActualSendCommand): overload this method to allow different handling of NULL_COMMANDS. Instead of going simply to state IDLE run QueueCheck as in EventCompletedCB to have a consistent handling of states. see SPR VLTSW20010074. Plot: ---- CAUTION: The plot module as described below is available only for the HP_UX 11 platform. SUN & LINUX versions will come later. The plot module has been re-coded to implement a 'client/server' architecture. The plotServer is a background process responsible to gather the data for all the plots currently active. plotDisplay is the client part whose purpose is to display the data gathered by the plotServer and process the user's interactions such as plot re-sizing, plot graphic re-configuration, etc .. The module provides the following GUIs : - plotSelector : allows the user to see all the plot points of the database. From the panel the user can choose a plot point and perform the following actions : display, configure or terminate. - plotConfigToot : Engineering user interface to configure a plot. It gives access to all plot configuration parameters. - plotUsrConfig : User's configuration GUI. This panel allows a user to change only a relevant subset of the configuration parameters. With this panel the user can change some of the graphic configuration of the plot -e.g.- which pens to display, add a grid, number of divisions per axis, etc ... Here is the summary of the 'new' features : - Support for color selection by name, using standard look-up tables. - User's interactions from the panel : + Manually re-size the window + Close the plot from the panel. + Change the window title according to what it displays. + Call the engineering user's configuration panel. - Possibility to interactively 'freeze' the plotting and 'resume' it later on. - The window geometry (size and position) are read from the database. - Better time scale on X axis. The adjustment of the X axis has been improved in order to get more 'readible' values for each division. Since PGPLOT does not support the format "HH:MM:SS yy-mm-dd" to display the values in the 'time axis', at the bottom of the plot a tag has been added to report the complete time reference of the xmin values. The time tag has the VLT standard format "yy-mm-ddTHH:MM:SS". - Improvents of the auto-scaling mode. The plot now changes the Y axis scale according to the values actually displayed in the plot. (New type of scaling, such as 'simmetric around 0' are planned for next release ). - y-axis tick labels are written horizontally and the Y axis can be placed either on the left side or on the right side of the plot. Support for FFT --------------- ONLY for HP_UX 11 platform. The plot module also provides an additional server (plotFFTServer) to process a set of data and display the corresponding FFT. The configuration for the FFT is read from a specific point in the database of type 'plotFFT' : among the parameters it contains the definition of the input data source, the plot point destination and the number of samples to use to compute the FFT. Input data can either come from a history point or from a plot point (LCU or WS sampling), while the destination point is always a plot point. The plotConfigFFT GUI allows the user to change the configuration of any defined FFTs. Every change is automatically taken into account by the plotFFTServer as soon as the FFT configuration table is changed. The plotFFTServer computes the FFT of enabled points whenever the required amount of samples has been gathered, and outputs the results into a plot point coupled with the plotServer. his: ---- Statistics are calculated only on the values present in the history table. The following GUI have also been added : - hisConfigTool : allows the user to see all the history points of the database. From the panel the user can choose a history point and perform the following actions : configure the setup or the link to the database attribute where the data are collected from. For each selected history point the panel also displays the status of the history table and other relevant parameters. - hisConfigSetup : allows the user to change the history setup configuration, which instructs the history manager when to start/stop collecting data. - hisConfigData : allows the user to change the links to the data sources used to collect the data. This can also be used to just see how an history point is configured, that is, how many database attributes it can support, their data type and address (alias or absolute). CAUTION: The new tools hisConfigData and hisConfigSetup allow to reconfigure the history points. However, it is still not possible to (re)configure on line, since this mechanism was excluded for the historian manager. It is thus necessary to stop the hisDHMngr process before reconfiguring with the above tools, and only after reconfiguration, one can restart the hisDHMngr to work with the new setups. Ccs --- Changes (with respect to MAR2001): - none. New Features (with respect to MAR2001): - can now also handle read/writes of vector and table attributes. All changes and enhancements are documented in the on-line documentation (generated as html files with the help of javadoc). LINUX Comparative performance test: ---------------------------------- The results a given in number of loops or operations per second. Therefore, the hihest the better. ----------------------------------------------------------------------------------------- | | | | te35 (HP J6000) |te2 (PIII 700MHz) | Type of operation: | HP_UX 11.0 | LINUX (RH 6.2) | ----------------------------------------------------------------------------------------| MESSAGE SYSTEM: | | | | | | Process A sends a command to process B; | | | B returns a 1Kb reply. A waits to receive | | | the reply to send a new command | | | ----------------------------------------------------------------------------------------| A & B running in the same WS environment. | | | No command checking | 5290 loops/s | 7250 loops/s | Command checking on both sides | 2480 | 4100 | | | | A & B running in 2 different ens, same host. | | | No command checking | 893 | 980 | Command checking on both sides | 736 | 830 | | | | A running in WS, B running on LCU (68040) | | | No command checking | 110 | 109 | Command checking on both sides | 84 | 85 | ----------------------------------------------------------------------------------------| Database access, test reports only for local DB.| | | A set of different attributes of different | | | types is accessed within each loop. | | | The reported value is the number of | | | DB operations (read or write) per second | | | Number of loops x number of attributes per loop | | | ----------------------------------------------------------------------------------------| Read symbolic | 28900 R/s | 45600 R/s | Read by alias | 38700 | 61900 | Read direct | 1004000 | 1908000 | Write symbolic | 8700 W/s | 16900 W/s | Write by alias | 9700 | 18750 | Write direct | 13775 | 32000 | ----------------------------------------------------------------------------------------- LCU 68040/PPC Comparative performance test: ------------------------------------------- The results a given in number of loops or operations per second. Therefore, the hihest the better. ----------------------------------------------------------------------------------------- | | | | te59 68k | te66 ppc | Type of operation: | | | ----------------------------------------------------------------------------------------| MESSAGE SYSTEM: | | | | | | Process A sends a command to process B; | | | B returns a 1Kb reply. A waits to receive | | | the reply to send a new command | | | ----------------------------------------------------------------------------------------| A & B running in the same LCU environment. | | | No command checking | 231 loops/s | 3315 loops/s | Command checking on both sides | 148 | 2050 | | | | ----------------------------------------------------------------------------------------| Database access, test reports only for local DB.| | | A set of different attributes of different | | | types is accessed within each loop. | | | The reported value is the number of | | | DB operations (read or write) per second | | | Number of loops x number of attributes per loop | | | ----------------------------------------------------------------------------------------| Read symbolic | 1143 R/s | 23750 R/s | Read by alias | 1468 | 29650 | Read direct | 17964 | 305000 | Write symbolic | 1138 W/s | 23900 W/s | Write by alias | 1457 | 29300 | Write direct | 16486 | 293500 | ----------------------------------------------------------------------------------------- ___oOo___