Presentation is loading. Please wait.

Presentation is loading. Please wait.

Normal text - click to edit FeeServer: (version 0.9.2) (05-11-2007) S. Bablok (IFT, University of Bergen)

Similar presentations


Presentation on theme: "Normal text - click to edit FeeServer: (version 0.9.2) (05-11-2007) S. Bablok (IFT, University of Bergen)"— Presentation transcript:

1 Normal text - click to edit FeeServer: (version 0.9.2) (05-11-2007) S. Bablok (IFT, University of Bergen)

2 Normal text - click to edit FeeServer core  Control and Monitor framework running on DCS board  uses DIM as communication layer  detector independent  integrates the detector specific ControlEngine (CE) to the FeeCom chain  allows control of the FeeCom chain  hands commands to ControlEngine  monitoring and dead banding of detector values

3 Normal text - click to edit Front-End-Electronics in DCS Control and monitor channels Cmd / ACK Channel Service Channel Message Channel FED Server FEE Client InterComLayer FeeServer PVSS II (FED - Client) FeeServer Supervisory Layer Control Layer Field Layer Front-End Device Interface (FED) Front-End Electronics Interface (FEE) Hardware Device Hardware Device Hardware Device Internal Bus Systems Load configuration data from file OR database Config. DB Config. File

4 Normal text - click to edit DCS Board update  New firmware for DCS boards  Increase of network speed  Down to DCS board: from 0.250Mb/s to 9Mb/s,  Up from DCS board: from 1Mb/s to 2.3Mb/s.  Full configuration [everything except pedestals p(t)] takes <10s per FeeServer (from DB to DCS board).  25 % of TPC DCS boards updated (taken from Christian Lippmann – TPC talk Oct 07)

5 Normal text - click to edit Interface functions void initializeCE(); [implementation CE] Initializes the ControlEngine (CE) Item* createItem(); alias: createFloatItem() IntItem* createIntItem(); CharItem* createCharItem(); [implementation FeeServer core] creates an empty float / integer / char item (NOTE: FloatItem is an alias for Item )

6 Normal text - click to edit Interface functions Item* fillItem(float* floatLocation, char* itemName, float defDeadband); alias: fillFloatItem(...) IntItem* fillIntItem(int* intLocation, char* itemName, int defDeadband); CharItem* fillCharItem(void (*funcPointer)(long*, int**, int*), char* itemName, long tag); [implementation FeeServer core] creates a filled float / integer / char item (NOTE: CharItem requires function pointer) int publish(Item* item); alias: publishFloat(FloatItem* floatItem) int publishInt(IntItem* intItem); int publishChar(CharItem* charItem); [implementation FeeServer core] Publishes a float / integer / char item

7 Normal text - click to edit Interface functions bool setFeeProperty(FeeProperty* prop); [implementation FeeServer core] Allows the CE to set certain FeeProperies during initialize process int allocateMemory(unsigned int size, char type, char* module, char prefixPurpose, void** ptr); [implementation FeeServer core] Lets the FeeServer acquire and handle the memory management int freeMemory(void* addr); [implementation FeeServer core] Frees memory allocated by the FeeServer void signalCEready(int ceState); [implementation FeeServer core] Informs FeeServer, that initialization process has been finished

8 Normal text - click to edit Interface functions int issue(char* command, char** result, int* size); [implementation CE] Hands command data to the CE and accepts possible result data int updateFeeService(char* serviceName); [implementation FeeServer core] Triggers a service update of a published value in the FeeServer void signalFeePropertyChanged(FeeProperty* prop); [implementation CE] Informs the CE about a change in a FeeProperty.

9 Normal text - click to edit Interface functions void createLogMessage(unsigned int type, char* description, char* origin); [implementation FeeServer core] Allows the CE to create log messages (includes them in generell log message handling inside the FeeCom chain  delivery to InterComLayer) void cleanUpCE(); [implementation CE] Deinitializes the ControlEngine (CE) additional helper funtion: void createBenchmark(char* msg); Allows the CE to make a benchmark entry (includes a timestamp)

10 Normal text - click to edit


Download ppt "Normal text - click to edit FeeServer: (version 0.9.2) (05-11-2007) S. Bablok (IFT, University of Bergen)"

Similar presentations


Ads by Google