cap.6

19
6. Clustere TOPICS A. Introduction to Clusters B. Cluster Functions C. Error Clusters

Upload: costelgxa

Post on 23-Jun-2015

102 views

Category:

Documents


2 download

DESCRIPTION

Instrumentatie virtuala

TRANSCRIPT

Page 1: Cap.6

6. Clustere

TOPICS

A. Introduction to Clusters

B. Cluster Functions

C. Error Clusters

Page 2: Cap.6

A. Clustere (Grupuri)

• Sunt structuri de date care grupează datele împreună

• Datele pot fi de tipuri diferite (numerice, Booleene, stringuri, e.t.c.)

• Elementele trebuie să fie, fie toate controale, fie toate indicatoare

• Analog cu o legătură de fire dintr-un cablu

• Fiecare fir din cablu reprezintă un element al clusterului

• Deoarece un cluster are un singur fir (de intrare sau de ieșire) chiar dacă acesta transportă multiple valori de diferite date, clusterele reduc firele și numărul de terminale conector pe care un subVI le necesită. Figura de mai jos ilustrează conceptul de grupare, respectiv degrupare, a elementelor de date într-un cluster.

Page 3: Cap.6

3

1. Select a Cluster shell from the Array & Cluster subpalette

Cluster Controls and Indicators

2. Place objects inside the shell

Page 4: Cap.6

Creating Cluster Constants

1. Select Cluster Constant shell from the Cluster subpalette

2. Place objects in the Cluster shell

Page 5: Cap.6

5

Cluster Order• Elements have a logical order (start with 0)• To change order, right-click the border and select Reorder

Controls in Cluster...

Page 6: Cap.6

6

Utilizarea Clusterelor pentru transferul datelor în SubVI-uri

Unul dintre avantajele clusterelor este acela că acestea pot fi utilizate pentru gruparea datelor la intrarea și respectiv ieșirea subVI-urilor. Clusterele reduc astfel numărul de fire într-o diagramă.

Page 7: Cap.6

B. Funcții Cluster• Aceste funcții se găsesc în subpaleta Cluster, Class & Variant a paletei

Functions>>Programming

Page 8: Cap.6

Funcţia Bundle • Grupează mai multe componente, realizând un

grup, sau înlocuieşte una sau mai multe componente ale unui grup existent.

• Gruparea elementelor se realizează în ordinea acestora în cadrul grupului. Prima componentă conectată la funcţia Bundle este componenta cu index-ul 0, urmează componenta cu index-ul 1, s.a.m.d. Numărul de intrări poate fi modificat fie prin selectarea Add Input din meniul contextual al intrării fie utilizând unealta de poziţionare / redimensionare din caseta Tools.

Page 9: Cap.6

• O altă exemplificare a utilităţii funcţiei Bundle este prezentată în figura de mai jos.

• Constanta numerică (setată la valoarea 0) defineşte punctul de origine real iar prin controlul numeric se impune valoarea de incrementare. Funcţia Bundle reuneşte datele numerice permiţând reprezentarea grafică.

Page 10: Cap.6

• Funcţia Bundle poate fi utilizată și pentru înlocuirea unor componente ale unui grup (cluster) deja existent. În acest caz, grupul trebuie conectat la intrarea cluster a funcţiei.

• În cadrul aplicaţiei de mai jos, funcţia bundle permite înlocuirea valorii numerice corespunzatoare controlului Knob şi respectiv a controlului Numeric 2, cu valorile numerice corespunzătoare controalelor knob_input, respectiv Numeric 2_input.

Page 11: Cap.6

• Funcţia Bundle by Name este folosită doar pentru înlocuirea unei componente dintr-un grup existent. Modul de lucru este asemănător cu cel prezentat anterior. Cluster-ul existent se conectează la intrarea specificată a funcţiei (input cluster). În ordinea logică a construcţiei se introduce controlul care va înlocui o componentă. Componenta de înlocuit se va identifica după numele reprezentat prin eticheta asociată. Numărul posibilităţilor de înlocuire se pot vizualiza din meniul contextual al intrării funcţiei prin selectarea opţiunii Select Item.

Funcţia Bundle by Name

Page 12: Cap.6

Funcțiile Unbundle și Unbundle by Name • Descompunerea (degruparea) grupurilor (clusterelor) în componente, se

realizează cu ajutorul a două funcţii, Unbundle şi Unbundle by Name.

Page 13: Cap.6

C. Error Clusters

• Error cluster contains the following information:– Boolean to report whether error occurred– Integer to report a specific error code– String to give information about the error

•Use the error in and error out clusters in each VI you use or build to handle errors in the VI.•The error clusters located on the Controls»Array & Cluster palette include the components of information shown

Page 14: Cap.6

Error Cluster Details

• Status is a Boolean value that reports TRUE if an error occurred. Most VIs, functions, and structures that accept Boolean data also recognize this parameter.

• Code is a signed 32-bit integer that identifies the error numerically. A non-zero error code coupled with a status of FALSE signals a warning rather than a fatal error.

• Source is a string that identifies where the error occurred.

Page 15: Cap.6

Error Handling with Clusters

• You can make error handling decisions on the block diagram • Error handling in LabVIEW follows the dataflow model. Just as data flow through a

VI, so can error information • Wire the error information from the beginning of the VI to the end• Error information is passed from one subVI to the next• If an error occurs in one subVI, all subsequent subVIs are not executed in the usual

manner• Error Clusters contain all error conditions• Automatic Error Handling

Error Cluster

Page 16: Cap.6

Simple Error Handler

Use the Simple Error Handler to handle the error at the end of the execution flow.

The Simple Error Handler is located on the Functions»All Functions»Time and Dialog palette. Wire the error cluster to the Error In (no error) input.

Page 17: Cap.6

Using While Loops for Error Handling

You can wire an error cluster to the conditional terminal of a While Loop to stop the iteration of the While Loop.

Only the TRUE or FALSE value of the status parameter of the error cluster is passed to the terminal.

When an error occurs, the While Loop stops.

Page 18: Cap.6

Exercise: Error Clusters & Handling

Page 19: Cap.6

• Clusters group data elements of mixed types. A cluster cannot contain a mixture of controls and indicators.

• To create a cluster control or indicator, select a cluster on the Controls»Array & Cluster palette, place it on the front panel, and drag controls or indicators into the cluster shell.

• Use the Cluster functions located on the Functions»All Functions»Cluster palette to create and manipulate clusters.

• Error checking tells you why and where errors occur.

• The error cluster reports the status, code and source of the error.

• Use the error cluster controls and indicators to create error inputs and outputs in subVIs.

Summary