From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Errors with a TDS 1012 scope

Hello,
 
   I am having probelms with the example for the TDS 1012 scope that I got from the NI website. I have installed the drivers on the PC and I have assumed that that is all I need to do to have the example work.   I have attached a screen shoot of the error(s) that I am getting.
 
Regards
 
Kaspar
 
 
Regards,


Kaspar
0 Kudos
Message 1 of 16
(3,636 Views)

Hello,

 

   I have discovered that the examples for the TDS 1012 Tek scope are "as is" and do not come with support from National Instruments. I have to get into the 346 page Tek prograamming manual to figure out what is going on. I have spent some time with the local NI rep and he has found that the driver does not configure the scope to collect all of the data from the scope and that the Trigfer coupling on the scope is not implemented. So once I get things going I will let you knwo what has happened.

 

Regards,

 

Kaspar

Regards,


Kaspar
0 Kudos
Message 2 of 16
(3,618 Views)
That driver is not marked 'as is' on the download page and in any case, I find it difficutl to believe the example you show as trying would have many problems. It issues the AUTOSET command, set the acquiisition mode to be continuous and then reads the waveform. Where exacty is the error generated? If you set a breakpoint at the Configure Continuous Acquisition, do you see a waveform on the scope? Are you using a serial or GPIB connection?
Message 3 of 16
(3,610 Views)
Hello,
 
    I am using the GPIB interface to the scope.  The initial assumption that I have is that the examples should work without any mods by me. Yesterday when I spent time with the local NI rep here is what was discovered.
  1. I need to use a VISA write command to the scope the "DAT:STAR 1" command to set the data start position to a 1, so that all of the data is being captured  from the scope.
  2. The AUTOSET operation is still in porgress when the CURVE command is sent to the scope. (got this info from the NI phone call support people). Also saw it when the local NI rep was here.

  The drivers for the scope were checked out with a 2XXX series scope and I am using a TDS 1012 scope, which may not be exactly identical.

 

Regards,

 

Kaspar

 

Regards,


Kaspar
0 Kudos
Message 4 of 16
(3,603 Views)

Hello,

   I have decided to temporarily delay my efforts to understand what is going on with the "continuous mode" example of the scope and get the "edge" example going.because the edge operation represents how I really want my automated test setup to work.  Here is what I have found so far

  1. The "Initialize" vi by defalut will initialize the scope to defalut setting everytime you run the scope, so I created a constant to disable this action.
  2. I assumed that once the scope was configured that way I wanted it to be with the configure channel vi, the timeout value would be used by the "read" vi to wait until the hardware the scope is connected to generated a edge for the scope to capture. So I turned on the "highlight execution" to observe the block diagram, the program executes on vi after another and does not wait for the hardware to generate a edge with the window specified by the timeout value.

 Regards,

 

Kaspar 

Regards,


Kaspar
0 Kudos
Message 5 of 16
(3,596 Views)

1. The Initialize function is expected to reset the instrument every time when you don't have a False constant wired to the Reset? input.

2. What timeout value are you talking about? The only timeout value I can see is for the VISA Read in order to give the function enough time to read all of the data.

3. The edge triggered example is set to use the same channel as the trigger and the source of the waveform. You would need to modify the example to use a different source for the trigger. Obviously, if you use this example with a signal connected to CH1, it will trigger immediately. To wait to acquire until the external trigger is present, you would need to write some additional functions. I don't see anything in the driver for a Wait for SRQ or an OPC?

Message 6 of 16
(3,584 Views)

Hello,

 

   I had to add a VISA WRITE VI to send the following command to the scope, "TRIG:MAI:EDGE:COUP AC". The reason I had to do this is that the "Configure Trigger" vi does not allow the user to specifiy the coupling for a edge trigger. Maybe the next release of the drivers from NI will have this.

Regards,

Kaspar

 

Regards,


Kaspar
0 Kudos
Message 7 of 16
(3,577 Views)

Hello,

   Ok, now I feel that I am starting to get somewhere. I have disconnected the scope probe from channel one of the scope, therefore there is no signal going to the scope, obviously no edge is presented to the scope, the scope therefore does not get triggered and no waveform should come out of the scope...but it does....why?

So if you run the edge example vi no errors come out of any vi  and a waveform appears on the front panel.  

   I initially thought that the timeout value was used to determine the duration that the read vi would wait until a edge ocurred on the scope input, which trigers the scope and then a waveform is generated by the scope and sent to the labview program. . It appears that the timeout value is only used to allow sufficient time for the waveform data to come out of the scope.

 So why is a waveform being display on the front panel without any errors being generated when no trigger has been sent to the scope?

Regards

Kaspar

Regards,


Kaspar
0 Kudos
Message 8 of 16
(3,570 Views)

One thing is that the trigger mode is set for Auto. According to the Help for that input:

Sets the trigger mode.  Auto mode generates a trigger if a trigger is not detected within a specific time period. It also enables scan mode for sweep speeds of 100 ms/div and slower. Normal mode waits for a valid trigger event.

Wire an enum constant of Normal to the input and I think you will see the behavior you expect.

Message 9 of 16
(3,562 Views)
Hello,
 
   I think that I am getting closer to a solution. I have been going blind looking thru the 346 page Tektronix programming manual and I have found a command "TRIG:STATE?" that allows me to query the state of the scope to see if it has been triggered. I will use this command to call the read vi only if the scope has acutally been triggered. I will let you know how things work out.
 
Regards,
 
Kaspar 
Regards,


Kaspar
0 Kudos
Message 10 of 16
(3,562 Views)