Monday, November 16, 2009

QUARC: The QuaRC Tetralogy

In the past few months we talked about the new features and strengths of QUARC 2.0, the new version of our popular control systems design and development software. The diagram below succinctly captures QUARC’s characteristic strengths - and some of Quanser’s domains of expertise - and illustrates QUARC’s four pillars.

Namely, the QUARC tetralogy consists of:

  1. A visual programming tool, like Simulink. As a Rapid Control Prototyping (RCP) tool that provides full open-architecture, this is what QUARC fully integrates with and generates real-time code from. This visual programming tool is used as a flexible development platform and to maximize user friendliness.

  2. Multiple target Operating Systems (OS). The target OS, be it either a pseudo- or hard-real-time operating system is where the QUARC-generated code is run. Currently, QUARC models run under 32-bit Windows, Linux, QNX, and INtime (to be available soon).

    QuaRC-generated models are optimized for robust and real-time (i.e., deterministic) performance, by strictly adhering, for example, to a true multi-rate and multi-threaded design, or by taking advantage of multi-core CPUs (CPU affinity support).

  3. Hardware interfacing. QUARC allows interfacing to actual hardware in a real-time fashion by utilizing the Quanser’s HIL API and by supporting a growing number of third-party devices.

    The Quanser’s Hardware-In-the-Loop (HIL) API is a generic, card-independent, and extensible API. It is detailed in our QuaRC: Hardware-In-the-Loop (HIL) Card Support and HIL API post.

    As a complement to the HIL API, QuaRC also supports a wide variety of third-party-vendor sensors, devices, and robots, as described in our QuaRC: Third-Party Device Support article.

  4. Communication capabilities. QUARC implements a very flexible and powerful communication framework that allows for carrying out standard communication not only between QuaRC models, but also and especially between a QuaRC model and an external third-party application.

    The cornerstone of QuaRC’s communication capabilities is the Quanser’s Stream API, which is a generic, protocol-independent, and extensible communication API. Please refer to the QuaRC: Communication Capabilities and Framework article for a more detailed description.

No comments: