Download presentation
Presentation is loading. Please wait.
Published byJanel Arnold Modified over 8 years ago
1
Development of a data acquisition program builder via a user interface F.Fujiwara, N.Tamura, M.Abe, S.Enomoto, G.Iwai, S,Kawabata, A.Manabe,Y.Nagasaka, I.Nakano, H.Sakamoto,Y.Sakamoto, T.Sasaki, R.Tanaka
2
Outline 01 Data AcQuisition program Builder A class library A software which can be use to make a data acquisition system software using the class library via a UserInterface.(UI)
3
Outline 02 Has many classes with following functions –Control Hardware module –Provide object stream( to File, to Network, etc I/O..) –Provide interface to other analyzers (ROOT etc...) It has been designed with the Object-Oriented Language C++(100% pure)
4
Outline 03 For using the DAQ-Builder CL interactively –Can create arbitrary objects in the class library –Can operate objects created via the UI Two versions exist now (GUI,CUI)
5
Backgrounds Required software knowledge is too much for the beginner. –Environmental maintenance –Programming technique –UNIX system call etc.. Every experiment has a unique DAQ-system Toolkits for developing DAQ exist in the world –KONOE,CLDAQ.. –> Great deal of such knowledge is required
6
Purpose To Support the development of a data acquisition system software of small experiments. – Users can develop DAQ easily. – To reduce amount of required knowledge. DAQ-Builder also allows the user a shorter development period. – Users can develop via the user interface, without software program-compile work. – Users can develop intuitively using the GUI.
7
Which objects are required for an experiment!? To control hardware module –CAMAC,VME,GPIB To record experiment data –DataRecord,ReadoutList To save data or To pass to a network –FileInputStream,Socket,SocketOutputStream To event display and analysis –1DHistogram,2DHistogram etc..
8
Creating an objects Example01
9
Action & Run Object Users should create some Action Objects & a Run Object Define operation of objects.. (Action Object) Install Action Objects into the Run Object( Main Object ) Operate Run Object
10
The Action object is installed in the Run Object Example02
11
Example03
12
Instance Class Partner plug-in Class loader How to create or operate ?
13
All classes in the class library Inherit class Object –Has reference count,current type, inherit information. All objects are held in Instance object –Operate objects reference count Instance Object
14
Each class defined by the CL has their own partner plug-in. Has methods return value type and arguments types. Object is operated by the method "execute" in the plug-in. A Partner Plug-in
15
Parse an information stored in the Action object. Open the plug-in corresponding to the object. Extract the function executes image from plug-in. Execute Check Objects operation( arguments, return value...check) Class Loader
16
Features Macro file –Things Created and Operated is recorded as Macro file –Resembles C++ form Garbage collection –You can forget to delete objects.If you create an object via the DAQ-Builder-UI Extendibility –You can extend DAQ-Builder by developing plug-in with specified style
17
Compare the Run Object created via the User Interface and execute file compiled by the source code using the Class Library. Performance Test01
18
Performance Test02 When data is read from one module –In the case which the number of channels increased –In the case which the number of events increased
19
Performance Test03 In the case which the number of channels increased
20
Performance Test04 In the case which the number of events increased
21
Analysis –There is not a difference, In the case which the number of channels increased. –There is the difference of performance about 3 times, In the case which the number of events increased –Overheads of “Class Loader” –Using UI means that a performance decrease about 3 times compared to Using raw Class Library Performance Test05
22
DAQ can be developed interactively We will be able to shorten the development period Has following features. –Macro File –Garbage collection –Plug-in Decrease performance compared to using raw Class Library Summary
23
Enrich GUI to make it easier to use Optimize the DAQ-Builder to improve performance Make the manual user-friendly Get the world out about DAQ-Builder http://sourceforge.jp/projects/daq-builder Won't you join me ? Future Goal & To do
24
Macro file – Things Created and Operated is recorded as Macro file –Resembles C++ form
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.