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

Slides:



Advertisements
Similar presentations
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
Advertisements

The Web Warrior Guide to Web Design Technologies
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
1 CS 106, Winter 2009 Class 4, Section 4 Slides by: Dr. Cynthia A. Brown, Instructor section 4: Dr. Herbert G. Mayer,
Server-Side vs. Client-Side Scripting Languages
Embedded Network Controller with Web Interface Bradley University Department of Electrical & Computer Engineering By: Ed Siok Advisor: Dr. Malinowski.
PC Applications Course LabVIEW: Laboratory Virtual Instrument Engineering Workbench Graphical Programming Easy to use Faster Development Time.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
Interpret Application Specifications
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
© Prentice Hall CHAPTER 3 Computer Software.
Guide To UNIX Using Linux Third Edition
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
THE BASICS OF THE WEB Davison Web Design. Introduction to the Web Main Ideas The Internet is a worldwide network of hardware. The World Wide Web is part.
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
The Internet & The World Wide Web Notes
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
Lesson 4 Computer Software
Chapter Introduction to Computers and Programming 1.
A First Program Using C#
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Basic Input Output System
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Server-side Scripting Powering the webs favourite services.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
1 Web Basics Section 1.1 Compare the Internet and the Web Compare Web sites and Web pages Identify Web browser components Describe types of Web sites Section.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
CHAPTER FOUR COMPUTER SOFTWARE.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
The Effectiveness of Web Components Presented By: Geoffrey Zimmerman Computer Science Capstone Fall 2004/Spring 2005 Mentor: Dr. C. David Shaffer.
Drag and Drop Display and Builder. Timofei B. Bolshakov, Andrey D. Petrov FermiLab.
Grob Systems, Inc., the customer, requires an industrial computer system that will have a function of acquiring raw data, processing the data, presenting.
CMPD 434 MULTIMEDIA AUTHORING Chapter 06 Multimedia Authoring Process IV.
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
CHAPTER TEN AUTHORING.
Lesson 7 – World Wide Web. What is the World Wide Web?  The content of the worldwide web is held on individual web pages gathered together to form websites.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
CS 4720 Dynamic Web Applications CS 4720 – Web & Mobile Systems.
Computer Basic Vocabulary
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Introduction to JavaScript CS101 Introduction to Computing.
F Drag and Drop Controls Display and Builder (Synoptic Display) Timofei Bolshakov, Andrey Petrov Fermilab Accelerator Controls Department March 26, 2007.
Implementing and Using the SIRWEB Interface Setup of the CGI script and web procfile Connecting to your database using HTML Retrieving data using the CGI.
 2001 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet and the World Wide Web Outline 1.1Introduction 1.2What.
Fermi National Accelerator Laboratory Benedict College Akuako Kalu Benedict College, Columbia, SC Junior Computer Science A WEB BASED ACCELERATOR CATALOGUE.
Background Real-time environmental monitoring is a field garnering an ever-increasing amount of attention. The ability for sensors to make and publish.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
TDAQ Experience in the BNL Liquid Argon Calorimeter Test Facility Denis Oliveira Damazio (BNL), George Redlinger (BNL).
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
GUI Post-Processing Package for Beam-Beam Simulation of Ring Accelerators AYOMIDE ODUNSI JACKSON STATE UNIVERSITY SUPERVISOR: TANAJI SEN Dr. ACCELERATOR.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Development Environment
Introduction to Redux Header Eric W. Greene Microsoft Virtual Academy
Introduction to Programming the WWW I
PHP / MySQL Introduction
Presentation transcript:

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

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

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.

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.

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:

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

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 ?

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

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

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

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

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

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

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

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

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

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

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

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

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)