Creating External Instrument Drivers for the Model 4200-SCS

Size: px
Start display at page:

Download "Creating External Instrument Drivers for the Model 4200-SCS"

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

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 information

KTE Interactive V9.1 Service Pack 2

KTE 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 information

2400 Series C32 Firmware Release Notes. Contents. General Information. Supported Models

2400 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 information

Series 2400 Version C34 Firmware Release Notes

Series 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 information

Installation and Getting Started Guide

Installation 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 information

Clarius + Version 1.3

Clarius + 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 information

Critical Fixes... 6 Enhancements... 7 Non-critical Fixes... 7 B05 Release... 8 Critical Fixes... 8 Enhancements... 9 Non-critical Fixes...

Critical 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 information

Model 4200-SCS and Model 4200A-SCS systems do not include a preinstalled compiler, unless you specifically order it when you purchase your system.

Model 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 information

D02 Release... 4 Overview... 4 Critical fixes... 4 Enhancements... 4 Non-critical fixes... 4 D01 Release... 4

D02 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 information

Series 370 S SoftwSystem are Qui Switch/Mult ck Start G imeter uide Quick Start Guide

Series 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 information

Clarius + Version 1. 4

Clarius + 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 information

CST8152 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 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 information

Moving from BASIC to C with LabWindows /CVI

Moving 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 information

Model 7705 Control Module

Model 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 information

the NXT-G programming environment

the 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 information

METRICS WIN4145. How Win4145 Stores Information. Project Files. The Win4145 Initialization File. Data and Plot Windows.

METRICS 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 information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix 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 information

Aurora. Device Characterization and Parameter Extraction System

Aurora. 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 information

Chapter 2, Part I Introduction to C Programming

Chapter 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 information

Clarius + Version 1.4.1

Clarius + 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 information

2 Getting Started. Getting Started (v1.8.6) 3/5/2007

2 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 information

This 4200-RM Rack Mount Kit is for installation in 4200-CAB series cabinets only.

This 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 information

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager

MAPLOGIC 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 information

CS 211 Programming Practicum Fall 2018

CS 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 information

Magic Tutorial #1: Getting Started

Magic 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 information

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java)

CSCI 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 information

printf( Please enter another number: ); scanf( %d, &num2);

