[?] нужен алгоритм непрерывного взвешивания.

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

[?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

Всем доброго дня.

Не могу определиться с алгоритмом непрерывного взвешивания массы, движущейся по ленточному транспортеру.

Исходные данные: моментальный вес (сигнал с тензодатчика), скорость ленты транспортера.
Выходные данные: вес продукта прошедшего за определенный период по транспортеру.

Примерная идея: исходя из скорости транспортера и необходимой точности измерения, определился: брать усредненные значения показаний датчика массы за 0.5 сек. Полученные значения суммировать.

Вопрос: как програмно (или может есть аппаратный способ?) усреднить значение снятое с модуля ввода за период 0.5 сек?. Нужно ли в данном случае использовать прерывания по времени?

Всем спасибо!
sania
Site Admin
Posts: 1387
Joined: Sat Aug 13, 2005 6:15 am

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by sania »

где-то в библиотеке ПЦС есть блок фильтра..
хотя,кажется,там время дискредитации в секундах
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

Единственное, что более-менее подходит по описаниям, это FB80: Lead/Lag Algorithm (LEAD_LAG).(интегрирование)
Оно? :?:
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by CHANt »

Я не большой знаток конвеерного транспорта...
Если в работе тензодатчики - значит есть какой-то участок конвеера специально предназначенный для взвешивания? Он имеет определенную длину, следовательно, следующая порция для взвешивания транспортируемого материала будет на этом участке через определенные промежутки времени в зависимости от скорости ленты - т.е., на мой взгляд - вычислить время дискретизации измерения по скорости ленты, записывать вес в DB в соответствии с вычисленной дискретизацией, затем просуммировать измерения за минуту, час (в зависимости от задачи). Как-то так. А вот фиксация измерения просто каждые 0,5 секунды, как пальцем в небо...
При коммерческом учете составляются МВИ (методика выполнения измерения) и регистрируются во ВНИИМС, либо пользуются официальными для данной отрасли, либо государственными методиками типа "МИ-хххххх".
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

CHANt wrote:Если в работе тензодатчики - значит есть какой-то участок конвеера специально предназначенный для взвешивания? Он имеет определенную длину, следовательно, следующая порция для взвешивания транспортируемого материала будет на этом участке через определенные промежутки времени в зависимости от скорости ленты ...
Участок для взвешивания конечно есть - он представляет собой обычные ролики, по которым идет лента, единственное: опора этих роликов подвижная, и как раз под ней находятся тензодатчики. Т.о. получается, что участок для взвешивания очень короткий (10-15 см при диаметер роликов 150 мм). Скорость транспортера, тоже относительно не маленькая - 0.96 м/с. Расстояние между соседними роликоопорами - 0.5 м.

Исходя из этих данных получается, что новая порция на участке взвешивания (10-15см) будет каждые 0.1 сек. Или участок взвешивания надо считать расстояние от точки установки измерительных роликов до неподвижных роликоопор в обе стороны( получается 2х0.5 =1.0 м) ?

Все-таки я склоняюсь к усредненным значениям за определенный период: зная, что в течении 0.5 сек на участке взвшивания (Х м) находилась в среднем масса Х кг, можем через скорость транспортера вычислить общую прошедшую массу.

Еще: чем больше будет мгновенных значений веса - тем точнее будут измерения...Но на это повлиять нельзя: стандартное значение времени интегрирования входного сигнала модулем ввода SM331 в режиме измерения напряжения +/- 80мВ составляет 100мс, таким образом модуль могет выдать 10 значений в секунду....- это если я правильно интерпритировал документацию. :)

А за идею о нормативной документации - спасибо: поищу что-нибудь...
Last edited by dmitry_79 on Thu Feb 18, 2010 8:58 am, edited 1 time in total.
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by CHANt »

Да собственно, вот этот может и пойдойдет:
  • КОМИТЕТ СТАНДАРТИЗАЦИИ И МЕТРОЛОГИИ СССР

    УДК 531.7 Группа Т80

    РЕКОМЕНДАЦИЯ

    ГОСУДАРСТВЕННАЯ СИСТЕМА ОБЕСПЕЧЕНИЯ ЕДИНСТВА ИЗМЕРЕНИЙ


    ИЗМЕРЕНИЯ КОСВЕННЫЕ
    ОПРЕДЕЛЕНИЕ РЕЗУЛЬТАТОВ ИЗМЕРЕНИЙ И ОЦЕНИВАНИЕ ИХ ПОГРЕШНОСТЕЙ

    МИ 2083-90
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by CHANt »

