Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data...

26
SOFTLAB PROJECT MEASUREMENTS TOOL Yevgeny Petrilin Shay Dan Shadi Ibrahim
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    3

Transcript of Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data...

Page 1: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SOFTLAB PROJECT MEASUREMENTS TOOL

Yevgeny PetrilinShay DanShadi Ibrahim

Page 2: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

TERMINOLOGY

GUI: Graphical User Interface DAQ:Data Acquisition Data Acquisition device

a self-powered system that communicated with a computer through a standard or proprietary interface

GPIB General Purpose Interface Bus.

Sweep A continuous change of a parameter in an electronic system. Most often it refers to

a frequency sweep or the sweep of a voltage.

Difference measurements

Page 3: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

MAIN GOAL

The main goal was to write a program that can performs Mega sweep using limited types of devices DAQ is the Main device and it is also able to read other

devices input It can generate voltage in a limited range Devices can be configured either manually or via

measurement tool Devices can be connected to each other in a single

experiment. The program should enable :

Configuring each device output in the range of [-10:10][V] Controlling the devices while doing the experiment, hence

changing output values. Saving the experiment data into database in a convent

format

Page 4: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

MAIN PRINCIPLES

Programming language: C. OOP principals (ADT). Device Array – pointers to functions. Read/Write settings. Synchronization.

Page 5: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

Project RequirementsAnd results

Page 6: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

EASE OF USE REQUIREMENTS

The user should be able to set sweep details: source device, limits, rate (up/down), increment, number of sweeps, details of the participating devices, and units for viewing results.

The user should be able to store/load sweep configuration for anytime reuse.

The user should be able to change the manner of the data graphical presentation at sweep run time.

The user should be able to change sweep rate or direction at run time.

The user should be able to pause/ resume sweep.

The user should be able to stop and reset the sweep.

Page 7: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

DAQ RELATED:

The application should be able to read input from the DAQ buffer.

The application should support any size of sweep.

The application should synchronize both reading and writing tasks in order to associate data accordingly.

The application can read up to 16 channel's input in regular mode and up to 8 channels in DIFF mode at the same time.

All the experiment’s data should be gathered without any lost, regardless of the size.

Data gathered from the DAQ buffer should be stored in a file using parallel thread.

Page 8: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

GPIB RELATED

The application should identify all the connected devices to the pc at run time.

The application should enable to choose the devices participating in the experiment and configure their values.

The application should be able to communicate with the devices listed below; the application should be able to forward write-tasks to these devices.

Application should be able to pause/resume/stop or change the devices state while doing the experiment.

Page 9: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

DATA STRUCTURES

Device Array

DAQ

Dev1

.

.

.

writereadclosepausegoto

___________Read stateWrite state

DeviceInterface

CreateDestroySet read stateSet write state

ADT Interface

Device specific Methods:• write• read• close

Device Specific Interface

The process of adding a device

Page 10: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

The Interface for developer usage

USING DATA STRUCTURES

Device Array

DAQ

Dev1

.

.

.

writereadclosepausegoto

___________Read stateWrite state

DeviceInterface

Device specific Methods:• write• read• close

Device 1 Specific Interface

Device specific Methods:• write• read• close

Device 2 Specific Interface

Page 11: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SCENARIO 1 SYNCHRONIZING WRITE PROCESS

DAQ as sweep Source device Source write function instructs main device to

write an array of sequential values in an appropriate range at a given rate

Asynchronous call Runs in main thread Calls a DONE interrupt when the device when DAQ

finishes given write task Done interrupt calls a method that waits until

operation of read and handling its results is done (Plot mainly)

Sets the flags for the next iteration in sweep Sets the parameter for read/write in the next iteration Executes the next iteration/ ends sweep

Page 12: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SCENARIO 2 SYNCHRONIZING WRITE PROCESS

Yokogawa as sweep Source device Source write function instructs main device to

write an array of sequential values in an appropriate range in a given time

Asynchronous call Runs in main thread DONE interrupt is implemented via thread which waits

