LabView Universal Driver Presentation Part A Shmulik & Pia Zobel Advisor: Mony Orbach.

Slides:



Advertisements
Similar presentations
Device Drivers Witawas Srisa-an Embedded Systems Design and Implementation.
Advertisements

LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Floyd, Digital Fundamentals, 10 th ed EET 2259 Unit 2 Virtual Instruments Read Bishop, Chapter 2. Lab #2 and Homework #2 due next week. Quiz #1 next week.
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings.
Labview Postgresql Connectivity
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Controlled Scanning of Microtiter Plates through the Use of LabVIEW® Erica Chin Anton Edmund Samir Laoui May 14, 2008.
Universal driver for LabView Pia & Shmulik Zobel Advisor – Mony Orbach.
Universal driver for Labview Shmulik Zobel Pia Zobel
Students: Asulin Ofir Heller Itai Supervisor: Mony Orbach In association with: June 16, summer 2006.
Students: Asulin Ofir Heller Itai Supervisor: Mony Orbach In association with: June 16, summer 2006.
LabView driver Middle semester presentation Shmulik Zobel Pia Zobel advisor- Mony Orbach.
CS320n –Visual Programming Introduction to LabVIEW.
ME 411/511Prof. Sailor Data Acquisition & LabView Lecture goals… –Learn the basics of how to use and modify LabView Virtual Instruments –Become familiar.
LabVIEW: Tips & Tricks Ihor Korolov March 2011.
E-LABORATORY PRACTICAL TEACHING FOR APPLIED ENGINEERING SCIENCES OPEN DAY University of Oradea 12 March 2012 Project HURO/0901/028 Acronym: EPRAS Pavel.
Programming mobile devices Part II Programming Symbian devices with Symbian C++
How to use LabVIEW Ihor Korolov February 2011.
Driver Station MVRT 2009 – 2010 Season. Add information Breadboard Classmate PC USB Hub Joysticks Stop Button.
LabVIEW an Introduction
Data Acquisition Software Integration and ADC Characterisation Jack Hobbs 4 th August
Biomedical Measurements & Analysis using LabVIEW
Electronic Devices Laboratory CE/EE 3110 Introduction to LabView.
1 LabVIEW DSP Test Integration Toolkit. 2 Agenda LabVIEW Fundamentals Integrating LabVIEW and Code Composer Studio TM (CCS) Example Use Case Additional.
 Project Description & Goals  Hardware Used  Circuitry & Connections  Communication  Software & Programming  End Result.
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
FRC Robot Framework Labview Made Easy (er) For FIRST Robotics 1.
NATIONAL INSTITUTE OF SCIENCE & TECHNOLOGY VIRTUAL INSTRUMENTATION BIBHU SANTOSH ROUT EI [1] VIRTUAL INSTRUMENTATION by Bibhu Santosh Rout Roll.
Part I MVRT 2011 – 2012 Season Introduction to LabVIEW.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
LabVIEW – 2 Windows ► Front Panel- User Interface ► Block Diagram- Programming View.
Department of Electrical and Computer Engineering The Tektronix MSO4000 series of oscilloscopes are mixed-signal oscilloscopes that contain both digital.
What’s TSP ? Code : STM#340 STM#340: What’s TSP ?
1-1 NET+OS Software Group Flash API Multiple flash memory bank support New Flash API introduction Detailed Flash API Function presentation Supporting.
Lecture 11 Dynamic link libraries. Differences between static libraries and DLLs In static library code is added to the executable. In DLL, the code is.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Processes Introduction to Operating Systems: Module 3.
Digital Electronics and Computer Interfacing Tim Mewes 4. LabVIEW - Advanced.
Hands-on Teleoperation TARET Winter School Villach, February 5 –16, 2007 Darko Hercog.
An Overview of LabVIEW by: The Software User-Interface Group!
Integrating EPICS and LabVIEW on Windows using DCOM Freddie Akeroyd ISIS Computing Group.
Inside LabVIEW Steve Rogers LabVIEW Software Engineer Wed, 10:15a, 12:45p, and 3:30p Mulberry (10B) Steve Rogers LabVIEW Software Engineer.
Writing a Run Time DLL The application loads the DLL using LoadLibrary() or LoadLibraryEx(). The standard search sequence is used by the operating system.
Property interfacing to Hardware: DevIO ACS Development Team.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
Workshop 2 of 4 Welcome!. Survey While You Wait ni.com/duke >> Recent Documents >> LabVIEW Workshop Participation Survey.
SIDE SCAN HARDWARE CONFIGURATION
Security Architecture and Design Chapter 4 Part 2 Pages 319 to 357.
Program Libraries 1. What is a program library? A library is a collection of implementations of behavior, written in terms of a language, that has a well-defined.
CS533 Concepts of Operating Systems Jonathan Walpole.
Microsoft Window 9X Operating System Richard Goldman © February 28, 2001.
SIDE SCAN HARDWARE CONFIGURATION HYPACK Connection Block Diagram GPS, single beam and tide data go into HYPACK ® SURVEY. Sidescan (with optional.
A Presentation on Mr. SAJID NAEEM M.SC – Electronics (UOP) PG-DEP (C-DAC)
Week 3 Data Structures and Common Tools. Common Tools in Labview Automatic Tool Selector Using the Operating Tool Using the Positioning Tool to Select.
Introduction to Operating Systems Concepts
Topic 2: Hardware and Software
EE 200 Design Tools Laboratory 14
Function Generator Remote Control
Getting Started with LabVIEW Virtual Instruments
Internet and Java Foundations, Programming and Practice
Introduction to LabVIEW
Measurement & Automation Explorer
Chapter 3: Windows7 Part 2.
Chapter 1 LabVIEW Basics
Intro. To Operating Systems
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 3: Windows7 Part 2.
Hardware Source: ttp:// under
Hardware Organization
Presentation transcript:

LabView Universal Driver Presentation Part A Shmulik & Pia Zobel Advisor: Mony Orbach

Project Goal Build a universal driver to connect between LabView and any type of hardware This semester we built a specific driver for a Physics Momentum USB Chip Based on this driver, we are building the full driver

Driver Architecture The universal driver receives the interface from the user and builds a specific driver for each chip The specific driver is built from two parts: Pseudo hardware – VIs in LabView Software – C++ code The two parts communicate through DLLs

Driver Architecture

Psuedo Hardware Architecture An application in LabView is called a VI - Virtual Instrument A VI is built from subVIs (i.e. other VIs )

This Semester’s Driver Built from four main VIs: Open Driver Close Driver Write Driver Read Driver

Open Driver

Close Driver

Read Driver

Write Driver

Momentum USB Chip Driver A driver for a chip which measures position The chip is connected to the computer through the USB Functionality: I.Opens a connection to the chip II.Configures it III.Reads the data IV.Closes the connection

Momentum Chip Hierarchy

Block Diagram

Front Panel

Main Software Architecture The main program is activated by a DLL from LabView using createproccess() Runs in memory continuously Initializes the DLL Manages: Hardware – through Hardware Driver Data in memory for application

Communication DLL – Dynamic Link Library Called from LabView through DLL VI Once the DLL is loaded into the memory, any proccess can call DLL functions

DLL Interface _declspec(dllexport) long open_driver(void); _declspec(dllexport) long close_driver(void); _declspec(dllexport) long read_driver(long, long ); _declspec(dllexport) long write_driver(long, CSTR );

Momentum Driver Interface class Usb { public: static int iDevice_; // number of device static DWORD numDevs_; // number of devices connected Usb(); // default constructor /class methods: void openUsb(); void closeUsb(); BOOL readUsb(DWORD bytesToRead, void* read_buffer); BOOL writeUsb(DWORD bytesToWrite, void* write_buffer); BOOL setRecQueEventNot(); void StopUntilRec_4(); char* serialUsb(); void errorUsb(); FT_HANDLE getHandle(); BOOL setLatency(int latency); BOOL setTimeOut(int timeout); ~Usb(); protected: char serial_[16]; // serial number BOOL deviceOpen_; // TRUE = open, FALSE = close FT_HANDLE handle_; // FT_Read/FT_Write parameters: FT_STATUS r_w_status_; DWORD num_bytes_s_r_; // number of bytes that was sent/recieved correctly // FT_ListDevices parameters: FT_STATUS ftStatus_; // Event notification paramaters HANDLE hEvent_; DWORD EventMask_; //class protected methods };

Schedule 15/11/04 – Finish momentum driver 10/01/05 – Finish architecture of universal driver 28/02/05 – Finish writing code