1 / 24

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. Development of a data acquisition program builder via a user interface. Outline 01. D ata A c Q uisition program Builder

jamey
Download Presentation

Development of a data acquisition program builder via a user interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Development of a data acquisition program builder via a user interface

  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. Example01 • Creating an objects

  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. Example02 • The Action object is installed in the Run Object

  11. Example03

  12. How to create or operate ? • Instance Class • Partner plug-in • Class loader

  13. Instance Object • 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

  14. A Partner Plug-in • 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.

  15. Class Loader • 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)

  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. Performance Test01 • Compare the Run Object created via the User Interface and execute file compiled bythe source code using the Class Library.

  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 channelsincreased

  20. Performance Test04 • In the case which the number of eventsincreased

  21. Performance Test05 • Analysis • There is not a difference , In the case which the number of channelsincreased. • There is the difference of performance about 3 times ,In the case which the number of eventsincreased • Overheads of “Class Loader” • Using UI means that a performance decrease about 3 times compared to Using raw Class Library

  22. Summary • 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

  23. Future Goal & To do • 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 ?

  24. Macro file • Macro file • Things Created and Operated is recorded as Macro file • Resembles C++ form

More Related