Thursday, July 16, 2009

QUARC: Communication Capabilities and Framework

QuaRC is a multi-function rapid control prototyping and deployment environment. It extends the traditional design-to-implementation interface toolset to new levels by allowing more functionality, complete connectivity openness, and more development flexibility, all with low overhead and minimal training.

QUARC has in place a very generic, flexible and communication-protocol-independent framework allowing for carrying out standard communication not only between QUARC models, but especially between a QUARC model and an external third-party application (e.g., graphical user interface), or even between two external third-party applications!!

The QUARC communication framework, using the Quanser Stream API, follows the well-established client/server communication mechanism implemented in either a blocking I/O mode (i.e., asynchronous I/O in a separate thread) or non-blocking I/O mode (i.e., synchronous I/O in the model current thread). The Quanser Stream communication framework is open and structured to readily accommodate and integrate new communication protocols as required. To date, the Quanser Stream API has the following communication protocols available for the four Operating Systems that QuaRC can target.

The QUARC Windows (32-bit XP and Vista) target fully supports the following communication protocols:
The QUARC QNX (Real-Time OS) target fully supports the following communication protocols:
The QUARC Linux ARM (gumstix) target fully supports the following communication protocols:
Also the upcoming QUARC INtime (RTOS) target fully supports the following communication protocols:

QUARC also provides support for using:

The QUARC communication framework (i.e., Stream API) also allows for switching from one communication protocol to another by only changing the Uniform Resource Identifier (URI) string defining the new protocol to be used. The rest of the blocks or functions used in the communication remain untouched!

This Quanser Stream framework is completely open-architecture and made available externally by its provided APIs. The Quanser Stream API is development-environment independent as it is currently fully implemented in:

It can be readily extended to other languages and environments as required. This makes any Quanser Stream protocol accessible from and to external applications.

No comments: