When designing NI myRIO, our aim was to give students access to the same industry-grade technology they would see upon graduation; however, we know that students approach this technology with various knowledge levels and may not be ready for the advanced programming required of a professional engineer. Using the LabVIEW RIO architecture approach, we can take advantage of LabVIEW system design software to offer NI myRIO users a spectrum of programming complexity. Depending on programming knowledge, students can begin with configuration-based Express VIs and move to advanced modes of programming as they feel ready.
At the simplest level, students can gain quick access to a predefined shipping FPGA bitfile using Express VIs specifically created for NI myRIO. Express VIs are configuration-based functions that minimize programming and can be found on the NI myRIO palette in LabVIEW.
As students gain programming knowledge, they can graduate to more advanced programming using the NI myRIO Adanced I/O API. To help students transition from Express VIs to traditional LabVIEW programming, each Express VI includes a “View Code” button that gives students the ability to see the detailed underlying code.
Students can copy and paste this code to a LabVIEW block diagram or can program from scratch with lower level peripherals using the Advanced I/O subpalette.
At the most fundamental level, students can investigate and implement the same LabVIEW programming techniques used by professional engineers. By double-clicking on any Advanced I/O VI, students can see the low-level handshake between processor code and the FPGA bitfile.
Students programming on this level can completely customize both processor and FPGA code using the same low-level LabVIEW peripherals used by professional engineers working with products like NI CompactRIO and NI Single-Board RIO.
Although LabVIEW provides engineers the tool for total system design, engineers may choose to execute some tasks in a programming language such as C or C++. Because the dual-core ARM Cortex-A9 processor on NI myRIO runs the NI Linux Real-Time OS, users can choose to program the processor in C or C++ using the Eclipse IDE. This gives students the ability to choose the programming language that is best for the task at hand. This same option is offered to professional engineers with the new NI cRIO-9068, which uses the same Zynq chip technology found in NI myRIO.