Introduction to Modern Data Acquisition with Labview and MATLAB

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to Modern Data Acquisition with Labview and MATLAB Introduction to Modern Data Acquisition with LabVIEW and MATLAB By Matt Hollingsworth Introduction to Modern Data Acquisition Overview.......... 1 LabVIEW Section1.1:IntroductiontoLabVIEW.......... 3 Section1.2:ASimpleLabVIEWProgram.......... 5 Section1.3:StructuresandExecutionControl.......... 10 Section1.4:DataandExecutionFlow.......... 17 Section1.5:InteractiveLabVIEWPrograms.......... 20 Section1.6:SubVI’s.......... 23 Section1.7:SavingData.......... 27 Section1.8:DataAcquisition.......... 29 Section1.9:ClosingComments.......... 31 MATLAB Section2.1:IntroductiontoMATLAB.......... 33 Section2.2:SimpleMathwithMATLAB.......... 35 Section2.3:MatricesandVectors.......... 37 Section2.4:M-Files.......... 40 Section2.5:VisualizingData.......... 42 Section2.6:ImportingData.......... 45 Section2.7:ClosingComments.......... 46 Lab Section3.1:Introduction.......... 48 Section3.2:Equipment.......... 49 Section3.3:Goals.......... 50 Section3.4:MATLABandLabVIEWTips.......... 52 TableofContents Overview Goal:Tolearntousethevariouscomputertoolsavailabletoacquireandanalyzeexperimen- taldata. Materials: •ComputerwithLabVIEWandMATLAB •NIUSB-6008 •SummaSketchIII •Conductivepaperwithelectrodes •Variouscables •Brain Thislabexerciseismeanttogiveasweepingoverviewofacoupleofthetoolsavailabletoa modernexperimentalphysicist.ThetoolsthatthisexercisewillfocusuponareLabVIEWandMAT- LAB. Ingeneral,LabVIEWisausefulprogramminglanguagewhenyouneedtoproducesomecode thatwillacquiresomedatainalabenvironment.Youcanquicklycreatecodethatwillallowyou toacquiresomedata,dosomedataanalysis,displayreal-timeresultsofthatdata,andexportit inaformatthatwillbecapableofbeingreadbyotherdataanalysissoftware(suchas,inourcase, MATLAB). MATLAB,ontheotherhand,isahandymathematicaltoolboxthatcomeswithmanyfeatures thatareusefulfordataanalysis.Itisalsoawidelyacceptedindustrystandard,soLabVIEWcomes withbuilt-insupportfordirectlyinterfacingwiththescriptserverforMATLAB.Thisallowsyouto inputcommandsfromLabVIEWdirectlyintotheMATLABkernelandhavethemexecutedasifyou weretypingthemintheMATLABcommandwindow.Wewillbeexploitingthisfeatureinorderto generate some detailed visualization of the electric field between two electrodes. Thispaperwillnotbutscratchthesurfaceofthefunctionalityavailabletoyouthroughthe LabVIEWandMATLABplatforms;however,mygoalistomakeyouconversantenoughtowhereyou knowwhatquestionstoask/documentationtosearchforandyoucanunderstandtheanswersthat youaregiven.Themoreacutefunctionalityisleftforyoutodiscoveryourselfasyouneedit. Furthermore,ifyoualreadyknowsomethingthatIamdiscussingintheLabVIEWand/orMAT- LABsections,feelfreetoskipitandmoveontosomethingelse.Therearenoexercisesorany- thing in those two sections; the most important thing is that you are able to perform the final task presentedtoyouintheactuallab. In case you are having trouble, each example has its corresponding .vi or .m file on my web siteathttp://www.evanescenthorizons.com/. To find the examples, look under Labs > Introduc- tiontoModernDataAcquisition. Ifyougetstuckorhaveanyquestions,comments,complaints,orcorrections,feelfreetoe- [email protected]’dbemorethanhappytohelp,andIwelcomeyourfeedback. Overvew LabVIEW Section 1.1: Introduction to LabVIEW LabVIEWisagraphicalprogramminglanguage/IDEcombinationthatistailoredforuseina labenvironment.ThebasicanalogythroughoutLabVIEWisthatofavirtualinstrumentorVI.Ina LabVIEWprogram,justlikearealinstrument,youhavecontrols(input),indicators(output),and logic to define the relationship between input and output. Here is a sample of a very basic LabVIEW program: Figure 1.1.1 Asyoucanprobablyalreadytell,thisprogramtakestwonumbers,xandy,andoutputsits sum. In LabVIEW, the lines that show data flow (in this case, they are thin orange lines, meaning theyaresinglelength,doubleaccuracynumbers)arecalledwires.Inputsarecalledcontrolsand outputsarecalledindicators.TheplussigninsidethetriangleiscalledasubVI,whichisanalogous toasubroutineorfunctionintext-basedlanguages.Inthiscase,thesumsubVIacceptstwonum- bersasargumentsandoutputsthesum. Secton.:IntroductontoLabVIEW LogicandinterfacearetwoseparateentitiesinaLabVIEWprogram.Theinterfaceiscalled the front panel, while the programming logic itself is called the block diagram. Here is the front panelfortheprogrampicturedabove: Figure 1.1.2 Inordertorunaprogram,yousimplyclicktherunarrowinthetopleftcorner.Totoggle loopedexecution,clickthebuttonwiththerevolvingarrows(thiscausestheprogramtoruncon- tinuously).Themainprogramexecutionbuttonsaredetailedbelow. Figure1.1.3-TypicalExecutionBar :RunButton :RunContinuouslyButton :AbortButton :PauseButton Secton.:IntroductontoLabVIEW Section 1.2: A Simple LabVIEW Program TobeginwritinganewLabVIEWprogram,simplystartupLabVIEW,clicknew,andselectblank VIwhenyouareaskedforatemplate.Younowhaveablankfrontpanelandablankblockdia- gram.Navigatetothemenubaratthetopofthescreen,clickwindow,andselect“ShowBlock Diagram”(orpressCtrl+E).Rightclickanywhereinthewhitespaceoftheblockdiagramtopop upthefunctionsmenu.Click“AllFunctions”inthebottomrightofthepopupwindow,andthen clickthethumbtackinthetoprightcornertokeepthefunctionswindowopen.Yourscreenshould looksomethinglikethis: Figure 1.2.1 Clickonthenumericboxinthefunctionspallet(theonwiththe+andthe123init).Click anddragasumsubVIandamultiplicationsubVIontotheblockdiagram.Nowwehavesomepro- Secton.:ASmpleLabVIEWProgram gramlogic,butweneedsomethingtoinputdata.Navigatebacktothefrontpanelbyselect- ing Window > Show Front Panel from the menu bar at the top. Right click anywhere on the front panel,selectthe“NumCtrls”box,andclickanddraga“NumCtrl”ontothefrontpanel.Repeat sothattherearetwonumericcontrolsonthefrontpanel.Doubleclickonthelabelofoneofthe controls(“Numeric”bydefault)tochangethenameofthecontrolto“x”.Changetheotherto “y”.Afterallissaidanddone,yourfrontpanel/blockdiagramshouldlooksomethinglikethis: Figure 1.2.2 Secton.:ASmpleLabVIEWProgram Now,wewilltellLabVIEWtooutputz,wherez=(x+y)*x.Todothis,wewirexandytothe sumsubVI,wiretheoutputofsumtooneoftheinputsofmultiply,andthenwirextotheother inputofmultiply,likeso: Figure 1.2.3 *Side Note* Ifyoueverseewiresappearasdottedlineswithx’sinvariousplacesonthem, youwiredsomethingwrong.Ifthishappensyoumayeitherrightclickthewireandtellittodelete the wire branch, left-click somewhere on the wire and finish wiring it properly, or hit Ctrl + B to removeallbrokenwiresfromtheblockdiagram. Nowallthatisleftistocreateanindicator.Youcanreturntothefrontpanelandcreatea numericindicatorthesamewaythatyoucreatedthenumericcontrols,butthereisaquickerway. RightclickontheoutputofthemultiplicationsubVI(therightmosttipofthetriangle).You’llsee a menu pop up; select Create > Indicator. LabVIEW adds and automatically wires an indicator the output.Forfuturereference,youmaydothesamethingwhencreatingbothindicatorsandcon- stantterms. Here is the completed VI: Secton.:ASmpleLabVIEWProgram Figure 1.2.4 Theprogramisnowcomplete.Now,totestyournewVIsimplyclicktherunbutton( )to runyourVI.Everytimethatyouchangex/yandruntheVI,youshouldseeanoutput,called“out- put”inourprogram,thatcorrespondstooutput=x*(x+y) Ifyourprogramisnotfunctioningproperly,youmayalwaysclickthelittlelightbulbthatis by the pause button in the menu bar of the block diagram. When this button is toggled, “Highlight ExecutionMode”isturnedon.Thisallowsyoutoseeyourprogramexecutestepbystep—avery usefuldebuggingfeature. Furthermore, you may go to Window > Show Tools Palette, and place a probe on a wire by clickingthe buttonandthenclickingonawireofwhichyouwouldliketomonitortheoutput. Here is what a probed VI with execution highlighting turned on looks like. Secton.:ASmpleLabVIEWProgram Figure 1.2.5 Itisnotnecessarythateveryinitialinputbeeithertheoutputofacontrolortheoutputof anothersubVI.Ifdesired,youmayalsowireaconstanttoaninputofasubVI.Toaddanumerical constant, go to the numerical palette and find the numerical constant object (the blue box with 123init).Putitontheblockdiagram.Youcanthenrightclickonitandgoto“Representation” tochoosethedatatype(doubleprecision,longinteger,shortinteger,etc).Youcanthenwirethis constanttoanynumericalinputofasubVI.Thereareothertypesofconstants,suchasarraycon- stants,enumconstants,ringconstants,etc.,andtheyallworkthesameway. Finally, if you ever get stuck, you should turn on the Context Help feature. To enable this feature, go to the help menu and click “Show Context Help.” As long as this mode is on, whenever youhoveroverasubVIawindowwillshowyouhelpinformationpertainingtotheusageofthat particularVI.ThisisquiteusefulasaquickreferencefortimesinwhichyouknowwhatasubVI does,butdon’tknowexactlyhowtouseit. Secton.:ASmpleLabVIEWProgram Section 1.3: Structures and Execution Control Justaswithanyotherprogramminglanguage,LabVIEWcomescompletewithforloopsand whileloops.A“forloop”loopssomecodeasetnumberoftimes,anda“whileloop”loopsuntila certainconditionismet.InLabVIEW,loopsarerepresentedbyaboxthatsurroundsthecodethat isbeinglooped.Forexample,thefollowingcodecountsfrom1to10on1secondintervals: Figure 1.3.1 0 Secton.:StructuresandExecutonControl Thedemonstratedloopisaforloop.Nisthenumberofiterationsyouwouldliketodo,and iisthezerobasedindexofthecurrentiteration.Anequivalentwaytoformulatethisalgorithm, usingawhileloopinstead,canbedonelikeso: Figure 1.3.2 Inawhile loop,thestopsignistheterminationcondition.Inthiscase,thestopconditionisthattheitera- tionindex+1=10,whichisequivalenttoaforloopwithN=10.Bydefault,theloopterminates if the condition is true. However, you may change this to continue as long as the condition is true Secton.:StructuresandExecutonControl byrightclickingonthestopsignandselected“continueiftrue.”Thiscodetakesthelogisticmap,
Recommended publications
  • Key Benefits Key Features
    With the MapleSim LabVIEW®/VeriStand™ Connector, you can • Includes a set of Maple language commands, which extend your LabVIEW and VeriStand applications by integrating provides programmatic access to all functionality as an MapleSim’s high-performance, multi-domain environment alternative to the interactive interface and supports into your existing toolchain. The MapleSim LabVIEW/ custom application development. VeriStand Connector accelerates any project that requires • Supports both the External Model Interface (EMI) and high-fidelity engineering models for hardware-in-the-loop the Simulation Interface Toolkit (SIT). applications, such as component testing and electronic • Allows generated block code to be viewed and modified. controller development and integration. • Automatically generates an HTML help page for each block for easy lookup of definitions and parameter Key Benefits defaults. • Complex engineering system models can be developed and optimized rapidly in the intuitive visual modeling environment of MapleSim. • The high-performance, high-fidelity MapleSim models are automatically converted to user-code blocks for easy inclusion in your LabVIEW VIs and VeriStand Applications. • The model code is fully optimized for high-speed real- time simulation, allowing you to get the performance you need for hardware-in-the-loop (HIL) testing without sacrificing fidelity. Key Features • Exports MapleSim models to LabVIEW and VeriStand, including rotational, translational, and multibody mechanical systems, thermal models, and electric circuits. • Creates ANSI C code blocks for fast execution within LabVIEW, VeriStand, and the corresponding real-time platforms. • Code blocks are created from the symbolically simplified system equations produced by MapleSim, resulting in compact, highly efficient models. • The resulting code is further optimized using the powerful optimization tools in Maple, ensuring fast execution.
    [Show full text]
  • A Set of Fortran Programs for Analyzing Surface Texture
    NBSIR 83-2703 Programs for Analyzing Surface Texture U.S. DEPARTMENT OF COMMERCE National Bureau of Standards Center for Manufacturing Engineering Washington, DC 20234 July 1 983 U.S. DEPARTMENT OF COMMERCE NATIONAL BUREAU OF STANDARDS U N T of°stanSdS r AV)r fl9B3 NBSIR 83-2703 FASTMENU: A SET OF FORTRAN PROGRAMS FOR ANALYZING SURFACE TEXTURE T. V. Vorburger U S. DEPARTMENT OF COMMERCE National Bureau of Standards Center for Manufacturing Engineering Washington, DC 20234 July 1 983 U.S. DEPARTMENT OF COMMERCE, Malcolm Baldrige, Secretary NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director A d ABSTRACT A set of FORTRAN programs for surface texture analysis is described. These programs were developed for use with a minicomputer that is interfaced to stylus type instruments. The programs 1) perform data acquisition from the stylus instruments, 2) store the data on magnetic disk, and 3) perform statistical analyses for parameters such as the roughness average R«, rms roughness R , and for the autocorrelation function and amplitude density function.q i TABLE OF CONTENTS 1. Introduction 1 2. The Menu ij 3. ROUGHNES 8 3.1 Summary 8 3.2 Operating System Commands 9 3.3 ROUGHNES FORTRAN Program 10 3.4 Flowchart for ROUGHNES 22 3.5 Example of ROUGHNES Printout 28 4. STEPHGHT . 29 4. 1 Summary ' 29 4.2 Operating System Commands . 30 4.3 STEPHGHT FORTRAN Program 31 4.4 Flowchart for STEPHGHT 39 4.5 Example of STEPHGHT Printout 45 5. WHATSON . 46 5.1 Summary ........... 46 5.2 Operating System Commands .... 47 5.3 WHATSON FORTRAN Program 48 5.4 Flowchart for WHATSON 5Q 5.5 Example of WHATSON Printout 51 6.
    [Show full text]
  • Towards a Fully Automated Extraction and Interpretation of Tabular Data Using Machine Learning
    UPTEC F 19050 Examensarbete 30 hp August 2019 Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Per Hedbrant Master Thesis in Engineering Physics Department of Engineering Sciences Uppsala University Sweden Abstract Towards a fully automated extraction and interpretation of tabular data using machine learning Per Hedbrant Teknisk- naturvetenskaplig fakultet UTH-enheten Motivation A challenge for researchers at CBCS is the ability to efficiently manage the Besöksadress: different data formats that frequently are changed. Significant amount of time is Ångströmlaboratoriet Lägerhyddsvägen 1 spent on manual pre-processing, converting from one format to another. There are Hus 4, Plan 0 currently no solutions that uses pattern recognition to locate and automatically recognise data structures in a spreadsheet. Postadress: Box 536 751 21 Uppsala Problem Definition The desired solution is to build a self-learning Software as-a-Service (SaaS) for Telefon: automated recognition and loading of data stored in arbitrary formats. The aim of 018 – 471 30 03 this study is three-folded: A) Investigate if unsupervised machine learning Telefax: methods can be used to label different types of cells in spreadsheets. B) 018 – 471 30 00 Investigate if a hypothesis-generating algorithm can be used to label different types of cells in spreadsheets. C) Advise on choices of architecture and Hemsida: technologies for the SaaS solution. http://www.teknat.uu.se/student Method A pre-processing framework is built that can read and pre-process any type of spreadsheet into a feature matrix. Different datasets are read and clustered. An investigation on the usefulness of reducing the dimensionality is also done.
    [Show full text]
  • Some Notes on the Past and Future of Lisp-Stat
    JSS Journal of Statistical Software February 2005, Volume 13, Issue 9. http://www.jstatsoft.org/ Some Notes on the Past and Future of Lisp-Stat Luke Tierney University of Iowa Abstract Lisp-Stat was originally developed as a framework for experimenting with dynamic graphics in statistics. To support this use, it evolved into a platform for more general statistical computing. The choice of the Lisp language as the basis of the system was in part coincidence and in part a very deliberate decision. This paper describes the background behind the choice of Lisp, as well as the advantages and disadvantages of this choice. The paper then discusses some lessons that can be drawn from experience with Lisp-Stat and with the R language to guide future development of Lisp-Stat, R, and similar systems. Keywords: Computing environment, dynamic graphics, programming languages, R language. 1. Some historical notes Lisp-Stat started by accident. In the mid-1980’s researchers at Bell Labs (Becker and Cleveland 1987) started to demonstrate dynamic graphics ideas, in particular point cloud rotation and scatterplot matrix brushing, at the Joint Statistical Meetings. Their proprietary hardware was not widely available, but the Macintosh had been released recently and seemed a natural platform on which to experiment with these ideas. MacSpin (Donoho, Donoho, and Gasko 1988) was developed as a tour de force of what can be done with point cloud rotation and became a successful commercial enterprise for a while. I was interested in going beyond point cloud rotation alone and experimenting with linked brushing along the lines of the interactive scatterplot matrix as well as linking of other displays.
    [Show full text]
  • Compiling Maplesim C Code for Simulation in Vissim
    Compiling MapleSim C Code for Simulation in VisSim 1 Introduction MapleSim generates ANSI C code from any model. The code contains the differential equations that describe the model dynamics, and a solver. Moreover, the code is royalty-free, and can be used in any simulation tool (or development project) that accepts external code. VisSim is a signal-flow simulation tool with strength in embedded systems programming, real-time data acquisition and OPC. This document will describe the steps required to • Generate C code from a MapleSim model of a DC Motor. The C code will contain a solver. • Implement the C code in a simulation DLL for VisSim. VisSim provides a DLL Wizard that sets up a Visual Studio C project for a simulation DLL. MapleSim code will be copied into this project. After a few modifications, the project will be compiled to a DLL. The DLL can then be used as a block in a VisSim simulation. The techniques demonstrated in this document can used to implement MapleSim code in any other environment. MapleSim’s royalty -free C code can be implemented in other modeling environment s, such as VisSim MapleSim’s C code can also be used in Mathcad 2 API for the Maplesim Code The C code generated by MapleSim contains four significant functions. • SolverSetup(t0, *ic, *u, *p, *y, h, *S) • SolverStep(*u, *S) where SolverStep is EulerStep, RK2Step, RK3Step or RK4Step • SolverUpdate(*u, *p, first, internal, *S) • SolverOutputs(*y, *S) u are the inputs, p are subsystem parameters (i.e. variables defined in a subsystem mask), ic are the initial conditions, y are the outputs, t0 is the initial time, and h is the time step.
    [Show full text]
  • Data Acquisition Using Matlab – Session-Based Interface
    Data acquisition using Matlab – Session-based interface Goal The purpose with this “home” laboratory assignment is to give you experience of using Matlab for sampling data with the NI USB-6009 device. Instructions The specific data you choose to sample can either be a signal from any source you find suitable in terms of signal levels etc allowed by the DAQ device or a signal generated by one of the signal generators in the “Practical test”/”Praktiskt prov” room. The course has six NI USB-6009 devices which you can use for this assignment. You have to take turns using them. For practical reasons we will keep 3 of them in the practical test room. Please note that these devices may NOT leave the room! However, if you decide to sample another signal than what can be generated with the signal generators in the practical test room, you may borrow one of the other three devices to take home for maximum 1 day. Come to Josefin and she will sort you out. You will have to sign an agreement, stating that you will bring the device back the next day. Task Specifically, your task is to write two Matlab scripts. Script 1 samples the signal with one of the AI channels and stores the sampled data on the harddrive. Script 2 loads the data and plots the signal in two graphs, one time-amplitude plot and one power spectrum plot. Refer to the Matlab Documentation Centre for detailed instructions of how to: 1. Set up an acquisition “session” add “channels” to the session 2.
    [Show full text]
  • Labview Graphical Development Environment Labview
    LabVIEW Graphical Development Environment LabVIEW NI LabVIEW •Intuitive graphical development LabVIEW PDA Module for test, measurement, and control •Graphical development for portable, •Complete programming language handheld devices with built-in tools for data acquisition, instrument control, LabVIEW Datalogging and measurement analysis, report Supervisory Control Module •Graphical development for generation, communication, monitoring and distributed and more applications •Application templates, thousands of example programs LabVIEW Vision •Compiled for fast performance Development Module LabVIEW Real-Time Module •Graphical development for high-level machine vision and image processing •Graphical development for real- time control, deterministic LabVIEW Add-On Tools performance, reliability, and •See page 44 for a full listing embedded execution Operating Systems LabVIEW FPGA Module •Windows 2000/NT/XP •Graphical development for •Mac OS X creating custom I/O boards with • Linux FPGA technology •Solaris Overview Analyze National Instruments LabVIEW is a powerful development Raw data is typically not the desired end result of a measurement and environment for signal acquisition, measurement analysis, and data automation application. Powerful, easy-to-use analysis functionality presentation, giving you the flexibility of a programming language is a must for your software application. LabVIEW has more than 400 Measurement and Automation Software without the complexity of traditional development tools. built-in functions designed specifically
    [Show full text]
  • Ulx for NI Labview
    ULx for NI LabVIEW Software Quick Start June 2016. Rev 3 © Measurement Computing Corporation Trademark and Copyright Information Measurement Computing Corporation, InstaCal, Universal Library, and the Measurement Computing logo are either trademarks or registered trademarks of Measurement Computing Corporation. Refer to the Copyrights & Trademarks section on mccdaq.com/legal for more information about Measurement Computing trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies. © 2016 Measurement Computing Corporation. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form by any means, electronic, mechanical, by photocopying, recording, or otherwise without the prior written permission of Measurement Computing Corporation. Notice Measurement Computing Corporation does not authorize any Measurement Computing Corporation product for use in life support systems and/or devices without prior written consent from Measurement Computing Corporation. Life support devices/systems are devices or systems that, a) are intended for surgical implantation into the body, or b) support or sustain life and whose failure to perform can be reasonably expected to result in injury. Measurement Computing Corporation products are not designed with the components required, and are not subject to the testing required to ensure a level of reliability suitable for the treatment and diagnosis of people. QS ULx for NI LabVIEW Table
    [Show full text]
  • CS3101 Programming Languages -‐ Python
    CS3101 Programming Languages - Python Spring 2010 Agenda • Course descripon • Python philosophy • Geng started (language fundamentals, core data types, control flow) • Assignment Course Descripon Instructor / Office Hours • Josh Gordon • PhD student • Contact – [email protected] • Office hours – By appointment, feel free to drop a line any<me Syllabus Lecture Topics Assignment Jan 19th Language overview. Course structure. Scrip<ng HW1: Due Jan 26th essen<als. Jan 26th Sor<ng. Parsing CSV files. Func<ons. Command HW2: Due Feb 2nd line arguments. Feb 2nd Func<onal programming tools. Regular HW3: Due Feb 9th expressions. Generators / iterators. Feb 9th Object oriented Python. Excep<ons. Libraries I. Project Proposal: Due Feb 16th Feb 16th GUIs. Databases. Pickling. Libraries II. Course Project: Due Feb 28th Feb 23rd Integra<on with C. Performance, op<miza<on, None profiling. Paralleliza<on. Grading Assignment Weight Class par<cipa<on 1/10 HW1 1/10 HW2 1/10 HW3 1/10 Proposal 1/10 Project 5/10 Extra credit challenge problems Depends how far you get Late assignments: two grace days / semester, aber which accepted at: -10% / day. Resources / References • Course website: – www.cs.columbia.edu/~joshua/teaching – Syllabus / Assignments / Slides • Text books – Learning Python – Python in a Nutshell (available elect. on CLIO) – Python Cookbook • Online doc: – www.python.org/doc Ordered by technical complexity - no<ce anything? Course Project • Opportunity to leverage Python to accomplish something of interest / useful to you! • Past projects: – Gene<c
    [Show full text]
  • They Have Very Good Docs At
    Intro to the Julia programming language Brendan O’Connor CMU, Dec 2013 They have very good docs at: http://julialang.org/ I’m borrowing some slides from: http://julialang.org/blog/2013/03/julia-tutorial-MIT/ 1 Tuesday, December 17, 13 Julia • A relatively new, open-source numeric programming language that’s both convenient and fast • Version 0.2. Still in flux, especially libraries. But the basics are very usable. • Lots of development momentum 2 Tuesday, December 17, 13 Why Julia? Dynamic languages are extremely popular for numerical work: ‣ Matlab, R, NumPy/SciPy, Mathematica, etc. ‣ very simple to learn and easy to do research in However, all have a “split language” approach: ‣ high-level dynamic language for scripting low-level operations ‣ C/C++/Fortran for implementing fast low-level operations Libraries in C — no productivity boost for library writers Forces vectorization — sometimes a scalar loop is just better slide from ?? 2012 3 Bezanson, Karpinski, Shah, Edelman Tuesday, December 17, 13 “Gang of Forty” Matlab Maple Mathematica SciPy SciLab IDL R Octave S-PLUS SAS J APL Maxima Mathcad Axiom Sage Lush Ch LabView O-Matrix PV-WAVE Igor Pro OriginLab FreeMat Yorick GAUSS MuPad Genius SciRuby Ox Stata JLab Magma Euler Rlab Speakeasy GDL Nickle gretl ana Torch7 slide from March 2013 4 Bezanson, Karpinski, Shah, Edelman Tuesday, December 17, 13 Numeric programming environments Core properties Dynamic Fast? and math-y? C/C++/ Fortran/Java − + Matlab + − Num/SciPy + − R + − Older table: http://brenocon.com/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-excel-sas-spss-stata/ Tuesday, December 17, 13 - Dynamic vs Fast: the usual tradeof - PL quality: more subjective.
    [Show full text]
  • Power Meter Samples
    Power Meter Samples March 22, 2012 Prepared by: Newport Corporation 1791 Deere Avenue Irvine, CA 92606 1 INTRODUCTION................................................................................................................. 1 2 1830-R .................................................................................................................................... 1 2.1 GPIB SAMPLE.................................................................................................................. 1 2.1.1 GPIBSample.lvproj ................................................................................................. 1 2.1.1.1 GPIB_Query_With_SerialPoll.vi........................................................................ 1 2.1.1.2 GPIB_Query_Without_SerialPoll.vi .................................................................. 1 2.1.1.3 GPIBCommunicationTest.vi............................................................................... 1 2.2 USB SAMPLE ................................................................................................................... 2 2.2.1 GetPower.lvproj...................................................................................................... 4 2.2.1.1 SampleGetPower.vi ............................................................................................ 4 3 1918 - 2936 FAMILY............................................................................................................ 4 3.1 C#...................................................................................................................................
    [Show full text]
  • Data Acquisition Systems
    Data Acquisition Systems CERN Summerstudent Programme 2007 Niko Neufeld, CERN-PH Introduction • Data Acquisition is a specialized engineering discipline thriving mostly in the eco-system of large science experiments, particularly in HEP • It consists mainly of electronics, computer science, networking and (we hope) a little bit of p h ysi cs • Some material and lots of inspiration for this lecture was taken from lectures byyy my predecessors •Manyyp thanks to S. Suman for his help with the drawings! Data Acquisition Systems, CERN Summerstudent Lecture 2007 2 Outline • ItIntrod uc tion • ADAQfA DAQ for a l arge – Data acquisition experiment – Sizing it up – The fi rs t da ta – Trigger acquisition campaign – Front-end Electronics • A simple DAQ system – RdtithtReadout with networ ks – One sensor • Event building in switched networks – More and more • PblProblems in sw ithditched sensors networks • Read-out with buses • A lightning tour of ALICE, ATLAS, CMS and LHCb – Crates & Mechanics DAQs – The VME Bus Data Acquisition Systems, CERN Summerstudent Lecture 2007 3 Disclaimer • Trigger and DAQ are two vast subjects covering a lot of physics and electronics • Based entirelyyp on personal bias I have selected a few topics • While most of it will be only an overview at a few places we will go into some technical detail • Some things will be only touched upon or left out altogether – information on those you will find in the references at the end – Electronics (lectures by J. Christiansen) – High Level Trigger (lectures by G. Dissertori) – DAQ of experiments outside HEP/LHC – Management of large networks and farms – High-sppgeed mass storage – Experiment Control (= Run Control + Detector Control / DCS) Data Acquisition Systems, CERN Summerstudent Lecture 2007 4 Tycho Brahe and the Orbit of Mars I've studied all available charts of the planets and stars and none of them match the others .
    [Show full text]