From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI Ürünleri İle İlgili Tartışmalar

cancel
Showing results for 
Search instead for 
Did you mean: 

Sürekli verilerde bölüm ortalamasini bulmak

Arkadaslar, bir acemi olarak sorum olacakti:

 

Motor devir´i 0-50 rpm´e kadar sürekli yükseliyor, ben ise her 5´lik bölümde, ortalama rpm degerini bulmak ve xy-chart´da göstermek istiyorum.

 

Örnek: 0-5 rpm arasi ortalama deger kac?, 5-10 rpm arasi ……. 45-50 rpm arasin´a kadar.

Yani 0´dan 50´ye kadar deyilde, sadece bulmus oldugum bölümlerin 10 tane ortalama degerini göstermek istiyorum.

 

Bunu acaba sürekli gelen verilerle nasil yapabilirim?

 

Bilgileriniz icin simdiden tesekkürler!

BigBABA

0 Kudos
Message 1 of 26
(5,515 Views)

Sorunuzla ilgili açık olmayan bazı hususlar var;

 

1.Anladığım kadarıyla ana eksenimiz devir olacak. Diğer ekseni bilmiyoruz (zaman, yol, kuvvet, basınç,...?)

2.Bu sistem sürekli artan devir ile çalışıyor olmalı. Aksi halde mesela 0-5 arası değerlerin ortalamasını hesapladık. Daha sonra sistem 6,7,.. artarken tekrar 5 in altında bir değere düştü. Nasıl bir yol izlenecek?

3.Örnekleme hızına bağlı olarak geçiş noktalarını nasıl yakalamayı düşünüyorsunuz? Mesela {0 0,7 1,6 2,7 4 5,5 7...} gibi bir paketimiz var bunu nasıl ayırmayı düşünüyorsunuz?

 

Aksi halde yazınızdan bakarak bu sistem doğrusal artıyor ve diğer eksen zaman olacak diyorum. Pek gerçekçi olmasa da örnek uygulamayı ekliyorum.

 

Dış ortamdan alacağınız verilerle çalışırken yukarda bahsettiğim hususlara dikkat etmelisiniz. Eklediğim kod parçası muhtemelen işe yaramayacaktır.

 

Snippet_Mean.png

 

Mean.png

0 Kudos
Message 2 of 26
(5,492 Views)

Sayin Zafer Bey,

 

öncelikle tesekkür eder, saygilarimi iletirim.

Labview´da acemi ve yurtdisinda kaldigim icin, türkcem de bazi yanlislar olabilir, özür. 😉

 

Sorulariniza gelince:

  1. Evet ana y-eksen devir, x-eksini basinc (veya zaman) olacak
  2. Burada sürekli artan nir devir var, yani 0´dan 50liye kadar kalici olarak yükseliyor, tekrar 5ín yada geriye düsme olayik yok.
  3. Bu soruyu anlayamadim?

 

Alginiz dogru, sistem dogrusal artiyor ve x-eksini basinc´a bagli (yada zaman´da olabilir). Tabiki devir ve basinc verileri dis´dan sensörlerle alinmaktadir, verilerde bir sorun yok!

 

Örnek: 0-5 devir´e kadar, bana basinc´a bagli atiyorum 130 veri geliysorsa (130 tane devir verisi: 0,0.1..… 0.6,0.7, 0.8… 2.6,…4.2, 4.3, 4.4…..5.0), ben bu paketin sadece ortalamasini bulmak ve tek bir veri olarak göstermek istiyorum.

 

Buda 50´ye kadar, 8 tane 5´lik paket ve bunlarin 8 ortalama verisi demektir!

0 Kudos
Message 3 of 26
(5,486 Views)

Merhaba,

 

Cevap yazmam biraz zaman aldı ancak tümüyle hayal ürünü ve işinize yaramayacak bir şeyler söylemek hususunda tereddüt ettim. Hız bilgisini ve hıza bağlı olarak alacağınız verilerle ilgili örnek bir dosya yada üzerinde çalıştığınız bir kod parçası varsa eklerseniz daha mantıklı bir çözüm üretilebilir. Buradaki en büyük tereddüdüm hızın artışının nasıl takip edileceği ve buna bağlı olarak eş zamanlı alınması gereken diğer verilerin nasıl toplandığı konusunda. Yapmak istediğiniz uygulamayı daha detaylı anlatır mısınız?

0 Kudos
Message 4 of 26
(5,455 Views)

Merhaba,

bizim ana programdaki sürekli gelen bütün verileri (rpm, IsI, akIs vs. vs.) cDAQ systemin´deki cesitli Modüllerden (örnek NI 9211) ve buraya bagli olan sensörlerden,

elde ediliyoruz, tam bu noktada da cok veri olusuyor.

 

Ayni hIzIn artisinin da cok bilgi topladigi gibi. Niyetimiz bunun ortalamasini bulmak, veriyi azaltmak ve göstermek.

 

Ana programi maalesef firmamizin gizlilik yönergesizin´den dolayi sunamayacagim, ama daha henüz nasil sürekli artan hIz ortalamasini bulacagima dahil fikrim´de olmadigi icin, ortada kod parcasi´da yok.

 

Saygilar

0 Kudos
Message 5 of 26
(5,450 Views)

Daha önceden dediğim gibi iki ana husus var.

 

1.Hız bilgisini yeterince hızlı takip ederek istediğiniz zaman aralığını bulmak. Mesela 5 noktasının geçişini tam hesaplayabilmek.

2.İstenen zaman aralığı içerisinde elde edilen verileri diğerlerinden ayırmak. (Hatta hız değişimine bağlı olarak toplanan veri adedinin de değişmesi gerekebilir.) Ayrıca topladığınız veriler ile hız örneklemeleriniz eş zamanlı olmalı.

 

Hız bilgisini enkoder üzerinden mi alıyorsunuz? 

0 Kudos
Message 6 of 26
(5,444 Views)

Tabi bu iki husus´da hala cözümsüz.

 

Bizim drive unit cihazimiz,, hIz´i impuls olarak (TTL level 0-5V) veriyor, biz bu impuls´lari sayiyoruz ve rpm´e (devir/dakika) ceviriyoruz.

 

0 Kudos
Message 7 of 26
(5,437 Views)

Devir örnekleme hızınız ile diğer veri örnekleme hızınız nedir? Saniyede ne kadar veri topluyorsunuz her iki tipten?

0 Kudos
Message 8 of 26
(5,427 Views)

Modül toplama DAQmx-Timing: Rate=10kHz  ve 8000 samples/channel

 

toplama DAQmx-Read: 600 sample / channel; yani veri toplama hIzImIz 60 ms.

 

Neden sordunuz?

 

0 Kudos
Message 9 of 26
(5,425 Views)

Tam olarak uygulamanıza yönelik bir çözüm olması için sordum. Yalnız bu değerlerde de gariplik var.

1.60ms aralıklarla paket almak bilgisayar ortamı için pek de normal sayılmaz. Genelde 500-1000ms mertebelerinde paketler alınması normaldir. Bu kadar kısa sürede sonuç üretip geri besleme mi yapıyorsunuz? (Bilgisayar için bu kadar hızlı geri beslemeler güvenilir olmayabilir.)

2.Devir ve diğer veriyi aynı kart ile topluyorsunuz sanırım. Doğal olarak 10kHz ile iki kanal kullanıyorsunuz.

 

Sürecin başından sonuna kadar olan toplam verileri (her iki kanal için) paylaşırsanız bir örnek eklemeye çalışacağım.

 

0 Kudos
Message 10 of 26
(5,422 Views)