У меня получается, что взвешиваемый участок, при Ваших данных(15см), оказывается на весах каждые 156,25 миллисекунды. Вполне по силам трехсотого измерять с такой дискретностью.
Или участок взвешивания надо считать расстояние от точки установки измерительных роликов до неподвижных роликоопор в обе стороны( получается 2х0.5 =1.0 м) ?
Это лучше у механиков или технологов уточнить. Если влияние на весы оказывает - значит еще лучше. частота дискретизации будет меньше
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

Еще надо учитывать, что транспортер находиться под наклоном: из законов физики получается, что сила тяжести несколько иная...

В общем похоже придется экспериментально: прогонять известную массу по транспортеру и подгонять показания дачиков под это значение...
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by CHANt »

dmitry_79 wrote:Еще надо учитывать, что транспортер находиться под наклоном: из законов физики получается, что сила тяжести несколько иная...

В общем похоже придется экспериментально: прогонять известную массу по транспортеру и подгонять показания дачиков под это значение...
Не датчиков! :) А определить участок (длину) взвешивания - и расчитать временной период между измерениями. Сюда же и всякие погрешности внести надо - типа участка сшивки ленты, а может там и не один стык?!. Да и скорость при пуске и останове конвеера тоже надо учесть...
В общем, это мой взгляд - есть опыт расчета жидкости протекающей в трубе, гос указания требуют определенное кол-во измерений в единицу времени, отсюда и пляшу. :)
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

CHANt wrote: Не датчиков! :) А определить участок (длину) взвешивания ...
ну да... я не правильно выразился - это и имелось ввиду...
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by CHANt »

Есть смысл подумать на настраиваемым таймером считающем точное время. По срабатыванию которого будет заносится измерение в DB. А остальное уже не сложно, раз в минуту или час суммировать данные и выдавать на верхний уровень, не забывая (выше МИ 2083-90 упоминал :) ) выводить значение и среднее квадратичное отклонение - пресловутый "плюс/минус" :D
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

CHANt wrote:Есть смысл подумать на настраиваемым таймером считающем точное время. По срабатыванию которого будет заносится измерение в DB. А остальное уже не сложно, раз в минуту или час суммировать данные и выдавать на верхний уровень, не забывая (выше МИ 2083-90 упоминал :) ) выводить значение и среднее квадратичное отклонение - пресловутый "плюс/минус" :D
Буду применять прерывания по времени...

Кроме компенсации стыков транспортерной ленты, надо учитывать еще и вес самой ленты... поэтому думаю провести прогонку пустого транспортера , чтобы лента сделала 2-3 полных оборота - и этот вес считать "0" ... как-то так...
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by CHANt »

dmitry_79 wrote:Кроме компенсации стыков транспортерной ленты, надо учитывать еще и вес самой ленты... поэтому думаю провести прогонку пустого транспортера , чтобы лента сделала 2-3 полных оборота - и этот вес считать "0" ... как-то так...
Почитайте документацию http://www.automation-drives.ru/pi/prod ... ld/weight/,
у меня сложилось мнение, что данные по ленте и всему остальному решаются на этапе калибровки весов и к алгоритму в Симатике отношение это не имеет.
И кстати, попадаются упоминания о стандартных функциях для Step7 типа Siwarex-U идущих в комплекте с весами...
Вполне возможно, что данные функции есть в наборе софта для SIWAREX, попробуйте посмотреть в поиске
Олег
Posts: 58
Joined: Wed Dec 13, 2006 6:54 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Олег »

В таких весах привязываться к скорости не совсем корректно, хотя и общепринято, при измерении скорости и пересчёте её в пройденное расстояние, получаем дополнительные погрешности.

