QUARC 1.2 End of trail navigation bar

Table of Contents > QUARC > Release Notes

QUARC 1.1

These release notes describe the new features and changes introduced in QUARC 1.1. They are divided into the sections enumerated below.

New Blocks

New blocks have been added to the QUARC Targets library in QUARC 1.1. The new blocks are listed below.

Altia Get Value
The Altia Get Value block has been added to the Altia User Interface blockset. This block associates a name with a particular Altia interface. This name will appear in the list of interfaces for every other Altia block. It is the interface name that associates the other Altia blocks with a particular Altia interface. Using a separate block to configure the Altia interface makes it trivial to change the Altia GUI being used and makes it easier to route signals to and from the Altia GUI.
Altia Initialize
The Altia Initialize block has been added to the Altia User Interface blockset. This block associates a name with a particular Altia interface. This name will appear in the list of interfaces for every other Altia block. It is the interface name that associates the other Altia blocks with a particular Altia interface. Using a separate block to configure the Altia interface makes it trivial to change the Altia GUI being used and makes it easier to route signals to and from the Altia GUI.
Altia Plot
The Altia Plot block has been added to the Altia User Interface blockset. This block sends its input signal to a Quanser Altia Plot component for plotting. The signal may be a vector, in which case the Quanser Altia Plot component must be configured to plot the same number of lines as the signal dimension.This block never waits for the Altia GUI to receive the new signal value. It always returns immediately. The sent output indicates whether the data has been sent or not.
Altia Set Value
The Altia Set Value block has been added to the Altia User Interface blockset. This block sets the current value of an Altia GUI component, such as a meter position. This block never waits for the Altia GUI to receive the new value. It always returns immediately. The sent output indicates whether the data has been sent or not.
Circular Buffer Clear
Circular Buffer Initialize
Circular Buffer Read
Circular Buffer Write
The Circular Buffer Clear, Circular Buffer Initialize, Circular Buffer Read, and Circular Buffer Write blocks have been added to the Asynchronous Advanced blockset. They provide QUARC with circular buffering functionality, i.e. respectively, clear, initialize, read and write capabilities. The circular buffer may be used to communicate between synchronous, or fixed sample rate, threads and asynchronous threads which have no sample rate. Like FIFO queues, circular buffers are identified by name. However, circular buffers are more general than FIFO queues. There may be any number of Circular Buffer Read, Circular Buffer Write or Circular Buffer Clear blocks in a model, all referring to the same circular buffer. Atomic access by each block to the circular buffer is guaranteed, so that the buffer may be accessed from multiple threads.
Date/Time
The Date/Time block has been added to the Time Sources blockset. This block outputs the current date and/or time in the local timezone.
Game Controller
The Game Controller block has been added to the Target library of the Peripherals Devices blockset. This block reads the state of the game controller on the target and outputs the game controller coodinates and button information. The Game Controller block acquires the absolute (x,y,z) position coordinates, absolute rotation (Rx, Ry, Rz) coordinates, two slider coordinates, the positions of up to four point-of-view hats and the state of up to 32 game controller buttons.
HIL Watchdog
The HIL Watchdog block has been added to the Generic Data Acquisition blockset. This block implements a watchdog timer. The watchdog timer on the data acquisition card is programmed with the specified timeout, such as 0.1 seconds. However, every sampling instant, the HIL Watchdog block reloads the watchdog timer to prevent it from expiring. If the watchdog timer manages to expire, due to lost sampling instants or the model hanging or crashing, then the watchdog timer automatically sets the outputs of the card to predefined values. The watchdog feature is important in safety-critical applications where the system must handle unexpected software failures.
HIL Watchdog Clear
The HIL Watchdog Clear block has been added to the Generic Data Acquisition blockset. This block clears the watchdog state after the watchdog timer has expired. When the watchdog timer is allowed to expire, it disables further output to the card so that other HIL blocks in the model cannot write to the outputs of the card and disrupt the safe values programmed by the watchdog timer. In order to resume normal operation, the HIL Watchdog Clear block must be invoked to clear this watchdog state.
Is Connected?
The Is Connected? block has been added to the Status Sources blockset. This block indicates whether Simulink is currently connected to the model by outputing a Boolean signal. In normal simulation, this output is always true because the sink blocks, like Scopes, operate as expected and parameters may be tuned.
Print
The Print block has been added to the Standard I/O User Interface blockset. This block prints to the QUARC Console or the MATLAB Command Window. In normal simulation, the Print block prints formatted text to the MATLAB command window, much like fprintf prints to a file. In real-time code, it prints to the QUARC Console. The block may be used anywhere in the diagram, including in an asynchronous thread.
Scan
The Scan block has been added to the Standard I/O User Interface blockset. This block scans formatted text entered in a QUARC Console, much like scanf scans stdin. This block is always blocking and therefore should never be used in the main diagram. Instead, it should be used in an asynchronous thread created using an Asynchronous Thread block.
Sleep
The Sleep block has been added to the Timing Advanced blockset. It sleeps for the specified number of seconds. It uses very little CPU time while it sleeps. Only the thread to which the block belongs actually sleeps. In a multirate model in multitasking mode, QUARC executes each sampling rate in a separate thread.
Smooth Sine
The Smooth Sine block has been added to the Signals Sources blockset. It outputs a sine wave whose amplitude and frequency may be tuned online without causing a discontinuity in the output. The block may optionally be configured to output the corresponding cosine wave as well. (In later versions of QUARC this block was replaced by the Smooth Signal Generator block).
Stream Formatted Read
The Stream Formatted Read block has been added to the Intermediate Communications blockset. This block scans formatted data received over a stream, much like fscanf scans a file. The operation of this block is affected by the blocking mode of the stream connected to its input.
Stream Scan
The Stream Scan block has been added to the Advanced Communications blockset. This block scans formatted data received over a stream, much like fscanf scans a file. The operation of this block is affected by the blocking mode of the stream connected to its input.

