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

cancel
Showing results for 
Search instead for 
Did you mean: 

Silikon Dedektörde Okuma Sorunu

Selamlar. Elimde SI-440 bir silikon dedektör var. Dedektör ile ilgili sanırım dedektörün komutlarını yanlış uygulamamdan kaynaklanan bir sorun yaşıyorum. Ben dedektörü akım okumak için yapılandırdığımda dedektörden sayısal olarak akım değeri okumam gerekirken bunun yerine string gösterge de dedektöre gönderdiğim komutu tekrar okuyorum. String - Number dönüştürücüden ise NaN değeri okuyorum. Bu konuda yardımcı olurmusunuz?

Ekte Dedektöre, hub üzerinden gönderilen komutların ve açıklamaların bulunduğu pdfi ve kullanmaya çalıştığım vi dosyalarını bulabilirsiniz.

 

Bu konuda yardımcı olursanız memnun olurum. 

Teşekkürler...

Download All
0 Kudos
Message 1 of 5
(5,782 Views)

Selamlar,

 

1.Yazmış olduğunuz seri port haberleşme VIları içerisindeki komutlar dökümanda sizin yazdığınız şekilde verilmemiş. Açıkçası "\r" ekini bu dökümanın herhangi bir yerinde göremedim, siz nerede okuyup eklediniz ve bu haliyle herhangi bir komuta cevap alabildiniz mi?

 

2.Yine yazmış olduğunuz VIlar genel haberleşme mantığına da uygun değil özellikle seri port için hiç uygun değil diyebilirim. Genelde seri porta veri yazarsınız ve karşıki cihazdan cevap gelmesini beklersiniz. Daha doğrusu karşıki cihaz bir cevap varsa bunu cevap olarak porta yazar ve siz de porttaki bu veriyi uzunluğuna ya da sonlandırma karakterlerine göre kontrol eder ve okursunuz. Bunu nasıl yapacağınızı örnekler içerisindeki "Basic Serial Write and Read.vi"ı inceleyerek öğrenebilirsiniz.

 

3.Dökümanda bilinen dillerde (Labview dahil) kullanmak üzere sürücü dll (ARC_Instrument.dll) ve örnek VI'lar olduğu yazıyor. Bence o örnekleri kullanmanız işinizi çok daha kolaylaştıracaktır.

 

Yine de bu konuyu Labview ile temel seri port haberleşmesi yazarak yapmayı düşünüyorsanız, işi en alt parçalara kadar ayırmanızı öneririm. Öncelikle sadece okum, yazma, ayar, gibi en temel işlevleri yapan ayrı ayrı VIlar yazınız ve her birini bağımsız çalıştırmayı deneyiniz.

 

İyi çalışmalar. 

0 Kudos
Message 2 of 5
(5,779 Views)

Zafer Bey cevabınız için teşekkür ederim. Öncelikle \r komutunu bu forum üzerinde aynı sistem ile çalışan bir kişinin cevabından aldım. Cihazlar \r ilede istenilen işlemi yapıyorlar. Örneğin programda diğer cihaz hem  \r ile hemde \r olmadan istenilen komutu uygulayabiliyor (bunu bende bilmiyordum dediğim gibi forumda rastladım ve çalıştı).

 

Ekteki Detector-Set.vi dosyasını sadece dedektör bağlı iken çalıştırdığımda yine akım değeri yerine current ok karşılığını alıyorum ve dolayısıyla numeric değer olarak NaN okuyorum.

 

Dökümanlarda bahsi geçen örnek vi dosyaları mevcut değil. ilgili firmanın tek bir vi örneği mevcut onda da dedektör ile ilgili değil monochoromator ile ilgili örnek komut girişleri mevcut. 

 

Labview de .dll konusu ise henüz öğrenme aşamasında olduğum bir konu bu yüzden henüz hiç bir uygulama için bu yöntemi kullanmadım.

 

Ekte ilgili dll dosyasını ve açıklamaların bulunduğu pdf i gönderiyorum. dll konusunda elinizde öğretici bilgiler veya vi lar var ise paylaşırmısınız. 

 

İyi çalışmalar.

 

0 Kudos
Message 3 of 5
(5,773 Views)

Öncelikle \r ekinin sonlandırma için kullanılıyor olduğunu düşünüyorum, asıl komuta yapılmış bir ek olduğunu düşünmüyorum.

 

Detector-Set.vi kodunu siz mi yazdınız yoksa hazır bir yerden mi aldınız? Burada anladığım kadarı ile sadece cihazın okuma ayarları yapılmış. Ama ayarların yeterli ve tümüyle doğru olduğu konusunda kesin bir fikrim yok. Mesela "ITIME\r" "integration-time" ayarlama sebebiniz nedir? Benim öngörüm bu dışardan tetik geliyorsa sistemin veri toplamaya başlamadan önce bekleyeceği bir süreyi yada başka bir sistemi tetikleyecekse o aradaki bekleme süresini ayarlamaya yarıyor. Kanaldan veri okumak için ".READ" yada "READS" komutlarından birini deneyin. Tabi ayarların doğru ve yeterli yapıldığını varsayıyorum. İşlem bitince de portu kapatmayı unutmayın.

 

dll ile ilgili dokümanı ve dll içerisindeki birkaç komutu da inceledim. Oldukça detaylı ve cihazın kabiliyetleri konusunda iyi bilgi gerektiriyor. dll çağırmak için "Call Library Function" komutunu kullanabilirsiniz ama önemli olan kullanacağınız fonksiyonları, çağırma sıralarını ve de en önemlisi o fonksiyonun giriş-çıkış değişkenlerini ayarlamak. Sanırım sizin için biraz zaman alacaktır.

 

Bunlara göre seri haberleşme üzerinden devam etmek daha kolay görünüyor.

0 Kudos
Message 4 of 5
(5,767 Views)

Zafer Bey cevabınız için teşekkür ederim. Yoğunluktan dolayı dedektörü tekrar kullanma fırsatım olmadı. Bende sorunun yapılandırma ayarlarından olabileceğini düşünüyorum. İlk fırsatta adım adım sadece dedektör ile yeniden uygulama yapacağım.

 

İyi çalışmalar.

0 Kudos
Message 5 of 5
(5,749 Views)