Здравствуйте!
Нужна помощь с записью в файл, помогите, пожалуйста.
Требуется сохранить данные поля "измеренное напряжение" и коэффициенты под ним в 2 отдельных файла (.txt), но чтоб в каждом файле было записано по 100 мгновенных значений. Разобралась только с записью текущего значения, при следующем уже записывает в новый файл, а не в этот же.
Запись данных в файл
- Kelena
- interested
- Сообщения: 7
- Зарегистрирован: 16 мар 2014, 16:57
- Версия LabVIEW: 13.0
- Контактная информация:
Запись данных в файл
- Вложения
-
- 7.1.2.vi
- Макет для измерения параметров сигнала
- (525.31 КБ) 535 скачиваний
-
- semisegment.llb
- (74.03 КБ) 393 скачивания
Последний раз редактировалось Kelena 25 ноя 2014, 20:04, всего редактировалось 1 раз.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Запись данных в файл
1. Не нашел в вашей программе сохранения в файл даже одного значения.
2. У вас программа выполняется только один раз, откуда возьмутся 100 значений? Собираетесь сто раз программу запускать вручную?
3. Вы не дали VI "Дешифратор число-семь сегментов" без нее ни у кого программа не запустится.
2. У вас программа выполняется только один раз, откуда возьмутся 100 значений? Собираетесь сто раз программу запускать вручную?
3. Вы не дали VI "Дешифратор число-семь сегментов" без нее ни у кого программа не запустится.
- Kelena
- interested
- Сообщения: 7
- Зарегистрирован: 16 мар 2014, 16:57
- Версия LabVIEW: 13.0
- Контактная информация:
Re: Запись данных в файл
Прикрепила изначальную программу, без записи, т.к. много чего там нахимичила и решила все это дело начать заново. Использовала "Write to text file". Я понимаю, что она выполняется один раз, поэтому и по одному значению записывает, но я не знаю, как это изменить, вот и попросила о помощи. Нужен цикл, я так понимаю, но как его правильно организовать, не разобралась. Дешифратор добавила.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Запись данных в файл
Я так понимаю, что это учебное задание? Значит все придется делать самой.
Начать заново это самое верное решение. То, что у вас сделано, очень сложно меняется и выглядит как набор набросков, собранных в один файл.
Все таки начинать надо с изучения основ LabView. Потом определитесь с общей структурой программы.
Помогу несколькими советами.
1. Используйте для вашей задачи машину состояний с Event Structure. Как это сделать описано во многих учебниках, да и в LabView есть готовый шаблон.
2. Удалите часть, которая отвечает за всякие красивости. Сейчас у вас 70% кода занимает вывод на семисегментные индикаторы, если заменить их обычными индикаторами, код намного проще станет. Когда вся логика заработает, можете добавить их в уже готовую и отлаженную программу для красоты. Но вообще это делается намного проще с использованием просто специального шрифта, имитирующего индикаторы.
3. Для записи в файл есть два варианта. 1. Накапливаете данные в массивах, потом записываете массивы в файл. 2. Открываете файлы на запись, добавляете на каждой итерации в файл по одному значению, потом закрываете файл.
Начать заново это самое верное решение. То, что у вас сделано, очень сложно меняется и выглядит как набор набросков, собранных в один файл.
Все таки начинать надо с изучения основ LabView. Потом определитесь с общей структурой программы.
Помогу несколькими советами.
1. Используйте для вашей задачи машину состояний с Event Structure. Как это сделать описано во многих учебниках, да и в LabView есть готовый шаблон.
2. Удалите часть, которая отвечает за всякие красивости. Сейчас у вас 70% кода занимает вывод на семисегментные индикаторы, если заменить их обычными индикаторами, код намного проще станет. Когда вся логика заработает, можете добавить их в уже готовую и отлаженную программу для красоты. Но вообще это делается намного проще с использованием просто специального шрифта, имитирующего индикаторы.
3. Для записи в файл есть два варианта. 1. Накапливаете данные в массивах, потом записываете массивы в файл. 2. Открываете файлы на запись, добавляете на каждой итерации в файл по одному значению, потом закрываете файл.
-
- interested
- Сообщения: 2
- Зарегистрирован: 14 апр 2015, 00:09
- Версия LabVIEW: 12
- Контактная информация:
Re: Запись данных в файл
Помогите пожалуйста, работаю с матрицами и вычислением уравнений с множеством неизвестных. Матрица квадратная большого размера 130560 строк. Работа с файлом невозможна, так как размер больше 2 Гб, решил пробовать загружать по частям, так как вычислений много. Не хочу затягивать, поэтому сразу спрошу интересующий вопрос. Как записать определенный количество бит в определенное место бинарного файла? Например 261120 кбайт в центр файла размером 2 130 739 200 байт, не загружая его. И возможно ли это?
-
- interested
- Сообщения: 2
- Зарегистрирован: 14 апр 2015, 00:09
- Версия LabVIEW: 12
- Контактная информация:
Re: Запись данных в файл
Задам вопрос поконкретнее. Как из большого файла считать из любого места данные, изменить их и записать в тот же файл, в то же место?gordos писал(а):Помогите пожалуйста, работаю с матрицами и вычислением уравнений с множеством неизвестных. Матрица квадратная большого размера 130560 строк. Работа с файлом невозможна, так как размер больше 2 Гб, решил пробовать загружать по частям, так как вычислений много. Не хочу затягивать, поэтому сразу спрошу интересующий вопрос. Как записать определенный количество бит в определенное место бинарного файла? Например 261120 кбайт в центр файла размером 2 130 739 200 байт, не загружая его. И возможно ли это?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Запись данных в файл
gordos, обратите внимание на инструменты OpenG Large File, они позволяют работать с файлами больше 2 ГБ.
- Вложения
-
- 2015-04-14_9-53-16.jpg (43.58 КБ) 13688 просмотров
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Запись данных в файл
Есть вариант менее громоздкий и не требующий установки дополнительных модулей.
Для установки "курсора" пользоваться функцией "Set File Position", только учитывать, что позиция исчисляется в байтах.
Для установки "курсора" пользоваться функцией "Set File Position", только учитывать, что позиция исчисляется в байтах.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Запись данных в файл
Кстати говоря, можно и без OpenG обойтись, согласно этой статье, если вы на 8.0 и выше, то вход offset у Set File Position 64-битный, что позволяет читать файлы размером до 2^64 байт. Естественно, целиком в память такие файлы грузить не следует, да и не получится, т.к. число считываемых байт у Read from Text File / Read from Binary File по-прежнему в 32-битном формате (2^31 байт ≈ 2 ГБ).
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 12 Ответы
- 599 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 4 Ответы
- 958 Просмотры
-
Последнее сообщение jane_wild
-
- 3 Ответы
- 874 Просмотры
-
Последнее сообщение IvanLis
-
- 13 Ответы
- 1224 Просмотры
-
Последнее сообщение Boxa
-
- 0 Ответы
- 503 Просмотры
-
Последнее сообщение Juri