Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.