Rekurzív függvényhívások LabVIEW-ban

A 2009-es LabVIEW verziótól kezdődően már egyszerűen megvalósítható a függvények (subVI-ok) rekurzív hívása. Ha külön beállítások nélkül helyezzük el a VI-t saját magában, akkor hibát kapunk:

Recursive-Bad

A hibát az okozza, hogy LabVIEW-ban alapbeállítások mellett egy VI csak egy példányban futhat. Viszont ezt a viselkedést megváltoztathatjuk a VI Properties Execution pontjában:

 

SharedCloneReentrant

A Shared clone reentrant execution opciót választva a VI már több példányban is futhat, minden egyes meghíváskor a LabVIEW klónokat készít az adott VI-ról. Ezzel a beállítással a rekurzív függvényhívás már nem fog hibát adni, és helyesen is működik:

Recursive-Good.png

 

További olvasnivaló: National Instruments: Creating Recursive VIs

Hozzászóllások