Performance of GPIB (with Tectronix scope)

I have an ICS Electronics GPIB card and I'm using the Quick Basic
libraries that came with it to code a program that captures a section
of the displayed trace. The scope is a Tectronix TDS-210.
The first version of the program used the RS-232 port and I was
capturing 512 samples of the captured trace (out of a possible 2500
points). I am capturing thousands of traces in a sequential manner.
The throughput using the RS232 port was about 1 capture per second.
With the new code for the GPIB port, I can capture about 3 traces per
second. I was expecting a MUCH higher capture rate given that GPIB
has a stated transfer rate of at least 200k bytes per second.
So, my question is this: Is it typical that certain GPIB cards or
har
dware has effective transfer rates that are much below GPIB spec,
or is this a case where the command or instruction-processing within
the device (TDS-210 in this case) is incredibly slow?

FYI - re Tektronix 'Wavestar' - I have used this on Tek TDS/THS scopes,
and as far as I can see it is not 'built for speed'. It does a credible
job of downloading and archiving scope files, once one has deciphered the
cryptic interface. But as far as automating rapid i/o, I dont think it
can beat hand-coded software, BASIC or otherwise.
IMLE, data transfer specs are never really realized in real world apps
no matter what the application:
VME/VXI/PCI/GPIB/IEEE1394/RS232/USB1/USB2/IEEE802.11 etc.
fwiw, I would agree a dedicated NI PCI scopecard would most likely achieve the
fastest capture rate, but would not be less expensive than a TDS2xx/3xx scope,
esp when adding in Labview full system cost,
and software would be considerably more complex as NI canned apps are typically
very limited in functionality, and it takes considerable hair-pulling to
delve into their buggy libraries to get it to finally do what you want.
> > I have an ICS Electronics GPIB card and I'm using the Quick Basic
> > libraries that came with it to code a program that captures a section
> > of the displayed trace. The scope is a Tectronix TDS-210.
> >
> > The first version of the program used the RS-232 port and I was
> > capturing 512 samples of the captured trace (out of a possible 2500
> > points). I am capturing thousands of traces in a sequential manner.
> > The throughput using the RS232 port was about 1 capture per second.
> > With the new code for the GPIB port, I can capture about 3 traces per
> > second. I was expecting a MUCH higher capture rate given that GPIB
> > has a stated transfer rate of at least 200k bytes per second.
> >
> > So, my question is this: Is it typical that certain GPIB cards or
> > hardware has effective transfer rates that are much below GPIB spec,
> > or is this a case where the command or instruction-processing within
> > the device (TDS-210 in this case) is incredibly slow?
>
>
> Hi GPIB Guy,
>
> Sometimes the instrument is the limiting factor, other times your
> computer/GPIB card are the limiting factors. With some GPIB controllable
> instruments, you can output all of the trace data (one or more axes) as one
> stream, with a specific character separating the individual data points in
> the stream (e.g. all 512 data points are output at once, with a comma
> between the data for each point). With some other instruments, you have to
> explicitly ask the instrument for each data point coordinate (e.g.
> amplitude/time) individually (e.g. point 1, point 2, point 3......point
> 512). Asking for each data point individually can sometimes decrease the
> data transfer rate. Also, the format by which you read the data from the
> instrument (string, real, scientific, etc.) can affect the transfer rate.
>
> Do you know if the Quick Basic libraries are reading the data in either of
> the ways I've described above? Do you have access to the source code? (I've
> worked with Basic, but not with Quick Basic).
>
> Also, have you investigated whether a Tektronix data acquisition program
> will work for you? Test equipment manufacturers sometimes write easy to
> use data acquisition software and make it available with/for the
> instruments. I just found something about Tek's WaveStar software here:
>
> http://www.tek.com/site/ps/0,,60-12123-INTRO_EN,00.html
>
> I hope that helps...good luck to you,
> Sean

Similar Messages

  • Why doesn't SignalExpress communicate with TDS3054B scope?

    HELP!
    I have a TDS3054B scope with v3.39 firmware installed on it.  I want to communicate with it using SignalExpress but can't!  I can see the instrument in Measurement & Automation Explorer (v4.2.0.3001).  It shows up as GPIB0::1::INSTR.  I have a USB-GPIB cable going from my laptop to the scope.  The laptop is running LabVIEW 8.2.  I have installed the drivers for the scope from NI's website but still can't get it working...
    I can communicate with the scope using Tektronix's OpenChoice Desktop software, but that software is limited in what it can do...
    Any suggestions?

    Thanks again, Kent. 
    The article helped some, but I still don't have it working...
    In MAX, under the IVI Drivers >> Logical Names, I have the name MyScope.  For the General tab, I have the Driver Session listed as tkds30xx & a Description "TDS3054B oscilloscope".
    In MAX, under the IVI Drivers >> Driver Sessions >> tkds30xx >> General tab, I have the following:
    Initialization Options enabled: Cache, Range Check, Query Instrument Status;     Simulate With: Don't Simulate;     Driver Setup: tkds30xx;     Description: TDS 3000 Series
    In MAX, under the IVI Drivers >> Driver Sessions >> tkds30xx >> Hardware tab, I have the following:
    Hardware Assets: Name - TDS3054B (checked); Resource Descriptor - GPIB0::1::INSTR
    In MAX, under the IVI Drivers >> Driver Sessions >> tkds30xx >> Software tab, I have the following:
    Software Module: <None>;  my only choices are <None> or NIDMM.
    In MAX, under the IVI Drivers >> Driver Sessions >> tkds30xx >> Virtual Names tab, I have the following:
    Virtual Name: CHANNEL1, CHANNEL2, CHANNEL3, CHANNEL4;     Physical Name: CH1, CH2, CH3, CH4
    In MAX, under the IVI Drivers >> Driver Sessions >> tkds30xx >> Initial Settings tab, I have nothing.
    In LabVIEW SignalExpress, I go to Add Step >> Acquire Signals >> IVI Acquire >> IVI Scope Acquire.  The Step Setup box is displayed.  On the Configuration tab >> Device section >> IVI session name, I select Create New...  Another dialoge box opens with an IVI session name in it.  I change it to MyScope (same as in MAX), choose the Resource Descriptor GPIB0::1::INSTR (same as in MAX), but can't select an instrument driver.  The only thing available under Instrument driver is a check mark.  I can't select it for some unknown reason.  I hit the OK button & the box closes, returning to the Step Setup screen.  I try to run the step once & get an error stating:
    "ivi_IviScope Initialize With Options.vi<ERR>
    Driver Status: (Hex 0xBFFA1207) Primary Error: (Hex 0xBFFA1207) The item does not exist in the collection.
    Elaboration: tkds30xx"
    Back to square 1...

  • I am using i 4 phone. recently I had a problem with my lap top and had formatted hard disk of it. Now I want to use sync data in my iphone back to itune n my lap top. how can I perform this task with out loosing data in my i phone.

    I am using i 4 phone. recently I had a problem with my lap top and had formatted hard disk of it. Now I want to sync data in my iphone back to itune on my lap top. how can I perform this task with out loosing data in my i phone.

    Hey floridiansue,
    Do you have an installed email program such as Microsoft Outlook?  If your email is through an online login, such as Gmail, etc, then one will have to create an email association with a program such as Microsoft Outlook on the PC for this Scan to Email system to function.
    -------------How do I give Kudos? | How do I mark a post as Solved? --------------------------------------------------------
    I am not an HP employee.

  • Is there a way to view Flash videos on my iMac without downloading Adobe Flash Player? I'm concerned about performance and security with Flash Player.

    Is there a way to view Flash videos on my iMac without downloading Adobe Flash Player? I'm concerned about performance and security with Adobe Flash Player.

    If the video is only available in a format that requires Flash player : then no.
    However, a great many can also be viewed in an HTML5 version, in which case http://hoyois.github.io/safariextensions/clicktoplugin/ or similar can be set up so that Flash never runs unless you specifically choose it to.

  • ME57 transaction with ALV scope of list

    hi all!
    i want to run ME57 transaction with ALV scope of list, but i'm facing a problem because if the list of requirements are bigger than 50 recors, the system says that  'Max. 50 requirements can be processed simultaneously' and I can not assign source of supply to all my list. I guess this will be customizable, because if I run it with A scope of list, there's no limit of processing.
    how can I change that value in order to be able to process all the requirements of my list in ALV view?
    thanks in advance.
    Fabian

    Hello Fabian ,
    This limit is maintained in class CL_REQUISITION_AGGREGATE_MM
    attribute N_EDIT_MAXIMUM initial value 50.
    If you want , this value can be changed using transaction code SE24. However , please take note that this change is considered a modificationto the SAP standard system and will no longer be supported.
    I hope this information has been helpful.
    Best Regards,
    Frank

  • How to use's mail's "perform mail action with message"

    I can't for the life of me figure out how to use "perform mail action with message", I basically want to create a script that get's used on a rule from Mail, but nothing I try will work.
    This is what I started with...
    tell application "Mail"
    perform mail action with message msgs for rule theRule
    end
    end
    This doesn't compile i've seen an example of it being used like this...
    using terms from application "Mail"
    perform mail action with message msgs for rule theRule
    end perform
    end using
    this also doesn't compile, so I'm not sure what it's wanting

    This is one of those annoying things about programming - you have to arrange and spell things exactly right (this gets worse if you have fat fingers). You can look at the dictionary for Mail to see the specifics - in your example you are missing an "s" at the end of the word "message":
    <pre title="this text can be pasted into the Script Editor" style="font-family: Monaco, 'Courier New', Courier, monospace; font-size: 10px; padding: 5px; width: 720px; color: #000000; background-color: #E0E0E0; overflow: auto">tell application "Mail"
    perform mail action with messages msgs for rule theRule
    end tell
    </pre>

  • Killing a bean with application scope?

    Is there any way to kill a bean with application scope?
    I am writing a web application, that most likely the browser window will never be closed. The problem is a user is authenticated onto our site but because the bean containing the users acct info is application scope, if another user logs in it still shows the old user as logged in. So on logout i would like to kill the application, the bean, servletContext...anything that will refresh the bean and the corresponding jsp. Any help is much appreciated.

    There is an indirect way if you know servlets. The "application" implicit object that you use in your JSP is the javax.servlet.ServletContext object. Instead of declaring your bean using the jsp:useBean tag, directly put your objects into the ServletContext using ServletContext.putAttribute() method. Objects put in the ServletCOntext are available to all pages in the application. Just use the ServletContext.getAttribute() method to retrieve this bean in any other page.
    To "kill the bean", just reset the value of this object to null by calling putAttribute(null).

  • Problem with current scope forum

     I have searched my computer for trojan downloader and it was found and removed however the search said having a problem with current scope.
    Skin222

    Hello Skin222,
    Your problem is beyond the scope of support. This forum is for feedback and questions related to the current versions of the ADO.NET Entity Framework and LINQ to Entities including object-relational mapping and entity data modeling.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Share stateful session bean in JSF managed beans with different scope

    Hi,
    I have a JSF application and I want to try to use of stateful session beans.
    So I created a new stateful session bean and its local interface.
    @Stateful
    public class StatefulSessionBean implements StatefulSessionBeanLocalInterface{
    private String name;
    @Local
    public interface StatefulSessionBeanLocalInterface {
    ...In my JSF application I have a mananed bean with session context which registers the new interface by
    this annotation
    @EJB(name="sessionbeanref", beanInterface=StatefulSessionBeanLocalInterface.class) and set the name to something.
    Now I want to fetch this name in another managed bean with request scope. So I looked up the bean and tried to get the name.
    StatefulSessionBeanLocalInterface = (StatefulSessionBeanLocalInterface) new InitialContext().lookup("java:comp/env/sessionbeanref");
    System.out.println(currentmailingbean.getName());but the name is null.
    Why?

    The xsd was created via the netbeans J2EE enterprise application dialog and I think its the most recent.
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">All other annotations seem to work.
    Wouldnt the lookup completely fail if the deployment process thought that it is version 1.4 ?

  • Is there any API for performing Assembly Completion with LPN

    Hi,
    Is there any API available for performing Assembly Completion with LPN..??
    Thanks and Regards,
    Ramnish.

    We had looked into doing something similar, and this post is the closest we found.
    https://community.qualys.com/thread/11816
    Basically you will need a middle-man between Qualys and ConfigMgr to house the data. This may be a new database, or a whole seperate platform. I expect this could easily be done with SQL and SSRS.
    Also note, database edits to the ConfigMgr database are
    not supported  by Microsoft, I would recommend using a central system to pull data from Qualys and ConfigMgr without modifying either.
    Daniel Ratliff | http://www.PotentEngineer.com

  • Error with the Scope parameter for component

    Hi, I am using JSF2.0 in my web. In the home page (index.xhtml) i have an album gallery with session scope. However the gallery is available to all the users, what should be the scope for this component? After setting session scope, a session key is generated which is appended with the URL and because of this (perhaps) other links are not opening. i mean whenever i clicks on any link (about.xhtml), it displays nothing. Removing the bean from session scope makes everything fine except gallery (gallery doesn't rendered).

    That version of the package has been built with apache 2.2.x. Be sure to use that version of apache too, as 2.0 won't work with that specific package.

  • Can we perform two actions with one button with two clicks one after other?

    Sir,
    can we perform two actions with one button with two clicks one after other?
    I want that when I click an Add Button first time it add data to the database and when I click again this button it clear the form data to empty fields.
    Regards
    Tanvir

    In code it should be easy.
    The following code adds a button called butman with a text "ADD".
    It then registers a listener that will be called if the button is clicked.
    This listener then calls the runAddData method if you clicked on butman while it contained the "ADD" text and it will call the runClearData method otherwise.
    Therefore it will swap the button's functionality between ADD and CLEAR on every click.
    final Button butman = new Button("ADD");
    butman.setOnAction(new EventHandler<ActionEvent>() {
              @Override
              public void handle(ActionEvent t) {
                        if (butman.getText().equals("ADD")) {
                                  butman.setText("CLEAR");
                                  runAddData();
                        } else {
                                  butman.setText("ADD");
                                  runClearData();
                        } // END IF-THEN
              }});I hope this is what you wanted.
    Some extra food for thought.
    You might want to run the ADD and CLEAR methods in their own threads so that it can run in the back ground, without slowing down your user interface.
    I also like to rather reuse one button for multiple functionality in stead of making an application with hundreds of nodes only used rarely with masses of code to show and hide them if needed.

  • Improving performance of query with View

    Hi ,
    I'm working on a stored procedure where certain records have to be eleminated , unfortunately tables involved in this exception query are present in a different database which will lead to performance issue. Is there any way in SQL Server to store this query
    in a view and store it's execution plan and make it work like sp.While I beleive it's kinda crazy thought but is there any better way to improve performance of query when accessed across databases.
    Thanks,
    Vishal.

    Do not try to solve problems that you have not yet confirmed to exist.  There is no general reason why a query (regardless of whether it involves a view) that refers to a table in a different database (NB - DATABASE not INSTANCE) will perform poorly. 
    As a suggestion, write a working query using a duplicate of the table in the current database.  Once it is working, then worry about performance.  Once that is working as efficiently as it can , change the query to use the "remote" table rather
    than the duplicate. Then determine if you have an issue.  If you cannot get the level of performance you desire with a local table, then you most likely have a much larger issue to address.  In that case, perhaps you need to change your perspective
    and approach to accomplishing your goal. 

  • TS3694 I am using iphone 3gs, I upgraded my i-os to 6.0 from 5.1.1 however I am facing performance issue, along with this all the applications including settings or any other shuts down automatically. Is there any way by which I can use my phone in better

    I am using iphone 3gs, I upgraded my i-os to 6.0 from 5.1.1 however I am facing performance issue, along with this all the applications including settings or any other shuts down automatically. Is there any way by which I can use my phone in better way?

    No, downgrading from any version of iOS to an earlier version is not supported.

  • Performance Management: 'Share with Main Appraiser' button not visible

    Hi Gurus,
    I am using Oracle R12.1.3, Performance Management module.
    I am trying to publish Performance Management Plan with Objective setting and Appraisals both tasks. Appraisal plan is set to be appraisee initiated, standard appraisal
    However - When the appraisee is trying to initiate the appraisal (by clicking 'Update' on the appraisal task appeared) - s/he sees all the objectives set and get to choose a performance rating. However - the button 'Share with Main Appraiser' button is not visible.
    When I am trying to create a Performance Management Plan with only 'Appraisals' - this problem is not occurring. Any clue as to how to rectify this problem?
    PS - I have tried disabling personalizations and re-tried several times - but the same error occurs.
    Would really appreciate any response which might help.
    Thanks and Regards,
    Rahul

    I'm thankful for your effort Hussein. However, this document is applicable for version 12.1.4+ while I am working on 12.1.3. I re-tested the thing after making some changes in appraisal template where I ticked 'Update Appraisals for Terminated Workers' and also checking 2 more related check-boxes. Surprisingly it worked.
    Also if I am selecting method for objective allocation as 'Parallel' - then also this error is not occurring - even with old appraisal template. Although this hit and trial worked, I do not have a logical view about the solution and correctness in all environments yet.

Maybe you are looking for