-
Notifications
You must be signed in to change notification settings - Fork 89
Home
Phoebus is the actively developed version of the Control System Studio project.
CS-Studio was originally built using the Eclipse Rich Client Platform (RCP), but over time this toolkit has become restrictive and is the cause of a number of problems both for users and developers.
The Phoebus project replaces Eclipse RCP with a lightweight framework based on Java (version 9 and higher) and JavaFX. For example, the use of Eclipse extension points has been replaced with the Java service provider interface (SPI), and instead of SWT we use JavaFX.
The Eclipse-based CS-Studio project will be supported as long as sites are prepared to contribute to its maintenance.
A CS-Studio product is a Java application that contains a number of different applications that can be used as part of a control system interface. A facility might build its own product including the tools relevant to that facility.
An application is an interface to some part of a control system. Examples include Display Builder, used for building control system interface GUIs, and Databrowser, used for visualising data from an archiver.
CS-Studio contains core code, useful to multiple applications.
CS-Studio Eclipse is the original CS-Studio project, based on Eclipse RCP. CS-Studio Phoebus is the new project, based primarily on JavaFX.
- The applications in CS-Studio Phoebus should be as compatible as possible with those in CS-Studio Eclipse.
- As much code as possible should be shared between CS-Studio Phoebus and CS-Studio Eclipse.
- The Phoebus framework should provide the useful functionality previously provided by Eclipse RCP.
See also Requirements.
Display Builder is a CS-Studio application for creating operator interfaces. It is designed to replace BOY. In 2016, it was developed for CS-Studio Eclipse. Until about May 2019 it was available for both the Eclipse- and Phoebus-based CS-Studio. Since then, its development focused on Phoebus.
See also Graphics Performance, Display Builder Compatibility, HiDPI-Support, 'phoebusgen' Python library
- For general idea, see "Alarms" and "Alarm Guidelines" on https://controlssoftware.sns.ornl.gov/training/2019_USPAS
- For setup, see https://github.com/ControlSystemStudio/phoebus/tree/master/app/alarm#readme
- Python lib for creating an alarm config, includes support for translating from ALH: https://gitlab.helmholtz-berlin.de/acs/pyphoebus
- Notes on Alarm Logging