SCADA System for Locomotive Testing Using CompactRIO and LabVIEW

Abraham K. Kovelil, Captronics System Pvt. Limited

"The SCADA system we developed using CompactRIO and LabVIEW is a stand-alone system capable of simultaneously running two tests. The system increased our customer’s productivity by 100 percent—our customer tested twice the number of UUTs daily compared to its previous manual test technique."

- Abraham K. Kovelil, Captronics System Pvt. Limited

The Challenge:

Developing a supervisory control and data acquisition (SCADA) system to simultaneously test multiple traction test objects using high-power AC drives for locomotives requiring higher speed and torque in a highly electromagnetic interference (EMI) environment.

The Solution:

Using the powerful, scalable NI reconfigurable I/O (RIO) platform, including an NI CompactRIO real-time controller and a deterministic EtherCAT chassis, to develop a SCADA system that handles a high I/O signal count spread across a large geographical area.


Abraham K. Kovelil - Captronics System Pvt. Limited
Rohit Pandey - Captronic Systems Pvt Ltd
S R. Kumaresh - Captronic Systems Pvt Ltd


Captronic Systems Pvt Ltd, an NI Platinum Alliance Partner, specializes in the design and development of custom automated test, control, and acquisition systems for R&D, design validation, and production testing.


One of our customers conducts tests on traction devices such as AC motors and alternators used in electric locomotives. They were using a manual method to conduct different types of tests on the traction devices, which operated at high voltages and high current ratings. 


We developed a sophisticated SCADA system using NI hardware and NI LabVIEW system design software. With the new SCADA system, we automated the process of conducting tests on multiple types of traction devices simultaneously while monitoring critical signals and applying interlocks for protection. The SCADA system also has features to analyze the acquired signals to improve the performance of the traction objects.



System Overview

Figure 1 shows the overall setup of the SCADA system we created using NI CompactRIO hardware and NI LabVIEW software. The setup includes a pit area, drive panel room, and control room.


The pit area tests both on-vehicle and off-vehicle by mounting the unit under test (UUT) as shown in Figure 1. We mounted a panel housing an NI 9144 EtherCAT chassis (slave) to interface with the nearby sensors and transfer the data to the NI cRIO-9022 controller (master).


The drive panel room houses the AC drives and transformers required to convert the power drawn from transmission lines to drive the UUT and vice versa, depending on whether the test is in motoring or regenerative mode. We mounted a panel housing a cRIO-9022 controller (master) to interface with some of the sensors and actuators (analog and digital) in the drive panel room to acquire and control the respective drives from the control room.


The control room consists of two computers: the test controller (server) and the test evaluator (client). The test controller is a PC that the operator uses to run the test, monitor a few parameters, analyze logged data, and create reports. The test evaluator is a PC that displays live data for all parameters related to test with better analyzing tools.


The system can acquire and control the following signals:

  • High voltage and high current ranging from 10 V to 2,000 V and 100 A to 3,000 A, respectively
  • Temperature parameters ranging from 50 °C to 1,200 °C
  • Digital I/O lines
  • Speed up to 6,000 rpm
  • Pressure and torque parameters
  • Analog output for closed-loop control




Software Architecture

The overall software architecture is divided into three sections: the FPGA portion built with the LabVIEW FPGA Module, the real-time portion built with the LabVIEW Real-Time Module, and the host (see Figure 2).


The FPGA part of the application runs partly on the cRIO-9022 controller (master), which transfers data to the LabVIEW Real-Time Module through the DMA and front-panel communication, and partly on the NI 9144 chassis (slave), which transfers data to the LabVIEW Real-Time Module through user-defined variables.


The LabVIEW Real-Time application reads and writes the data to and from the master and slave FPGA and synchronizes, filters, and scales the required channels based on user configuration. A TCP/IP loop facilitates communication between the controller and the host application (test controller). It also runs the startup, test (manual and auto), diagnostic, proportional integral derivative (PID), interlock, and shutdown loop.


Our system features two host applications: the test controller and the test evaluator. The test controller directly communicates with the real-time controller so that the user can give commands, log the data, and monitor a few parameters in a graphical or mimic panel. In the test evaluator, the user can only monitor the live data for all active parameters.



Test Controller

We designed the test controller with the following features (see Figure 3):

  • Configuration Module: Configures the analog input (AI), analog output (AO), digital input (DI), digital output (DO), speed, and thermocouple (TC) channels with appropriate scaling, units, and flags (for display, log), and sets the alarm limits for interlocks. With the module, users also can create custom parameters (derived parameters).
  • Interlocks Module: Used to add/edit the interlocks required while running a test.
  • Test Editor Module: Used to add/edit the tests sequence required for running an automatic test.
  • Diagnostic Module: Used for diagnostic purposes to check the health of AI, AO, DI, DO, speed, and TC signals. This module is also capable of PID tuning to control the speed and current of the motor.
  • Calibration Module: Used for calibrating the AI and AO channels compensated for wiring loss.
  • Manual Test Module: Gives the provision to manually run the test. Configured channels are displayed in graphical and mimic formats. The user can log both low sample and high sample data at any given time.
  • Auto Test Module: Automatically executes the test sequences configured and data logging and report generation. Configured channels display in graphical and mimic format.
  • Trend Module: Used for the offline analysis of logged data in both the frequency and time spectra. The module is preloaded with many functions (both time and frequency domain) to properly analyze the data.
  • Report Module: Generates a single custom report for all tests conducted on a test object.



Test Evaluator

The test evaluator (see Figure 4) is a separate application running in the client PC to view the acquired data in a tabular, graphical format when a particular test is running. Users can view data for two tests at the same time. They also can easily switch between any of the tests to see their respective data.


100 Percent Increase In Productivity

The SCADA system we developed using CompactRIO and LabVIEW is a stand-alone system capable of simultaneously running two tests. The system increased our customer’s productivity by 100 percent—our customer tested twice the number of UUTs daily compared to its previous manual test technique. Moreover, with new and improved data analysis and report generation, the user can closely monitor critical parameters and perform advanced analysis to validate even future UUTs.


Using LabVIEW, we completed our overall system installation and validation faster with its user friendly, easy-to-use GUI. The latest NI products helped us give our customer a stable, reliable, and scalable setup to address current test needs as well as prepare our customer’s existing test setup for future product testing and validation.


A National Instruments Alliance Partner is a business entity independent from National Instruments and has no agency, partnership, or joint-venture relationship with National Instruments.


Author Information:

Abraham K. Kovelil
Captronics System Pvt. Limited
# 3, Victorian Meadows,Airport - Varthur Road, Marathahalli P.O.

Figure 1. Setup Overview
Figure 2. Overall Software Architecture
Figure 3. Test Controller
Figure 4. Test Evaluator