Presentation is loading. Please wait.

Presentation is loading. Please wait.

Electromagnet Testing Through Hardware Programming Marco Enriquez Fermi National Particle Accelerator Fermi National Particle Accelerator Tufts University,

Similar presentations


Presentation on theme: "Electromagnet Testing Through Hardware Programming Marco Enriquez Fermi National Particle Accelerator Fermi National Particle Accelerator Tufts University,"— Presentation transcript:

1 Electromagnet Testing Through Hardware Programming Marco Enriquez Fermi National Particle Accelerator Fermi National Particle Accelerator Tufts University, ECE Department Tufts University, ECE Department

2 Presentation Outline The Fermi National Accelerator Laboratory The Fermi National Accelerator Laboratory The Tevatron and Fermilabs Accelerators The Tevatron and Fermilabs Accelerators Electromagnets Electromagnets Electromagnet Testing Electromagnet Testing Single Stretched-Wire (SSW) System Single Stretched-Wire (SSW) System The Extensible Measurement System (EMS) The Extensible Measurement System (EMS) Contributing to the EMS Contributing to the EMS Project Code Hierarchy Project Code Hierarchy The Final Product The Final Product Conclusion Conclusion

3 Introduction: Fermilab The Fermi National Accelerator Laboratory (Fermilab) is one of the worlds leading research facilities for Particle Physics and Astrophysics. The Fermi National Accelerator Laboratory (Fermilab) is one of the worlds leading research facilities for Particle Physics and Astrophysics. Fermilab contains the most powerful particle accelerator in the world, The Tevatron. Fermilab contains the most powerful particle accelerator in the world, The Tevatron.

4 The Tevatron: Particle Acceleration The Tevatron is a circular particle accelerator with a 4 mile circumference. It accelerates particles up to 0.98 TeV at 99.99% the speed of light. The Tevatron is a circular particle accelerator with a 4 mile circumference. It accelerates particles up to 0.98 TeV at 99.99% the speed of light. Particle Acceleration: Particle Acceleration: The protons and anti-protons are passed through a series of primary accelerators to increase their speed and energy. The protons and anti-protons are passed through a series of primary accelerators to increase their speed and energy. Protons and Anti-protons are then injected into the final accelerator (Tevatron), in opposing paths. Protons and Anti-protons are then injected into the final accelerator (Tevatron), in opposing paths. When the proton and anti- protons gather ~1 TeV in the Tevatron, they are collided with one another at one of the two detector halls at Fermilab. When the proton and anti- protons gather ~1 TeV in the Tevatron, they are collided with one another at one of the two detector halls at Fermilab.

5 The Tevatron: Electromagnets Important Questions: Important Questions: How are the particles contained in the accelerator? How are the particles contained in the accelerator? How are the particles path altered? How are the particles path altered? Electromagnets: Electromagnets:

6 The Tevatron: Electromagnets Important Questions: Important Questions: How are the particles contained in the accelerator? How are the particles contained in the accelerator? How are the particles path altered? How are the particles path altered? Electromagnets: Electromagnets: Fermilabs accelerators mainly rely on two different types electromagnets: Dipole and Quadrupole magnets. Fermilabs accelerators mainly rely on two different types electromagnets: Dipole and Quadrupole magnets. Dipole Magnets bend the particle beams path Dipole Magnets bend the particle beams path Quadrupole Magnets focus or defocus the particle beam, which confines the particle Quadrupole Magnets focus or defocus the particle beam, which confines the particle These two types of magnets are connected by straight vacuum chambers, and this entire system is configured to have a circular shape These two types of magnets are connected by straight vacuum chambers, and this entire system is configured to have a circular shape

