Example Code

Automatic OOP DVR Wrapper Creation

Code and Documents

Attachment

I frequently use an OOP hierarchy whose main API is DVR based. Since LabVIEW OOP cannot dynamic dispatch off of DVRs, I typically make two levels of VIs: Core (dynamic dispatch) and Wrapper (DVR with in-place element structure to call Core). The wrapper VIs should have the same description, icons, and terminals (other than switching class object with DVR of class object) as the Core they call. To help speed up my coding, I have made a utility that will automatically create the DVR based wrapper VI based on Core VI in a "pretty" manner. 

 

The utility takes this VI and.....                                                  creates this VI to call it via DVR

Core VICore VI        Wrapper VI (Front Panel)Wrapper VI (Front Panel)               Wrapper VI (Block Diagram)Wrapper VI (Block Diagram)

Requirements

LabVIEW 2019: utilizes the new Arrange VI Window quick-drop plugin

 

Current Limitations

Only works with 5x3x3x5 terminal pattern (future improvement)

Class terminals are upper corners

Errors are lower corners

__________________________________
Bill Eisenhower
Certified LabVIEW & TestStand Developer

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.