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

cancel
Showing results for 
Search instead for 
Did you mean: 

Sıra kullanarak eşleme (Queue Synchronization)

Farklı görevler arasında  veri akışı sağlamanın en temel yollarında biridir.

0 Kudos
Message 1 of 4
(6,462 Views)

Eş zamanlı çalışan görevler arasında veri aktarmak söz konusu olduğunda en basit yöntem yerel/genel (global) değişkenler kullanmaktır. Ancak değişkenler kullanmak dikkat gerektiren bir yöntemdir. Verilerin erişim sıralarını (yazma/okuma önceliklerini), güncellenme zamanlarını, işlem sırasını, vb gibi önemli durumları değişkenler kullanarak ayarlamak oldukça zordur ve önemli yazılım hataları oluşmasına neden olabilir.

Paralel Döngü.png

Örneği incelersek iki farklı görev arasında "SAYAÇ" etiketli bir yerel değişken ile veri aktarılmaya çalışıldığını görebiliriz. İlk görevde "SAYAÇ" ile bir işlem gerçekleştirilirken ikinci görevde "SAYAÇ" değişkeninin o anki değerine göre başka bir işlem gerçekleştirilmektedir.

Bu örnek sistemsel bir sorun olmadığı ve çok hızlı tekrar gerektirmediği durumlarda düzgün çalışacaktır diyebiliriz. Ama mesela yinelenmeyi 1ms'ye düşürdüğümüzde hemen eşleme sorunlarıyla karşılaşacağımızı göreceksiniz.

(Örnekte yerel değişken kullanarak işlem yapılması başka bir LV kodlama hatasıdır ama örneğin amacı eş zamanlı çalışan görevler arası veri aktarmak olduğu için göz ardı ediniz.)

0 Kudos
Message 2 of 4
(5,615 Views)

Şimdi aynı örneğin LV kodlama yapısıyla doğru olarak nasıl kodlandığını görelim. Bunun için bir "Sıralama" (Queue) yapısı kullanılmıştır. Tanımladığımız sıralama yapısında "zaman aşımı" tanımlanmadığı için ikinci görev ilk görevin sıraya veri eklemesiyle çalışmakta ve sırada veri olmadığı zaman beklemektedir. Buna göre ikinci görevin ilk görevin istediği ile eş zamanlı olarak çalıştırıldığını ve veri kaybı olmadan işlem gerçekleştirldiğini söyleyebiliriz.

eşleme.png

İlk görev sonlandırıldığında ikinci görevi sonlandırmak için sıra yapısının hata çıkışı kullanılmıştır. İlk görev bittiğinde sıra tanımının silinmesi ikinci görevde bir hata çıkışına sebep olmakta ve hata seçim penceresine eklenen bir doğru değişkeni ile döngü sonlandırılmaktadır.

0 Kudos
Message 3 of 4
(5,615 Views)

Sıralama yapıları birden fazla noktadan gelen verilerin toplanıp bir görev altında iş yapmasına da imkan verir. Oluşturduğunuz sıra referanslarını kullanarak alt VIlardan da veri aktarabilirsiniz.

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