New Cards Supported

The full list of all the data acquisition cards supported by the latest version of QUARC is given by the following link. In QUARC 1.1 the following cards were added to the supported cards.

Quanser Q3 ControlPaQ-FW
The Quanser Q3 ControlPaQ-FW card is an innovative H.I.L. control board that combines a data acquisition card with the power of built-in amplifiers, providing a compact all-in-one solution for a wide range of experiments. A large variety of devices with analog and digital sensors as well as quadrature encoders are easily connected to the Q3 ControlPaQ-FW. The Q3 ControlPaQ-FW easily connects to any PC or laptop with an available 6-pin FireWire® (IEEE 1394) input, making the Q3 ControlPaQ-FW a powerful and portable solution for many experiments.
National Instruments DAQCard-6024e
The National Instruments DAQCard-6024e delivers E Series performance to laptops and handheld devices that have a PCMCIA slot. Please see National Instruments' website (www.ni.com) for the data sheet.
National Instruments PCI-6023e
National Instruments PCI-6024e
National Instruments PCI-6032e
National Instruments PCI-6034e
National Instruments PCI-6035e
National Instruments PCI-6036e
National Instruments PCI-6040e
National Instruments PCI-6052e
The National Instruments PCI-6023e, National Instruments PCI-6024e, National Instruments PCI-6032e, National Instruments PCI-6034e, National Instruments PCI-6035e, National Instruments PCI-6036e, National Instruments PCI-6040e, and National Instruments PCI-6052e boards are E-Series cards for PCI slots. Please see National Instruments' website (www.ni.com) for each card data sheet.
National Instruments PCI-6220
National Instruments PCI-6221
National Instruments PCI-6221 (37-pin)
National Instruments PCI-6224
National Instruments PCI-6225
National Instruments PCI-6229
National Instruments PCI-6230
National Instruments PCI-6232
National Instruments PCI-6233
National Instruments PCI-6236
National Instruments PCI-6238
National Instruments PCI-6239
National Instruments PCI-6250
National Instruments PCI-6251
National Instruments PCI-6254
National Instruments PCI-6255
National Instruments PCI-6280
National Instruments PCI-6281
National Instruments PCI-6284
National Instruments PCI-6289
The National Instruments PCI-6220, National Instruments PCI-6221, National Instruments PCI-6221 (37-pin), National Instruments PCI-6224, National Instruments PCI-6225, National Instruments PCI-6229, National Instruments PCI-6230, National Instruments PCI-6232, National Instruments PCI-6233, National Instruments PCI-6236, National Instruments PCI-6238, National Instruments PCI-6239, National Instruments PCI-6250, National Instruments PCI-6251, National Instruments PCI-6254, National Instruments PCI-6255, National Instruments PCI-6280, National Instruments PCI-6281, National Instruments PCI-6284, and National Instruments PCI-6289 boards are M-Series cards for PCI slots. Please see National Instruments' website (www.ni.com) for each card data sheet.
National Instruments PCIe-6251
National Instruments PCIe-6259
The National Instruments PCIe-6251 and National Instruments PCIe-6259 boards are M-Series cards for PCI Express slots. Please see National Instruments' website (www.ni.com) for each card data sheet.
National Instruments PCI-6722
National Instruments PCI-6723
The National Instruments PCI-6722, and National Instruments PCI-6723 boards are Analog Output cards for PCI slots. Please see National Instruments' website (www.ni.com) for each card data sheet.
National Instruments USB-6211
National Instruments USB-6215
National Instruments USB-6251
The National Instruments USB-6211, National Instruments USB-6215, and National Instruments USB-6251 boards are M-Series cards for USB ports. Please see National Instruments' website (www.ni.com) for each card data sheet.
Sensoray Model 626
The Sensoray Model 626 is an multifunction I/O card for PCI slots. Please see Sensoray's website (www.sensoray.com) for the data sheet.

