Scanning problem of 2000 with 10-scanner card

2000, 2001, 2002, 2010, 2100, 2110
Post Reply
wenlong
Posts: 4
Joined: December 10th, 2012, 4:32 pm
Country: South Korea

Scanning problem of 2000 with 10-scanner card

Post by wenlong » August 4th, 2015, 9:28 pm

I have been using the multimeter 2000 with 10-scanner for 2 years.
our application is scanning 10 channels with scan rate 5 sec/channel.
our application program is sending command ("route: close (@#) then followed by read?"). then it assgins readings to 10 variables to represent 10 channel voltage.
suddenly, the reading is delayed by 1 channels, for example voltage2 is channel 1's reading other than channel1's reading.
i mannully send command to switch channels and read. everytime after switching to new channel, the first reading is last channels's reading.
i turned to local mode, the scanning the step reading no problem.
what is potential problem?
additionally, we have several similar set-up, it only happens to certain set-up.

Dale C
Keithley Applications
Keithley Applications
Posts: 2827
Joined: June 10th, 2010, 6:22 am
Country: United States
Contact:

Re: Scanning problem of 2000 with 10-scanner card

Post by Dale C » August 5th, 2015, 11:04 am

Can you start the program with *RST?
That should clear out any issues.

wenlong
Posts: 4
Joined: December 10th, 2012, 4:32 pm
Country: South Korea

Re: Scanning problem of 2000 with 10-scanner card

Post by wenlong » August 6th, 2015, 1:33 am

Dale C wrote:Can you start the program with *RST?
That should clear out any issues.
My code actually is :

1. syst:rem
2. *rst
3.route:close (@#)
4.read?

it happens randomly, and we could not reproduce the error.
today after i send "fetch?" then start the program, we get right voltage readings.

we are worried about one day it would happen again. what is the possible reason? buffer problem?
the hardware i guess no problem, because the reading in front pannel is right even we get wrong from program.

Dale C
Keithley Applications
Keithley Applications
Posts: 2827
Joined: June 10th, 2010, 6:22 am
Country: United States
Contact:

Re: Scanning problem of 2000 with 10-scanner card

Post by Dale C » August 6th, 2015, 5:36 am

The :FETCH? query command only sends the data it already has.
That means it might not be the "newest" data.
I would always you a :READ? query command. With the *RST and a :READ? the READ? will trigger a new reading.
That way it should always have the newest reading.

wenlong
Posts: 4
Joined: December 10th, 2012, 4:32 pm
Country: South Korea

Re: Scanning problem of 2000 with 10-scanner card

Post by wenlong » August 23rd, 2015, 7:17 pm

Dale C wrote:The :FETCH? query command only sends the data it already has.
That means it might not be the "newest" data.
I would always you a :READ? query command. With the *RST and a :READ? the READ? will trigger a new reading.
That way it should always have the newest reading.
below is my code to read 10-ch voltage, we still have problem from time to time. do you see any problem of my code?

Public Sub main()
Try
sDMM = New FormattedIO488
sDMM.IO = iomgr.Open(sdmminstr)

sDMM.WriteString("syst:rem")
Thread.Sleep(500)
sDMM.WriteString("*rst")
Thread.Sleep(500)

Do
For inti = 1 To 10 Step 1
sDMM.WriteString("route:close (@" & inti & ")")
Thread.Sleep(250)
sDMM.WriteString("read?")
Thread.Sleep(250)
Select Case selfID
Case 1
CH(inti).voltage = sDMM.ReadString

Case 2
CH(10 + inti).voltage = sDMM.ReadString

Case 3
CH(20 + inti).voltage = sDMM.ReadString

Case 4
CH(30 + inti).voltage = sDMM.ReadString

End Select
Next
Loop
Catch ex As Exception
If ex.Message = "Thread was being aborted." Then
Else
MsgBox(ex.Message)
End If
End Try

End Sub

Dale C
Keithley Applications
Keithley Applications
Posts: 2827
Joined: June 10th, 2010, 6:22 am
Country: United States
Contact:

Re: Scanning problem of 2000 with 10-scanner card

Post by Dale C » August 24th, 2015, 6:05 am

I do not see any issue with your code.
What are you doing a loop to create a scan?
Model 2000 can do the scan by using the
:ROUTE:SCAN
commands.
Here is some crude sample code.
*RST
:ROUTE:SCAN (@1:10)
:ROUTE:SCAN:LSEL INT
:SAMPLE:COUNT 10
:TRACE:POINTS 10
:TRACE:FEED:CONT NEXT
:INIT
:TRACE:DATA?

Post Reply

Return to “Series 2000 and Series 2100 DMM's”

Who is online

Users browsing this forum: No registered users and 1 guest