Страница 1 из 1

Правильно ли я реализовал программу?

Добавлено: 26 ноя 2018, 17:05
Virison
Суть, что имеется плата Ардуино и нужно реализовать через нее в labvirew снятие сопротивления в режиме реального времени. Я сделал так, что на нулевой пин подается напряжение, на первый пин сила тока. Потом эти два значения делятся и получается сопротивление. Оно отображается на графике и записывается в файл.
Проблема, что я в первый раз это задание делаю, и у меня этой платы нет, и я не могу протестировать работоспособность этой программы. А еще я не знаю, как правильно записывать результаты сигнала в режиме реального времени. Нашел решение в виде элемента Write to Measurement File.
Правильно ли я все сделал? Должно ли оно заработать?
Изображение

Re: Правильно ли я реализовал программу?

Добавлено: 26 ноя 2018, 17:39
Borjomy_1
Чтение надо делать последовательно друг за другом. Т.е выходы описания VISA и ошибки функции чтения с 0 пина надо завести на входы функции чтения с 1 пина. Параллелить не надо. Все равно обращение идет к одному последовательному порту. Запись в файл должна осуществляться внутри цикла, при этом, контрол, в котором вводится имя файла надо располагать перед циклом (файл выбираете перед запуском программы). Неподключенный вход имени файла приведет к тому, что на каждой итерации цикла программа будет спрашивать имя файла. В таком виде, как сейчас, будет записано только последнее значение после останова программы по кнопке stop

Re: Правильно ли я реализовал программу?

Добавлено: 26 ноя 2018, 17:40
Artem.spb
Зачем чтение параллельно? тем более, что открытие порта одно? Скорее всего будут сыпаться ошибки чтения.
При закрытии порта скорее всего одна из функций выдваст ошибку (если там нет игнора), потому что порт будет уже закрыт.
В файле будет только одно последнее значение. Если так и задумано, то ок. Если нет, то запись надо в цикл, но только не экспрессом, это будет напрасная трата ресурсов.

Re: Правильно ли я реализовал программу?

Добавлено: 26 ноя 2018, 20:12
Virison
Это получается вот так?
Изображение
upd: Хотя я удалил path ибо смысла в нем не увидел. Программа сама выдает окно, куда записывать .lvm файл.
Если нет, то запись надо в цикл, но только не экспрессом
А что за запись в цикл экспрессом?

Re: Правильно ли я реализовал программу?

Добавлено: 27 ноя 2018, 10:58
Artem.spb
Экспрессом как раз не надо писать, эта функция при каждом вызове открывает файл, записывает в него, закрывает файл.
Правильно в цикле писать так
file.png
Суть та же, что с ардуино: открыли-работаем в цикле-закрыли.

Re: Правильно ли я реализовал программу?

Добавлено: 27 ноя 2018, 13:22
Borjomy_1
Virison писал(а):Это получается вот так?
Изображение
upd: Хотя я удалил path ибо смысла в нем не увидел. Программа сама выдает окно, куда записывать .lvm файл.
Если нет, то запись надо в цикл, но только не экспрессом
А что за запись в цикл экспрессом?
Для первого раза вполне себе нормально. На второй итерации совершенствования программы имеет смысл оптимизировать сохранение в файл.