Hi6 Robot Controller Manual - Robot Language HRScr
English
English
  • Hi6 Robot Controller Function Manual - Robot Language HRScript
  • 1. Overview
    • 1.1 Introduction of HRScript
  • 2. Basic Syntax
    • 2.1 Statements
    • 2.2 Identifiers
    • 2.3 Types of Statements
      • 2.3.1 Procedures
      • 2.3.2 Assignment Statements
      • 2.3.3 Comment Statements
      • 2.3.4 Labels
    • 2.4 First Program – Hello, World!
    • 2.5 Data Type
      • 2.5.1 String Data Type
      • 2.5.2 Number Data Type
      • 2.5.3 Boolean Data Type
      • 2.5.4 Array Type and Object Type
    • 2.6 Variables
    • 2.7 Binary and Hexadecimal
    • 2.8 Operators and Expressions
    • 2.9 Functions
      • 2.9.1 Math Functions
      • 2.9.2 String Functions
      • 2.9.3 Date and Time Functions
      • 2.9.4 Constructor Functions
      • 2.9.5 Other Functions
  • 3. Flow-Control Statements and Sub-Program
    • 3.1 Address
    • 3.2 Stop or Wait Statement
      • 3.2.1 stop
      • 3.2.2 end
      • 3.2.3 delay
      • 3.2.4 wait
    • 3.3 Branch Statement
      • 3.3.1 goto
    • 3.4 Conditional Statements
      • 3.4.1 Single-Line if
      • 3.4.2 if-endif
      • 3.4.3 if-else-endif Statement
      • 3.4.4. if-elseif-else-endif
      • 3.4.5 switch-case-break-end_switch
    • 3.5. Nested Flow-Control Statements
    • 3.6 Loop Statements
      • 3.6.1 for-next
    • 3.7 Call, Jump Statement and Subprograms
      • 3.7.1 call
      • 3.7.2 Parameters and param, return
      • 3.7.3 jump
    • 3.8 Local Variables and Global Variables
      • 3.8.1 Local Variables
      • 3.8.2 Global Variables
      • 3.8.3 Precedence
  • 4. Arrays and Objects
    • 4.1 Arrays
      • 4.1.1 Arrays
      • 4.1.2 Multidimensional Arrays
      • 4.1.3 Array Constructor Function
    • 4.2 Object
    • 4.3 Copied assignment of arrays and objects
    • 4.4 Call-by-reference and call-by-value
  • 5. Moving a Robotwith Robot Language
    • 5.1 Pose
    • 5.2 Shift
    • 5.3 Pose Expression
    • 5.4 move
    • 5.5 User Coordinate System (UCS)
  • 6. Communicating with External Devices
    • 6.1 FB Object: Digital I/O
      • 6.1.1 Input/Output Variables
      • 6.1.2 Examples
    • 6.2 ENet Module: Ethernet TCP/UDP Communication
      • 6.2.1 Constructor
      • 6.2.2 Member Variables
      • 6.2.3 Member Procedures
        • open
        • connect
        • send
        • recv
        • close
      • 6.2.4 Member Function
        • state
      • 6.2.5 Examples of TCP and UDP Communication
    • 6.3 Http_Cli Module: HTTP Client
      • 6.3.1 Constructor
      • 6.3.2 Member Variables
      • 6.3.3 Member Procedure
        • get
        • put
        • post
        • delete
      • 6.3.4 Examples of HTTP Client Communication
    • 6.4 Getting input from console bar
      • 6.4.1 input
Powered by GitBook
On this page
  • Description
  • Syntax
  • Example

Was this helpful?

Edit on Git
  1. 3. Flow-Control Statements and Sub-Program
  2. 3.4 Conditional Statements

3.4.5 switch-case-break-end_switch

Description

A switch statement evaluates a numeric expression and compares it with the resulting value of the numeric expression designated by a case statement. It is executed from the case statement of equal value until a break statement is encountered.

In the following example, if the resulting value of Expression X is equal to the resulting value of Expression B1 or B2, (1) through (3) will be executed, and it will move to the point of the end_switch statement (note that there is no break below the command statement B). Meanwhile, if the resulting value of Expression X is equal to that of Expression C, (2) through (3) will be executed.

If the resulting value of Expression X is not equal to that of any case statement, it will be moved to the default, and (4) through (5) will be executed. Then, the default section may be omitted.

Syntax

switch <expression X>
case <expression A>
	<statement A>
	…
	break
case <expression B1>
case <expression B2>
	<statement B>	… (1)
case <expression C>
	<statement C>	… (2)
	…
	break		… (3)
default
	<statement N>	… (4)
	…
	break		… (5)
end_switch

Any expressions such as Boolean, numeric, string constant, parameter, and numeric, are permissible.

Example

     var state="timeout"
     var res=0
     
     switch state
     case "ok"
       res=11
       break
     case "timeout"
     case "timeover"
       res=33
       break
     case "invalid"
       res=55
       break
     case "fault"
       res=77
       break
     default
       res=99
       break
     end_switch
     
  99 end
Previous3.4.4. if-elseif-else-endifNext3.5. Nested Flow-Control Statements

Last updated 3 years ago

Was this helpful?