Page 1 of 1

Instrument driver для мультиметров Keithley со сканером

PostPosted: 05 Oct 2017, 13:03
by Johnik
Имеется мультиметр Keithley 2010 (GPIB) со сканером каналов (2000-scan), контроллер GPIB NI-488.2, Labview 8.6.
Скачал стандартный Instrument driver для Keithley 2000. Этот драйвер работает с 2010. Добавил в него еще возможность с измерением 7 знака, т.к. 2000 измеряет только 6. А вот возможности считывать несколько каналов в этом драйвере нет. Поиском пошерстил - не нашел подобных тем, в поисковике тоже. С нуля писать/разбираться энтузиазма пока нет... Имею ввиду напрямую подавать команды в GPIB. Может кто подскажет где взять готовое решение?

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 05 Oct 2017, 14:30
by Blackman
...А вот возможности считывать несколько каналов в этом драйвере нет...

??? :wink:
Keithley 2000.lvlib:Configure Scan.vi

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 12 Oct 2017, 09:35
by Johnik
Blackman, эту функцию видел. Я тогда не понимаю как оно работает. Я думал scan просто переключает каналы. Т.к. на выходе этого инструмента нет данных.
Мне надо считать несколько каналов напряжения и один сопротивления, как с помощью этой функции сделать я не понимаю. Примеров со сканом нет. ReadMultiple просто считывает несколько раз один и тот же канал

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 12 Oct 2017, 10:45
by IvanLis
Keithley 2000 Read Multiple.vi - многократное чтение одного канала.
Делайте последовательный опрос необходимых каналов.
Сложно представить, каким образом по одной шине, одновременно опрашивать несколько устройств.

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 12 Oct 2017, 12:04
by Johnik
IvanLis, устройство одно, мультиметр 2010, к нему идет сканер каналов (вставляется внутрь), получается 10 каналов, их можно как-то считать scan и передать дальше. Как именно не знаю.
Вы предлагаете последовательный опрос каналов, так и хотел изначально делать, НО в стандартных инструментах нет функции считать именно этот канал, есть только функция считать, и считывает я так понимаю то что подцеплено к передней/задней панели. Чтобы выбрать канал похоже надо использовать скан, пробовал им считать один канал, почему-то функция циклит сам прибор - постоянно начинает считывать, надо как-то прекращать это...
В Read Multiple тоже нет функции выбрать и считать именно один канал, хотя зачем-то есть выходные данные Channels.
Вот как организовать последовательно считывать хотя бы два канала с помощью стандартного драйвера инструмента? Даже примера нет на этот счет...

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 12 Oct 2017, 13:47
by Blackman
Документация:
http://www.testequipmentdepot.com/keith ... manual.pdf
https://xdevs.com/doc/Keithley/2001/doc ... 01_01C.pdf
https://cdn.testequity.com/documents/pd ... SC-man.pdf

Примеры от KEITHLEY
https://forum.tek.com/viewtopic.php?f=3 ... 20#p242947

*RST
:ROUTE:SCAN (@1:10)
:ROUTE:SCAN:LSEL INT
:SAMPLE:COUNT 10
:TRACE:POINTS 10
:TRACE:FEED:CONT NEXT
:INIT
:TRACE:DATA?

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 24 Oct 2017, 10:36
by Johnik
Blackman, спасибо большое за помощь. Сделал подобную программу. В общем мультиметр Keithley пишет error 222. Поменял в ОС разделитель с "," на "." - не помогло...
И еще в библиотеке ke2010, что Вы приложили, программы как на картинке нет, это из-за разности версий или вы просто из другого места взяли?
scanner read.JPG

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 01 Nov 2017, 13:08
by Johnik
С этой ошибкой вроде справился, почему-то нельзя ставить таймаут на read как я сделал, только если его совсем нет - тогда работает. Ну и количество раз считывания здесь неправильно, надо сколько каналов считал. Считывать несколько каналов одного и того же научился (напряжение или сопротивление)
Теперь не могу считать вперемешку, чтоб считался один канал сопротивления и остальные напряжения. Выдает ошибку уже на close -260,"Expression error". Уже как только не пробовал. Непонятно единый read должен быть или раздельный для сопротивления и напряжения. Да и вообще после одного скана второй никак не хочет запускаться.
Я уже дозреваю, чтобы напрямую писать команды в шину, нежели разбираться с инструментами драйвера

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 01 Nov 2017, 21:34
by Kosist
Johnik wrote:С этой ошибкой вроде справился, почему-то нельзя ставить таймаут на read как я сделал, только если его совсем нет - тогда работает.

Думаю, что таймаут ставить можно, только большее значение, чем ставили Вы. Ибо функция чтения (VISA Read) будет все равно использовать таймаут, пусть даже и дефолтный.
Johnik wrote:Теперь не могу считать вперемешку, чтоб считался один канал сопротивления и остальные напряжения. Выдает ошибку уже на close -260,"Expression error". Уже как только не пробовал. Непонятно единый read должен быть или раздельный для сопротивления и напряжения. Да и вообще после одного скана второй никак не хочет запускаться.

Не знаю, как Вы конкретно это пытаетесь, но думаю, что вся загвоздка в логике программы. Все всегда работает по принципу: открыли ссылку, сделали конфиг канала, получили данные; сделали другой конфиг, получили данные, и т.д. и т.п., закрыли ссылку. И может конфигурацию каналов Вы делаете неправильно, либо последовательность конфигурации -> считывания неправильная.
Johnik wrote:Я уже дозреваю, чтобы напрямую писать команды в шину, нежели разбираться с инструментами драйвера

Это да, иногда легче. Но можете использовать вперемешку - некоторые виайки-драйверы, а некоторые посылайте напрямую...

Re: Instrument driver для мультиметров Keithley со сканером

PostPosted: 02 Nov 2017, 00:04
by Blackman
... Непонятно единый read должен быть или раздельный для сопротивления и напряжения.

User Manual page 221
...
You can use the scanner card two ways.
One is to issue a command to close a particular channel before sending other commands to take readings.
The other way is to program the scan list, and let the meter take care of closing a channel before taking a reading.

The following example program measures DC volts on channel 1, AC volts on channel 2, and 2-wire resistance on channel 3, using the ROUTe:CLOSe command.

'Example program to demonstrate taking readings on different scanner channels
'...

The following example program sets up the DMM using a scan list to measure DC voltage on channels 1, 2 and 3.
The meter takes ten sets of readings, with each set spaced 15 seconds apart, and each of the three readings in each group taken as fast as possible.
The DMM stores the readings in the buffer, and asserts SRQ when the buffer is full.
The program waits for the SRQ, then reads the readings from the buffer.

'Example program to demonstrate using the scan list
'...