Пытаюсь снять значения постоянного и переменного напряжения, с прибора подключенного по RS-232.
Настройки в редакторе и на самом приборе выставлены верно, прибор реагирует на команды, но вместо действующего значения выдает либо 0, либо 1. В аналогичном ПО - Meteam, прибор работал через CRLF, а в Metlab по какой-то причине он работает только через CR.
По GPIB все работает корректно.
Ниже я прикрепил свой код.
Подскажите, пожалуйста, что нужно исправить?
Снятие показаний с мультиметра Fluke 8846A
Снятие показаний с мультиметра Fluke 8846A
- Вложения
-
- 8846_RS-232_TEST.7z
- (989 байт) 97 скачиваний
Re: Снятие показаний с мультиметра Fluke 8846A
Мультиметр корректно возвращает ответ на запрос идентификатора?
Re: Снятие показаний с мультиметра Fluke 8846A
ghostmany, неделю проверял на мультиметре Fluke 8846A ваш скрипт. Потом написал свой. И в итоге все равно ничего не получилось. Показания снимает, но мое предположение в том, что программа не совсем поняла что потом с этим значением делать и по итогу выдает "0". Скриншот с процедурой прикрепил.
- Вложения
-
- Показания при 1 вольте.jpg (131.45 КБ) 1374 просмотра
Re: Снятие показаний с мультиметра Fluke 8846A
Не стоит указывать скорость COM порта при каждом вызове. Достаточно один раз указать при инициализации.
Вот ссылка на рабочую процедуру с использованием Fluke 8845 https://disk.yandex.ru/d/dhsD13qRDA4Sug. Проверьте. Должно работать.
Да, там управление мультиметром по GPIB. Достаточно указать параметры COM-порта при первом вызове и далее заменить IEEE вызовы на PORT.
Прошу заметить, я беру каждое второе значение:
Вот ссылка на рабочую процедуру с использованием Fluke 8845 https://disk.yandex.ru/d/dhsD13qRDA4Sug. Проверьте. Должно работать.
Да, там управление мультиметром по GPIB. Достаточно указать параметры COM-порта при первом вызове и далее заменить IEEE вызовы на PORT.
Прошу заметить, я беру каждое второе значение:
Код: Выделить всё
IEEE INIT;*TRG;FETCH?[I]
WAIT [D2000]
IEEE INIT;*TRG;FETCH?[I]
Re: Снятие показаний с мультиметра Fluke 8846A
Дело в том, прибор на команду измерения возвращает строку (число в экспоненциальной форме), а команда ИТОГ сравнивает только числовые значения, считая при этом, что полученное с прибора значение храниться в регистре MEM (об этом упоминается в документации).27MetrolS писал(а): ↑Вс ноя 13, 2022 12:59 pm ghostmany, неделю проверял на мультиметре Fluke 8846A ваш скрипт. Потом написал свой. И в итоге все равно ничего не получилось. Показания снимает, но мое предположение в том, что программа не совсем поняла что потом с этим значением делать и по итогу выдает "0". Скриншот с процедурой прикрепил.
Вот пример рабочей процедуры:
Код: Выделить всё
ПОРТ [BR9600][EOL CR][T10000]
ПОРТ SYST:REM;*CLS;*RST;:TRIG:SOUR BUS
PORT FUNC "VOLT:DC";:VOLT:DC:RANG 100mV
PORT INIT;*TRG;
PORT FETCH? [I$]
MATH MEM = число(MEM2)
DISP {MEM}
Код: Выделить всё
MATH MEM = число(MEM2)
Как вы можете наблюдать на скриншоте - такой подход работет.
В новой версии ПО данное преобразование будет не нужно. Конвертация результата измерения в число будет происходить автоматически и сразу отражаться в регистре МЕМ.
Re: Снятие показаний с мультиметра Fluke 8846A
на данный момент работа через CRLF затруднена. Эта ошибка будет исправлена в следующем релизе ПО METLAB. Решение проблемы получения результата измерения см. выше.ghostmany писал(а): ↑Пт сен 02, 2022 10:57 am Пытаюсь снять значения постоянного и переменного напряжения, с прибора подключенного по RS-232.
Настройки в редакторе и на самом приборе выставлены верно, прибор реагирует на команды, но вместо действующего значения выдает либо 0, либо 1. В аналогичном ПО - Meteam, прибор работал через CRLF, а в Metlab по какой-то причине он работает только через CR.
По GPIB все работает корректно.
Ниже я прикрепил свой код.
Подскажите, пожалуйста, что нужно исправить?