从karabo控制系统请求数据的python 3工具。
karabo_bridge的Python项目详细描述
karabo_bridge是一个python 3客户端,用于从 卡拉博控制系统,用于European XFEL。 包括一个模拟的karabo桥服务器,允许在没有 连接到真正的karabo服务器。
安装
要安装软件包:
$ python3 -m pip install karabo-bridge or $ git clone https://github.com/European-XFEL/karabo-bridge-py.git $ cd ./karabo-bridge-py $ python3 -m pip install .
如何使用
从Karabo Bridge服务器请求数据
使用karabo_brige中的Client类创建客户机和 next方法从服务器请求数据。 函数返回两个字典:第一个字典保存一个列车数据,而 第二个保存相关的列车元数据。两本词典都是由 源名称和值是包含参数名称和 数据和元数据信息的值(源名称、时间戳、列车ID) 对于元数据。值都是内置的python类型或numpy数组。
>>>fromkarabo_bridgeimportClient>>>krb_client=Client('tcp://server-host-name:12345')>>>data,metadata=krb_client.next()>>>data.keys()dict_keys(['source1','source2','source3'])>>>data['source1'].keys()dict_keys(['param1','param2'])>>>metadata['source1']{'source1':{'source':'source1','timestamp':1528476983.744877,'timestamp.frac':'744877000000000000','timestamp.sec':'1528476983','timestamp.tid':10000000073}}
使用模拟服务器
要启动模拟,请调用start_gen函数并提供 绑定到。您可以使用Client类并连接到它来测试 客户无需使用卡拉波。
>>>fromkarabo_bridgeimportstart_gen>>>start_gen(1234)Server:emittedtrain:10000000000Server:emittedtrain:10000000001Server:emittedtrain:10000000002Server:emittedtrain:10000000003Server:emittedtrain:10000000004...
您还可以从命令行运行模拟服务器:
$ karabo-bridge-server-sim 1234