Список форумов   Список форумов  

Работа с HMP4040 и циклом For Loop

Всё о программировании на Labview

Модераторы: Техподдержка NI, Robert, Модератор

Работа с HMP4040 и циклом For Loop

Сообщение zorg25406 » Ср май 20, 2020 7:32 pm

Добрый вечер. Столкнулся с забавной проблемой, которая мне просто вынесла мозг. Есть прибор HMP4040 (источник питания). Подключен к компьютеру по usb через виртуальный com-port. Я написал простенькую программу, в которой данные из массива (например: 1В, 2В, 3В, 4В, 5В) поочередно поступают на прибор в виде задающих напряжений. Далее я сразу же считываю значение напряжения с выхода источника (прибор сам выдает значение). То есть на выходе из цикла For Loop формируется массив из тех же данных, которые я ранее задал (1В, 2В, 3В, 4В, 5В). Все бы ничего, НО! Почему то последнее значение из задающих напряжений (5В) становится первым значением принятым, то есть: 5В, 1В, 2В, 3В, 4В. Забавно то, что когда я перехожу в режим Highlight Execution (отладочный режим, лампочка) проблема сразу исчезает! Я вижу как правильно, последовательно данные идут из массива в цикл, заходят на источник питания и выходят в нужном порядке. Только выключаю отладку - сразу происходит смещение последнего значения. В программе, как видно из картинок, ничего лишнего нет. Да, я в конце еще добавил reset и close для источника питания. Но это никак не помогает. Если есть мысли - буду рад их услышать.
Безымянный.png
Безымянный.png (29.14 KiB) Просмотров: 90

Безымянный2.png
Безымянный2.png (37.97 KiB) Просмотров: 90
zorg25406
Пользователь
 
Сообщений: 13
Зарегистрирован: Вт апр 12, 2016 9:13 pm

Re: Работа с HMP4040 и циклом For Loop

Сообщение IvanLis » Ср май 20, 2020 11:29 pm

zorg25406 писал(а):Добрый вечер.
...
Все бы ничего, НО!
...
Забавно то, что когда я перехожу в режим Highlight Execution (отладочный режим, лампочка) проблема сразу исчезает! Я вижу как правильно, последовательно данные идут из массива в цикл, заходят на источник питания и выходят в нужном порядке. Только выключаю отладку - сразу происходит смещение последнего значения.

БП это железяка и ему присущи задерхки, в характеристиках по хорошему должно быть время установления заданного значения.
Между установкой и чтением необходимо добавить паузу, если в характеристиках не найдете, то подбирайте экспериментально, что бы за это время БП гарантировано выдавал установленное значение.
По логике, чем дальше значения, тем дольше переход...

zorg25406 писал(а):Да, я в конце еще добавил reset и close для источника питания. Но это никак не помогает.

Это освободит ресурс, по этому настоятельно рекомендую оставить.
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь
IvanLis
Специалист LabVIEW
 
Сообщений: 512
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Re: Работа с HMP4040 и циклом For Loop

Сообщение zorg25406 » Чт май 21, 2020 7:56 am

Паузу я тоже добавлял. Это помогло только в случае с неправильной выдачей напряжения. Например, на входе 1В, а мне он выдавал 2,3В или 1,4В. Попробую сегодня еще поиграть с ними, может время засеку в режиме отладки. Вечером отпишу результат
zorg25406
Пользователь
 
Сообщений: 13
Зарегистрирован: Вт апр 12, 2016 9:13 pm

Re: Работа с HMP4040 и циклом For Loop

Сообщение zorg25406 » Чт май 21, 2020 7:33 pm

По описанию на прибор, задержка должна быть 100 мкс. То есть 0,1 мс на таймере. Это очень мало. У меня нормальный результат выходит разве что при 1000 мс или 1 с на каждое значение массива. Судя по всему дело не в задержках. Мысли кончились
zorg25406
Пользователь
 
Сообщений: 13
Зарегистрирован: Вт апр 12, 2016 9:13 pm

Re: Работа с HMP4040 и циклом For Loop

Сообщение IvanLis » Пт май 22, 2020 2:58 am

zorg25406 писал(а):По описанию на прибор, задержка должна быть 100 мкс. То есть 0,1 мс на таймере. Это очень мало. У меня нормальный результат выходит разве что при 1000 мс или 1 с на каждое значение массива. Судя по всему дело не в задержках. Мысли кончились

Приведите полное наименование БП и скрин программы, где установлена задержка.
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь
IvanLis
Специалист LabVIEW
 
Сообщений: 512
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Re: Работа с HMP4040 и циклом For Loop

Сообщение zorg25406 » Пт май 22, 2020 8:20 pm

Источник питания HMP4040. Скрины прилагаю. Сегодня не было времени поработать с прибором. Сейчас пришла мысль, что возможно дело в том, что я в неправильной последовательности работаю с прибором. В примерах сначала идет задание тока и напряжения, а уже потом включение выхода канала. Так же лишний блочок использовал, на скрине это Master. Он необходим для включения/выключения предыдущих выбранных каналов одновременно. В данном случае это не требуется, так как один канал всего задействован (хотя в перспективе пригодится, ну и вряд ли влияет в данном случае). Пока писал сообщение, почитал литературу, понял, что скорее всего косяк в том, что я не ту функцию времени задал. На картинке ниже я установил Wait Untill Next ms Multiple, а надо похоже Time Delay.
Безымянный.png
Безымянный.png (54.95 KiB) Просмотров: 66
zorg25406
Пользователь
 
Сообщений: 13
Зарегистрирован: Вт апр 12, 2016 9:13 pm

Re: Работа с HMP4040 и циклом For Loop

Сообщение IvanLis » Пт май 22, 2020 8:59 pm

Вы не соблюдаете принцип Data Flow, необходимо устанавливать задержку в поток...
Иначе, если как у Вас сейчас, она может и вначале цикла сработать и в середине и в конце, а может и параллельно....
Должно быть как-то так:
1.png
1.png (17.34 KiB) Просмотров: 65
Знание нескольких принципов освобождает от знания многих фактов!

Живу я здесь
IvanLis
Специалист LabVIEW
 
Сообщений: 512
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Re: Работа с HMP4040 и циклом For Loop

Сообщение zorg25406 » Сб май 23, 2020 3:39 pm

Спасибо большое. Сегодня подключился, подправил код и о чудо, заработало как часы! Большое спасибо! Это же элементарно и логично, поэтому долго бы еще зарывался в глубины и все усложнял)
zorg25406
Пользователь
 
Сообщений: 13
Зарегистрирован: Вт апр 12, 2016 9:13 pm


Вернуться в LabVIEW

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron