Просмотр полной версии : весы
Добрый день. Имеем тензодатчик на 30 кг ,преобразователь сигнала тензодатчика в 4-20ма, ПР200-220.2.1.0
задача: Имеется емкость с жидкостью, из которой тонкой струйкой эта жидкость вытекает.Начальный вес брутто 25 кг.как подсчитать количество жидкости вытекшей из емкости за 1 мин.(1 сек) и скорость потери массы. Понятно что( m1- m2)/t но как отразить в ОЛ.
anthrwpos
23.10.2017, 06:35
Сохранить историю изменений m в что-то вроде массива, в ОЛ нельзя.
Есть два варианта. Каким либо образом сохраняется значение m1 и начинается счет времени. Через минуту фиксируется m2 и вычисляется эта величина.
Второй. В каждый момент времени вычисляется скорость потери массы по текущему и предыдущему значению. Но это чревато тем, что текущее значение будет меняться скачками и вы получите сильно зашумленный сигнал.
Для подобных случаев я для себя изобрел специальные усредняющие макросы с вычислением производной по времени от величины.
Во вложении как я себе представляю реализацию обоих вариантов.
anthrwpos спасибо за ответ.Прошу сильно не пинать ибо новичек. Возможно ли в ОЛ зафиксировать вес изначальный в переменной не прибегая к прошивке программы,то бишь подвешиваем на весы емкость заливаем в нее жидкость и фиксируем вес кнопкой на ПР200 с записью в переменную "вес начальный" , затем нажимаем кнопку "старт" и жидкость начинает вытекать и в переменной "потеря веса" начинается подсчет жидкости
anthrwpos
23.10.2017, 18:29
anthrwpos спасибо за ответ.Прошу сильно не пинать ибо новичек. Возможно ли в ОЛ зафиксировать вес изначальный в переменной не прибегая к прошивке программы,то бишь подвешиваем на весы емкость заливаем в нее жидкость и фиксируем вес кнопкой на ПР200 с записью в переменную "вес начальный" , затем нажимаем кнопку "старт" и жидкость начинает вытекать и в переменной "потеря веса" начинается подсчет жидкости
Кнопки на самом ПР-200 не могут выполнять полезных функций в программе, они только для управления экранами.
Можно подключить внешние кнопки в дискретные входы, вот ими можно что угодно делать.
Элемент "SEL" с линией задержки в средний вход именно это и делает: фиксирует некоторое значение пока на его верхний вход не подано 1. Именно таким образом у меня в программе фиксируется вес, от которого начинает отсчитываться расход за минуту.
Сергей0308
23.10.2017, 18:42
Я вижу так: пишите в стек значения массы каждую секунду, находите разницу в весе(уменьшение) за каждую секунду и высчитываете среднее скользящим окном, ширина скользящего окна - степень сглаживания, всё, курите бамбук! Лучше в стек сразу разницу веса писать, проще выйдет!
Примерно так:
33854
Ревака Юрий
24.10.2017, 09:16
Кнопки на самом ПР-200 не могут выполнять полезных функций в программе, они только для управления экранами.
Можно подключить внешние кнопки в дискретные входы, вот ими можно что угодно делать.
Элемент "SEL" с линией задержки в средний вход именно это и делает: фиксирует некоторое значение пока на его верхний вход не подано 1. Именно таким образом у меня в программе фиксируется вес, от которого начинает отсчитываться расход за минуту.
Можно завести на экран булевую переменную и ее изменять с экрана, тем самым заменяя кнопку на дискретном входе.
вот как то добился , но не нравится два дискретных входа задействовано,как на один перевести
anthrwpos
24.10.2017, 20:11
вот как то добился , но не нравится два дискретных входа задействовано,как на один перевести
Cмысла от второго входа я так и не понял. Оно и с одним отлично работает.
добрый день.Существует проблема в "дребезжании" показаний тензодатчика.Разброс показаний составляет до 15 грамм.Как погасить эти быстрые перепады?период опроса датчика нужно как можно меньше.
Усреднением ...15 гр. ,а максимальный вес?
максимальный вес 10 кг
значит приведенная погрешность 0,15% , так что вы хотите ,точность приличная ,а что бы не дергались примените макрос усреднения по методу скользящего окна .
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot