Моя первая программа

Простейшие вопросы в области инженерной разработки
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

soleda писал(а):У меня вот вопросик по тахометру, сейчас тахометр работает в общем правильно, но иногда сбивается с чем это может быть связано? Файл тахометра и его показания в прикрепленных файлах. Первый столбец показания тахометра. С чем это может быть связано?
Вы SubVI не выложили.
Что касается данных, измерения это статистика, по этому можно оценивать по "скользящему среднему" и/либо отсеивать аномальные значения.
soleda
junior
junior
Сообщения: 54
Зарегистрирован: 26 сен 2016, 06:52
Версия LabVIEW: 2011
Контактная информация:

Re: Моя первая программа

Сообщение soleda »

Этот модуль идет с daq платой, см. вложение.
Вложения
PLV Read from Digital Line.vi
(16.1 КБ) 96 скачиваний
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

soleda писал(а):У меня вот вопросик по тахометру, сейчас тахометр работает в общем правильно, но иногда сбивается с чем это может быть связано? Файл тахометра и его показания в прикрепленных файлах. Первый столбец показания тахометра. С чем это может быть связано?
А какие данные Вы считаете неправильными???
Те что соответствуют 60000, 0 или 1000???

Если честно, то слету невозможно разобраться в Вашей программе.
wikipedia.org писал(а):Тахо́метр (греч. τάχος — скорость + μέτρον — мера) — измерительный прибор, предназначенный для измерения частоты вращения (количество оборотов в единицу времени) различных вращающихся деталей, таких как роторы, валы, диски и др., в различных агрегатах, машинах и механизмах.
Т.е. Вам необходимо посчитать количество оборотов в ед. времени.
Если по классификации смотреть, то у Вас получается электронно-счетный частотомер. Они тоже работают по двум алгоритмам (можете почитать теорию). У Вас, я полагаю, период следования импульсов меньше периода измерений, значит подходит первый алгоритм "основан на подсчете количества импульсов, сформированных входными цепями из сигнала произвольной формы, за определенный интервал времени".

Допустим у Вас стоит на вале зубчатое колесо (36 зубцов) и датчик Холла, который формирует импульсы при проходе каждого из зубьев. Вам необходимо посчитать количество импульсов за 1 секунду (1000 ms), разделить на 36 - получится [об/сек]. Помножить результат на 60 - получим [об/мин].
1.png
Tachometer.vi
lv2010
(7.41 КБ) 106 скачиваний
В примере считаются переходы True->False, можно и наоборот, на результат это не повлияет.
Другой вопрос, с какой частотой Ваша плата способна измерять и передавать результат.
По хорошему в цикл еще задержку поставить, что бы он не гнал на максимальной частоте.

Соответственно, если уменьшит период измерения до 500ms, то результат необходимо умножить на 120, дабы получить [об/мин].
soleda
junior
junior
Сообщения: 54
Зарегистрирован: 26 сен 2016, 06:52
Версия LabVIEW: 2011
Контактная информация:

Re: Моя первая программа

Сообщение soleda »

1. Неправильным считается "0" дабы с генератора частоты идет непрерывный меандр. Вопрос в переводе одних величин в другие не существенно. 1000Гц, равно 60000 оборотам если использовать один зубец на валу.
2. Чем boolean crossing лучше моего узла?
3. Я что то не пойму с таймерами - если я выставлю 500мс или 1000мс, у меня ведь все остальное зависнет и все будет ожидать этот цикл, я же правильно понял? Кстати где мкс?

В моей программе измеряется время от возрастающего фронта до следующего возрастающего фронта. Как только произойдут два-три фронта измерения завершаться, покинув цикл. Если второй фронт не произойдет в течении 1000 циклов, то на выходе присвоится "0" и так же завершиться цикл. Мне кажется это преимущество перед вашей программой т.к нет временных задержек.
Вложения
Снимок экрана от 2016-11-20 23-50-13.jpg
Снимок экрана от 2016-11-21 00-10-51.jpg
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

