天天看点

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

Sardana

Sardana是Tango Control System里面自带的一个Device Server,主要跟Taurus连用。

Sardana主要用途就是提供集成化命令控制指令接口,其设计准则之一:始终提供专用于应用程序的通用接口。

使用Sardana有两种方法:

1.通过Taurus调用,镶嵌在GUI界面使用。

2.命令行界面调用

Sardana的文档资料:https://sardana-controls.org/users/overview.html

创建Sardana Server

在已经搭建好Tango Control System的设备上通过命令行形式运行以下命令:

Sardana lab-01

lab-01 是Device 的名称,如果系统已经创建了此名称的Device就会启动,如果没有则会提示是否要新建以此名称的Device。可以通过Astor查看是否启动相应的Device。

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro
Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

如果要设置Sardana开机自启动服务,可以通过Astor设置启动level,但是必须在C盘下DeviceServer文件夹里,添加Sardana.bat文件。内容如下:

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

连接Sardana服务端

通过命令行方式调用macroexecutor来连接Sardana服务,命令如下:

== macroexecutor --tango-host=ip:prot==

此处的ip和port是服务端的IP地址和端口,一般端口默认是10000.

选择当前运行的Sardana设备名称,即可显示以下界面。

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro
Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

Macroexecutor

这是一个连接服务端Sardana Device的通用应用,主要是执行已经在Sardana里面的一些指令。可以将多个指令编辑组合运行。

我们尝试运行Hello指令,可以在服务端通过Door窗口看到执行情况。

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro
Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

编写Macro

如果要在MacroServer里面添加新的macro,需要通过spock宽口来添加命令。

1.开启sopck的房卡,通过命令行界面,输入以下命令:

spock --profile=wsx

wsx是当前文件名称

会出现让你选择Y/N,Y是进入spock,N是进入ipython。

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

2.输入以下命令,进行编写新的Macro代码

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro
Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

3.重启macroexecutor即可看见新建的Macro

Tango Control System 之 SardanaSardana创建Sardana Server连接Sardana服务端Macroexecutor编写Macro

继续阅读