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: 

LabVIEW ani uyum hatası

Herkese merhabalar,

Yürütmekte olduğum bir proje için LabVIEW 2016'da programlamasını yaptığım bir VI üzerinde çalışıyordum. Şuana kadar en ufak bir problem yaşamadığım program bir anda LabVIEW'ın "This VI is not compatible" hatası ile birlikte kapandı ve artık VI'ı açamıyorum. VI dosyasının üzerine her tıkladığımda aşağıda gösterdiğim hata açığa çıkıyor ve LabVIEW kendini kapatıyor. Bu konuda sizlerin fikir ve desteğinize ihtiyacım var.

Not: Proje gizliliği regülasyonlarından ötürü VI'ı paylaşamıyorum.error.PNG

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 1 of 9
(3,860 Views)

Eğer daha önce açtığınız bilgisayarda sorunu yaşıyorsanız, kullandığınız işletim sistemine gelen güncellemelerden kaynaklanıyor olabilir.Güncellemeleri kaldırıp yada sistem geri yüklemeyi kullanarak en son çalıştığı duruma sistemi döndürüp deneyebilirsiniz.

0 Kudos
Message 2 of 9
(3,845 Views)

Evet hocam aynı bilgisayarda çalıştırmayı denedim fakat olmadı. Daha sonra LabVIEW'ın yüklü olduğu diğer bilgisayarda denedim fakat aynı problem orada da karşıma çıktı. Yani diğer bilgisayarda da çalışmadı. Dosyayı bir şekilde açmam gerekiyor fakat henüz başaraiblmiş değilim. Başka bir öneriniz var mı acaba?

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 3 of 9
(3,840 Views)

Hata veren VI değişiklik yaptığınız ise sanırım kurtarılamaz duruma gelmiş. Varsa en son yedeğinizden yükleyip yaptığınız değişiklikleri tekrarlayınız. Hata veren VI daha alt bir VI içerisinde yaptığınız bir değişiklikten dolayı da olabilir. Sadece alt VI ı değiştirerek ana VI'ı kurtarabilirsiniz.

 

Bu durum genelde (iç içe) referanslardan, sınıflardan falan olabiliyor. Başıma çok defa geldiği için yedekli çalışıyorum. Size de tavsiye ederim 🙂

0 Kudos
Message 4 of 9
(3,832 Views)

VI'yı kurtaramadık baştan başladım projeye artık muhakkak yedekli çalışıcam. Yedekleme için siz nasıl bir yol takip ediyorsunuz? SCC tarzı birşey mi kullanıyorsunuz yoksa manual yedekleme mi yapıyorsunuz?

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 5 of 9
(3,828 Views)

Microsoft OneDrive kullanıyorum. Ama bu kurtarmaktan ziyade anlık yedeklemek amaçlı. Bunun haricinde proje durumuna göre, proje klasörünü tümüyle sıkıştırıp harici diske yedekliyorum. Asıl önemlisi ise bu türden hataların nelerden kaynaklandığını bilerek kodlama yapmak. İyi çalışan bir mimari kullanıp düzgün kodlama yaparsanız bu hatalarla karşılaşma olasılığınız da oldukça düşük.

0 Kudos
Message 6 of 9
(3,824 Views)

Doğru söylüyorsunuz Zafer bey hata muhtemelen program mimarisinin yeterli olmamasından dolayı kaynaklandı. Projeye baştan başladım ve tüm buttonlar, subVI'lar, grafikler kayıtlı olduğu için birkaç gün içinde kaldığım yere kadar geldim tekrar. Fakat size sormak istediğim birşey var: Hazırladığım projede paralel olarak ve birbirinden ilişkisiz bir biçimde çalışması gereken yaklaşık olarak 10 tane motor var. Bu motorların ve diğer komponentlerin kontrol ve anlık veri kaydını tutmak için yaklaşık 20-25 tane while loopum var. Programda şuan kayda değer bir yavaşlık yok fakat böyle yapmak uygun mu? Değil ise ne önerebilirsiniz?

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 7 of 9
(3,798 Views)

Paralel pek çok "While Loop" kullanımı oldukça normal ve çok çekirdekli işlemciler böyle çoklu görevleri yerine getirmek üzere tasarlanıyor. Açtığınız her bağımsız "While Loop" otomatik olarak bir "thread/task" olarak tanımlanır, işletim sistemi üzerinde çekirdeklere ilişkilendirilir ve çalışma zamanları da otomatik ayarlanır. Bu şekilde yapmanızda sıkıntı yok ancak döngüler arası bir şekilde ilişki varsa ve veri paylaşımı yapıyorsanız oldukça dikkat etmeniz gerekir. Özellikle senkron çalışması gereken ve ortak veriyi paylaşan döngüler arasında pek çok sorun çıkabilir.

 

Bir mimari kullanmanızı (AMC/AF) ve her döngüyü yalnız belli işe atanmış şekilde senaryo tasarlamanızı tavsiye ederim. Tüm senaryoyu bileşenlere ayırın ve her bileşeni en alt birimlere kadar bölün. Daha küçük parçaya ayrılamayacak noktaya geldiğinde bunu bir döngü "thread/task" içinde "state machine" ile oluşturun. Bunun bir sonraki aşaması nesne tabanlı programlama oluyor.

 

Yeni başladıysanız ve nesne tabanlı programlamaya yabancıysanız "AMC-Asynchronous Message Communication" kütüphanesini incelemenizi ve projenizi bu mimari ile kurmanızı öneririm.

Message 8 of 9
(3,796 Views)

Verdiğiniz bu değerli bilgiler için çok teşekkür ederim. Lisans sürecinde herhangi bir mimari ile tanıştırılmadığımızdan projelerimi bir mimariye bağımlı olmadan yazıyorum. Bunun sonucunda da bazen sistem yavaşlaması bazen de uyum hataları ile karşılaşmaktayım. Ama sanırım disiplinli bir mimari takip ediliğinde bu tarz problemler de ortadan kalkacaktır.

Add 273 on whatever Celcius said.
-Kelvin
0 Kudos
Message 9 of 9
(3,785 Views)