7 Electromagnet Testing For the accelerator to work properly, the electromagnets need to be thoroughly tested For the accelerator to work properly, the electromagnets need to be thoroughly tested Important Tests: Important Tests: Magnetic Field Shape Magnetic Field Shape Electromagnets need to have a proper field shape in order to accomplish its task Electromagnets need to have a proper field shape in order to accomplish its task Magnetic Center Magnetic Center Finding the magnetic center is important for focusing magnets because they help engineers align magnets properly in the accelerator Finding the magnetic center is important for focusing magnets because they help engineers align magnets properly in the accelerator Magnet Strength: Magnet Strength: Too much or too little strength can lead to improper bending or focusing Too much or too little strength can lead to improper bending or focusing To perform these tests, the Technical Division at Fermilab created the Single Stretched- Wire (SSW) system To perform these tests, the Technical Division at Fermilab created the Single Stretched- Wire (SSW) system T ?

8 The Single Stretched-Wire System The SSW System is a relatively simple and accurate method of performing various measurements on an electromagnet The SSW System is a relatively simple and accurate method of performing various measurements on an electromagnet The SSW System is composed of: The SSW System is composed of: CuBe wire 100 m thick that is stretched through the electromagnet. Precision motor stages, one at each end of the wire, to hold and control the CuBe wire Various machines, such as a digital integrator, connected to the motor stages to measure and calculate various electromagnetic properties, as current flows through the CuBe wire A universal Motion Controller, which controls the motor stages in the SSW System

9 The Extensible Measurement System To standardize and unify measurement systems, like the SSW system, the Technical Division created the Extensible Measurement System (EMS) framework To standardize and unify measurement systems, like the SSW system, the Technical Division created the Extensible Measurement System (EMS) framework EMS is a framework with a configurable sets of components designed to acquire, process, visualize, store and retrieve data. EMS is a framework with a configurable sets of components designed to acquire, process, visualize, store and retrieve data. The EMS is designed to be compatible with the PC, Linux, and Unix platforms The EMS is designed to be compatible with the PC, Linux, and Unix platforms The EMS retrieves data from the data acquisition machines, which controls measurement hardware attached to the motor stages. It then outputs various calculations and pertinent data to the computer screen The EMS retrieves data from the data acquisition machines, which controls measurement hardware attached to the motor stages. It then outputs various calculations and pertinent data to the computer screen Calculations performed by the EMS: Calculations performed by the EMS: Current Current Magnetic Flux Magnetic Flux FFT FFT The EMS system also very flexible: adding extra programs and electromagnetic tests is an easy process The EMS system also very flexible: adding extra programs and electromagnetic tests is an easy process

10 Advantages of a computer program: Advantages of a computer program: Simplified Set-up Simplified Set-up By creating a computer program, machine configurations and virtual connections are automated By creating a computer program, machine configurations and virtual connections are automated Simplified motor movement, controls Simplified motor movement, controls Instead of having to learn the Motion Controllers language set, the user can just use descriptive menus to initialize or move the step motors Instead of having to learn the Motion Controllers language set, the user can just use descriptive menus to initialize or move the step motors Information/help readily available Information/help readily available Instead of looking through the manual, users rely on the program to give necessary command details and information Instead of looking through the manual, users rely on the program to give necessary command details and information Contributing to the EMS My project: create software for Linux that communicates with the Motion Controller My project: create software for Linux that communicates with the Motion Controller Allows users to send commands to the motion controller and retrieve status of the positioning system Allows users to send commands to the motion controller and retrieve status of the positioning system This system will be used for testing and debugging of the motion positioning system This system will be used for testing and debugging of the motion positioning system The program currently being used is only a prototype The program currently being used is only a prototype The lower levels of the system will be later used in the final, production level software The lower levels of the system will be later used in the final, production level software

11 Project Setup The IEEE 488 (GPIB) port was used to connect the Motion Controller and the Linux system The IEEE 488 (GPIB) port was used to connect the Motion Controller and the Linux system GPIB port advantages : GPIB port advantages : The GPIB port sends data in a simple fashion, as a string The GPIB port sends data in a simple fashion, as a string Previous libraries have been created for the GPIB Port at the Technical Division Previous libraries have been created for the GPIB Port at the Technical Division A complex hierarchy of computer programs was used to implement a program that properly communicates with the Motion Controller using the GPIB port A complex hierarchy of computer programs was used to implement a program that properly communicates with the Motion Controller using the GPIB port

