plcforum.uz.ua

International PLC Forum
It is currently Tue Oct 17, 2017 7:59 pm

All times are UTC + 3 hours


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Sun Jun 04, 2017 12:48 pm 

Joined: Thu Sep 09, 2010 12:21 pm
Posts: 15
Всем доброго времени суток !Имеется аналоговое значение (пятизначное) от тензодатчика. Последня цифра, а и иногда предпоследняя цифра, этого анологового значения постоянно меняется и из-за этого постоянно "прыгает" вес в программе и из за этого не могу выставить ноль системе
Подскажите как решить данную проблему.Возможно есть примеры программ на SCL ?


Top
 Profile  
 
PostPosted: Wed Jun 07, 2017 8:51 am 

Joined: Sun Jun 02, 2013 11:23 am
Posts: 3
Сделайте зону нечувствительности
Или усредняйте значение (скользящее среднее)
Или их комбинацию

В любом случае будет потеря в скорости и точности обработки сигнала.

Да и вообще зачем такая точность (до 5го знака), если сам датчик выдает ложный сигнал в этом разряде, просто можно округлить до 4 разряда...


Top
 Profile  
 
PostPosted: Thu Jun 08, 2017 9:26 am 

Joined: Thu Dec 08, 2011 2:23 pm
Posts: 28
Еще как вариант:
1. Настроить фильтрацию в hardware канала.
2. Реализовать фильтр (3 строчки кода в SCL):
Image


Top
 Profile  
 
PostPosted: Fri Jun 09, 2017 7:02 pm 

Joined: Thu Sep 09, 2010 12:21 pm
Posts: 15
Дело в том что собираю весовой терминал.Когда преобразую величину в значение получается к примеру 23.56 кг ,второй разряд после зааятой в данном случае 6-ка прыгает.Это мешает измерению ,т.к планируется дозировать наполнение пакетов. Округление особо не помогает ,пробовал различные фильтры и по времени в итоге измерение становится инертным довольнотаки.
В формуле с экспонентой t и T какое из них что значит на примере цикла ПЛК .t это как часто опрашивается сигнал или время выполнения блока программы ?? Пояснительная пожалуйста )


Top
 Profile  
 
PostPosted: Fri Jun 09, 2017 8:24 pm 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 157
Location: Russian Federation
ОК, добавь обработку зоны нечувствительности (deadband): в каждом цикле новое значение веса сравниваешь с сохранённым предыдущим. Если дельта по модулю между ними меньше 0.02 - оставляешь старое значение. И нет больше никакого дребезга в младшем разряде.


Top
 Profile  
 
PostPosted: Mon Jun 12, 2017 7:04 am 

Joined: Thu Jun 03, 2010 10:43 pm
Posts: 81
Location: Russia
Привет.
А почему не использовать для этой цели стандартный PID-регулятор? Gain на единицу, D на 0, а интегратором добиться требуемого. И не заморачиваться. Была аналогичная тема лет 10 назад, только не с весом, а с уровнем в смесительном танке. При включеной мешалке, была полная дребедень. :D


Top
 Profile  
 
PostPosted: Tue Jun 13, 2017 1:10 am 

Joined: Thu Sep 09, 2010 12:21 pm
Posts: 15
Т.е мне надо записать значения в N мерный массив и каждое N-1 значение сравнить с N , если результат не выходит за дельту отправлять его на обработку?
Если можно то пример пару строчек...


Top
 Profile  
 
PostPosted: Tue Jun 13, 2017 11:29 am 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 157
Location: Russian Federation
Да какой массив... Достаточно хранить предыдущее значение.
ЕСЛИ Хтек-Xпред<Дельта ТО Y=Xпред ИНАЧЕ Y=Xтек: Xпред=Xтек


Top
 Profile  
 
PostPosted: Thu Jun 15, 2017 8:53 pm 

Joined: Thu Sep 09, 2010 12:21 pm
Posts: 15
Не в те материи подался я)))спасибо)
А вообще для весоизмерительной техники нормально что так плавает разряд? Просто реальные весы когда взвешиваешь разряды стоят как вкопаны, а тут получается при таком алгоритме я несколько раз укладываю один и тот же вес а показания начинают немного разнится...


Top
 Profile  
 
PostPosted: Thu Jun 15, 2017 11:25 pm 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 157
Location: Russian Federation
Всё зависит от того, куда эти показания потом идут. Если это вес ёмкости и ПИДу надо "поймать" уставку при заполнении - небольшая погрешность не роляет. А если это мгновенный вес в потоке, который идёт в суммы за час/смену/неделю/месяц - это совсем другое.


Top
 Profile  
 
PostPosted: Fri Jun 16, 2017 12:39 am 

Joined: Thu Sep 09, 2010 12:21 pm
Posts: 15
У меня субстанцией наполняется пакет который стоит на весах,т.е. задаю объём происходит наполнение как необходимый вес набрался все стоп.
У Siemens есть весоизмерительные модули siwarex, уважаемый Rex2701 вы не знаете там алгоритмы на аппаратном уровне зашиты, или основные преобразования в запароленых блоках?


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 8:30 am 

Joined: Wed Oct 13, 2010 11:44 am
Posts: 157
Location: Russian Federation
Весовая служба у нас отдельная. Почитайте документацию на SIWAREX'ы.


Top
 Profile  
 
PostPosted: Thu Jun 29, 2017 4:11 pm 

Joined: Tue Dec 26, 2006 8:21 am
Posts: 457
Location: Russia
Если не вдаваться в дискусии оп весовому хозяйству, то фильтрацию на аналоговых входах я делаю просто: делю на 10 потом умножаю на 10 (10 или 100 или 1000 смотря сколько знаков надо отфильтровать).


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by International PLCforum® Forum Software © PLCforum
Mobile version