Занесение данных в таблицу

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Udjin
beginner
beginner
Сообщения: 33
Зарегистрирован: 27 фев 2008, 01:19
Версия LabVIEW: 7.0 и 8.6
Откуда: Россия/Клин
Контактная информация:

Занесение данных в таблицу

Сообщение Udjin »

Здравствуйте! Попытался создать модуль, который мог бы мне позволить заносить данные в таблицу с определенным интервалом времени. В процессе написания возникла проблема. Когда я пытаюсь занести показания в таблицу, у меня перестает выполняться передача данных с прибора, а в таблицу заносятся одни и те же показания, при отключении данного модуля прибор начинает снова передавать значения. Как нужно сделать, чтобы при занесении данных в таблицу, прибор не переставал пересылать пакеты???
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Занесение данных в таблицу.

Сообщение Eugen Graf »

Ну скажем так, скорее всего прибор так и посылает значения, просто ты их не считываешь, так как занят другим делом. А точнее занесением данных в таблицу.
Здесь нужно обязательно знать сколько времени занимает запись в таблицу одного пакета и сколько времени занимает чтение одного пакета с прибора. Если первое превышает второе, то задача тудновыполнима.
Обычно запись на винт происходит намного быстрее считывания данных. Здесь обязательно надо проверить!

Если же невыходит, то я предлагаю два варианта:

1) записывать не каждый пакет, а пропускать несколько и записывать например каждый десятый
2) разделить программу на два параллельных процесса (считывание и запись) и передавать данные с одного в другой через буфер. Но рано или поздно буфер переполнится если конечно прибор посылает данные без перерыва и запись длится дольше считывания.

Лучше всего приложить прибор или скрин отвечающий за запись на диск, я думаю проблема в другом. :D
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Занесение данных в таблицу.

Сообщение Pavel Krivozubov »

eg писал(а):2) разделить программу на два параллельных процесса (считывание и запись) и передавать данные с одного в другой через буфер. Но рано или поздно буфер переполнится если конечно прибор посылает данные без перерыва и запись длится дольше считывания.
Вообще тут действительно напрашиваются два параллельных цикла. А что бы буфер не переполнился (если запись длится дольше считывания конечно) то можно поставить флаг на окончание записи и передавать его в цикл считывания например с помощью глобальной переменной (самое простое), чтобы считывание начиналось только по этому флагу.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Занесение данных в таблицу.

Сообщение Eugen Graf »

В твоём приборе очень трудно разобраться (получил по личке). Дело в том, что хотя прибор и разделён на части и в принципе понять можно что к чему, но если например хочешь его продибагить, то скорее всего не получится. Я понимаю конечно, что ты пока начинающий, но всё же постарайся разбивать программу на подприборы. Сам увидишь, тебе будет намного легче программировать. Надеюсь этот топик ты уже видел:
/viewtopic.php?f=60&t=80

Ну а что касается проблемы с остановкой второго цикла (работает параллельно), который вносит данные в таблицу, то сдесь надо как минимум поместить кнопку стоп во внутренний цикл. А лучше переделать его совсем. Тебе в принципе не нужен в нижнем цикле ещё один внутренний.
Вложения
StopWhile.PNG
StopWhile.PNG (5.4 КБ) 4669 просмотров
Udjin
beginner
beginner
Сообщения: 33
Зарегистрирован: 27 фев 2008, 01:19
Версия LabVIEW: 7.0 и 8.6
Откуда: Россия/Клин
Контактная информация:

Re: Занесение данных в таблицу.

Сообщение Udjin »

Спасибо за совет!
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»