HALCON语法

目录

1、常用的运算符

2、if条件语句

3、switch分支语句

4、for循环语句

5、while 循环语句

6、repeat循环语句

7、continue和break语句

8、stop、exit和return语句

9、try catch 异常处理


1、常用的运算符

*赋值运算符:
*赋值(:=)

*算术运算符:
*加(+)、减(-)、乘(*)、除(/)、求余(%)

*比较运算符:
*等于(==在halcon中可以只写一个=)、不等于(!=)
*大于(>)、大于等于(>=)
*小于(<)、小于等于(<=)

*逻辑运算符
*逻辑与(and)、逻辑或(or)、逻辑非(not)

2、if条件语句

*if-endif 语句:如果条件为真,则执行对应的语句块;否则,程序跳过endif语句,执行后面的操作。

a1:=100
if(a1>=10)
  m1:= a1
endif

*if-else-endif语句(两个分支): 如果条件为真,则执行语句1;否则,则执行语句2;

if(a1==10)
    m2 := a1+100  //语句1
else  
    m2 := a1*20    //语句2  
endif

*if-elseif-else-endif语句(超过三个分支及以上):如果条件1为真,则执行语句1;如果条件2为真,则执行语句2;否则,执行语句3。

if(a1<50)
    m3 := a1-50    //语句1
elseif(50<= a1<=200)
    m3 := a1*a1    //语句2
else
    m3 := a1/50    //语句3
endif

3、switch分支语句

*当switch语句中表达式的值(整型值)与case常量的值(整型值)相等时,则执行case后面对应语句,直到遇到break语句时,则跳出switch语句;

*当switch语句中表达式的值与case常量的值相等时,则执行default分支。

n:=3
switch(n)
case 1:
    n1 :=1
    break
case 2:
    n2 :=2
    break
case 3:
    n3 :=3
    break
default:
    n4:=4
    break
endswitch

4、for循环语句

*索引为递增的形式(步长>0)

s1:=0
for i:= 1 to 100 by 1
    s1:=s1+i
endfor

*索引为递减的形式(步长<0)

s2:=0
for i:= 100 to 1 by -1
    s2:=s2+i
endfor

5、while 循环语句

*当while语句中表达式为真时,循环一直执行;为假时,跳出while循环。

s3:=0
j:=0
while(j<101)
   s3:=s3+j 
   j:=j+1
endwhile

6、repeat循环语句

*当unitil语句中表达式为假时,循环一直执行;为真时,跳出repeat循环(循环体至少循环一次)。

s4:=0
k:=0
repeat
  s4:=s4+k 
  k:=k+1   
until (k>100)

7、continue和break语句

*continue 语句使执行流程跳出for、while或repeat循环体的剩余部分而继续执行下一个循环体。

*break 语句主要是跳出for、while或repeat循环体,结束循环操作。

s5:=0
for i:= 1 to 100 by 1
    if(i%2==0)
       continue
    endif
    if(i>10)
        break
    endif
    s5:=s5+i
endfor

8、stop、exit和return语句

*stop() 该语句暂停在当前程序,即在执行该语句后停止执行下一条语句。

*exit() 该语句停止程序,并退出HDevelop软件。

*return() 终止程序调用,并将控制返回给调用的函数。

9、try catch 异常处理

*throw()语句用于抛出程序执行期间出现的异常,通常与try catch 语句一起使用。

try
    a3:=['a','b']
    a4:=a3*10
catch (Exception)
    throw (Exception)
endtry

相关推荐

  1. HALCON语法

    2024-07-18 07:54:01       23 阅读
  2. Halcon 深度学习语义分割

    2024-07-18 07:54:01       48 阅读
  3. halcon2

    2024-07-18 07:54:01       57 阅读
  4. halcon学习

    2024-07-18 07:54:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 07:54:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 07:54:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 07:54:01       58 阅读
  4. Python语言-面向对象

    2024-07-18 07:54:01       69 阅读

热门阅读

  1. cv2:Laplacian详解

    2024-07-18 07:54:01       22 阅读
  2. 自然语言处理NLP--LDA面试题

    2024-07-18 07:54:01       19 阅读
  3. uniapp 获取自定义组件的高度

    2024-07-18 07:54:01       23 阅读
  4. 控制台小游戏制作——贪吃蛇

    2024-07-18 07:54:01       19 阅读
  5. Python高级函数技术:闭包、装饰器与回调

    2024-07-18 07:54:01       24 阅读
  6. 07. Hibernate 会话工厂(SessionFactory)

    2024-07-18 07:54:01       22 阅读