New Devices Supported

QUARC 1.1 may now interface to the device listed below.

Host Force Feedback Game Controllers
The Host Force Feedback Game Controller block reads the state of a generic force feedback game controller on the host, rather than the target, and outputs the game controller coodinates and button information. It also configures the maximum number of force feedback effects that may be used with the game controller. Force feedback effects are implemented using the other force feedback game controller blocks, such as the Host Game Controller Constant Force block.
JR3 PCI Force Torque Sensor
The JR3 PCI Force Torque Sensor block measures forces and moments of inertia along the X, Y, and Z axes. This block interfaces with a single DSP, single channel JR3 sensor connected to the PC via a JR3 PCI card. The JR3 sensor operates an onboard DSP at 8kHz, and provides low pass filtering of the raw force data at several cutoff frequencies.
Novint Falcon
The Falcon block reads the current position and button states of the Novint Falcon haptic device on the target and outputs the position and button information. There are four buttons on the Novint Falcon. It also writes the forces given at the input to the block.
Quanser Haptic 3-DOF Pantograph
Interfacing and Kinematics blocks for the Quanser Haptic 3-DOF Pantograph device have been added to the Pantographs section of the Haptics Quanser Devices library.
SparkFun Electronics SerAccel
The SerAccel block reads the current accelerations along the x, y and z axes of the SparkFun Electronics SerAccel v5 sensor (or later version). The SerAccel v5 device is a self-contained triple-axis accelerometer with an RS232 serial interface.

New Features

The new features introduced in QUARC 1.1 are mentioned below.

Altia Interfacing
In order to provide capability for a Graphical User Interface (GUI) able to communicate to a model independently of MATLAB and Simulink, QUARC provides a flexible interface to Altia (www.altia.com), which is a very powerful tool for creating professional-quality standalone GUIs for industrial applications. An Altia-created GUI allows the user to control, change parameters on-the-fly, and monitor signals in a QUARC real-time model. Moreover, the QUARC Plot library for Altia significantly augments the basic plotting components supplied with Altia, by providing scopes that can plot signals versus time. Specialized features such as starting and stopping (i.e., controlling) the real-time model, right from the graphical user interface itself are also supported.
MAT-File Uploading
When using MAT-file logging, the log file is generated on the target. Therefore if the target is a remote machine and MAT-file logging is used, then this MAT-file must be uploaded from the target to the host in order to load the results into MATLAB. This feature, directly available as a menu item from the QUARC Menu allows the uploading of the MAT-file saved on the target to the current MATLAB directory on the host machine for analysis.
Tip of the Day
A Tip of the Day dialog has been created so that tips on how to best use QUARC may be viewed.

Improved Features

Some of the features improved in QUARC 1.1 are enumerated below. There a great many miscellaneous bug fixes and improvements that have not been listed. Only some of the highlights are listed below.

Reorganized QUARC Targets Library
The QUARC Targets Library hierarchy under Devices, Sinks and Sources has been significantly restructured. The QUARC Fieldbus, Vehicles and the Open Source Computer Vision blocks have been moved from the QUARC Targets Library to a separate QUARC Targets Beta Library. Generally speaking, most blocks in the QUARC Targets Beta Library are at various development stages and not completely finished yet. They should not be used by the majority of users as their support is usually limited to specific operating conditions. The QUARC installer will not install the QUARC Targets Beta library by default, but it can be specifically selected for installation. Therefore, when upgrading from QUARC 1.0 to a newer version of QUARC, links to certain blocks in the QUARC Targets Library may be broken due to the previously-mentioned reorganization of the QUARC Targets Library. When such is the case, the Upgrade blocks menu item in the QUARC menu should be used to automatically upgrade the diagram (by repairing all the broken links while preserving the block parameters of the model). For more information on the Upgrade blocks menu item, please refer to the Upgrade blocks menu item description. This is fully described in the Upgrading QUARC reference page.
QUARC External Interfaces
The QUARC External Interfaces are a variety of external functions or APIs with which the user can communicate with the real-time code and/or access hardware. They have been enhanced to also provide support for the .NET programming languages. The QUARC .NET API offers support for the following functionality: communications, hardware, and error handling.
Driver and Communication Enhancements
The HIL drivers have been enhanced to provide watchdog support in the Q8-series drivers. A pipe protocol driver for Windows that uses named pipes was added. Other miscellaneous improvements and bug fixes have been made to drivers and communication protocols (shared memory, UDP, serial).
More documentation
The documentation has been enhanced to include more information about QUARC features. A great deal of effort has been put into our documentation. Be sure to familiarize yourself with all it has to offer!