Есть более простой алгоритм.
Подбираем датчик скорости таким образом что-бы выдавал один импульс на несколько сантиметров/миллиметров при максимальной скорости движения и контроллер успевал бы ловить этот сигнал и в то-же время при минимальной скорости конвейера время между сигналами с датчика не растягивалось-бы на несколько секунд.
Далее на каждый импульс выполняем один расчёт.
--От показаний датчика отнимаем вес ленты на один импульс (его специально расчитываем прогнав ленту пару полных оборотов)
--То что осталось умножаем на коэф. расчитанный предварительно исходя из расстояния между импульсами и эффективной длины взвешивающего моста, можно этот коэф получить экспериментально, прогнав эталонный груз.
-- если показания с датчика выше ограничения на мин. нагрузку на ленту (такие весы нормально взвешивают если лента максимально заполнена) тогда интегрируем то что насчитали.

Все вычисления с числами максимальной размерности, иначе можно потерять данные при интегрировании, суммируя большое число с очень маленьким float на 64 бита подойдёт, на 32 не прокатит.

Это тот-же принцип который можно найти у производителей и теоретиков этих весов, только из формул выкинуто время, расчёт ведётся не через время, а через одинаковые расстояния, по импульсам

такие весы достаточно сложны и капризны в эксплуатации, требуют постоянной каллибровки ленты и очистки самой конструкции от грязи, иначе вес тары постоянно меняется. Стыков на ленте быть не должно, только качественная склейка, натяжка ленты должна производится не ведомым барабаном, а роликом с грузом на нижней части ленты, транспортёр не должен быть кривым и ещё куча всяких условий. т.е. если нет обыта работы с обычными бункерными дозаторами, с такими весами лучьше не связываться.
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

Гм... интересная информация, спасибо.
Олег wrote:такие весы достаточно сложны и капризны в эксплуатации, требуют постоянной каллибровки ленты и очистки самой конструкции от грязи, иначе вес тары постоянно меняется. Стыков на ленте быть не должно, только качественная склейка, натяжка ленты должна производится не ведомым барабаном, а роликом с грузом на нижней части ленты, транспортёр не должен быть кривым и ещё куча всяких условий. т.е. если нет обыта работы с обычными бункерными дозаторами, с такими весами лучьше не связываться.
Это мы в курсе: единственное условие (из перечисленных), которое не выполняется на имеющемся транспортере - наличие автоматического натяжения ленты (груз на нижней части)
SLon
Posts: 61
Joined: Wed Oct 10, 2007 5:03 pm
Location: Russia SPb

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by SLon »

... У меня тоже стоит задача взвешивания на конвеере и здесь нашёл ответы и на свои вопросы,
(хотя в моём случае всё много проще и контролер SLC 500), но хотелось бы ещё узнать мнения
по железу, чем лучще всего привязать тензодатчик к модулю аналоговых входов исходя из вашего
опыта (я столкнулся с этим впервые)....
Serge_n
Posts: 131
Joined: Tue Feb 27, 2007 7:57 pm
Location: South Ukraine

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Serge_n »

SLon wrote:... чем лучще всего привязать тензодатчик к модулю аналоговых входов исходя из вашего опыта ...
Я использовал такие трансмиттеры. (Стр.55)
Сейчас их не выпускают и предлагают замену - 5116.
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

Serge_n wrote:Я использовал такие трансмиттеры. (Стр.55)
Сейчас их не выпускают и предлагают замену - 5116.
Э.. минутку.. а нельзя что-ли напрямую подать сигнал с тензодатчика на модуль ввода?

Параметры тензодатчика: биполярный сигнал +- 5 мв
Параметры модуля ввода: биполярный сигнал +- 80 мв.

... понятно, что точность из-за диапазона будет не очень высокая, но если это удовлетворяет потребностям зачем же тратиться на трансмиттеры? (если я правильно понял назначение трансмиттера: преобразование сигнала тензодатчика в унифицированный сигнал)
Олег
Posts: 58
Joined: Wed Dec 13, 2006 6:54 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Олег »