12 Code Hierarchy: Entire Structure The Codes Hierarchy includes: The Codes Hierarchy includes: Fermilabs web-server (@ FNAL) Fermilabs web-server (@ FNAL) A Webpage A Webpage This has a user interface which allows users to instruct the motion controller from the any computer on the fnal network This has a user interface which allows users to instruct the motion controller from the any computer on the fnal network Two C++ programs Two C++ programs They retrieve data from the webpage (by using CGI) and the appropriate standard C++ libraries, such as string handling classes or I/O classes They retrieve data from the webpage (by using CGI) and the appropriate standard C++ libraries, such as string handling classes or I/O classes These programs also contain the motion controllers commands. They also are responsible for sending these commands and retrieving the output to and from the motion controller. These programs also contain the motion controllers commands. They also are responsible for sending these commands and retrieving the output to and from the motion controller. Fundamental Utilities Fundamental Utilities These are created C++ libraries used for specialized functions such as sending messages via the GPIB port, string initialization, or send special return types These are created C++ libraries used for specialized functions such as sending messages via the GPIB port, string initialization, or send special return types

13 GPIB Library: GPIB Library: Holds all functions that deal with the GPIB port Includes functions that: Creates a virtual device Open and Close a virtual device Sends commands Retrieves commands Checks GPIB bus status Vmtf Library: Vmtf Library: Makes C++ programming simpler by Makes C++ programming simpler by Adding extra functions, mostly used with string initialization Adding extra functions, mostly used with string initialization Defining special return types (ERROR, OK) Defining special return types (ERROR, OK) Also defines messaging for other devices and processor boards Also defines messaging for other devices and processor boards Code Hierarchy: Lowest Level Code Hierarchy: Lowest Level MotionController.cc MotionController.h GPIBVmtf MotionController Fundamental Utilities

14 MotionController.cc MotionController.cc Uses the GPIB library to set up a virtual connection with the Motion Controller and communicate with it Uses the GPIB library to set up a virtual connection with the Motion Controller and communicate with it Holds all the possible commands that could be sent to the Motion Controller, as functions Holds all the possible commands that could be sent to the Motion Controller, as functions Holds functions that output command status and errors, if they exist Holds functions that output command status and errors, if they exist MotionController.h MotionController.h A header file that allows another C++ program to use all the functions implemented in MotionController.cc A header file that allows another C++ program to use all the functions implemented in MotionController.cc This header file also contains class definitions for the Motion Controller This header file also contains class definitions for the Motion Controller Code Hierarchy: Lowest Level Code Hierarchy: Lowest Level MotionController.cc MotionController.h MotionController GPIBVmtf Fundamental Utilities

15 Code Hierarchy: Middle Level Code Hierarchy: Middle Level MotionController.h MotionController MotionController_ TestDriver.cc CGI MotionController_TestDriver MotionController_TestDriver.cc MotionController_TestDriver.cc Uses the MotionController.cc functions via MotionController.h Uses the MotionController.cc functions via MotionController.h Responsible for Responsible for Retrieving unparsed information from the website Retrieving unparsed information from the website Parsing website data Parsing website data Sending the proper command to the motion controller Sending the proper command to the motion controller Updating the webpage by changing its COMMAND STATUS field though html manipulation Updating the webpage by changing its COMMAND STATUS field though html manipulation CGI Code CGI Code This is not a program, but a method of retrieving information from websites This is not a program, but a method of retrieving information from websites The CGI code is embedded in MotionController_TestDriver.cc The CGI code is embedded in MotionController_TestDriver.cc The CGI code accesses system variables that become available once information has been sent to the website The CGI code accesses system variables that become available once information has been sent to the website

16 HTML Code HTML Code Hypertext Markup Language: The scripting language used to define the content and appearance of a webpage Hypertext Markup Language: The scripting language used to define the content and appearance of a webpage This sends information to MotionController_TestDriver.cc This sends information to MotionController_TestDriver.cc The CGI code gets the information the HTML sends, as an unparsed string The CGI code gets the information the HTML sends, as an unparsed string Code Hierarchy: Higher Level Code Hierarchy: Higher Level CGI MotionController_TestDriver Motion Controller Control Webpage HTML Motion Controller Webpage Motion Controller Webpage Contains 76 motion controller commands used in the SSW system Contains 76 motion controller commands used in the SSW system Is made up of three components: Is made up of three components: Top.html – Gives users command status information Top.html – Gives users command status information Bottom.html – Allows users to send commands to the motion controller Bottom.html – Allows users to send commands to the motion controller Frames.html – Allows Top.html and Bottom.html to appear in the same page simultaneously Frames.html – Allows Top.html and Bottom.html to appear in the same page simultaneously

17 Code Hierarchy: Highest Level Code Hierarchy: Highest Level Motion Controller Control Webpage USER Web Server Fermilabs Web Server Fermilabs Web Server Program that exists in the FNAL domain Program that exists in the FNAL domain Fetches the html code from the network and sends it to a user's computer Fetches the html code from the network and sends it to a user's computer The users internet browser creates the webpage using the retrieved html code The users internet browser creates the webpage using the retrieved html code User User Must be privileged and in the fnal.gov domain Must be privileged and in the fnal.gov domain Starts the process of sending motion controller commands by interacting with the webpage Starts the process of sending motion controller commands by interacting with the webpage Oblivious to the hierarchy of code beneath webpage Oblivious to the hierarchy of code beneath webpage Must still be knowledgeable of the Motion Controller and SSW for proper operation Must still be knowledgeable of the Motion Controller and SSW for proper operation

18 Final Product Commands are sorted by category and parameters Commands are sorted by category and parameters Easy pull-down menu for each category Easy pull-down menu for each category A category asks for input parameters if needed A category asks for input parameters if needed Simple pull down menu to indicate port number and motor number Simple pull down menu to indicate port number and motor number Command status is indicated at the top of the screen Command status is indicated at the top of the screen Help buttons to invoke a pop-up help window, with detailed information Help buttons to invoke a pop-up help window, with detailed information

19 Conclusion A simple and functional program was developed as a result of the complex hierarchy A simple and functional program was developed as a result of the complex hierarchy This website makes motion controller communication easier, which in turn helps simplify electromagnet testing This website makes motion controller communication easier, which in turn helps simplify electromagnet testing Future Areas of Research/Improvement: Future Areas of Research/Improvement: Further code optimization Further code optimization Implement similar versions for the PC and UNIX platforms. Implement similar versions for the PC and UNIX platforms. Integration of the Linux, PC and UNIX implementations Integration of the Linux, PC and UNIX implementations

20 Acknowledgements Sincere Thanks: Sincere Thanks: Fermilab Fermilab The SIST Committee The SIST Committee Jerzy Nogiec and the TD Software Development Group Jerzy Nogiec and the TD Software Development Group Dr. Davenport Dr. Davenport Images From: Images From: Fermilab Visual Image Services Fermilab Visual Image Services Joe DiMarco (wwwtsmtf.fnal.gov/~dimarco) Joe DiMarco (wwwtsmtf.fnal.gov/~dimarco) Technical Division at Fermilab Technical Division at Fermilab United States Particle Accelerator School (uspas.fnal.gov) United States Particle Accelerator School (uspas.fnal.gov) Stanford Linear Accelerator Stanford Linear Accelerator CERN Accelerator CERN Accelerator The Particle Adventure (particleadventure.org) The Particle Adventure (particleadventure.org)


Download ppt "Electromagnet Testing Through Hardware Programming Marco Enriquez Fermi National Particle Accelerator Fermi National Particle Accelerator Tufts University,"

Similar presentations


Ads by Google