User Stories

INCOVA Designs Intelligent Valve-Control System for a 20-Ton Excavator


Design and implement an intelligent valve control system for large hydraulic machinery


Use a real-time testing solution from MathWorks and Speedgoat to model and validate the control system, then automatically generate and run code on real-time rapid prototyping hardware


  • Development time cut by more than 50%
  • Design modifications completed in an hour
  • 100% of controller design reusable

“In the past, our systems engineers had to consider hardware details such as the number of bits of accuracy and worry about communicating the design to the software engineer. With MathWorks tools for Model-Based Design, the system engineer can focus on controls, not on the details of the target hardware.”

Corey Quinnell, INCOVA Technologies
A 20-ton excavator with hydraulic functions controlled by INCOVA's valve-control system.

Manufacturers of excavators, earth-moving machines, and other heavy-duty industrial equipment are constantly seeking new ways to improve efficiency, reliability, and productivity while continuing to meet safety standards.

INCOVA Technologies, a global leader in the development and manufacture of hydraulic and electrohydraulic controls, met this challenge by developing Intelligent Control Valve (INCOVA) technology. “By electronically controlling the valves, we increase excavator efficiency in terms of earth moved per unit of fuel, increase controllability by taking advantage of independent metering, and enhance productivity by intelligently controlling flow to the functions,” explains Corey Quinnell, systems engineer at INCOVA.

INCOVA created a real-time prototype of a control valve system for a 20-ton excavator using MathWorks tools for Model-Based Design. The system receives input from the operator joystick, valve pressure sensors, and engine speed monitor and then sends control signals to electrohydraulic valves on the excavator’s travel, slew, bucket, arm, boom, and auxiliary functions.

“Simulink, Simulink Coder, and Simulink Real-Time enabled our systems engineers to focus on control algorithm design and cut development time by more than 50%,” Quinnell says.


In INCOVA’s former design process, control requirements were captured in a Microsoft® Visio® diagram. Software engineers used this diagram as a specification to manually write C code for the control system. This cumbersome process made it difficult to quickly complete multiple design iterations.

“We had no way of numerically validating the requirements captured in our static diagrams,” explains Quinnell. “Our software engineers had to interpret and hand-code both the original design and all subsequent changes. That meant long delays between the capture of a control algorithm and our ability to test it on a machine.”

INCOVA needed a way to validate their designs, improve communication between systems and software engineers, and shorten design iterations and development time.


INCOVA engineers designed, modeled, and validated the control system using Simulink®. They then used Simulink Coder™ to generate C code from their Simulink models, and Simulink Real-Time™ running on hardware from Speedgoat GmbH to implement a real-time prototype.

A graphical user interface developed with MATLAB® GUIDE tools was used to input the machine’s system parameters, which included items such as the number of hydraulic cylinders and the area and velocity of each cylinder. System engineers used Simulink to develop the control algorithms that translate joystick movement to cylinder movement. Simulink enabled them to segment the model and divide the design effort among specialists in system design, controls theory, and software engineering without causing re-integration incompatibilities.

After assembling all subsystems into a complete Simulink system model comprising more than 1000 blocks, the team simulated the system. “Debugging a control system on a live excavator is not safe,” says Quinnell. “By working in Simulink, we could debug and tune the design from our desks.”

To visualize simulation results, the team used MATLAB to postprocess the captured output, calculate energy consumption, and plot joystick position versus cylinder movement.

INCOVA software engineers generated C code from the Simulink model using Simulink Coder. They then used a real-time testing solution, with Simulink Real-Time for standalone operation of the control code, combined with a high-performance real-time target computer from Speedgoat.

To validate the control system, the team developed a plant model of the excavator in Simulink. They linked the plant model with the control system model running on Simulink Real-Time. The validated control system was then connected to the actual excavator for further live tests and fine tuning.

The excavator is currently operating with the control system running on Simulink Real-Time. INCOVA plans to use Embedded Coder® to generate code for their target production hardware.


  • Development time cut by more than 50%. “Using our previous process, we took six to seven months to develop a specification, design a system, and create a prototype,” explains Quinnell. “With Simulink, Simulink Real-Time, and Speedgoat, we reduced that time to two or three months.”

  • Design modifications completed in an hour. “When we had to update our handwritten code every time we made a design change, it took about eight hours,” says Quinnell. “With MathWorks tools we can update the model, regenerate the code, and make the same change in an hour or less.”

  • 100% of controller design reusable. “For us, the biggest change from machine to machine is the number of cylinders and pumps, so we made these variables in our Simulink model of the control system,” explains Quinnell. “As we develop control platforms, we plan to reuse 100% of that control system.”