не совсем правильно, ещё обязательно очень стабилизированное питание для датчика. Бывают и шестипроводные схемы подключения чтобы бороться с гулянием сопротивления проводов, и ещё всякие мелочи из-за своей специфики
5116 кстати без источника питания, геморно на него тензодатчик прилепить,
лучьше брать нормирующие усилители фирм которые занимаются весоизмерением, у них как правило опыт в этом деле. и решены всякие мелочи вроде сдвига полезного диапазона, датчики ведь принято ставить в 1,5-2 раза выше веса всей конструкции вместе с грузом, запас прочности называется, да и тратить диапазон на вес платформы или тяжолого бункера тоже плохо. т.е. чтобы не работать с 10-30 процентами диапазона, приходится выкручиваться. Кстати один из способов обхода лишнего диапазона на запас прочности, это установка датчиков с к.передачи 3 мв/в. т.е. что-бы запас прочности ушёл за верхнюю границу диапазона прибора.
Параметры тензодатчика: биполярный сигнал +- 5 мв
Параметры модуля ввода: биполярный сигнал +- 80 мв.
во сколько раз увеличится погрешность? даже если используем стандартные 10 вольт питания и датчик 2 мв/в, реально работаем с диапазоном около 5-10 мв, остальные 10-15 уходят на вес бункера и запас прочности.
SLon
Posts: 61
Joined: Wed Oct 10, 2007 5:03 pm
Location: Russia SPb

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by SLon »

dmitry_79 wrote:5116 кстати без источника питания, геморно на него тензодатчик прилепить,
...конечно наверное самый правильный вариант всоизмерительный модуль в корзину поставить...
но в моём случае от датчика до корзины не меньше 20м и поэтому мне кажется поставить
трансмиттер рядом с датчиком - более правильное решение...
...если не 5116, тогда что???
Serge_n
Posts: 131
Joined: Tue Feb 27, 2007 7:57 pm
Location: South Ukraine

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Serge_n »

Олег wrote:... 5116 кстати без источника питания, геморно на него тензодатчик прилепить ...
С чего это Вы взяли?
Смотрим стр 9 (5116).
Я на 200 килограмовых весах имею погрешность 10 грамм (0,005%). Заказчику достаточно было 0,1%.
И еще есть плюс - это взрывозащита.
SLon wrote:... в моём случае от датчика до корзины не меньше 20м и поэтому мне кажется поставить
трансмиттер рядом с датчиком - более правильное решение ...
В моем случае от датчика до трансмиттера не менее 30 метров. Датчик подключен по 6-ти проводной схеме.
Олег
Posts: 58
Joined: Wed Dec 13, 2006 6:54 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Олег »

В мануале по ссылке, не на 9 странице, не на других нет ни слова о подключении тензодатчика и наличии в этом приборе источника питания для таких датчиков.

Преобразователи (измерители) с токовым выходом или 485 портом есть практически у всех производителей весоизмерительного оборудования, есть у Scaime, Тензо-М, CAS, можно найти и на динрейку в шкаф, в металлической коробке для установке на весы, и панельные приборы с индикацией.

По поводу погрешности, не будте так уверены что у Вас 0,005%, на 10 странице ±0,05% от диап. (всего диапазона прибора, а не от того что взвешиваешь) плюс погрешности от температурного дрейфа прибора и датчика, плюс грехи питания датчика (если оно там есть) плюс нелинейность датчика.
И вдобавок существует гос. методика по которой определяется погрешность весов в целом и что это вообще такое.

а то Вы даже лабораторные весы по точности переплюнули.
Serge_n
Posts: 131
Joined: Tue Feb 27, 2007 7:57 pm
Location: South Ukraine

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Serge_n »

Олег wrote:В мануале по ссылке, не на 9 странице, не на других нет ни слова о подключении тензодатчика и наличии в этом приборе источника питания для таких датчиков ...
Человек спросил, как ему подключить тензодатчик.
Я рассказал свою историю и указал, что использовал 5111.
На сайте производителя указано, что заменой 5111 является 5116 (я их в руках не держал).
Наверное вопросы не ко мне, а к производителю?

Предложите свои конкретные варианты.
Олег
Posts: 58
Joined: Wed Dec 13, 2006 6:54 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Олег »

