recent developments of communication between doocs & odr b valeria bartsch m andrzej misiejuk w...

Post on 05-Jan-2016

216 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Recent developments of Recent developments of communication between communication between

DOOCS & ODRDOOCS & ODR

Valeria BBartsch

Andrzej MMisiejuk

Tao WWu

How to communicate?

ODRODR

LDAs

ODR Control ODR Control InterfaceInterface

StorageStorage

DOOCSDOOCSDevice serverDevice server

StreamSockets

ENSENS

DOOCSDOOCSClientsClients

GUIGUIRPC/DisplayRPC/Display

Resu

lts

Mockup version of device server

eq_init_prolog();eq_init_prolog();

EqFctODR::init()EqFctODR::init()

eq_init_epilog();eq_init_epilog();

EqFct EqFct ** eq_create eq_create

EqFctODR::update();EqFctODR::update();

refresh_epilog();refresh_epilog();

refresh_prolog();refresh_prolog();

Build a socket stream Build a socket stream in the heap or stack,in the heap or stack,

Set ODR Header paramsSet ODR Header params

Activate a device server Activate a device server & create device instances& create device instances

Send/Recv messages via Send/Recv messages via socket stream, update socket stream, update

data every period.data every period.If device offline,If device offline,

Delete socket streamDelete socket stream

Sending and Receiving data containing ODR/LDA headers from DOOCS to ODR Control interface have been tested;

Talk to ODR Control Interface

ODRODR

LDAs

ODR Control ODR Control InterfaceInterface

DOOCSDOOCSDevice serverDevice server

StreamSockets

ENSENS

DOOCSDOOCSClientsClients

GUIGUIRPC/DisplayRPC/Display

Resu

lts

ODRODR11

RcvMsgFromODR SendMsgToODR

Build Socket StreamBuild Socket StreamHostHostPortPort

Controlparameters

NiceNice

One-to-many relationship:One device server can serve many instances, i.e. many ODR cards armed in different DAQ PC.

One server, many instances

ODRODR

LDAs

ODR Control ODR Control InterfaceInterface

DOOCSDOOCSDevice serverDevice server

StreamSockets

ENSENS

DOOCSDOOCSClientsClients

GUIGUIRPC/DisplayRPC/Display

Resu

lts

ODRODR11

RcvMsgFromODR SendMsgToODR

Build Socket StreamBuild Socket Stream

ODRODR22ODRODR33

HostHostPortPort

PortPortPortPort

Host+Port number can be same or different.

NiceNice

Hostname & Port number

Hostname + Port: Hostname + Port: in configuration filein configuration file

Socket Stream Communication test

Sender/Receiver ControlSender/Receiver Control Marker/Commands ControlMarker/Commands Control

DOOCS ODR Control InterfaceSendMsgSendMsg

Commands:0 Stop1 Start2 GetStat3 Write4 Read5 UpStreamWrite6 UpStreamRead7 Terminate

Headers:ODR/LDA

Receiver

RecvMsgRecvMsg

ODR ControlODR ControlInterfaceInterface

CommandsCTL Parameters

So

cket

Str

eam

So

cket

Str

eam

Packets

Packets

DOOCS: Send & ReceiveSend message

Receive PacketShowstatistics

Change to Change to LDA MarkerLDA Marker

Send messageSend message

Receive PacketReceive PacketShow statisticsShow statistics

ODR Control Interface

CMD = StartCMD = Start

CMD = GetStatCMD = GetStat

Change to LDA MarkerChange to LDA Marker

CMD = StopCMD = Stop

CMD = TerminateCMD = Terminate

Data Rate

~320 MB/s~320 MB/s

Summary The communication between DOOCS device serv

er and ODR Control Interface via socket streams has been successfully built and tested;

A GUI control/display has been correctly configured for client server, one device server can serve many ODRs armed in PC(s);

Use CVS to maintain the codes at DESY DOOCS source/server/calice/pcix_dma;

Some GUI control buttons need to be customized for a purpose of convenience.

To plot more histograms in order to monitor the statistics during sending and receiving packets.

Summary

The sending and receiving methods can be improved;

Need to use threads to manage the sender and receiver;

top related