Своим сообщением Вы отрицаете все законы диалектики.
soleda писал(а):У меня вот вопросик по тахометру, сейчас тахометр работает в общем правильно, но иногда сбивается с чем это может быть связано?
Зачем вообще задавать вопросы, если у Вас так все замечательно?
soleda писал(а):1. Неправильным считается "0" дабы с генератора частоты идет непрерывный меандр. Вопрос в переводе одних величин в другие не существенно. 1000Гц, равно 60000 оборотам если использовать один зубец на валу.
Только результат измерения у Вас изменяется "скачками", а это почему-то не смущает???
Tacho.png
И тут вовсе не проблема перевода
soleda писал(а):Вопрос в переводе одних величин в другие не существенно. 1000Гц, равно 60000 оборотам если использовать один зубец на валу.
а именно "косяк" работы программы.
soleda писал(а):2. Чем boolean crossing лучше моего узла?
Можно нанять трактор, что бы выкопать траншею.
А можно поставить ему задачу "выкопать и засыпать". Потом все лопатой заново отрыть, аргументируя, что трактор всего лишь почву взрыхлил.
3.png
3.png (2.95 КБ) 6658 просмотров
Каждый мыслит по своему, я не навязываю своего мнения, но все что обведено, можно выкинуть и на результат это не повлияет.
soleda писал(а):3. Я что то не пойму с таймерами - если я выставлю 500мс или 1000мс, у меня ведь все остальное зависнет и все будет ожидать этот цикл, я же правильно понял?
Да именно так. Только в это время можно в параллельном цикле (программе) выполнять другие задачи. В том числе и измерения, если позволит используемое устройство и драйвер.
Но я бы проводил все измерения параллельно, а не последовательно.
soleda писал(а):Кстати где мкс?
А где я говорил о микросекундах?
Согласно международной системы единиц: https://ru.wikipedia.org/wiki/%D0%9F%D1 ... 0.B8.D1.86
[ms]-миллисекунда
[µs]-микросекунда
soleda писал(а):Как только произойдут два-три фронта измерения завершаться, покинув цикл.
Где это определено в программе? В каких случаях 2, а в каких 3?
soleda писал(а):Если второй фронт не произойдет в течении 1000 циклов, то на выходе присвоится "0" и так же завершиться цикл.
А это разве не внесет задержки? Тем более на неконтролируемое время.
soleda писал(а):Мне кажется это преимущество перед вашей программой т.к нет временных задержек.
Наличие 4 ножки у стула, не является преимуществом, зачастую это недостаток.

Вы не дали ответа по поводу:
IvanLis писал(а):Другой вопрос, с какой частотой Ваша плата способна измерять и передавать результат.
Т.к. возможно у вас все 1000 измерений "пролетают" между импульсами.

Я не навязываю своего мнения. Если Вас устраивает, то как работает, оставляйте As Is.
Тем более это не мое мнение, а сложившаяся практика. Видимо зря люди разрабатывают различные методы и методики, регистрируют патенты на способы. Вы взяли и "изобрели" новый.
Только по моему, Вы пытаетесь период измерить, а не частоту, но только забыли, что сигнал у Вас непериодический, а его частота постоянно плавает, да и точность хромает. В этих случаях используют "оценку значения измеряемой величины", а увеличение длины выборки сужает доверительный интервал и/или повышает доверительную вероятность.
soleda
junior
junior
Сообщения: 54
Зарегистрирован: 26 сен 2016, 06:52
Версия LabVIEW: 2011
Контактная информация:

Re: Моя первая программа

Сообщение soleda »

1. Нули меня смущают. Скачки с 60кгц на 1кгц - это нормально т.к это два разных замера и два разных меандра.
2. Я бы хотел услышать аргументированный ответ по поводу boolean crossing.
3. Все, дошло до меня на счет задержек в циклах. Про мкс - это я спаршиваю где микросекунды???? Я хочу таймер на микросекундах.
На счет 2-3 фронтов - на выходе из цикла подключено сравнение "Больше", в случае выполнения покидается цикл.
На счет 1000 циклов - где микросекунды??? Я поставил бы туда таймер на 1 мкс и выставил нужное количество циклов и все было бы контролируемо.

Период это от возрастающего фронта до фронта спадающего. От возврастающего фронта до возрастающего это уже частота. Почему вы считаете, что показания плавают, ведь они идут точно 60кгц. Просто через 5-6 стопов измерение пропадает.
Я не знаю, может это генератор частоты глючит, я схемку другого генератора соберу проверю.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

soleda писал(а):3. Все, дошло до меня на счет задержек в циклах. Про мкс - это я спаршиваю где микросекунды???? Я хочу таймер на микросекундах.
High Resolution Relative Seconds: https://zone.ni.com/reference/en-XX/hel ... s_rel_sec/
Но у Вас не RTOS!
soleda писал(а):На счет 2-3 фронтов - на выходе из цикла подключено сравнение "Больше", в случае выполнения покидается цикл.
Больше это 3, 4, и т.д., но никак не 2. У вас всегда будет выходить из цикла при значении 3.
soleda писал(а):1. Нули меня смущают. Скачки с 60кгц на 1кгц - это нормально т.к это два разных замера и два разных меандра.
Именно это и смущает, т.к. у Вас измерения ведутся косвенно, т.е. Вы не регистрируете именно фронт. А узнаете об изменении сигнала с периодичностью опроса. А эта периодичность судя по всему, Вам неизвестна, т.к. мой вопрос игнорируется уже второй раз.
soleda писал(а):Период это от возрастающего фронта до фронта спадающего. От возврастающего фронта до возрастающего это уже частота.
Вы говорите о длительности импульса.

Период – время, в течении которого происходит одно полное колебание.
Частота сигнала – величина обратно пропорциональная периоду сигнала.


Остальное оставлю без комментариев :crazy:
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Моя первая программа

Сообщение Borjomy_1 »

Микросекундный цикл вы не получите, слишком многого хотите от Windows, под ним и 1мс идет с серьезным джиттингом. Программно такие вещи решаются только на однокристаллках и то вопрос... Так что если надо точно вычислять, то делать надо это аппаратно.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Моя первая программа

Сообщение Blackman »