Наверное вопрос всё-же к Вам, ведь Вы предложили то что сами не проверяли даже по мануалу.
Предложить преобразователь тензодатчик в 4-20 или другой интерфейс конечно могу, но какой? на динрейку или в мет. коробке или с цифирками для установки на шкаф, а для какого применения? бункер или конвейер? покруче или дешевле.
Вариантов слишком много что-бы предложить конкретный прибор.
а то Вы даже лабораторные весы по точности переплюнули.
Не стоит обижаться на это, а если считаете что я резко выразился, могу и извинится. (sorry)
Scowl
Posts: 50
Joined: Sun Nov 27, 2005 7:46 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Scowl »

Serge_n wrote:Я на 200 килограмовых весах имею погрешность 10 грамм (0,005%). Заказчику достаточно было 0,1%.
может вы имеете ввиду стабильность показаний?
SLon
Posts: 61
Joined: Wed Oct 10, 2007 5:03 pm
Location: Russia SPb

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by SLon »

Олег wrote:Преобразователи (измерители) с токовым выходом или 485 портом есть практически у всех производителей весоизмерительного оборудования, есть у Scaime, Тензо-М, CAS,
...если не можно киньте ссылку на конкретное изделие...
Задача взвешивать упаковки 5кг на конвеере, погрешность не ниже 0,1%, с токовым выходом
(цена - вопрос очень больной...)
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dmitry_79 »

http://www.tenso-m.ru/ - в РФ лучшее отношение цена/качество.
Олег
Posts: 58
Joined: Wed Dec 13, 2006 6:54 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Олег »

Ну если точнее то
http://tenso-m.ru/pages/21?id=159
Пользовали, штучка в принципе неплохая. Но это только для преобразования сигнала, энкодер цеплять придётся сразу на контроллер и там производить расчёт, если речь о конвейерных весах.
Но, т.к. у Вас не сыпучий продукт а коробки, то между транспортёрами наверно лучше сделать короткую вставку, рольганг, и взвешивать всю конструкцию вместе с коробкой во время короткой остановки.

Хоть и хочется дешевле, но есть готовые устройства для этой задачи
http://cas.ru/3_produkt/Checkweigher/detail.php?ID=2540

возможно у Вас задача просто для учёта продукции, и возможно нет смысла цеплять измеритель веса к контроллеру, тогда возможно подойдёт это:
http://cas.ru/3_produkt/Indikat/CI-2001A.htm
symbios
Posts: 1
Joined: Mon Jun 14, 2010 12:41 pm

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by symbios »

В весоизмерительных модулях SIWAREX U есть параметры "бит актуализации" и "счетчик актуализации" изменение которых говорит о том, что актуальный вес изменился.
V_Igor
Posts: 1
Joined: Sat Feb 05, 2011 7:43 pm

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by V_Igor »

У Simatic есть заточенный под ленточные весы модуль SIWAREX-FTC, но стоит он в 2.5 раза больше чем SIWAREX-U.
Вопрос к бывалым программистам S7:
1. С помощью CPU-314C-DP и SIWAREX-U + HMI панель можно ли реализовать алгоритм управления
ленточных весов?
Т.е. CPU принимает значения и формирует управляющие сигналы:
- текущего веса с модуля SIWAREX-U;
- Импульсы от энкодера с встроенного дискретногос счетного входа ;
- с дискретных входов фиксацию прохождения метки на ленте и датчики схода ленты;
- Формирует сигнал управления PID на встроенном аналоговом выходе для управления ПЧ;
- Формирует все остальные выходные значения ленточных весов - скорость ленты, погонная нагрузка, производительность, суммарные счетчики и отображает на панели;
- с панели задаются все параметры и производится калибровка и управление.
Кому то приходилось реализовать такую задачу?
dyakov72
Posts: 56
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by dyakov72 »

Добрый день..хотелось бы вновь поднять данную тему..может автор или кто то поделиться идеями..в настоящий момент данная проблема пока на стадии обдумывания как по части оборудования так и по части софта...но цель снимать статистику по весу материала, проходимого по ленточному конвейеру. Спасибо.
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Re: [?] нужен алгоритм непрерывного взвешивания.

Post by Dfcz »

Этот топик последовательно с обсуждениями и размышлениями показывает, что лучшее решение уже есть (см. чуть-чуть выше своего сообщения).