Creating External Instrument Drivers for the Model 4200-SCS
|
|
- Geoffrey Johns
- 5 years ago
- Views:
Transcription
1 A G R E A T E R M E A S U R E O F C O N F I D E N C E Creating External Instrument Drivers for the Model 4200-SCS Introduction As the measurements performed on semiconductor devices grow increasingly complex, so does the demand for measurement automation. A typical test setup often involves several instruments performing sourcing, measurement, or auxiliary functions, all connected to a common communications bus (typically GPIB) and controlled by a PC station. The Model 4200-SCS parameter analyzer eliminated the need for a dedicated PC. The Keithley Interactive Test Environment (KITE) allows the Model 4200-SCS to perform as both a parameter analyzer and an external instrument controller, making it the command-and-control center of the entire instrument rack. KITE software already supports several popular instruments, such as pulse generators, switch matrices, and C-V analyzers, through software control modules known as drivers. Occasionally, a user may need to control an instrument that s not supported by a standard Keithley driver library. This technical note describes how to create custom instrument drivers. It assumes the reader is already familiar with the basic operation and software environment of the Model 4200-SCS, as well as with programming in C language. Overview In general, the Model 4200-SCS can control any external instrument connected to either the IEEE-488 (GPIB) bus or the RS-232 (serial) communication port, thanks to its flexible PC-based architecture. The GPIB protocol is currently the most widely used one. Figure 1 illustrates a multi-instrument system configuration. In the Model 4200-SCS, external equipment is controlled via the User Test Modules (UTMs), which are essentially C functions created and maintained with the Keithley User Library Tool (KULT). Figure 2 illustrates the relationship between user modules, user libraries, UTMs, KITE, and KULT. From an operator s perspective, controlling an external instrument via a UTM is very similar to programming that instrument from its own front panel. Once all the instrument settings are entered and saved, running an instrument is as easy as clicking the Run button in KITE. The added advantage of external control, however, is that now this UTM can be incorporated into a larger KITE project and become a part of a 4200-based automated test setup. Data collection, processing, graphing, and storage are also simplified.
2 Creating External Instrument Drivers for the 4200-SCS Figure 1. Figure 2.
3 Driver Structure An instrument driver can be as simple or as complex as the function the instrument is asked to perform. Typically, external instruments fall into two general categories: auxiliary devices (e.g., wafer probers, thermal chuck controllers, pulse generators, switch mainframes) and measurement instruments (e.g., C-V meters, LCR meters, oscilloscopes). Auxiliary device drivers are typically structured as illustrated in Figure 3. Note that the auxiliary devices require mostly one-way communication from the controller, which makes the drivers very simple. Measurement instruments perform more complex functions; therefore, their drivers are usually more complex. A typical measurement instrument driver is structured as illustrated in see Figure 4. General Considerations Let s look at an example from the standard Keithley libraries (the existing libraries that come standard on every Model 4200-SCS). The standard library for semi-automatic probers on the Model 4200-SCS is called PrbGen (for Prober Generic). This library contains four modules: PrInit (Prober Initialize), PrChuck (Prober Chuck), PrMovNxt (Prober Move Next), and PrSSMovNxt (Prober SubSite Move Next). Without getting into the details of implementation of these modules, it s easy to see this library addresses three primary functions of a semi-automatic prober: Raising/lowering the wafer chuck (module PrChuck) Moving the chuck to the next site (die) on the wafer (module PrMovNxt) Moving the chuck to the next subsite (sub-die) on the wafer (module PrSSMovNxt) It also addresses several auxiliary (but important) functions: Initializing the prober (module PrInit) Returning current X,Y die position after every move (module PrMovNxt) Returning an execution OK status or an error code (all modules) This library illustrates several important points in the general approach to driver structure and implementation: Select only those functions that are necessary and important. Keep in mind that programmable instruments are usually capable of a much wider array of functions than is required for a given project/task, and trying to cover 100% of the instrument s capability can be a huge undertaking. In the semi-automatic prober example, a typical prober can easily have more than a hundred commands in its programming manual, while less than ten were sufficient to implement the library. Figure 3. Figure 4. Initialize/Clear/Reset Measurement Instrument Perform Function (e.g., Move Chuck or Close Relay) Return Status/Feedback (optional) Done Initialize/Clear/Reset Measurement Instrument Set Up Instrument (e.g., Range, Output Values, Number of Sweep Points) Trigger Measurement Poll Instrument Until Measurement is Done Retrieve Data from Instrument Clean Up/Reset Instrument Done
4 Creating External Instrument Drivers for the 4200-SCS Keep the driver modular as much as possible. If there is a particular instrument function that may need to be called separately from accompanying functions, create a module around this function alone, rather than including it in a larger multi-function module. For example, the function of raising/lowering the chuck (PrChuck) could have been implemented as part of the function of moving the chuck to the next die (PrMovNxt) to form a Chuck Down->Move->Chuck Up sequence, but that would make it impossible to address the chuck without causing a move to the next wafer site. Driver Implementation Creating a new instrument driver usually involves the following stages: 1. Planning. The main goal of this stage is to develop a clear understanding of the functionality expected from the driver. By now, the user must be familiar with the operation of the instrument itself. 2. Layout. The goal of this stage is to break down the list of tasks/functions defined in Step 1 into functional modules. Also, identify all the corresponding remote commands, using the instrument s manual. 3. Coding. Here is where the layout created in Step 2 is implemented in C code using the KULT interface. Includes initial code debugging to get the library to compile and build. 4. Testing. At this stage, with the instrument connected to the 4200-SCS, the driver is tested to see if it works as expected. 5. Debugging and adding on. If the testing in Step 4 revealed some coding flaws, they need to be identified and repaired, and the driver re-tested. Once the driver starts working, many users decide to make additions and improvements to the existing code. 6. Creating documentation. This is an important but often forgotten step it allows the author of the driver to communicate how the driver works to other users, and makes future debugging and code maintenance much easier. May take the form of comments within the source code, user/operator instructions entered in the Description area of the KULT window, a stand-alone Readme file, or all of the above (recommended). Implementation Example We will now follow the step-by-step process of creating a simple auxiliary device driver, using Keithley s Model 7002 switch matrix as an example of the external instrument. The primary function of a switch matrix is to form interconnections according to the desired pattern, so we will limit the driver to two basic user modules: one that performs initialization and one that closes a single row-column crosspoint.
5 Open the KULT interface by double-clicking the KULT icon on the Model 4200-SCS desktop. A blank KULT window appears named KULT: Module NoName Library NoName. Select File -> New Library, and enter name Keithley _ 7002 _ switch. Then select File -> New Module, and enter the name Initialize _ switch. From a C language programming standpoint, so far, we have written the following: The first line, #include keithley.h, is a so-called preprocessor directive, which instructs the C compiler to include functions not explicitly defined in our module. This is inserted in the code automatically by KULT, and keeping this line is recommended. The next line, void Initialize _ switch ( ), declares the name of the function as well its return type. The curly braces indicate the start and end of the empty body of the function. The line /*End Initialize _ switch.c*/ is a comment, because the C compiler interprets anything between /* and */ as a comment. Please note that all of these elements of the code are created automatically by the KULT environment, and need not be manually entered. These steps have created a framework for the new driver, and we are now ready to start programming. In the module programming area, enter: #include keithley.h void Initialize _ switch ( ) { } /* End Initialize _ switch.c*/ char command _ string[20]; sprintf(command _ string, *RST ); kibsnd(gpib _ address, -1, GPIBTIMO, strlen(command _ string), command _ string); The first line, char command _ string[20];, declares an internal variable of type string, named command _ string, with a maximum length of 20 characters. The C compiler requires all variables to be declared at the beginning, before calling any functions or performing any other operations. It is okay give this string variable any other name, as long as the name is used consistently throughout the rest of the module. The second line, sprintf(command _ string, *RST );, assigns the string *RST to the variable command _ string. The sprintf( ) is a standard C function. The *RST is a GPIB command, which, according to the Model 7002 Switch System Instruction Manual, returns the Model 7002 to the *RST default conditions. It s always a good idea to put an instrument into a known state before programming it. In this case, the *RST clears all the errors and opens all the crosspoints on the 7002 switch, and this is exactly what we want to achieve with this initialization module. The third line, kibsnd(gpib _ address, -1, GPIBTIMO, strlen(command _ string), command _ string);, calls function kibsnd( ), which instructs the Model 4200-SCS to send a string contained in the variable command _ string to the GPIB instrument at address GPIB _ address. The function kibsnd( ) is part of the Keithley
6 Creating External Instrument Drivers for the 4200-SCS Linear Parametric Test Library (LPTlib), which is documented in detail in the Model 4200-SCS Reference Manual. Note that we have used a variable called GPIB _ address as the first argument of the kibsnd( ) function. We will turn this variable into a user parameter, which can be edited from the KITE interface without making any changes to the source code. Select the Parameters tab at the bottom of the KULT window, click the Add button, and add this user parameter, as shown in Figure 5. This completes the code entry. The module needs to be saved (File -> Save Module), compiled (Options -> Compile), and built into a library (Options -> Build Library) before it can be executed. Figure 5. It may be a good idea at this point to perform an actual test of the operation of this simple module, before more coding is done. After connecting the 7002 switch to the Model 4200-SCS with a GPIB cable, create a new UTM in KITE and point it to the new module, as shown in Figure 6. Pressing the Run button in KITE should reset the 7002 switch to a default state. If this doesn t happen, take steps to determine and correct the cause of the failure (e.g., poor cable connection, wrong GPIB address entered, etc.) Figure 6. Once the communication had been established and the instrument responds the way it should, the driver can be completed by adding the second module, which performs the actual function of closing a crosspoint in the switch matrix. Following the same steps as previously, we will arrive at the following like that shown in Figure 7. The driver is now complete. Driver implementation Beyond the Basics Please keep in mind that this example was chosen to illustrate the process of creating the simplest driver. Most instruments typically require setting up a dozen or more commands properly. Drivers may also include error checking, operator prompts, conditional statements, and many other features that are possible in the programming environment. Some of the additional techniques are summarized in the following subsections, using fragments of simplified driver code, borrowed largely from the standard libraries. The standard 4200-SCS libraries are a great source of programming examples and techniques. Readers are highly encouraged to study those drivers and borrow from them to speed up the learning curve and achieve results in the most efficient manner. Figure 7.
7 Initial handshaking It s sometimes a good idea to have the driver detect the instrument and determine its model before proceeding with further programming. If an unsupported model is detected, the driver should output an error message and quit. The following fragment of code illustrates this technique in the case of the Keithley Model 2400 driver: sprintf(commandstring, *IDN?\n ); // Send a request for instrument model ID kibsnd(gpibaddress24xx, -1, GPIBTIMO, strlen(commandstring), CommandString ); kibrcv(gpibaddress24xx, IGNORE _ PARAM, LF, GPIBTIMO, max _ size, &rcv _ size, RawReading); // Receive instrument ID string if(strstr(rawreading, 2400 ) = = NULL) // if it is not a 2400 { return ( Instrument not recognized ); } Serial polling An instrument that had been programmed to perform a certain function (e.g., make a measurement) may take an indeterminate amount of time to complete it and return results. To indicate that the task has been completed, instruments set an SRQ status bit. Reading the status of the SRQ bit is known as serial polling. The following code fragment illustrates how this is done in the Model 590 driver: // Set up to enable SRQ on sweep complete sprintf(commandstring, M4X ); kibsnd(gpibaddress, IGNORE _ PARAM, GPIBTIMO, strlen(commandstring), CommandString);. // Serial poll the instrument to clear kibspl(gpibaddress, IGNORE _ PARAM, GPIBTIMO, &spollbyte); // Now serial poll until the measurement is complete kibsplw(gpibaddress, IGNORE _ PARAM, GPIBTIMO, &spollbyte); Returning measurement data The ultimate goal of a measurement instrument driver is to obtain and bring the data into KITE for plotting and analysis. Depending on the instrument and the type of measurement, the format of the returned data will vary. A single-point measurement will return a scalar, while a sweep will return an array (or several arrays). These return parameters must be defined in a UTM as output-type arguments of appropriate type. Typically, after the measurement is complete, as indicated by the set SRQ bit, the instrument needs to be addressed to return data. The following code example illustrates how array data is obtained from a Model 590:
8 Creating External Instrument Drivers for the 4200-SCS // Set up a loop: for (index=0; index < num _ readings; index++) { // Read a set of data: kibrcv(gpibaddress, IGNORE _ PARAM, LF, GPIBTIMO, max _ size, &rcv _ size, RawReading); //Convert string into three numbers: sscanf(rawreading, %11g,%11g,%11g, &temp1, &temp2, &temp3); // Assign raw reading data to output arguments: C[index] = temp1; G _ or _ R[index] = temp2; V[index] = temp3; } Outputting messages There are several ways to make a UTM output messages, just as there may be several reasons for a programmer to want to output a message. During code debugging, it might make sense to output text to a Keithley Message Console, which is enabled by typing msgcon at the MS-DOS command prompt. Once the code is working, it might be better to have the module return its status as a string for example, OK or ERROR: GPIB TIME- OUT. Finally, a pop-up dialog may be called from within a module, using existing dialog types from the winulib library. These three methods are illustrated here:. // Output a message to the Keithley Message Console: printf( measurement complete );.. // Output a message for an operator through an OK-type dialog pop-up window: OkDialog(1, hello world,,, );. //Return function execution status: return ( OK ); Conclusion The KULT interface expands the built-in capabilities of the Model SCS well beyond those of a dedicated parameter analyzer. Custom instrument drivers address the need for measurement system integration by providing users with a wide array of programming options. Specifications are subject to change without notice. All Keithley trademarks and trade names are the property of Keithley Instruments, Inc. All other trademarks and trade names are the property of their respective companies. Keithley Instruments, Inc Aurora Road Cleveland, Ohio Fax: KEITHLEY ( ) Copyright 2005 Keithley Instruments, Inc. No Printed in the U.S.A. 1005
KTE Interactive V9.1 Service Pack 4
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley KTE Interactive V9.1 Service Pack 4 Software Release Notes & Installation Instructions Introduction
More informationKTE Interactive V9.1 Service Pack 2
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley KTE Interactive V9.1 Service Pack 2 Software Release Notes & Installation Instructions Introduction
More information2400 Series C32 Firmware Release Notes. Contents. General Information. Supported Models
Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139-1891 440-248-0400 Fax: 440-248-6168 http://www.keithley.com 2400 Series C32 Firmware Release Notes Contents Contents... 1 General Information...
More informationSeries 2400 Version C34 Firmware Release Notes
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139-1891 1-888-KEITHLEY www.keithley.com Series 2400 Version C34 Firmware Release Notes Contents General Information... 2 Supported models... 2
More informationInstallation and Getting Started Guide
Installation and Getting Started Guide Metrics ICV Version 4.1.0 Copyright 1999-2015, Metrics Technology, Inc. All rights reserved. Table of Contents Installing the ICV Software... 4 Obtain a Codeword...
More informationClarius + Version 1.3
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley + Version 1.3 Software Release Notes & Installation Instructions Important information The 4200A-SCS
More informationCritical Fixes... 6 Enhancements... 7 Non-critical Fixes... 7 B05 Release... 8 Critical Fixes... 8 Enhancements... 9 Non-critical Fixes...
Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139-1891 440-248-0400 Fax: 440-248-6168 http://www.keithley.com 2700 B09 Firmware Release Notes Contents Contents... 1 General Information...
More informationModel 4200-SCS and Model 4200A-SCS systems do not include a preinstalled compiler, unless you specifically order it when you purchase your system.
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley Model 4200-Compiler Installation Instructions Model 4200-Compiler Model 4200-SCS and Model 4200A-SCS
More informationD02 Release... 4 Overview... 4 Critical fixes... 4 Enhancements... 4 Non-critical fixes... 4 D01 Release... 4
Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139-1891 1-888-KEITHLEY http://www.keithley.com Model 2701 Ethernet-Based DMM/Data Acquisition System Firmware Release Notes Contents Contents...
More informationSeries 370 S SoftwSystem are Qui Switch/Mult ck Start G imeter uide Quick Start Guide
Series ACS 3700A Software System Quick Switch/Multimeter Start Guide Quick Start Guide Safety precautions Observe the following safety precautions before using this product and any associated instrumentation.
More informationClarius + Version 1. 4
+ Version 1. 4 Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley Software Release Notes & Installation Instructions Important information The 4200A-SCS
More informationCST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2010
CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2010 The process of creating a project with Microsoft Visual Studio 2010.Net is similar to the process in Visual
More informationMoving from BASIC to C with LabWindows /CVI
Application Note 055 Moving from BASIC to C with LabWindows /CVI John Pasquarette Introduction The instrumentation industry has historically used the BASIC language for automating test and measurement
More informationModel 7705 Control Module
www.keithley.com Model 7705 Control Module User s Guide PA-696 Rev. D / October 2006 A G R E A T E R M E A S U R E O F C O N F I D E N C E Safety Precautions The following safety precautions should be
More informationthe NXT-G programming environment
2 the NXT-G programming environment This chapter takes a close look at the NXT-G programming environment and presents a few simple programs. The NXT-G programming environment is fairly complex, with lots
More informationMETRICS WIN4145. How Win4145 Stores Information. Project Files. The Win4145 Initialization File. Data and Plot Windows.
METRICS WIN4145 REFERENCE GUIDE CONTENTS CHAPTER 1: A QUICK TOUR OF WIN4145 How Win4145 Stores Information Project Files The Win4145 Initialization File Data and Plot Windows The Menu Bars The Toolbar
More informationAppendix A. Introduction to MATLAB. A.1 What Is MATLAB?
Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system
More informationAurora. Device Characterization and Parameter Extraction System
SYSTEMS PRODUCTS LOGICAL PRODUCTS PHYSICAL IMPLEMENTATION SIMULATION AND ANALYSIS LIBRARIES TCAD Aurora DFM WorkBench Davinci Medici Raphael Raphael-NES Silicon Early Access TSUPREM-4 Taurus-Device Taurus-Lithography
More informationChapter 2, Part I Introduction to C Programming
Chapter 2, Part I Introduction to C Programming C How to Program, 8/e, GE 2016 Pearson Education, Ltd. All rights reserved. 1 2016 Pearson Education, Ltd. All rights reserved. 2 2016 Pearson Education,
More informationClarius + Version 1.4.1
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley + Version 1.4.1 Software Release Notes & Installation Instructions Important information The 4200A-SCS
More information2 Getting Started. Getting Started (v1.8.6) 3/5/2007
2 Getting Started Java will be used in the examples in this section; however, the information applies to all supported languages for which you have installed a compiler (e.g., Ada, C, C++, Java) unless
More informationThis 4200-RM Rack Mount Kit is for installation in 4200-CAB series cabinets only.
Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139 (440) 248-0400 Fax: (440) 248-6168 www.keithley.com Model 4200-RM Rack Mount Kit Packing List Introduction NOTE This 4200-RM Rack Mount
More informationMAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager
MAPLOGIC CORPORATION GIS Software Solutions Getting Started With MapLogic Layout Manager Getting Started with MapLogic Layout Manager 2011 MapLogic Corporation All Rights Reserved 330 West Canton Ave.,
More informationCS 211 Programming Practicum Fall 2018
Due: Wednesday, 11/7/18 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a C++ program that will evaluate an infix expression. The algorithm REQUIRED for this program will
More informationMagic Tutorial #1: Getting Started
Magic Tutorial #1: Getting Started John Ousterhout (updated by others, too) Computer Science Division Electrical Engineering and Computer Sciences University of California Berkeley, CA 94720 This tutorial
More informationCSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java)
Goals - to learn how to compile and execute a Java program - to modify a program to enhance it Overview This activity will introduce you to the Java programming language. You will type in the Java program
More informationprintf( Please enter another number: ); scanf( %d, &num2);
CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful
More informationObjectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program
Objectives Chapter 2: Basic Elements of C++ In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates
More informationChapter 2: Basic Elements of C++
Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates
More informationChapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction
Chapter 2: Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 1 Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers
More informationAccept all the default choices in the Wizard's pages.
XLL+ Overview XLL+ is a C++ add-in which assists users in creating Excel add-in components. Two key components assist developers in creating Excel add-ins more quickly and requiring less debugging: AppWizard
More informationFundamental C# Programming
Part 1 Fundamental C# Programming In this section you will find: Chapter 1: Introduction to C# Chapter 2: Basic C# Programming Chapter 3: Expressions and Operators Chapter 4: Decisions, Loops, and Preprocessor
More informationIS12 - Introduction to Programming. Lecture 7: Introduction to C
IS12 - Introduction to Programming Lecture 7: Introduction to C Peter Brusilovsky http://www2.sis.pitt.edu/~peterb/0012-072/ Lecture 7: Introduction to C. Overview C vs. other languages Information representation
More informationKeithley Instruments Customer Documentation Series 2600A UL Safety Supplement
Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139 1-888-KEITHLEY www.keithley.com Keithley Instruments Customer Documentation Series 2600A UL Safety Supplement 1. Introduction The Keithley
More informationA Fast Review of C Essentials Part I
A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types
More informationTable of Contents. 1. Prepare Data for Input. CVEN 2012 Intro Geomatics Final Project Help Using ArcGIS
Table of Contents 1. Prepare Data for Input... 1 2. ArcMap Preliminaries... 2 3. Adding the Point Data... 2 4. Set Map Units... 3 5. Styling Point Data: Symbology... 4 6. Styling Point Data: Labels...
More informationHelp Volume Hewlett Packard Company. All rights reserved. Toolsets: IA Format Utility
Help Volume 1997-2002 Hewlett Packard Company. All rights reserved. Toolsets: IA Format Utility Using the IA Format Utility The IA Format Utility tool lets you convert a.r (dot R) file into an inverse
More informationBasics of Keithley Interactive Test Environment
Basics of Keithley Interactive Test Environment 0 Launching KITE Power Up and Log On ACTION 1. From Power-up: disconnect DUTs, stay clear of SMU output connectors/probes Log-on: KIUSER (no password) or
More informationINTRODUCTION 1 AND REVIEW
INTRODUTION 1 AND REVIEW hapter SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Programming: Advanced Objectives You will learn: Program structure. Program statements. Datatypes. Pointers. Arrays. Structures.
More informationWorking with Excel CHAPTER 1
CHAPTER 1 Working with Excel You use Microsoft Excel to create spreadsheets, which are documents that enable you to manipulate numbers and formulas to quickly create powerful mathematical, financial, and
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationClarius + Version 1.5
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 http://www.tek.com/keithley + Version 1.5 Software Release Notes & Installation Instructions Important information The 4200A-SCS
More informationWorking with Excel involves two basic tasks: building a spreadsheet and then manipulating the
Working with Excel You use Microsoft Excel to create spreadsheets, which are documents that enable you to manipulate numbers and formulas to create powerful mathematical, financial, and statistical models
More informationIU Kokomo Career and Accessibility Center
Creating an Accessible Syllabus in Microsoft Word Incorporating the use of headings and a table of contents (if needed) in your syllabus will make the document increasingly accessible to all students.
More informationHelp Volume Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface
Help Volume 1994-2002 Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface Agilent E2485A Memory Expansion Interface The E2485A Memory Expansion Interface lets you use the
More informationSection 1 Establishing an Instrument Connection
Manual for Sweep VI Fall 2011 DO NOT FORGET TO SAVE YOUR DATA TO A NEW LOCATION, OTHER THAN THE TEMP FOLDER ON YOUR LAB STATION COMPUTER! FAILURE TO DO SO WILL RESULT IN LOST DATA WHEN YOU LOG OUT! 1.1.
More information3 CREATING YOUR FIRST JAVA APPLICATION (USING WINDOWS)
GETTING STARTED: YOUR FIRST JAVA APPLICATION 15 3 CREATING YOUR FIRST JAVA APPLICATION (USING WINDOWS) GETTING STARTED: YOUR FIRST JAVA APPLICATION Checklist: The most recent version of Java SE Development
More informationDisassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application.
Nios II Debug Client This tutorial presents an introduction to the Nios II Debug Client, which is used to compile, assemble, download and debug programs for Altera s Nios II processor. This tutorial presents
More informationUPDATING THE SERVICE TOOL Updating the Service Tool with Prism 2
Updating the Service Tool with Prism 2 Updating the Modular Service Tool SD with Prism 2 Version 4.5.0 and higher The Modular Service Tool SD is equipped with the ability to update its software with the
More informationHelp Volume Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16550A Logic Analyzer
Help Volume 1992-2002 Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16550A Logic Analyzer Agilent Technologies 16550A 100 MHz State/500 MHz Timing Logic Analyzer The Agilent
More informationSystem II Device Driver & Controller
System II Device Driver & Controller System II 32-bit Device Driver & Controller User s Guide Version 1.0 01 January 1999 Copyright 1998 Tucker-Davis Technologies, TDT. All rights reserved. No part of
More information7 Cmicro Targeting. Tutorial. Chapter
7 Cmicro Targeting Tutorial This tutorial takes you through the first steps of targeting. Currently this tutorial is designed for using a Borland C or a Microsoft Visual C compiler in Windows, and gcc
More informationModels 707B and 708B Switching Matrix
E C N E D I F N O C F O E R U S A E M R E T A E R G A Models 707B and 708B Switching Matrix User s Manual 707B-900-01 Rev. A / August 2010 Test Equipment Depot - 800.517.8431-99 Washington Street Melrose,
More informationUnder the Debug menu, there are two menu items for executing your code: the Start (F5) option and the
CS106B Summer 2013 Handout #07P June 24, 2013 Debugging with Visual Studio This handout has many authors including Eric Roberts, Julie Zelenski, Stacey Doerr, Justin Manis, Justin Santamaria, and Jason
More informationSeries 3700A System Switch/Multimeter Version 1.54 Firmware Release Notes
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139-1891 1-888-KEITHLEY www.keithley.com Series 3700A System Switch/Multimeter Version 1.54 Firmware Release Notes Contents General Information...
More informationMobile App:IT. Methods & Classes
Mobile App:IT Methods & Classes WHAT IS A METHOD? - A method is a set of code which is referred to by name and can be called (invoked) at any point in a program simply by utilizing the method's name. -
More informationA First Book of ANSI C Fourth Edition. Chapter 8 Arrays
A First Book of ANSI C Fourth Edition Chapter 8 Arrays Objectives One-Dimensional Arrays Array Initialization Arrays as Function Arguments Case Study: Computing Averages and Standard Deviations Two-Dimensional
More informationS530 Parametric Test System
www.tek.com/keithley S530 Parametric Test System Diagnostic and Verification Manual S530-906-01 Rev. F / September 2017 *PS530-906-01G* S530-906-01G A Tektronix Company S530 Diagnostic and Verification
More informationInteractive MATLAB use. Often, many steps are needed. Automated data processing is common in Earth science! only good if problem is simple
Chapter 2 Interactive MATLAB use only good if problem is simple Often, many steps are needed We also want to be able to automate repeated tasks Automated data processing is common in Earth science! Automated
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationMAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager
MAPLOGIC CORPORATION GIS Software Solutions Getting Started With MapLogic Layout Manager Getting Started with MapLogic Layout Manager 2008 MapLogic Corporation All Rights Reserved 330 West Canton Ave.,
More informationKey Concept: all programs can be broken down to a combination of one of the six instructions Assignment Statements can create variables to represent
Programming 2 Key Concept: all programs can be broken down to a combination of one of the six instructions Assignment Statements can create variables to represent information Input can receive information
More informationGetting Started (1.8.7) 9/2/2009
2 Getting Started For the examples in this section, Microsoft Windows and Java will be used. However, much of the information applies to other operating systems and supported languages for which you have
More information1 Getting used to Python
1 Getting used to Python We assume you know how to program in some language, but are new to Python. We'll use Java as an informal running comparative example. Here are what we think are the most important
More informationSemester 2, 2018: Lab 1
Semester 2, 2018: Lab 1 S2 2018 Lab 1 This lab has two parts. Part A is intended to help you familiarise yourself with the computing environment found on the CSIT lab computers which you will be using
More informationUPDATING THE SYSTEM MANAGER SD Updating the System Manager with Prism 2
Updating the System Manager with Prism 2 Updating the System Manager SD with Prism 2 Version 4.5.0 and higher 7. Click on the icon. The Job-Sites Window will appear. In the Type of CommLink
More informationXilinx Vivado/SDK Tutorial
Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping
More informationChapter 1: A Quick Tour of ICS Chapter The Setup Editor 26
Chapter 1: A Quick Tour of ICS 5 What is ICS SOFTWARE? How ICS Stores Information Test Setups The Test Setup/Project File Relationship Test Setup Applications The Setup Editor Project Files Creating Project
More informationDetailed instructions for video analysis using Logger Pro.
Detailed instructions for video analysis using Logger Pro. 1. Begin by locating or creating a video of a projectile (or any moving object). Save it to your computer. Most video file types are accepted,
More informationAlarm Distribution Shelf (ADS)
DPS Telecom Operation Guide "Your Partners In Telecom Management Networks" Alarm Distribution Shelf (ADS) Overview The ADS permits building and facility owners to collect and distribute alarms to their
More information17 USING THE EDITOR AND CREATING PROGRAMS AND FUNCTIONS
17 USING THE EDITOR AND CREATING PROGRAMS AND FUNCTIONS % Programs are kept in an m-file which is a series of commands kept in the file that is executed from MATLAB by typing the program (file) name from
More informationAn Introductory Guide to SpecTRM
An Introductory Guide to SpecTRM SpecTRM (pronounced spectrum and standing for Specification Tools and Requirements Methodology) is a toolset to support the specification and development of safe systems
More informationCST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2005
CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2005 The process of creating a project with Microsoft Visual Studio 2005.Net is similar to the process in Visual
More informationProvisioning Systems and Other Ways to Share the Wealth of SAS Across a Network Jason Losh and Michael King, SAS Institute Inc.
Paper 290-2008 Provisioning Systems and Other Ways to Share the Wealth of SAS Across a Network Jason Losh and Michael King, SAS Institute Inc., Cary, NC ABSTRACT This paper will outline SAS deployment
More informationGetting Started: Creating and Executing a Test Setup. Step 1: Cable the Hardware Connections. Step 2: Connect the HP4145 Instrument Driver
METRICS TECHNOLOGY WIN4145 GETTING STARTED GUIDE CONTENTS Getting Started: Creating and Executing a Test Setup Step 1: Cable the Hardware Connections Step 2: Connect the HP4145 Instrument Driver Step 3:
More informationA function is a named piece of code that performs a specific task. Sometimes functions are called methods, procedures, or subroutines (like in LC-3).
CIT Intro to Computer Systems Lecture # (//) Functions As you probably know from your other programming courses, a key part of any modern programming language is the ability to create separate functions
More informationC How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.
C How to Program, 6/e 1992-2010 by Pearson Education, Inc. 1992-2010 by Pearson Education, Inc. 1992-2010 by Pearson Education, Inc. This chapter serves as an introduction to the important topic of data
More informationContents. IDEC Communication Driver. Driver for Serial communication with Devices using the IDEC MicroSmart Communication Protocol INTRODUCTION...
IDEC Communication Driver Driver for Serial communication with Devices using the IDEC MicroSmart Communication Protocol Contents INTRODUCTION... 2 GENERAL INFORMATION... 3 DEVICE CHARACTERISTICS... 3 LINK
More informationModel 3390 Arbitrary Waveform Generator
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139 1-800-935-5595 tek.com/keithley Model 3390 Arbitrary Waveform Generator Version 1.07 Firmware Release Notes CONTENTS Contents... 1 General Information...
More informationSome Computer Preliminaries
Some Computer Preliminaries Before we get started, let's look at some basic components that play a major role in a computer's ability to run programs: 1) Central Processing Unit: The "brains" of the computer
More informationRunning a C program Compilation Python and C Variables and types Data and addresses Functions Performance. John Edgar 2
CMPT 125 Running a C program Compilation Python and C Variables and types Data and addresses Functions Performance John Edgar 2 Edit or write your program Using a text editor like gedit Save program with
More informationJavaScript: Introduction, Types
JavaScript: Introduction, Types Computer Science and Engineering College of Engineering The Ohio State University Lecture 19 History Developed by Netscape "LiveScript", then renamed "JavaScript" Nothing
More informationEssentials for the TI-83+
Essentials for the TI-83+ Special Keys. O S O O Press and release, then press the appropriate key to access the 2nd (yellow) operation. Press and release to access characters and letters indicated above
More informationSemiconductor Switch Matrix Mainframes Six-slot and Single-slot Versions
Significantly faster commandto-connect speeds than earlier Series 700 mainframes mainframe controls a single 8 12 matrix card 707B mainframe controls up to six 8 12 matrix cards Compatible with the popular
More informationMail Setup Tool (Version 1.2US) User's Guide
Mail Setup Tool (Version 1.2US) User's Guide Trademarks Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
More informationCS50 Supersection (for those less comfortable)
CS50 Supersection (for those less comfortable) Friday, September 8, 2017 3 4pm, Science Center C Maria Zlatkova, Doug Lloyd Today s Topics Setting up CS50 IDE Variables and Data Types Conditions Boolean
More informationChapter 11 Dealing With Data SPSS Tutorial
Chapter 11 Dealing With Data SPSS Tutorial 1. Visit the student website at for this textbook at www.clowjames.net/students. 2. Download the following files: Chapter 11 Dealing with Data (SPSS data file)
More informationExcel Tips and FAQs - MS 2010
BIOL 211D Excel Tips and FAQs - MS 2010 Remember to save frequently! Part I. Managing and Summarizing Data NOTE IN EXCEL 2010, THERE ARE A NUMBER OF WAYS TO DO THE CORRECT THING! FAQ1: How do I sort my
More informationModule 3: Working with C/C++
Module 3: Working with C/C++ Objective Learn basic Eclipse concepts: Perspectives, Views, Learn how to use Eclipse to manage a remote project Learn how to use Eclipse to develop C programs Learn how to
More informationFluke Metrology Software
Fluke Metrology Software Version 7 MET/CAL 5500/CAL Getting Started Guide P/N 1275404 July 1999 Rev. 2, 9/04 1996-2004Fluke Corporation, All rights reserved. Printed in U.S.A. All product names are trademarks
More informationSherlock Tutorial Project Overview
Sherlock Tutorial Project Overview Background Sherlock organizes design files, inputs and analysis results as project folders that can be managed inside of the Sherlock application and shared between Sherlock
More informationModel 2750 Version A15 Firmware Release Notes
Keithley Instruments 28775 Aurora Road Cleveland, Ohio 44139-1891 1-888-KEITHLEY www.keithley.com Model Version A15 Firmware Release Notes Contents General Information... 2 Version A15 Release... 3 Version
More informationSeries 3700 Screw Terminal Assemblies Installation Instructions
Keithley Instruments, Inc. 28775 Aurora Road Cleveland, Ohio 44139 1-888-KEITHLEY www.keithley.com Series 3700 Screw Terminal Assemblies Installation Instructions Introduction This document contains handling
More informationJune 6 to 9, 2010 San Diego, CA Probe Cards with Modular Integrated Switching Matrices
June 6 to 9, 2010 San Diego, CA Probe Cards with Modular Integrated Switching Matrices Authors: Evan Grund Jay Thomas Agenda Review of Traditional Scribeline Parametric IV and CV Probe Card Requirements
More informationLaboratory Assignment #3 Eclipse CDT
Lab 3 September 12, 2010 CS-2303, System Programming Concepts, A-term 2012 Objective Laboratory Assignment #3 Eclipse CDT Due: at 11:59 pm on the day of your lab session To learn to learn to use the Eclipse
More informationSTATISTICAL TECHNIQUES. Interpreting Basic Statistical Values
STATISTICAL TECHNIQUES Interpreting Basic Statistical Values INTERPRETING BASIC STATISTICAL VALUES Sample representative How would one represent the average or typical piece of information from a given
More informationPHY 351/651 LABORATORY 1 Introduction to LabVIEW
PHY 351/651 LABORATORY 1 Introduction to LabVIEW Introduction Generally speaking, modern data acquisition systems include four basic stages 1 : o o A sensor (or transducer) circuit that transforms a physical
More informationF28069 ControlCard Lab1
F28069 ControlCard Lab1 Toggle LED LD2 (GPIO31) and LD3 (GPIO34) 1. Project Dependencies The project expects the following support files: Support files of controlsuite installed in: C:\TI\controlSUITE\device_support\f28069\v135
More informationUsing Advanced Triggering
Using Advanced Triggering Methods to Reduce ATE Test Times Introduction With advances in technology, Automatic Test Equipment (ATE) systems are becoming more widely used across a range of industries including
More informationIntroduction to Python Part 2
Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules
More information