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

cancel
Showing results for 
Search instead for 
Did you mean: 

İki farklı yazılımı haberleştirme

Arkadaşlar Merhabalar,

 

Labview ile geliştirmiş olduğumuz bir yazılımı ,başka bir Labview yazılımı ile yada başka bir dille yazılmış yazılım ile haberleştirmek istediğimizde kernel32.dll içerisindeki FileMapping fonksiyonlarını Labview'de kullanarak bir çözüm yaratabiliriz. Burada bu çözüme başvurmamızın amacı farklı bir dil ile geliştirilmiş olan yazılım ile Labview tarafında geliştirilen yazılım arasında ortak bir hafıza noktası oluşturmaktır. Bazı durumlarda iki yada daha fazla sayıda farklı yazılımın aynı bilgisayar üzerinde çeşitli nedenlerden dolayı haberleştirilmesi istenilebilir.

 

Bu durumda kernel32.dll'i içerisindeki :


CreateFileMapping
MapViewOfFile


fonksiyonları ve

 

msvcrt.dll'i içerisindeki :


memcpy fonksiyonları aracılığıyla ortak bir haberleşme noktası oluşturabiliriz.

 

Şimdi ekte'de paylamış olduğum memoryMapping ile ilgili yapmış olduğum çalışmayı sizlere aktarayım.

 

proje.PNG

MemoryMappingLib içerisinde 4 adet vi bulunmaktadır.

 

-createFileMap.vi : 

 

createFileMap.png

 

Ortak hafıza bölgesi ismi ve hafıza boyutunu input olarak alır , CreateFileMapping ve MapViewOfFile fonksiyonları aracılığıyla ile bir hafıza bölgesi oluşturur.(kernel32.dll)

 

-writeMessage.vi:

 

writeMessage.png

 


Mesajı ,mesajın boyutunu ve mesajın yazılacağı adresi input olarak alır ve bu adrese mesajı yazar. (msvcrt.dll)

 

-readMessage.vi:

 

readMessage.png

 

Mesajın yazılacağı değişkeni, okunacak adresi ve mesaj boyutunu input olarak alır ve adresten mesajı okur.

 

-destroyFileMap.vi:

 

destroyFileMap.png

 

Bu vi en başta oluşturulmuş olan hafıza bölgesini memory'den kaldırır.

 

 

Bu vi'lara ve örnek kodlamaları içeren projeyi ekten indirebilirsiniz.

 

example.PNG

 

Umarım sizler için faydalı olur...

 

Saygılarımla...

 

 

Himmet GENCER
Software Development Coordinator at TDG
himmetgencer@gmail.com

View Himmet Gencer's profile on LinkedIn

View on Instagram
Message 1 of 1
(5,144 Views)