PAUL SCHERRER INSTITUT
Swiss Light Source
EPICS at SLS
SLS
PSI HomeEPICS HomeSLS HomeSLS Live Status

EPICS

EPICS at SLS
Software
Help
Training
Google

web epics.web.psi.ch

Author: A.C.Mezger
Phone: +41 56 310 3406
Updated: 05.06.2012


Printer friendly version
 

caQtDM - a medm replacement based on QT

1. Introduction

version 2.8.0 can be downloaded below (only sources)!! (new of 18.3.2013)
The Windows MSI package (2.8.0) is available too. for linux a build can be initiated with caQtDM_Build

Version 2.8 -2.5 :

All the changes have been documented and can be downloaded below

Version 2.5 :

Scales of Stripplot can now be changed during runtime. The caQtDM application normally limits the update rate of monitors to 5 Hz, however now a JSON string can be written behind the channel name. An example is given in the presentation "introduction to caQtDM". Color mode for calabel is now working (was forgotten). Also an icon is presented on the window bars. A Windows distribution package allowing to work immediately with the designer and caQtDM has been build and can be downloaded here (this package does not contain any sources, merely executables, work done by H.Brands at PSI). caQtDM-2-8-0.msi

Version 2.3 :

Timebase of Stripplot was wrong and has been corrected. Some other compiler warnings have been eliminated and the building process was slightly modified.

Version 2.1 :

1. When using correctly the layout possibilities offered by Qt, one can resize a window (you will find an example in work/caQtDM/parser/proscanFiles/phaseslitsnew.ui).
2. Up to now when using "includes" only a placeholder could be seen in the designer. Now the included ui file is displayed inside the designer.
3. For polylines and polygones, a graphical editor is integrated into the designer. One can create segments by pressing the left mouse button when moving the mouse and one can delete the last created segment by pressing the right mouse button.
4. The graphical entities (rectangles, circles, ellipses, lines, arrows, triangles) can be rotated by specifying a tilt angle.

When you use the Qt tools through the network you should start them tools by specifying on the command line '-graphicssystem native' in order to enhance the performance. The designer presents besides the control system widgets also many other widgets that could be used. One of the more important ones is the tab widget, that can be used to make subwindows.

Version 2.0 :

The major changes in this version are changes for stability (in the previous version sometimes crashes occurred) and the introduction of soft pv's. A variable can be defined, calculated and used as a normal pv. All the features of medm used for the cartesian plots are implemented now. The cartesian plot background can be transparent so that a camera image can be underlaid. The limits of the x and y axes can be changed by specifiying pv's instead of values when using channel limits. The stripplot widget has been modified while the behaviour was not quite correct. The message button and textentry were not working well and have been corrected. Labels can be transparent too.

A camera widget has been introduced. At PSI we can now display are usual cameras bw and color. You can easily modify the code to treat other formats of camera waveforms.

caQtDM gives the number of connected and unconnected channels, furthermore a list of unconnected channels with their file location can be shown. caQtDM is now protected against ui description file syntax errors; caQtDM supports the command line parameters -attach -noMsg -display -macro -x -noStyles -dg. -x has no effect but suppresses the error message when keeping the medm command line parameters. caQtDM runs in native mode on linux as well as on microsoft windows.

some examples of caQtDM displays:
example 1 example 2

The EPICS display manager MEDM is a very powerful tool with many features and satisfies most of the needs for synoptic displays. However MEDM is based on MOTIF/Xt and X11, systems/libraries that are getting into age. Moreover applications using those systems are difficult to maintain and to extend. At PSI a new Qt based application was written (download below), reproducing the functionality of MEDM. Moreover a parser was written to convert the MEDM files into Qt files, the resulting displays being an exact reproduction of the MEDM displays.

It has to be noticed that the widgets used are not directly epics aware. The idea was to strictly separate the control system from the display part, in order to be able to add other controlsystems if necesssary (which is still the case for our high intensity particle accelerator).

An application is never finished and can always be improved and new things can be added. This is therefore also the case for caQtDM. The widgets could be improved, not everything has been finished and bugs will be found.

We consider this software as an open source software. Try it, use it and improve it. Yust give us your improvements and bug fixes back to us, so that we can integrate them.

The downloadable tar file contains all sources and binaries for SL6. In the parser directory you will find the adl to ui converter.

The application itsself consists of an main programm (caQtDM) using the display class from a shared object library (libcaQtDM_Lib). The control widgets are given by the shared object library libqtcontrols.so or qtcontrols4.dll. The libraries have to be in the LD_LIBRARY_PATH for linux and for Windows you have to define the System path (you can also use scripts). For the designer and caQtDM the 3 plugin libraries have to be copied to the designer plugin directory.

While the display part is handled by the display class, you can build any application using this class with a designer developed ui file. The display class will take care of the controlsystem defined widgets. The other widgets you define like buttons or frames having to contain something you would like to define in your application can be handled (in order to use this feature contact the author)

Please give feedback if you are using it, found some bugs or made some additions

The application loads a stylesheet and ui files from the path defined by CAQTDM_DISPLAY_PATH or your actual directory. Inside the ui files a stylesheet can also be defined which is the case for the examples (one example proscanprobe.ui uses a different stylesheet given a different look as the other files)

This distribution contains besides all the sources, binaries for SL6. Of course you will have to install QtSdk and Qwt first on your linux platform. The windows distribution contains only binaries and you can immediately start to use it.

2. Downloads

Version 2.8.0

caQtDM-2-8-0, sources only   missing in tar file: all.pro
caQtDM-2-8-0.msi

caQtDM-2-7-0.msi

modifications documented

Version 2.5

caQtDM-2-5

4. HowTo (under construction)

HowTo.html

5. Powerpoint presentation from the epics collaboration meeting at SLAC, spring 2012

presentation

Author: A.C.Mezger   Phone: +41 56 310 3406   Email: anton.mezger@psi.ch   Updated: 05.06.2012   Source: /afs/psi.ch/project/epics/www/software/caqtdm/index.php