case structures examples in labview: tutorial 11



In this tutorial, you will learn the use of case structures. Case structures help us to selectively execute our code. A case structure will execute one part of the VI at one time, depending upon the condition of the case selector. We can execute one of many cases or one of two cases at a time, depending on if we use a numeric constant as a condition or a Boolean constant respectively. At the start I have given a brief but explanatory introduction of the case structures and compared their functionality with other programming environments. After that you are provided with a program that will use case structures and help you understand their uses in depth. At the end of the tutorial you are provided with an exercise to do it by yourself, and in the next tutorials I will assume that you have done those exercises and I will not explain the concept regarding them.



Introduction to Case Structures in labiew

A Case Structure allows different executions depending on the value of the label using a branching control mechanism. Based on what case value the input variable matched, the case structure will choose the correct cases for execution, it is analogous to the Case block in Java or C++.

If you are familiar with other programming environments you must have been worked with conditional statements or commands including if-else statement if-then-else statement or maybe switch statements and must know well about their functionality principals. But if you are a fresher let me explain the functionality of conditional statements briefly.

In computer science, the features of a programming language, which perform different computations or actions depending on whether a Boolean condition evaluated to true or false are said to be a conditional statements, conditional expressions and conditional constructs. These conditional statements are used when you only want to execute selective lines of your code.



However, in LabView, the conditional statements used are said as case structures. They work in the same way as other conditional statements do. You can add infinite number of conditions in your code and can easily execute selective statements of your code using cas structures in LabView.

Examples of case structures in labview

  • Let’s design a simple VI to explain the working of case structures in depth. Create a blank VI as discussed in tutorial 1 and save it as we have done in previous tutorials.
  • Design a block diagram that will convert temperature from Fahrenheit scale to Celsius scale (we have done that in previous tutorial, open the VI you have already created in that tutorial). The resulting block diagram will look like the one shown in the figure below.Temp scale converter VI in labview

Figure 1: Temperature converter

  • Now, what we want to do with this program is to make it conditional, that depending upon the need of the programmer, the VI will end up to convert temperature from Fahrenheit to Celsius or return it as it is.
  • For this purpose what we need is to add a conditional statement that if the toggle switch is down then return the temperature as it is and else (it is up) return the value of temperature in Celsius. In our case, since we are working with LabView we will use a case structure instead.
  • For this task to be done, go to the function palette select structures and then select case structure as shown in the figure below.Case structure selection in labview

Figure 2: Case structure selection

  • After selecting the case structure drag the arrow over the area where the conversion is being done, as shown in the figure belowCase structure placement

Figure 3: Case structure placement

  • After the placement of the case structure, the boundary of the structure will have one input point, one output point, a true false selection window, and a question mark.
  • The question mark will decide the condition depending on which the true or false window will execute. When you select false from the window at the top, it will show a blank block, add he statements (blocks in his case) that you want to be executed when the condition at the boundary is false, and it will execute the true statements when the condition is true, refer to the figure below,Case structure

Figure 4: Case structures

  • From the window above select false, a blank window will appear as shown the one below,False window case structure labview

Figure 5: False window

  • In case of false condition, connect the input directly to the output because for false condition we want direct Fahrenheit scale temperature.False operation

Figure 6: False operation

  • Now, we need to set the condition for true and false of the statement. For that purpose, place a toggle switch than will return a Boolean output (true or false). From control palette select Boolean and then select toggle switch and place it on the front panel. Connect the associated block of the Boolean switch from the block diagram to the case selector of the case structure, as shown in the figure belowCase selector in labview

Figure 7: Case selector

  • Run the program continuously, and see the results. When the switch is up the VI will give Celsius scale output where as if the switch in down the output will give the temperature as it is. See the figure below, when the switch is up (True condition)True output

Figure 8: Output when condition is true

  • And now press the switch down to see the false result, see the figure belowFalse output

Figure 9: Output when condition is False

Using numeric conditions in labview

  • We can also use numeric constant instead of the Boolean switch we have used previously. The benefit of using a numeric constant instead of a Boolean switch is that, we can have more than one condition.
  • The use of numeric constant is same as that of the switch statement in case of C language. Replace the toggle switch block with a numeric constant as shown in the figure belowCase selector with constant

Figure 10: Case selector with constant

  • This will also change the selector label to numeric values as shown in the figure below.Selector labels

Figure 11: Selector labels

  • That is how, we can give infinite number of cases to one case structure, To explain this, add a case with numeric value 2, right click on the border of the case structure and select add case after as shown in the figure below.Adding a case

Figure 12: Adding a case after

  • This will add a case after 0 and 1 i.e. case 2, and a blank window will appear. In this case, let’s suppose we want the VI to return a value of 50. At the output side of the case simply create a numeric constant and set its value to 50. As shown in the figure belowCase 2 operation

Figure 13: Case2 operation

  • Now if you run the program continuously and set the value of 2 to the numeric constant, and see the output,Numeric output condition

Figure 14: Output with numeric conditions

No matter what is the value of the input temperature in Fahrenheit scale, the output will always be a constant value of 50. Even if we change the value of the input slide bar, the output will still remain constant. You can add as many cases in case structures as you want depending upon the requirement of the VI.

Exercise:

  • Add a case in the above structure (case 3) that will convert temperature from Fahrenheit scale to Kelvin scale.

<<Previous article                                    Next Article>>



Add Comment