GradientOne
  • Home
  • Solutions
    • Overview
    • Test Engineering
    • Compliance Labs
    • Product Features
    • Supported Instruments
  • Documentation
    • White Papers
    • Getting Started
    • Quality Analysis of Test Data
    • Rigol Automation
    • Waveform Upload
    • Visualization & Measurements
    • News
    • Case Study
  • Try For Free
  • Pricing
    • Buy Now
    • Pilot
  • RIGOL
  • Blog

Blog

Unlocking Insights Into Oscilloscope Waveforms Using GradientOne's UI

8/23/2019

0 Comments

 
       Capturing data with an oscilloscope is straightforward but once you have the data it can be pretty tricky to dig into. That’s where GradientOne’s web interface can help! With the aid of the data visualization tool D3, and the power of web browsers, we enable you to easily recall saved results and explore what you have captured. In this blog post we will take a closer look at a few of the features available, how they work, and how they can help you make the most of your data. We'll also provide you with example code that can be used as a reference.  Let’s start by loading a saved result from the Results Library, in this example we will be looking at a result from a Rigol DS1054Z oscilloscope.

TOOLTIP:
       First let’s take a look at the Tooltip. It’s easy to use, simply move your cursor across the plot window and the Tooltip will snap to the closest data point, giving you a quick look at the x, y values of your plot. It works by calculating the nearest data point to your cursor location and displaying its value. Take a look at the code snippet below for details.
ZOOM:
​       Now that we have something to look at lets explore a bit using the Zoom feature. Using the left hand menu select ‘Zoom’, once activated this feature allows you to use your cursor to draw a rectangle around the part of the waveform you want a closer look at. It’s really that simple. This feature works by taking the dimensions of the rectangle dawn on the plot and calculating a new plot scale. The scale feature in D3 makes it easy to convert from pixel dimensions to plot scale. Take a look at the code snippet to see how it’s done.
Overlay:
       
GradientOne’s Overlay feature is a great way to compare two sets of data and identify discrepancies. Start by selecting two or more results of interest from your library then click ‘Overlay Results’ at the bottom left of your screen. When the page loads the first two results will automatically be overlaid on top of one another. Use the thumbnails at the top of the screen to select different results for overlay. Some of the more advanced features are disabled while using Overlay, however the Tooltip and Zoom are still available to use at your convenience. In order for Overlay to work the selected results must be compatible, i.e. have channels and y_values in the data. Once the data is gathered and compatibility is established, it’s just a matter of combining the channels and scaling the plot appropriately. Check out the code snippet for details.
Example Code:  Tooltip 

    
Example Code:  Zoom

    
Example Code:  Overlay

    
0 Comments

Simple SCPI Part 2:  Automated Testing Using Python & GradientOne

8/20/2019

0 Comments

 
 GradientOne's approach to test automation provides a simple way to implement a global test solution for your organization.  One of the key design tenets enabling this capability is an API-First philosophy.  This provides a simple and consistent interface to our instrument/DUT programming, data acquisition, waveform visualization, and analytical features.  

This also helps customers use existing scripts and test programs they are currently using to test hardware, while also using GradientOne for data acquisition, search capabilities, and analysis.  This post will provide an example of how to use the open source SCPI Runner provided by GradientOne to control multiple instruments, while storing the results on GradientOne's platform.  Though this example uses the SCPI Runner which is written in Python, customers can use their own scripts, written in any language, to achieve the same results.

1)  Setup:  The function generator on the Tek MDO3012 is connected to Channel 4 on the RIGOL DS1054Z.  
Picture
2.  Script outline:  This script will configure a Rigol 1054Z oscilloscope to trigger and acquire a signal on channel 4.  The signal is a sine wave created by a Tektronix MDO3012 Function Generator.  A few details about the script:
  • identity string (e.g. TCPIP::192.168.5.2)  : provides the addressing for the instruments
  • SCPI commands (e.g. :CHANnel1:DISPlay Off):  instructions for the instruments
  • GradientOne provides abstracted commands for commonly used instrument features such as acquiring screenshots, waveforms, etc.  This is so users don't need to research the instrument specific commands for a variety of instruments.  These commands start with a 'G1', see below for more detail:
    • G1:FetchScreenshot: acquires the screenshot of the specific instrument and stores it to the computer running the script
    • G1:PostScreenshot: uploads the screenshot to the GradientOne cloud
    • G1:FetchWaveform: acquires the waveform and stores it to the computer running the script
    • G1:PostWaveform:  uploads the waveform to the GradientOne cloud
​
Example Script

    
3.  Run the script:  
Terminal output

    
4.  View the results:  When the script runs, it provides the user with links to the screenshots and waveforms that are stored on the GradientOne cloud:

​Screenshot:  
2019-08-20 11:45:06 :: [ INFO ] You can view the result at: https://gradientone-acme.appspot.com/results/R6154227045793447
Picture
Waveform:
2019-08-20 11:45:12 :: [ INFO ] You can view the result at: https://gradientone-acme.appspot.com/results/R9283269107066087
Picture
This is just one example of how to combine the use of your existing test automation scripts with GradientOne's cloud platform for storing results, collaboration, and visualization.  Documentation is available here if you'd like to learn more about the analytical features that can be used for test results that are stored on GradientOne's servers.

