QUARC® Real-Time Control Software

Download product info:

Accelerating Control Design

Quanser’s QUARC software adds powerful tools to MATLAB® and Simulink® to make the development and deployment of sophisticated real-time mechatronics and control applications easier. QUARC generates real-time code directly from Simulink-designed controllers and runs it in real-time on the Windows target - all without digital signal processing or without writing a single line of code.

Simple and Intuitive Tool for Teaching Labs

QUARC is an integral part of Quanser's teaching lab workstations and the comprehensive courseware with Simulink-based lab exercises that accompanies them. With QUARC, students’ efforts focus on key control concepts rather than tedious code writing. QUARC user interfaces are easy to understand, which means students do not require any extensive training. They work with controllers that are clear and match standard system block diagrams used in textbooks. Students can tune parameters of the running model by changing block parameters in the Simulink diagram, view the status of a signal in the model and stream data to MATLAB workspace or to a file for off-line analysis.

The courseware developed by Quanser engineers effectively demonstrates and teaches the mechatronic design approach practised in industry. This includes modeling, controller design, simulation and implementation.

Efficient Development Environment for Complex Applications

QUARC seamlessly integrates with Quanser’s research platforms to implement virtually any control algorithm. Combined with Quanser power amplifiers and data acquisition cards, QUARC provides an ideal rapid prototyping and hardware-in-the-loop development environment, ideal for design, simulation, implementation, and testing of time-varying systems used in communications, controls, signal processing, video processing, image processing, and more.

With its extensive collection of features and capabilities, QUARC presents a rapid control prototyping environment adaptable to virtually any mechatronic interface and scalable for complex multi-input and multi-output systems. This means you can reduce week-long development process to a few hours, turning overwhelmingly complex applications into feasible, even easy ones. The main features of QUARC include:

  • Simple and flexible hardware interfacing

The QUARC HIL API provide a whole new way of accessing hardware, creating a flexible and extensible framework supporting DAQ and external devices These blocks let you change the data acquisition card used by an entire diagram by changing a single parameter.

  • Flexible and protocol-independent communication framework

The QUARC Stream API allows to conduct standard communication between QUARC models; a QUARC model and external third-party applications (e.g., graphical user interface); or even between two external third-party applications. The Stream API is independent of the development environment and can be used in C/C++, .NET, MATLAB®, or LabVIEW™. The Stream API also enables the communication between multiple real-time model over the internet. This could be used for distributed control, teleoperation, device interfacing, etc. The stream API natively supports TCP/IP, UDP, serial, shared memory, named pipes, ARCNET, and other protocols.

  • Support of multi-threaded, multi-rate and asynchronous models

QUARC supports multithreading in a variety of contexts, the most transparent being the handling of multi-rate models, where Simulink diagram contains blocks with differing sample times. QUARC can be configured to automatically create two separate threads - one for each sample rate.

QUARC also handles asynchronous threads that run completely asynchronously and are aperiodic. Such asynchronous threads are useful for communications, for worker threads or for idle-time processing and are an advanced feature of QUARC.

  • Extensive third-party devices support

Researchers incorporating off-the-shelf devices in their projects further benefit from QUARC's extensive suite of third-party device blocks. These blocks not only allow a Simulink model to communicate with external devices, such as Denso and MICO robots, PGR cameras and Geomagic haptic devices, but also to implement the mathematical framework for controlling them. All this is possible without the need to learn new tools or hand coding since the controller design and integration is performed in an environment most researchers are familiar with, such as Windows®, MATLAB and Simulink. Click here for the latest list of interfaces supported by QUARC.

Ready to give it a try? Request a free demo license. For 30 days you will be able to run QUARC demos, such as KUKA robot and Rotary Inverted Pendulum without any need for hardware, or design your own control models in Simulink. Request a Free 30-day Demo License

For full details on QUARC features, visit the full documentation page and check the release notes.

  • Full support for Simulink® external mode, including Scopes, Floating Scopes, Displays, To Workspace, online parameter tuning, etc.
  • Single or multiple PC / board configurations supported
  • Support of 64-bit and 32-bit platforms for Microsoft Windows 7, Windows 8.1 and Windows 10 operating systems
  • Multi-processor support under Windows 7, Windows 8.1 and Windows 10 for improved sampling rates and performance
  • Log data to MAT-file and M-files
  • Run Multithreaded and Multirate models
  • Run more than one model on a single target or multiple targets at the same time
  • Standalone controller execution
  • Support for multiple targets (OS’s and chipsets), such as Windows 7, Windows 8.1 and Windows 10 (soft real-time)
  • Windows-based cross compiler for gumstix boards (Linux Verdex, Linux DuoVero targets)
  • Flexible and extensible communications framework enabling distributed control, device interfacing, teleoperation and general interprocess communication between models and local or remote applications
  • Unified, expandable data acquisition architecture supporting cards from Quanser, National Instruments and other manufacturers
  • Support for asynchronous threads in Simulink® models - ideal for asynchronous communications, etc.
  • Full set of data streaming blocks to enable any synchronous or asynchronous communication with processes outside of the running controller
  • Protocols natively supported include TCP/IP, UDP, serial, shared memory, named pipes, ARCNET, Peak CAN, and more
  • Console for monitoring standard I/O (stdio) of a model even on a remote target
  • Support for model referencing, allowing object-oriented model design and incremental compilation and linking for accelerating the development of large models
  • Support for scope triggering and data archiving for sophisticated, large volume, data collection
  • Support for peripherals such as mouse,  keyboard and force feedback joysticks
  • Support for third-party devices ranging from infrared cameras to KUKA robots
  • Self-booting target for embedded modes
  • Network-administered license (optional)
  • Host speach recognition and synthesis

Compatibility for 32-bit or 64-bit Windows Host Operating Systems

Download QUARC Compatibility Chart

  Compiler Tools 32-bit or 64-bit¹ MATLAB, Simulink, MATLAB Coder, Simulink Coder, Control System Toolbox*
Windows Target    
Windows 7 SP1 Host OS
Windows 8.1 Host OS
Microsoft Visual Studio 2012 Professional Edition with Visual C++ R2014a, R2014b, R2015a, R2015b
Microsoft Visual Studio 2013 Professional Edition with Visual C++ R2014a, R2014b, R2015a, R2015b
Microsoft Windows SDK 7.1 R2014a, R2014b, R2015a, R2015b
Windows 10 Host OS Microsoft Visual Studio 2012 Professional Edition with Visual C++ R2015a, R2015b
Microsoft Visual Studio 2013 Professional Edition with Visual C++ R2015a, R2015b
Linux DuoVero² Target  
Windows 7 SP1 Host OS
Windows 8.1 Host OS
GCC-based cross-compiler supplied R2014a, R2014b, R2015a, R2015b
Windows 10 Host OS GCC-based cross-compiler supplied R2015a, R2015b
Linux Verdex³ Target  
Windows 7 SP1 Host OS
Windows 8.1 Host OS
LLVM cross-compiler supplied
CodeSourcery Lite support available
R2014a, R2014b, R2015a, R2015b
Windows 10 Host OS LLVM cross-compiler supplied
CodeSourcery Lite support available
R2015a, R2015b

¹ 32-bit Windows Host PC requires installation of 32-bit MATLAB, 64-bit Windows Host PC requires installation of 64-bit MATLAB
² Linux DuoVero target requires a DuoVero Zephyr board 9provided by Quanser) with the Yocto root file system customized for QUARC
³ Linux Verdex target requires a Verdex Pro XL6P board (provided by Quanser) with the Open Embedded root file system customized for QUARC
* required for labs



Privacy Policy
©2016 Quanser Inc.