New Demonstrations

The QUARC demonstrations added in QUARC 1.1 are listed below.

QUARC Digital Loopback Demo
The QUARC Digital Loopback Demo demonstration is now included with the QUARC Targets Using Hardware Demos. The example is a simple digital loopback test, but it demonstrates a number of important features of QUARC, such as the ability to access and quickly change hardware, multiple targets, online parameter tuning, data streaming, MAT-file logging, using Model Explorer, and potentially more.
QUARC Basic Communications Demo
The QUARC Basic Communications Demo demonstration is now included with the QUARC Targets Communications Demos. The example consists of two Simulink models: a server and a client. It demonstrates how to use the Basic Communications blockset from the QUARC Targets Library to establish a connection between the two Simulink models. For a detailed description of these models and how they operate, please refer to the Basic Communications section of the QUARC documentation.
QUARC Intermediate Communications Demo
The QUARC Intermediate Communications Demo demonstration is now included with the QUARC Targets Communications Demos. The example consists of two Simulink models: a server and a client. It demonstrates how to use the Basic Communications blockset from the QUARC Targets Library to establish a connection between two Simulink models. For a detailed description of these models and how they operate, please refer to the Intermediate Communications section of the QUARC documentation.
QUARC Advanced Communications - Blocking Mode Demo
The QUARC Advanced Communications - Blocking Mode Demo demonstration is now included in the "QUARC Advanced Communications" section of the QUARC Targets Communications Demos. The advanced communications blocks provide the full flexibility of the QUARC communications framework but are lower-level blocks that require a more sophisticated knowledge of communications than the other two types of communications blocks (Basic and Intermediate). Therefore, it is highly recommended refer to the Advanced Communications section of the QUARC documentation. The advanced blocks support two modes: blocking and non-blocking. In blocking mode, the blocks do not return until the operation requested is complete. As such, blocking mode is typically used in an asynchronous thread running at a lower priority than the main diagram, so that the blocking I/O does not interfere with the sample time performance of the main diagram. The example consists of two Simulink models: a server and a client. It demonstrates how to use the Advanced Communications blockset from the QUARC Targets Library to establish a connection in blocking mode between two Simulink models.
QUARC Advanced Communications - Non-Blocking Mode Demo
The QUARC Advanced Communications - Non-Blocking Mode Demo demonstration is now included in the "QUARC Advanced Communications" section of the QUARC Targets Communications Demos. The advanced communications blocks provide the full flexibility of the QUARC communications framework but are lower-level blocks that require a more sophisticated knowledge of communications than the other two types of communications blocks (Basic and Intermediate). Therefore, it is highly recommended refer to the Advanced Communications section of the QUARC documentation. The advanced blocks support two modes: blocking and non-blocking. In non-blocking mode, the blocks always return immediately and may therefore be used in the main diagram without compromising sample time performance. However, a simple state machine is generally required to keep track of when a connection is established and data may be transmitted or received.
QUARC Scripting for SRV02 Position Control Simulation Demo
The QUARC Scripting for SRV02 Position Control Simulation Demo demonstration is now included in the "Scripting Simulink" section of the QUARC MATLAB Functions Demos. The example consists of two files: an M-file and a Simulink model. It demonstrates how to use the QUARC MATLAB functions to create a MATLAB script that runs and manages a Simulink model. The model is the position control simulation of the Quanser SRV02 plant. The MATLAB script configures parameters needed for the model and runs the model four times, each time plotting the response in a MATLAB figure. In each run, a different value for the proportional gain of the controller is chosen.

New Software Compatibility

QUARC 1.1 has introduced compatibility with the following third-party software.

MATLAB R2008a
Compatibility with MATLAB, Simulink, and Real-Time Workshop R2008a has been added.

 

navigation bar