If you are interested in seeing how your own scripts might work with GradientOne's cloud platform, click below to get started for your free trial.
Start Your Free Trial Today
0 Comments

Using Python To Query The GradientOne API For Equipment Utilization

8/7/2019

0 Comments

 
GradientOne supports rich interactions between instruments and cloud databases.  These include industry standard protocols such as SCPI, VISA, and VXI11.  Data derived from the frequency of instrument's interaction with the database as well as information in the embedded operating system support a range of utilization estimates.   This utilization data is presented to the user with automated reporting using bar graphs, pie charts, and other trend data.  For the cases where customers have custom applications they need to use in conjunction with utilization data, GradientOne provides users with an API or downloadable CSVs to get access to data in its more raw form.  This blog post will walk you through how to use the API to run custom queries for utilization data and generate CSV  and JSON files containing the data.
​
Step 1:  Download Configuration File
First, download your configuration file.  The configuration file manages the authentication and access details to perform queries.
The name of the file must be:  "GradientOneConfig.txt"
The file includes the following:
  • DOMAINNAME - this is the URL you are accessing via the API.
  • AUTH_TOKEN - this is the authentication string that allows access to the data.  To get your authentication token, visit your account page.  You can find this on  your dashboard url with /account  (example: https://examples.gradientone.com/account).  Click on Auth Info > Download Config.  Save the file in the location where you will be running the script.
Picture
Example GradientOneAuthConfig.txt

    
Step 2:  Download the sample API script
The GradientOne API offers a wide range of capabilities for uploading and downloading instrument usage data.  We've generated an example program written in Python you can execute.  

Step 3:  Run the API query
For this example, I will run a query against https://examples.gradientone.com to obtain a days worth of utilization data for an oscilloscope in the GradientOne lab.  Its asset_id is GradientOne_Keysight_600MHZ.

The time arguments are in UTC.  You will need to adjust accordingly for your time zone.  I am running this program from the Pacific time zone, so a full day would be from 07:00 to 07:00.

The query requires these arguments:
    asset_id -- the unique identifier string of the asset of interest (GradientOne_Keysight_600MHZ)
    start_date -- start date of the query (2019-07-17)
    start_time -- start time of the query (07:00)
    end_date -- end date of the query (2019-07-18)
    end_time -- end time of the query (07:00)
    mode -- query GradientOne API for minute or hourly summaries (hours or minutes)

> python utilizationInfo.py GradientOne_Keysight_600MHZ 2019-07-17 07:00 2019-07-18 07:00 hours
<Response [200]>

The Response [200] means that the query was completed successfully.  The data are available in the JSON and CSV files:

GradientOne_Keysight_600MHZ_avg_CPU.json
GradientOne_Keysight_600MHZ_avg_CPU.csv

This returns 24 hours worth of data.  Below is an example hour, which would be available in the .json file.  Interesting takeaways are:
  • utilization:  This instrument has an 85% utilization for this hour.  The default utilization uses historically defined baselines for CPU behavior that indicates usage above a certain threshold.  The CPU is the CPU usage of the test applications using this instrument.  The 85% utilization in this case is  determined by the minutes_active = 51 minutes divided by 60 minutes.
  • minutes_online:  This instrument was online for the entire hour (minutes_online = 60).
  • The remaining time, the instrument was idle (minutes_idle = 9).
  • ​The average CPU % for this hour was 43.5%.  This may be helpful for profiling different test routine behavior.
Example hour:

    
This script also generates a CSV file.  This shows the average CPU for a given hour and how many minutes the instrument was online during that hour.  It contains the below information:
Example CSV file

    
Example Python Script

    
If you'd like to see how this works in your environment, start your free trial today by clicking on the below link.  
Start Free Trial
0 Comments

    Archives

    April 2020
    September 2019
    August 2019
    July 2019
    June 2019
    May 2019
    April 2019
    March 2018
    February 2018
    January 2018
    December 2017
    November 2017
    September 2017
    August 2017
    July 2017
    June 2017
    April 2017
    July 2016

    Categories

    All
    Instrument
    Usability

    RSS Feed


​Home
News
Jobs
​
Privacy Policy
Contact Us
OUR MISSION - 
GradientOne’s mission is to improve the work of engineers, manufacturing organizations, technical support teams, and scientists, by using cloud computing to streamline instrument management, data collection, analysis, reporting and search.
        ©2019 GradientOne Inc.  All Rights Reserved.
  • Home
  • Solutions
    • Overview
    • Test Engineering
    • Compliance Labs
    • Product Features
    • Supported Instruments
  • Documentation
    • White Papers
    • Getting Started
    • Quality Analysis of Test Data
    • Rigol Automation
    • Waveform Upload
    • Visualization & Measurements
    • News
    • Case Study
  • Try For Free
  • Pricing
    • Buy Now
    • Pilot
  • RIGOL
  • Blog