FRC için LabVIEW’de Local ve Global Değişkenler

Bu örnek, yerel ve genel değişkenlere, FRC için varsayılan LabVIEW’de nasıl kullanıldıklarına bir giriş olarak hizmet eder ® Robot Projesi ve bunları projenizde nasıl kullanmak isteyebileceğiniz.

Local variables and global variables may be used to transfer data between locations within the same VI (local variables) or within different VI’s (global variables), breaking the conventional Data Flow Paradigm for which LabVIEW is famous.  Thus, they may be useful when, for whatever reason, you cannot wire the value directly to the node to another.

Note: One possible reason may be that you need to pass data between consecutive loop iterations; Miro_T covered this in this post.  It should also be noted that the feedback node in LabVIEW may be used as an equivalent to the shift register, although that may be a topic for another day!

Local ve Global Değişkenlere Giriş

Yerel değişkenler aynı VI içerisinde kullanılabilir. Ön Panelinizde bir kontrole veya göstergeye sağ tıklayarak yerel bir değişken oluşturun:

../../../../_images/11.png

Blok diyagram üzerindeki Structures paletinden de bir yerel değişken oluşturabilirsiniz. Bir VI’da birden fazla yerel değişkeniniz olduğunda, hangi değişkeni seçmek için sol tıklayabilirsiniz:

../../../../_images/22.png

Global değişkenler biraz farklı oluşturulur. Structures paletinden blok diyagrama bir tane ekleyin ve üzerine çift tıkladığınızda ayrı bir ön panel açtığına dikkat edin. Bu ön panelin bir blok diyagramı yoktur, ancak ön panele istediğiniz kadar varlık ekleyip *.Vi dosyası olarak kaydedersiniz:

../../../../_images/32.png

Not

Be very careful to avoid race conditions when using local and global variables! Essentially, make sure that you are not accidentally writing to the same variable in multiple locations without a way to know to which location it was last written. For a more thorough explanation, see this help document

FRC Robot Project için Default LabVIEW Nasıl Kullanılırlar?

“Vizyonu Etkinleştir” ve “Görüntü Boyutu” için global değişkenler, Robot Ana VI’nın her yinelemesi sırasında yazılır…

../../../../_images/41.png

… Ve sonra Vision Processing VI’nın her yinelemesinde okuyun:

../../../../_images/5.png

Bu, kullanıcının, LabVIEW Development Environment dan Robot Main VI’ya konuşlandırırken, görüntü işlemeyi enable/disable etmesine ve Robot Main’nin Ön Panelinden görüntü boyutunu değiştirmesine olanak tanır.

Bunları Projenizde Nasıl Kullanabilirsiniz?

Periodic Tasks VI için blok şemasına bakın. Belki de Boolen gibi, Teleop VI’da global bir değişkene yazılabilen ve ardından Periodic Tasks VI’dan okunabilen bir değer vardır. Ardından, boolean genel değişkenine bağlı olarak, Periodic Tasks VI’da hangi kod veya değerleri kullanacağınıza karar verebilirsiniz:

../../../../_images/6.png