printf( 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 information

Objectives. 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++ 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 information

Chapter 2: Basic Elements of C++

Chapter 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 information

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Chapter 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 information

Accept all the default choices in the Wizard's pages.

Accept 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 information

Fundamental C# Programming

Fundamental 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 information

IS12 - Introduction to Programming. Lecture 7: Introduction to C

IS12 - 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 information

Keithley Instruments Customer Documentation Series 2600A UL Safety Supplement

Keithley 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 information

A Fast Review of C Essentials Part I

A 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 information

Table of Contents. 1. Prepare Data for Input. CVEN 2012 Intro Geomatics Final Project Help Using ArcGIS

Table 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 information

Help Volume Hewlett Packard Company. All rights reserved. Toolsets: IA Format Utility

Help 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 information

Basics of Keithley Interactive Test Environment

Basics 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 information

INTRODUCTION 1 AND REVIEW

INTRODUCTION 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 information

Working with Excel CHAPTER 1

Working 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 information

Full file at

Full 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 information

Clarius + Version 1.5

Clarius + 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 information

Working with Excel involves two basic tasks: building a spreadsheet and then manipulating the

Working 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 information

IU Kokomo Career and Accessibility Center

IU 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 information

Help Volume Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface

Help 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 information

Section 1 Establishing an Instrument Connection

Section 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 information

3 CREATING YOUR FIRST JAVA APPLICATION (USING WINDOWS)

3 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 information

Disassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application.

Disassemble 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 information

UPDATING THE SERVICE TOOL Updating the Service Tool with Prism 2

UPDATING 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 information

Help Volume Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16550A Logic Analyzer

Help 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 information

System II Device Driver & Controller

System 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 information

7 Cmicro Targeting. Tutorial. Chapter

7 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 information

Models 707B and 708B Switching Matrix

Models 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 information

Under the Debug menu, there are two menu items for executing your code: the Start (F5) option and the

Under 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 information

Series 3700A System Switch/Multimeter Version 1.54 Firmware Release Notes

Series 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 information

Mobile App:IT. Methods & Classes

Mobile 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 information

A First Book of ANSI C Fourth Edition. Chapter 8 Arrays

A 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 information

S530 Parametric Test System

S530 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 information

Interactive MATLAB use. Often, many steps are needed. Automated data processing is common in Earth science! only good if problem is simple

Interactive 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 information

Pace University. Fundamental Concepts of CS121 1

Pace 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 information

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager

MAPLOGIC 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 information

Key Concept: all programs can be broken down to a combination of one of the six instructions Assignment Statements can create variables to represent

Key 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 information

Getting Started (1.8.7) 9/2/2009

Getting 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 information

1 Getting used to Python

1 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 information

Semester 2, 2018: Lab 1

Semester 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 information

UPDATING THE SYSTEM MANAGER SD Updating the System Manager with Prism 2

UPDATING 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 information

Xilinx Vivado/SDK Tutorial

Xilinx 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 information

Chapter 1: A Quick Tour of ICS Chapter The Setup Editor 26

Chapter 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 information

Detailed instructions for video analysis using Logger Pro.

Detailed 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 information

Alarm Distribution Shelf (ADS)

Alarm 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 information

17 USING THE EDITOR AND CREATING PROGRAMS AND FUNCTIONS

17 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 information

An Introductory Guide to SpecTRM

An 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 information

CST8152 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 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 information

Provisioning Systems and Other Ways to Share the Wealth of SAS Across a Network Jason Losh and Michael King, SAS Institute Inc.

Provisioning 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 information

Getting Started: Creating and Executing a Test Setup. Step 1: Cable the Hardware Connections. Step 2: Connect the HP4145 Instrument Driver

Getting 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 information

A function is a named piece of code that performs a specific task. Sometimes functions are called methods, procedures, or subroutines (like in LC-3).

A 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 information

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.

C 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 information

Contents. IDEC Communication Driver. Driver for Serial communication with Devices using the IDEC MicroSmart Communication Protocol INTRODUCTION...

Contents. 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 information

Model 3390 Arbitrary Waveform Generator

Model 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 information

Some Computer Preliminaries

Some 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 information

Running a C program Compilation Python and C Variables and types Data and addresses Functions Performance. John Edgar 2

Running 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 information

JavaScript: Introduction, Types

JavaScript: 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 information

Essentials for the TI-83+

Essentials 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 information

Semiconductor Switch Matrix Mainframes Six-slot and Single-slot Versions

Semiconductor 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 information

Mail Setup Tool (Version 1.2US) User's Guide

Mail 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 information

CS50 Supersection (for those less comfortable)

CS50 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 information

Chapter 11 Dealing With Data SPSS Tutorial

Chapter 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 information

Excel Tips and FAQs - MS 2010

Excel 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 information

Module 3: Working with C/C++

Module 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 information

Fluke Metrology Software

Fluke 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 information

Sherlock Tutorial Project Overview

Sherlock 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 information

Model 2750 Version A15 Firmware Release Notes

Model 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 information

Series 3700 Screw Terminal Assemblies Installation Instructions

Series 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 information

June 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 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 information

Laboratory Assignment #3 Eclipse CDT

Laboratory 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 information

STATISTICAL TECHNIQUES. Interpreting Basic Statistical Values

STATISTICAL 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 information

PHY 351/651 LABORATORY 1 Introduction to LabVIEW

PHY 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 information

F28069 ControlCard Lab1

F28069 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 information

Using Advanced Triggering

Using 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 information

Introduction to Python Part 2

Introduction 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