Case
                          Structures  
                        Definition 
                        
                          The Case Structure is a method
                            of executing conditional statements. The Case Structure
                            is similar to if . . then . . else statements
                            in conventional programming languages. Below is the
                            pseudo code: 
                         
                        
                          
                            
                              
                                
                                     If (Condition = Something)
                                      then 
                                     Do This  
                                    Else 
                                    
                                      Do That  
                                     
                                    Endif 
                                   
                                 | 
                               
                             
                           
                            
                            
                            
                            
                            
                            
                            
                            
                          Below is a labeled example of a Case Structure defining the key terms:  
                         
                                                  
                        
                          The Labview Case Structure is configured
                            like a deck of cards. Each "card" is a
                            case in the case structure and each case contains
                            a a subdiagram. You only see one case and
                            subdiagram at a time and Labview only  executes
                            one at a time. Which case executes is determined
                            by the value wired to the selector terminal  ( )on
                            the left side of the Case Structure.  
                         
                         
                        Case Structure Data Types  
                        
                          The data type wired to the selector
                            terminal can be numeric, Boolean, or string. By default,
                            Case Structures are set to Boolean but automatically
                            adapt to the data type wired to the selector terminal.
                            Below are examples of three Case Structures with
                            the three different data types wired to to the selector
                            terminal. The cases have been separated in this image
                            to better show their structure.  
                                                   
                      
                    
                      A few things to remember about Case Structures
                        and their data types:  
                      
                        - 
                          
 If the data type is Boolean, the structure can only
                                have two cases: True or False.  
                         
                        - 
                          
If the data type is numeric or string, the structure
                                can have up to 231 - 1 cases.  
                         
                        - 
                          
If the data
                              type is numeric or string, the top or first case
                              will have "default" in
                                the menu at the top of the Case Structure. 
                         
                        - 
                          
If the data type is numeric, use integer values.
                                All floating-point numbers are converted to integers
                                and negative numbers are converted to zero. 
                         
                        - 
                          
If the data type is string, the data values must
                                be in quotes. 
                         
                        - 
                          
Each case must have a subdiagram of some kind. 
                         
                        - 
                          
If any case outputs data, all cases must
                                output data through the output tunnel. 
                         
                       
                      Below is an example of a simple Case Structure
                          Application for an add or subtract VI. There is a Boolean
                          Control applied to the selector terminal, so the Case
                          Structure is the Boolean data type. When the Boolan control
                          on the Front Panel is in the up position, it returns
                          a FALSE to the selector terminal which invokes the subtract
                          case.  
                     
                    
                        
                       
                    
                      
                        When the Boolean control is put in the
                          down position, it returns a TRUE value to the selector
                          terminal which invokes the add case.  
                        Notice the correct answer in the Result
                          Indicator in each case.  
                       
                     
                    
                        
                       
                      Creating a Case Structure 
                      
                        Creating a Case Structure is much like creating
                          While Loops and For Loops. To create a Case Structure,
                          Pop-up in the Block Diagram > Structures > Case
                          Structure. Drag an area for the Case Structure to encompass.  
                       
                      
                        
                          
                         
                       
                       
                      Managing Case Structures 
                      
                        Case structures can be managed in two ways.
                          The first way is with the Case Structure Pop-up shown
                          below. The  pop-up menu allows you to move between
                          cases, add cases, delete cases, go directly to a case,
                          move subdiagrams between cases and even rearrange cases: 
                       
                      
                      
                        
                            
                         
                        The second way to manage a Case Structure
                          is with the menu at the top of the Case Structure loop.
                          This menu allows you to go to the next or previous
                          subdiagram by clicking on the Decrement or Increments
                          at the left and right sides of the menu respectively.
                          You can also click on the subdiagram title. This gives
                          you a list of all subdiagrams and the ability to jump
                          immediately to any desired subdiagram.  
                       
                      
                          
                       
                       
                      The Select Function 
                      Definition 
                      
                        In simple if-then-else cases, you can use the Select function: 
                        
                            
                         
                        This function:  
                        
                          - Returns the value wired to the t terminal
                            if the value at the s terminal is
                            TRUE
 
                          - Returns the value wired to the f terminal
                            if the value at the s terminal is
                            FALSE.
 
                         
                       
                        
                      |