Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Есть датчик давления. Снимаю с него значения. Задача: определить среднее значения давления в рабочем режиме. В графическом виде все понятно, среднее примерно 2,2 бара. А вот с алгоритмом проблема, не знаю с какой стороны подойти. Посчитал частоту появления значений датчика: значение датчика = частота появления -0.07 = 001 -0.06 = 001 -0.02 = 001 0.00 = 002 0.02 = 005 0.03 = 001 0.04 = 004 0.05 = 3146 0.06 = 014 0.07 = 007 0.08 = 006 0.10 = 001 0.11 = 002 0.12 = 001 0.13 = 003 0.14 = 002 0.18 = 001 0.19 = 002 0.21 = 001 0.23 = 002 0.24 = 001 0.34 = 001 0.43 = 001 0.50 = 001 0.60 = 001 0.71 = 001 0.83 = 001 0.84 = 001 1.22 = 001 1.29 = 001 1.35 = 001 1.44 = 001 1.84 = 001 2.04 = 001 2.15 = 001 2.22 = 001 2.23 = 001 2.24 = 002 2.25 = 001 2.27 = 001 2.29 = 001 2.30 = 001 2.31 = 001 2.32 = 002 2.33 = 001 2.35 = 001 Кто-нибудь решал подобную задачу? Какую литературу посмотреть? ( во вложении: часы : минуты : секунды \t миллисекунды \t значение датчика ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 19:08 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Тут у тебя надо учесть дискретность, т.к. датчик снимает показания реже чем ты его опрашиваешь. Т.к. при отсутствии замеров датчик дает 0, то я бы отсек все что на 80% отстоит от максимума. Только выборка должна покрывать такой диапазон, чтобы датчик успел снять реальные показания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 19:24 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Главное в алгоритме: когда реально будет ноль (0.05) чтобы это было видно. Можно статистику наоборот применить: посчитать среднеквадратичное отклонение и все что за пределами трех сигм считать правильным, т.к. у тебя восновном неправильные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 19:30 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Dima TТут у тебя надо учесть дискретность, т.к. датчик снимает показания реже чем ты его опрашиваешь. Т.к. при отсутствии замеров датчик дает 0, то я бы отсек все что на 80% отстоит от максимума. Только выборка должна покрывать такой диапазон, чтобы датчик успел снять реальные показания.Нет. Датчик нормально опрашивается. Опрос идет по RS-485. Когда насос стоит, помех от частотника нет и датчик опрашивается быстро. По 2-3 раза в сек. А вот когда насос работает из-за помех от частотника опрос датчика происходит медленно. Задержки доходят до 40-50 сек. Но вопрос не в этом. Мне алгоритм "усреднения" нужен. С опросом я разберусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 19:36 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_SlaМне алгоритм "усреднения" нужен. про сигмы наоборот прочитал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 19:39 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Dima Tm_SlaМне алгоритм "усреднения" нужен. про сигмы наоборот прочитал?там нет неправильных значений, там все значения правильные это развертка давления во времени 1) насос остановлен давление - 0,05 ( начало графика) 2) насос включаем давление растет, происходит колебание давления (переходной процесс) 3) давление устанавливается ( немного колебается ) - рабочий режим это мне надо определить 4) насос останавливается давление падает мне надо научить систему определять рабочий режим из всех точек надо выбрать только те которые попадают в рабочий режим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:07 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_Slaиз всех точек надо выбрать только те которые попадают в рабочий режим ИМХУ нерабочий режим = неправильные значения. Как понимаю в каком режиме девайс находится тебе неизвестно. Но т.к. чаще он в нерабочем режиме (как понял он не откликается особо когда работает), то считай нерабочий режим основным, и все что статистически в него не вписывается - считай рабочим режимом. Почитай про Среднеквадратическое отклонение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:16 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_Slaмне надо научить систему определять рабочий режим из всех точек надо выбрать только те которые попадают в рабочий режим Тут главное взять диапазон такой, чтобы точек нерабочего режима было значительно больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:20 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Если это насос, то как понимаю интересно видеть не столько давление в рабочем режиме, т.к. режим работы импульсный, то там мало интересного, а видеть сам факт насос работает или умер. Может лучше учесть импульсность? Например: работает Х% времени. Если 5-10% нормально, 50% подозрительно, 100% - не справляется, 0% - умер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:31 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Dima TЕсли это насос, то как понимаю интересно видеть не столько давление в рабочем режиме, т.к. режим работы импульсный, то там мало интересного, а видеть сам факт насос работает или умер. Может лучше учесть импульсность? Например: работает Х% времени. Если 5-10% нормально, 50% подозрительно, 100% - не справляется, 0% - умер.мне нужно давление в установившемся режиме остальное не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:34 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Dima Tm_Slaиз всех точек надо выбрать только те которые попадают в рабочий режим ИМХУ нерабочий режим = неправильные значения. Как понимаю в каком режиме девайс находится тебе неизвестно. Но т.к. чаще он в нерабочем режиме (как понял он не откликается особо когда работает), то считай нерабочий режим основным, и все что статистически в него не вписывается - считай рабочим режимом. Почитай про Среднеквадратическое отклонение плохо получается, попадают значения из переходных процессов 0,5 1,29 2,04 2,3 2,32 2,29 2,25 2,24 1,22 0,6 0,83 2,27 2,22 2,15 2,32 2,23 2,35 2,24 2,31 1,35 с лишними ср.значение = 1,866 без лишних = 2,252 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:45 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_Slaмне нужно давление в установившемся режиме остальное не нужно Берешь интервал [Tстарта насоса +15сек, Tвыключения] И считаешь среднее. Всё. Остальные проблемы от криворукого проектирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:51 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
В финансовом тех.анализе есть такой индикатор Скользящая средняя . Суть в том что берется N последних точек и показывается среднее. Индикатор запаздывающий, т.к. показывает прошлое. Только там интервалы между точками одинаковы. Если у тебя интервалы разные, то надо это учесть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:53 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Зимарглm_Slaмне нужно давление в установившемся режиме остальное не нужно Берешь интервал [Tстарта насоса +15сек, Tвыключения] И считаешь среднее. Всё. Остальные проблемы от криворукого проектирования.или из-за отсутствия денег а так-то пряморуким проектировщикам хорошо, если денег много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:55 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_SlaЗимарглпропущено... Берешь интервал [Tстарта насоса +15сек, Tвыключения] И считаешь среднее. Всё. Остальные проблемы от криворукого проектирования.или из-за отсутствия денег а так-то пряморуким проектировщикам хорошо, если денег многоЗа такого качества работу платить даже вредно. Связь настроить не могут, частотник настроить не могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 20:58 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Зимарглm_Slaпропущено... или из-за отсутствия денег а так-то пряморуким проектировщикам хорошо, если денег многоЗа такого качества работу платить даже вредно. Связь настроить не могут, частотник настроить не могут.так не плати, ни кто не заставляет а так-то диагнозы по интернету все горазды ставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 21:02 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_Slaа так-то диагнозы по интернету все горазды ставить каждый должен делать своё дело - датчик сцуко должен работать невзирая на помехи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 21:44 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Изопропилm_Slaа так-то диагнозы по интернету все горазды ставить каждый должен делать своё дело - датчик сцуко должен работать невзирая на помехидатчик работает невзирая на помехи с датчиком вообще проблем нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 22:29 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_SlaDima Tпропущено... про сигмы наоборот прочитал?там нет неправильных значений, там все значения правильные это развертка давления во времени 1) насос остановлен давление - 0,05 ( начало графика) 2) насос включаем давление растет, происходит колебание давления (переходной процесс) 3) давление устанавливается ( немного колебается ) - рабочий режим это мне надо определить 4) насос останавливается давление падает мне надо научить систему определять рабочий режим из всех точек надо выбрать только те которые попадают в рабочий режимЧестно говоря я не очень понимаю твою проблему. Если ты не знаешь граничные значения рабочего режима и/или предполагаешь что эти граничные значения будут плавать, то: Обрати внимание на твои пункты №2 и 4. Мы знаем что насос при включении разгоняется. Мы знаем что будут колебания датчика которые надо игнорировать (ну или ожидать этих колебаний). Соответственно, мы можем определить приблизительный временной период пока будут происходить колебания . То есть алгоритм получается очень простой: даешь команду на включения насоса, ждешь заранее определенный период времени и потом начинаешь читать данные рабочего режима. Конечно период колебаний будет различаться от типа насоса, диаметра трубы и вязкости жидкости. Но все это можно определить достаточно легко на первых нескольких включениях. Если ты заранее знаешь границы рабочего режима, но не знаешь временного периода выхода на него - тоже просто. У тебя есть две полосы давления: полоса выключенного насоса и полоса включенного. Если у насоса есть несколько режимов, то этих полос будет больше естественно. И зная граничные значения этих полос, ты можешь сравнивать: если последние цать измерений входят в такую-то полосу, то можно утверждать что насос вышел на соответствующий режим работы и ожидать что все последующие измерения так-же войдут в эту полосу. И когда датчик выдает значения вне этой полосы включать сирену что мол "что-то не в порядке или насос меняет режим работы". Если ты вообще не знаешь какие у тебя есть режимы работы и где находятся полосы им соответствующие, то просто введи "предполагаемую дельту" которая будет равняться половине ширины предполагаемой полосы, и считай на основе плавающего окна: Если последние цать измерений дают некоторое среднее значение, и все измеренные значения не отходят от этого среднего на предсказанную дельту - мы находимся в какой-то полосе. На первом шаге эта дельта может быть очень широкой. На втором шаге, уточняем границы полосы на основе реальных данных и пересчитываем дельту. На третьем шаге смещаем окно и если у нас есть выпадения за границы найденной полосы и эти выпадения на маленькую величину - расширяем полосу, уточняем дельту. Все это конечно исходя из предположения что у нас есть полосы. То есть мы можем указать несколько временных окон и сказать что в этом окне мы находились в такой-то полосе, а в этом в другой. Вообще, существуют исследования выливающиеся в очень навороченные формулы по поведению жидкостей в трубах. Мы пытались использовать их на наших насосных станциях, но без большого успеха. К сожалению я не помню конкретных названий, читал это еще в прошлом веке. Но можно поискать по словам "нефть, насосы, диссертация". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 22:45 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
White Owlm_Slaпропущено... там нет неправильных значений, там все значения правильные это развертка давления во времени 1) насос остановлен давление - 0,05 ( начало графика) 2) насос включаем давление растет, происходит колебание давления (переходной процесс) 3) давление устанавливается ( немного колебается ) - рабочий режим это мне надо определить 4) насос останавливается давление падает мне надо научить систему определять рабочий режим из всех точек надо выбрать только те которые попадают в рабочий режимЧестно говоря я не очень понимаю твою проблему. Если ты не знаешь граничные значения рабочего режима и/или предполагаешь что эти граничные значения будут плавать, то: .все верно, границы будут плавать информации о включения насоса у меня нет и не будет ( денег на удаленный модуль DI ни кто не даст ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 23:01 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_Slaвсе верно, границы будут плавать Берёшь значения за определённый период времени и определяешь их разброс/девиацию/дисперсию/любую другую подходящую статвеличину. Если она ниже некоторого предела - насос в рабочем режиме. Нет - нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 23:04 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_SlaWhite Owlпропущено... Честно говоря я не очень понимаю твою проблему. Если ты не знаешь граничные значения рабочего режима и/или предполагаешь что эти граничные значения будут плавать, то: .все верно, границы будут плавать информации о включения насоса у меня нет и не будет ( денег на удаленный модуль DI ни кто не даст )Ну во первых, это несерьезно. Если у тебя нету и не будет вообще никакой информации о реальном железе, то ты в принципе не сможешь дать никакого ответа на который можно было бы положиться. Но в качестве махания руками в эфире: сделаем предположение что между двумя измерениями не может быть прыжка значений больше чем какая-то дельта. В начале установи эту дельту чрезвычайно широкой, "от вакуума до ядра звезды". И постепенно уменьшай, рассматривая каждый раз только два-три последние значения. Это тебе даст сильно-плавающую полосу допустимых значений, но в то-же время и более-менее реальную ширину полосы, на которую уже можно ориентироваться. Потом плавно увеличиваешь размер окна, вместо трех последних значений рассматриваешь десять, сто, три тысячи последних значений. Это даст более широкие полосы, но ты уже начнешь видеть именно полосы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 23:14 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
White Owlm_Slaпропущено... все верно, границы будут плавать информации о включения насоса у меня нет и не будет ( денег на удаленный модуль DI ни кто не даст )Ну во первых, это несерьезно. Если у тебя нету и не будет вообще никакой информации о реальном железе, то ты в принципе не сможешь дать никакого ответа на который можно было бы положиться. Но в качестве махания руками в эфире: сделаем предположение что между двумя измерениями не может быть прыжка значений больше чем какая-то дельта. В начале установи эту дельту чрезвычайно широкой, "от вакуума до ядра звезды". И постепенно уменьшай, рассматривая каждый раз только два-три последние значения. Это тебе даст сильно-плавающую полосу допустимых значений, но в то-же время и более-менее реальную ширину полосы, на которую уже можно ориентироваться. Потом плавно увеличиваешь размер окна, вместо трех последних значений рассматриваешь десять, сто, три тысячи последних значений. Это даст более широкие полосы, но ты уже начнешь видеть именно полосы.полосы я подсчетом значений получаю например за час: 2 бара - встретилось 10 раз 2,1 - 15 раз и т.п значение датчика = сколько раз встретилось за час -0.07 = 001 -0.06 = 001 -0.02 = 001 0.00 = 002 0.02 = 005 0.03 = 001 0.04 = 004 0.05 = 3146 0.06 = 014 0.07 = 007 0.08 = 006 0.10 = 001 0.11 = 002 0.12 = 001 0.13 = 003 0.14 = 002 0.18 = 001 0.19 = 002 0.21 = 001 0.23 = 002 0.24 = 001 0.34 = 001 0.43 = 001 0.50 = 001 0.60 = 001 0.71 = 001 0.83 = 001 0.84 = 001 1.22 = 001 1.29 = 001 1.35 = 001 1.44 = 001 1.84 = 001 2.04 = 001 2.15 = 001 2.22 = 001 2.23 = 001 2.24 = 002 2.25 = 001 2.27 = 001 2.29 = 001 2.30 = 001 2.31 = 001 2.32 = 002 2.33 = 001 2.35 = 001 или как-то производную оценивать или линейной интерполяцией рассчитать значения датчика на каждую секунду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 23:34 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
m_Slaпри работе насоса опросы редко происходят, явно выраженной полосы не получается Да и ладно. И так видно, что даже переходные процесс не могут выдавить режим выше номинала. Берёшь все значения, отсекаешь 1-2% максимальных значений, следующие 5-10% значений усредняешь и получаешь искомое. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 23:39 |
|
||
|
Обработка значений датчика
|
|||
|---|---|---|---|
|
#18+
Есть мысли. Конечно-же топик не про С++. А скорее про автоматику и управление. Вопросы по расчёту средних надо вообще вынести отдельным топиком. Ситуация с лагом в 50 секунд - ненормальна. Надо разбираться. Что за помехи? Это штатный режим? Если поставить параллельно 2 датчика - будут ли их показания имять ярко выраженную схожесть или это просто дефект одного конкретного. Вобщем надо сюда срочно звать специалиста по этим датчикам. Думаю что решение вообще другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 23:39 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39130244&tid=2018674]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 306ms |
| total: | 474ms |

| 0 / 0 |
