05-10-2012 05:47 AM
Eke ornek bir tdms koydum. Fakat bu TDMSde 10binlerce satır olacak her değer için. Ve Real time da işlenen veri kayıt edilecek. Zaman problemimiz de çok önemli.
05-10-2012 10:56 AM
TDMS şifrelemek düşündüğüm kadar kolay olmayacak. Eğer bu verileri şifrelersek TDMS TDMS olmaktan çıkar. Siz TDMS açıp veri eklemeye devam mı ediyorsunuz yoksa bir kerede tüm verileri ekiyor musunuz? Eklemeye devam ederek çalışıyorsanız veri eklediğiniz kod parçasını görmeliyim ki nasıl bir çözüm bulunur düşünebileyim. O kısmı paylaşabilir misiniz?
05-11-2012 12:32 AM
Benden önce yazılımı yapanlar tek bir vi içine tüm kodları gömdükleri için kodu paylaşamıyorum ne yazıkki. Ama seri iletişim ile FPGA'den alınan veriler Queue'ya atılyor daha sonra TDMS kısmında Dequeue dan geçip Her channel ayrı TDMS write fonksiyonu ile yazdırılıyor. Bu bir while döngüsü içerisinde ve her döngü yaklaşık olarak 10-15 ms sürebilir. 15'den fazla olamaz. RT'de olduğu için paralelinde 5 döngü daha var. En fazla aşağıdaki kısmı paylaşabiliyorum aama çokta yararlı olduğunu sanmıyorum. Kusura bakmayın.
05-11-2012 05:26 AM
Evet bu resimden birşey anlamak pek mümkün değil 🙂 Şunu tam anlasam bir fikir vermeye çalışacağım. TDMS yazma işlemi sürekli devam eden bir işlem midir? Yoksa verileri bir TDMS dosyasına yazıp o dosya ile işinizi bitiriyor ve başka verileri başka dosyaya mı yazıyorsunuz? Eğer yazmaya devam ediyorsanız her kanaldan gelen verileri ayrı ayrı şifreleyip TDMS'e eklemek gerekecektir. Aksi halde işimiz daha kolay, yazma işlemi bitince dosyayı tümüyle ele alıp şifreleyebiliriz.
05-11-2012 05:26 PM
Hayır şöyle diyim TDMS open işlemi gerçekleştirdikten sonra While döngüsü başlıyor bu while döngüsü her veriyi yazdırıyor onbinlerce satırdan bahsediyorum. Program durdurulduğunda while döngüsü bitiyor ve dosyayı kapatıyorum. Yani tek bir dosyaya yazılıyor her şey.
Mantık aşağıdaki şekildeki gibi, hiçbir farkı yok. While içinde sadece her channel için ayrı bir TDMS write fonksiyonu kullandım o kadar.