during given execution time Done interrupt calls a method that waits until

operation of read and handling its results is done (Plot mainly)

Sets the flags for the next iteration in sweep Sets the parameter for read/write in the next iteration Executes the next iteration/ ends sweep

Page 13: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SYNCHRONIZING READ PROCESS SCENARIO 1

• DAQ as sweep Source device Read function initiates DAQ with the

parameters pulled from GUIRead operation is triggered by DAQ write

functionRead clock is synchronized with output clock It executes an interrupt function after every N

samples it read from input, each interrupt performs

Plotting results into GUI Calling a thread which writes results into a specified

file

• READ IS ALWAYS CALLED BEFORE WRITE

Page 14: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SYNCHRONIZING READ PROCESS SCENARIO 2

• DAQ is Not the sweep Source device Read function initiates DAQ with the

parameters pulled from GUIRead operation is not triggered, it starts when it

is calledRead clock is synchronized with DAQ onboard

clock It executes an interrupt function after every N

samples it read from input, each interrupt performs

Plotting results into GUI Calling a thread which writes results into a specified

file

• READ IS ALWAYS CALLED BEFORE WRITE

Page 15: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

Main interfaceDAQ interface

Read)(

Write)(

READ/WRITE INTERACTION SCENARIO 1

Main Thread

Thread Pool

Database

Read Interru

pt

DAQ

Done Interru

pt

Register Done

Worker

Thread

Worker

Thread

Every N samples

Plot graph/save results

Write next iter.

Write

Write is Done, Wait until read + plot is done

1

2

*

Page 16: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

Yokogawa interface

Write)(

Write)(

Main interfaceDAQ interface

Read)(

READ/WRITE INTERACTION SCENARIO 2

Main Thread

Thread Pool

Database

Read Interru

pt

DAQ

Register EveryN

Worker

Thread

Worker

Thread

Every N samples

Plot graph/save results

Write next iter.

Write

Write is Done, Wait until read + plot is done

1

2

*

Worker

Thread

Sleep duration

Page 17: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SETTINGS Data structure

Devices array Additional outputs array (subset of device array) Sweep configuration

• Values taken from GUI• Values set by device interface

• Runtime configuration In order to perform operations during a sweep,

participating devices data will be pulled from settings database

Runtime flags• Sweep direction• Display mode• …

Page 18: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SEQUENCE DIAGRAM SCENARIO 1

Initiating measurement toolMain Physical Device*

Collect info

Identity info

Device

Create device[info]

Specific Device

Retrieve pointers

Page 19: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

SEQUENCE DIAGRAM SCENARIO 2

Running a sweep with DAQ as source

Main Device write

ok

Device DAQDAQ write

DAQ readDevice read

DAQ done write

Settings

Retrieve Next configurations

Retrieve Sweep configurations

Page 20: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

WRITTEN INTERFACES

DAQ Handling device as source Retrieving read results from channels

Yokogawa Device as main source Device as additional output

HP Agilent 363xx Device as additional output

Page 21: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

LOGICAL VIEW

Page 22: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

CONFIGURATION PANEL

Configuring the main sweep source.

Here we set the limits, the rate and the number of iterations

Adding Additional output.Here we define the other devices that participates the experiment.

The devices are selected from the GPIB device list.

Setting the DAQ inputs.We need to Add the data manually

according to the channels we connected .

Load / save configurations.

Apply settings will send the configurations instructions to the

devices through the GPIB

Page 23: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

ADD ADDITIONAL SOURCE PANEL

Page 24: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

EXPERIMENT PANEL

Sweep controls.Start/stop/pause/resume .

Enables changing the rate or the output value of the main device.

Examining sweep online results:1. Viewing results2. Manipulating graph

Page 25: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

EXPERIMENT TAB

Page 26: Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

BOUNDARIES AND LIMITATIONS

Physical devices Throughput (Device capabilities VS. PC) Output range (Yoko VS. DAQ)

Software related Programming language restrictions Synchronization overhead

Workspace related Various kinds of platforms : uniform

interface?