status of intercommunication on feecontrol

14
Status of InterCommunication on FeeControl Meeting Report Communication between DCS-Layers State of 2003-09-08 Sebastian Bablok Christian Kofler Ralf Keidel http://www.ztt.fh-worms.d

Upload: lesley-levy

Post on 31-Dec-2015

17 views

Category:

Documents


1 download

DESCRIPTION

Status of InterCommunication on FeeControl. Meeting Report Communication between DCS-Layers. State of 2003-09-08. Sebastian Bablok Christian Kofler Ralf Keidel. http://www.ztt.fh-worms.de. Status of InterCommunication on FeeControl. PVSS Client (DIM - Client). Layers. PVSS Server - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Status of InterCommunication on FeeControl

Status of InterCommunication on FeeControl

Meeting Report

Communication between DCS-Layers

State of 2003-09-08

Sebastian Bablok Christian Kofler

Ralf Keidel

http://www.ztt.fh-worms.de

Page 2: Status of InterCommunication on FeeControl

FEE Server(DIM - Server on RCU - Card)

FEE Server(DIM - Server on RCU - Card)

FEE Server(DIM - Server)

PVSS Server(DIM - Server)

FEE Client(DIM - Client)

InterCom Layer(Application layer)

DatabaseAccess

PVSS Client (DIM - Client) Layers

2003-09-08, http://www.ztt.fh-worms.de

Status of InterCommunication on FeeControl

CE (Detector specific)

Page 3: Status of InterCommunication on FeeControl

Status of InterCommunication on FeeControl

TOC

• Interface FeeServer - ControlEngine

• Sequence of communication FeeServer - ControlEngine

• Data access on InterComLayer

2003-09-08, http://www.ztt.fh-worms.de

Page 4: Status of InterCommunication on FeeControl

Interface FeeServer - Control Engine

2003-09-08, http://www.ztt.fh-worms.de

Status of InterCommunication on FeeControl

Interface called by implemented by amount of calls

void initializeCE() FeeServer CE once

int publish(...) CE FeeServer zero to several times on start up

void signalCEready() CE FeeServer once

int issue(...) FeeServer CE n - times

void cleanUpCE() FeeServer CE once

Page 5: Status of InterCommunication on FeeControl

Interface FeeServer Control Engine

2003-09-08, http://www.ztt.fh-worms.de

Status of InterCommunication on FeeControl

void initializeCE()

Initializes the ControlEngine on the board.

• bus driver can be loaded

• Items for monitoring can be published

• runs in its own thread (controlable from FeeServer)

Page 6: Status of InterCommunication on FeeControl

Interface FeeServer Control Engine

2003-09-08, http://www.ztt.fh-worms.de

Status of InterCommunication on FeeControl

int publish(Item* item)

Informs FeeServer about values for monitoring.

• gives „Item“ to the FeeServer • name (char*) and location (volatile float*) [value]

• returns an error code, if call was unsuccessful, else 0

• has to be called for every Item to be published

Page 7: Status of InterCommunication on FeeControl

Interface FeeServer Control Engine

2003-09-08, http://www.ztt.fh-worms.de

Status of InterCommunication on FeeControl

void signalCEready()

Informs FeeServer that initialization has been finished

• the termination of this thread is in charge of the CE

• the init - thread has to continue, if „publish()“ has been called.

Page 8: Status of InterCommunication on FeeControl

Interface FeeServer Control Engine

Status of InterCommunication on FeeControl

int issue(char* command, char** result, int* size)

FeeServer relays a command to the CE and retrievesthe result of it.

• command: pointer to the command data (allocated and freed by FeeServer)

• result: pointer to the pointer where CE stores the result data (allocated by CE, freed by FeeServer)

• size: when called: size of command, when returning: size of result 2003-09-08,

http://www.ztt.fh-worms.de

Page 9: Status of InterCommunication on FeeControl

Interface FeeServer Control Engine

Status of InterCommunication on FeeControl

int issue(char* command, char** result, int* size)

• returns an error code, if call was unsuccessful, else 0

• is executed in an own thread to determine if CE is working (Watchdog)

• thread will be terminated by FeeServer after timeout, if CE gets stuck

2003-09-08, http://www.ztt.fh-worms.de

Page 10: Status of InterCommunication on FeeControl

Interface FeeServer Control Engine

2003-09-08, http://www.ztt.fh-worms.de

Status of InterCommunication on FeeControl

void cleanUpCE()

Tells CE to clean up to shut down properlywhen the FeeServer exits.

Page 11: Status of InterCommunication on FeeControl

Status of InterCommunication on FeeControl

2003-09-08, http://www.ztt.fh-worms.de

FeeServerinit process

CEinitializeCE()

signalCEready()

publish(Item*)

start server

Sequence of Communication(initialization, called once)

Page 12: Status of InterCommunication on FeeControl

Status of InterCommunication on FeeControl

2003-09-08, http://www.ztt.fh-worms.de

FeeServercommandreceived

CEissue(...)

return result

deliver resultto FeeClient

Sequence of Communication(serving state, executed n-times)

executeCommand

Page 13: Status of InterCommunication on FeeControl

Status of InterCommunication on FeeControl

2003-09-08, http://www.ztt.fh-worms.de

FeeServerexit - command

received

CE

cleanUpCE(...)

clean up FeeServerand exit

Sequence of Communication(clean up, called once)

do the cleanup stuff

Page 14: Status of InterCommunication on FeeControl

Status of InterCommunication on FeeControl

2003-09-08, http://www.ztt.fh-worms.de

Data access on InterComLayer

• Structure of Database ???

• Naming conventions ???

• When will it be defined ???

?