Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Instrumentation Newsletter
NI Supported: No
Publish Date: Nov 14, 2012

Maximize Your RIO Investment: Develop Faster and Reduce Maintenance Costs

1 ratings | 4.00 out of 5
Read in | Print | PDF

For developing embedded control and monitoring systems, the mix of NI LabVIEW software and NI CompactRIO or NI Single-Board RIO hardware offers powerful benefits including precise high-speed timing and control, rugged hardware, and unparalleled productivity.

However, you still face a learning curve to effectively take advantage of these benefits, and your application or job in part determines the size of that curve. To be successful, you should determine up front what you need to learn to deliver a system that meets or exceeds requirements while minimizing development time. If the requirements for your next project differ significantly from your current one, assess what additional concepts you should learn to successfully complete it. For example, you may be developing a functional prototype and just want a system that works, but if the design is approved, you likely want something that is built to last and minimizes long-term maintenance costs. Consider the different capabilities needed for each stage of developing an application based on CompactRIO or NI Single-Board RIO, and take advantage of resources that can help you efficiently learn those necessary skills.

Skills Required for all CompactRIO and NI Single-Board RIO Users

To begin with, everyone who uses LabVIEW and CompactRIO or NI Single-Board RIO should be able to perform the following tasks:

  • Install and configure CompactRIO hardware and LabVIEW
  • Create a diagram or architecture for your system
  • Navigate the LabVIEW environment
  • Apply key LabVIEW structures (While loops, clusters, arrays, and so on)
  • Develop basic, functional applications in LabVIEW
  • Apply common design patterns (state machine, producer/consumer, and so on)
  • Understand the difference between Windows and real-time OSs
  • Implement communication between processes 
  • Deploy an application

To help you develop these skills, you can use these resources:

From there, attributes of your application or job determine whether you need additional skills.

 

What Additional Skills Do You Need?

To determine the level of skills you need, ask the following four questions (circle one answer for each). For each of your answers, look at the following table to identify the capabilities you need and learning resources you can use.

 

  1. How will the system I am developing be used?

    a. Functional prototype or short-term use

    b. Ongoing use or deployment of one or more systems over multiple months or years

  2. What level of performance and reliability does my application require?

    a. One or more I/O channels updated at >500 Hz and/or hardware circuitry dedicated to control or safety logic

    b. All I/O channels updated at rates <500 Hz and software-based control or safety logic

  3. Who is developing the LabVIEW code for this system?

    a. A single person is developing the entire code base

    b. Multiple developers with each responsible for a part of the code base

  4. Will this system be used in the medical industry to automate a manufacturing process or test products?

    a. No

    b. Yes

Questions and Answers You Need to be Able to... Recommended Resources
1 a No additional skills required  
  b
  • Follow software engineering best practices to create scalable, maintainable applications in LabVIEW
  • Identify performance, reliability, and communication requirements for your system
  • Optimize your code to meet those requirements
  • Design for reliability: build in system health monitoring and comprehensive error handling
  • Replicate your embedded system

NI training courses:

ni.com content:

2 a
  • Compile and deploy your VIs to hardware targets based on reconfigurable I/O (RIO)
  • Use an FPGA to acquire and output analog and digital signals
  • Understand and control timing of operations on the FPGA target
  • Communicate data to and from FPGA and real-time OSs

NI training courses:

ni.com content:

  b Acquire I/O using NI Scan Engine I/O variables

ni.com content: 

3 a No additional skills required  
  b
  • Adapt the software engineering process to your project
  • Select and use appropriate tools to help you manage application development
  • Conduct an effective LabVIEW code review
  • Develop a test and validation strategy

NI training courses: 

4 a No additional skills required  
  b
  • Understand regulatory requirements in the industry
  • Follow best practices for using standards and application life-cycle processes
  • Use the GAMP 5 risk-based approach for developing test applications
  • Take advantage of NI tools and techniques to simplify testing and documentation requirements

NI training courses: 

Learn more about RIO training options from NI.

CompactRIO/Single-Board RIO Recommended Resources Summary


[+] Enlarge Image

Based on how you are planning to use CompactRIO or Single-Board RIO, NI recommends different training courses and ni.com content

Need More Help?

Many National Instruments Alliance Partners have already invested in the level of proficiency required for your application. If your CompactRIO or NI Single-Board RIO project requires a greater skill level than you have and you are unable to gain the required level in the time allotted for your project, NI can temporarily augment your expertise by connecting you with an Alliance Partner that can provide consulting services while you get up to speed.

Search for an NI Alliance Partner

This article first appeared in the Q1 2012 issue of Instrumentation Newsletter.

1 ratings | 4.00 out of 5
Read in | Print | PDF

Reader Comments | Submit a comment »

 

Legal
This material is protected under the copyright laws of the U.S. and other countries and any uses not in conformity with the copyright laws are prohibited, including but not limited to reproduction, DOWNLOADING, duplication, adaptation and transmission or broadcast by any media, devices or processes.