1、介绍
Phoebus是一个控制系统Stdio工具集的更新,它移除了对Eclipse RCP和SWT的依赖。
虽然Eclipse RCP快速启动了原先的CS-Studio的实现,并且为CS-Stdio也提供了大约十年的服务,因为RCP也增加了对控制系统用户接口开发的限制。
Phoebus项目的目标:
1) 保留关键的CS-Stdio工具的功能,尤其窗口创建器(Display Builder), 数据浏览器(Data Browser), PV Table, PV Tree, Alarm UI, Scan UI, ...用100%兼容性支持它们原来的配置文件。
2) 提供免受RCP限制的窗口放置的完全控制,例如,允许我们保存/恢复面板布局。
3) 使用Java FX作为图形库来客服SWT的限制。
4) 只要可能,优先选择核心的Java功能而不是外部库:Java FX作为已经提及,SPI用于定位扩展,java.util用于日志和优先项。在将来,我们也可以使用在Java 9中引入的模块机制来捆绑。
5) 减少构建系统复杂性,用起初一步获取外部依赖,接着支持一个完全独立的,可重复的构建过程,允许多种构建方法而不是被限制于一种构建方法。
2、启动CS-Stdio/Pheobus
需要构建说明,参考网址网址中README.md
需要预构键二进制文件,见CS-Studio (Phoebus)
从命令行,调用phoebus.sh -help,它将看起来类似如下,但检查你CS-Stdio/Phoebus副本的完整列表:
_______ _______ _______ ______ _______
( ____ )|\ /|( ___ )( ____ \( ___ \ |\ /|( ____ \
| ( )|| ) ( || ( ) || ( \/| ( ) )| ) ( || ( \/
| (____)|| (___) || | | || (__ | (__/ / | | | || (_____
| _____)| ___ || | | || __) | __ ( | | | |(_____ )
| ( | ( ) || | | || ( | ( \ \ | | | | ) |
| ) | ) ( || (___) || (____/\| )___) )| (___) |/\____) |
|/ |/ \|(_______)(_______/|/ \___/ (_______)\_______)
Command-line arguments:
-help - This text
-splash - Show splash screen
-nosplash - Suppress the splash screen
-settings settings.xml - Import settings from file, either exported XML or property file format
-export_settings settings.xml - Export settings to file
-logging logging.properties - Load log settings
-list - List available application features
-server port - Create instance server on given TCP port
-app probe - Launch an application with input arguments
-resource /tmp/example.plt - Open an application configuration file with the default application
-layout /path/to/Example.memento - Start with the specified saved layout instead of the default 'memento'
-clean - Start with a blank workspace. Overrides -app, -resource and -layout.
-main org.package.Main - Run alternate application Main
程序的命令行参数
要从命令行打开一个像"probe"或"pv_tree"的程序特性,使用以下示例参数。
打开空的probe实例:
phoebus.sh -app probe
示例:
./phoebus.sh -app probe
打开空的PV Table:
phoebus.sh -app pv_table
示例:
./phoebus.sh -app pv_table
用合适的程序特性打开一个文件(在这种情况中PV Table):
phoebus.sh -resource "/path/to/example.pvs"
'-resoure'参数可以是一个文件或者一个web链接的URI。
phoebus.sh -resource "http://my.site/path/to/example.pvs"
某些类型被多个程序支持。例如,一个窗口文件"my_display.bob"可以被"display_runtime"和"display_editor"程序处理。一个首选项设置"org.phoebus.ui/default_apps"定义了哪个程序将默认被使用,并且一个特定程序可以像这样被请求:
phoebus.sh -resource "/path/to/my_display.bob?app=display_editor"
这个模式'pv://?PV1&PV2&PV3'被用于传递PV名称,而'app=..'请求参数挑选一个特定程序打开这个资源。
由于这样的资源URLs可以包含像&的字符,其也被Linux shell解析,最好在引号中包含所有资源。
示例:
用一个PV名称打开probe:
phoebus.sh -resource "pv://?sim://sine&app=probe"
示例:
./phoebus.sh -resource "pv://?FILTER12CH:BO00B&app=probe"
用某些PVs打开PV Table:
phoebus.sh -resource "pv://?MyPV&AnotherPV&YetAnotherPV&app=pv_table"
注意:所有这些示例使用这个程序特性的内部名称,例如“pv_table”,而非被显示用户接口的名称,如"PV Table"。使用-list选项查看所有可用的用户特性的名称。
示例:
./phoebus.sh -resource "pv://?FILTER12CH:BO00B&FILTER12CH:BO01B&app=pv_table"
用一个特定布局开始:
phoebus.sh -layout /path/to/mylayout.memento
恢复被保存在一个(非默认)memento文件中的布局。用户可以从菜单选项Windows->Save Layout As ...创建这样一个文件。
用干净的工作区开始:
phoebus.sh -clean
为了用一个空工作区启动这个程序,这将抑制恢复被保存在默认memento文件中的布局。如果指定了clean,将忽略-resouce, -app和-layout。
服务器模式
默认,phoebus.sh ...的每次调用将启动一个新实例,有其自己的主窗口。
在一间控制室环境中,在一台指定计算机上仅运行一个实例经常是有利的。对于这样的场景,用-server选项调用phoebus.sh,使用你为那台计算机上这种使用保留的一个TCP端口,例如:
phoebus.sh -server 6666
你首次用这种方式启动pheobus,它将实际上打开这个主窗口。之后的调用,例如:
phoebus.sh -server 6666 -resource "/path/to/some/file.pvs"
将连接已经运行的实例并且使他打开被请求的文件。