soleda писал(а):...Период это от возрастающего фронта до фронта спадающего. От возрастающего фронта до возрастающего это уже частота.
1. От спадающего до возрастающего?
2. От спадающего до спадающего?
3. Период (Period), Длительность импульса (Pulse Width), Скважность (Duty Cycle)?

Вы пытаетесь изобрести велосипед))
Вложения
9211 Spec.PNG
soleda
junior
junior
Сообщения: 54
Зарегистрирован: 26 сен 2016, 06:52
Версия LabVIEW: 2011
Контактная информация:

Re: Моя первая программа

Сообщение soleda »

Я могу хоть 8 отслеживаний поставить для выхода из цикла и даже могу эти измерения устреднить и отследить неправильные значения и уже после всех этих манипуляций выйти из цикла с нужным числом, не суть важно.....
Про точность измерений - 1000.024 герц на генераторе и программа показывает ровно 1000 Гц.... С чего вы решили, что точность хромает?
С какой скоростью опрашивается плата, даже не смотрел, да и незачем я думаю. Вообще я думаю 0Гц, это косяк генератора, позже проверю, отпишусь.

Ещё раз - я высчитываю частоту а не периоды. Если вы за секунду насчитали 1000 импульсов - это не значит 1000Гц!!!

Borjomy_1 - все понял, спасибо!

Blackman - я вообще ничего не изобретаю, я пытаюсь осознать этот язык программирования. Зачем прибегать к готовому узлу, если его можно разработать при этом понять какие то тонкости. например feback node + "+1" - есть a++;
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

soleda писал(а):с генератора частоты идет непрерывный меандр
soleda писал(а):С какой скоростью опрашивается плата, даже не смотрел, да и незачем я думаю.
Это как раз важно.
Допустим у Вас идет меандр, в чем я не уверен, но пусть.
Для того, чтобы нормально "ловить" импульсы, необходимо опрашивать с частотой, что бы на период сигнала приходилось хотя бы три опроса. При двух уже есть вероятность импульс пропустить. Отсюда и важность знать максимальную частоту меандра, т.к. это непосредственно влияет на необходимую частоту опроса.
soleda писал(а):С чего вы решили, что точность хромает?
soleda писал(а):У меня вот вопросик по тахометру, сейчас тахометр работает в общем правильно, но иногда сбивается с чем это может быть связано?
Хромает или нет, решать Вам. Вы спросили, я ответил и сказал, что количество переходит в качество. И если имеются сомнения, то необходимо увеличивать длительность измерения.
soleda писал(а):Ещё раз - я высчитываю частоту а не периоды. Если вы за секунду насчитали 1000 импульсов - это не значит 1000Гц!!!
Именно это и значит! При условии, что Вы их верно посчитали. Это и будет частота меандра!
Хотя для меня эти величины равнозначны, т.к. они между собой связаны по известному закону.
soleda писал(а):я вообще ничего не изобретаю, я пытаюсь осознать этот язык программирования. Зачем прибегать к готовому узлу, если его можно разработать при этом понять какие то тонкости. например feback node + "+1" - есть a++;
Я понятия не имею, кто Вы по образованию. Возможно Вы являетесь признанным специалистом в какой-то области, но это точно не метрология, обработка сигналов или программирование :labview: .

Ну и агрессивная манера ведения дискуссии до истины не доведет.
Если Вы хотите поиграться, то играйтесь, тихо, молча и в свое удовольствие.
Прежде чем давать советы, люди на собственном брюхе все это проползли и сделали выводы.
Если стоит конкретная задача, то и решать ее необходимо правильно, проверенным инструментарием, а не
Blackman писал(а):пытаетесь изобрести велосипед))
soleda
junior
junior
Сообщения: 54
Зарегистрирован: 26 сен 2016, 06:52
Версия LabVIEW: 2011
Контактная информация:

Re: Моя первая программа

Сообщение soleda »

Ну во первых, с самого начала, я говорил, что не суть важно частота, обороты итп. Меня интересовало как считать. Для чего вы на этом акцентируете внимание мне чесно сказать непонятно.
Скажем так:
вот для меня на рисунке 5 импульсов, для вас пусть будет 5 Гц....
Вложения
Безимени 1.jpg
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

soleda писал(а):Ну во первых, с самого начала, я говорил, что не суть важно частота, обороты итп. Меня интересовало как считать. Для чего вы на этом акцентируете внимание мне чесно сказать непонятно.
Скажем так:
вот для меня на рисунке 5 импульсов, для вас пусть будет 5 Гц....
А это разве меандр, о котором Вы и я говорили?
soleda
junior
junior
Сообщения: 54
Зарегистрирован: 26 сен 2016, 06:52
Версия LabVIEW: 2011
Контактная информация:

Re: Моя первая программа

Сообщение soleda »

А какая разница, чем он хуже меандра?)
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Моя первая программа

Сообщение IvanLis »

soleda писал(а):А какая разница, чем он хуже меандра?)
Вопрос закрыт :suicide:
Читайте мат часть, у вас проблема не с :labview: , а с отсутствием базовых знаний и понимании "физики" процессов.

Надеюсь, Вы получите желаемый результат.
Ответить

Вернуться в «Для чайников»