One-Shot Buton yapmak

../../../../_images/ni-logo.png

Joystick Get Values işlevini kullanırken, bir joystick düğmesine basmak, düğme bırakılana kadar düğmenin TRUE okumasına neden olur. Bu, büyük olasılıkla her basışta birden çok DOĞRU değeri okuyacağınız anlamına gelir. Ya düğmeye her basıldığında yalnızca bir DOĞRU değeri okumak isterseniz? Bu genellikle “One-shot Button” olarak adlandırılır. Aşağıdaki eğitim, bunu yapmak için Teleop.vi’nize bırakabileceğiniz bir subVI’yı nasıl oluşturacağınızı gösterecektir.

Öncelikle, projenizin Support Code klasöründe yeni bir VI oluşturun.

../../../../_images/12.png

Şimdi yeni VI’nın blok diyagramında, aşağıdaki kod parçacığını bırakın.

../../../../_images/23.png

Bu kod, Feedback Node adı verilen bir işlevi kullanır. Düğmenin mevcut değerini feedack node düğümünün sol tarafına bağladık. Feedback node düğümünün okundan çıkan tel, düğmenin önceki değerini temsil eder. Geri bildirim düğümünüzdeki ok burada gösterildiği gibi ters yöne gidiyorsa, yönü tersine çevirme seçeneğini bulmak için sağ tıklayın.

Bir düğmeye basıldığında, düğmenin değeri FALSE’dan TRUE’ya gider. Bu VI’nın çıktısının yalnızca düğmenin mevcut değeri TRUE ve düğmenin önceki değeri FALSE olduğunda TRUE olmasını istiyoruz.

Daha sonra boolen kontrolünü ve göstergesini VI’nın giriş ve çıkışlarına bağlamamız gerekir. Bunu yapmak için, önce bağlayıcı bölmesindeki bloğa tıklayın, ardından ikisini bağlamak için düğmeye tıklayın (aşağıdaki şemaya bakın). Gösterge için bunu tekrarlayın.

../../../../_images/33.png

Daha sonra, bu VI’nın özelliklerini TeleOp.vi’mizde bu VI’nın katlarını kullanabilmemiz için değiştirmemiz gerekiyor. VI Simgesine sağ tıklayın ve VI Özellikleri’ne gidin. Ardından “Execution” kategorisini seçin ve “Preallocated clone reentrant execution” yı seçin.

../../../../_images/42.png ../../../../_images/51.png

Son olarak, VI Simgesini VI’nın işlevini daha açıklayıcı olacak şekilde değiştirmeliyiz. Simgeye sağ tıklayın ve Edit Icon’a gidin. Create a new Icon-Yeni bir Simge oluşturun.

../../../../_images/61.png

Son olarak, VI’yı açıklayıcı bir adla kaydedin. Artık bu VI’yı Support Files klasöründen TeleOp.vi’nize sürükleyip bırakabilirsiniz. İşte tamamlanan VI’nın bir kopyası: Button_Press.vi

İşte bu VI’yı nasıl kullanabileceğinize dair bir örnek.

../../../../_images/7.png