資源描述:
《Halcon編程語法》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、輸入控制參數(shù)可以是表達(dá)式,但圖形參數(shù)、輸出參數(shù)均應(yīng)為變量;String類型變量由單引號’括起來;此外還有一些特殊字符;Boolean型變量包括true(=1)、false(=0);不為零的整數(shù)將被認(rèn)為true;但絕大多數(shù)的Halcon函數(shù)接受字符串型的表達(dá):’true’‘false’,而非邏輯型表達(dá);函數(shù)返回常量用于標(biāo)識錯(cuò)誤:?H_MSG_TRUEnoerror2?H_MSG_FALSElogicalfalse?3?H_MSG_FAILoperatordidnotsucceed5可以放在try…catch
2、…endtry塊中,也可以用dev_error_var()與dev_set_check()來捕獲;控制語句結(jié)構(gòu):(與一般語言略有不同,它們也有輸入輸出變量)?if?...?endif/if...else?...endif/if...elseif...else...endif??for?...?endfor?while?...?endwhile?repeat...until此外,也有關(guān)鍵字break、continue、return、exit、stop用來控制語句的執(zhí)行;賦值語句在Halcon中也被當(dāng)作函數(shù)來
3、使用:標(biāo)準(zhǔn)賦值?assign(Expression,ResultVariable)//編輯形式,永遠(yuǎn)都是輸入在前,輸出在后?ResultVariable:=Expression//代碼形式元組插入賦值?insert(Tuple,NewValue,Index,Tuple)//編輯形式?Tuple[Index]:=NewValue//代碼形式控制變量元組操作?[t,t]concatenationoftuples?
4、t
5、numberofelements?t?selectionofanelement?t[i:j]
6、selectionofapartofatuple?subset(t1,t2)selectionfromt1byindicesint2?圖形元組操作對應(yīng)函數(shù)?[]gen_empty_obj()?
7、t
8、count_obj(p,num)?[t1,t2]concat_obj(p1,p2,q)?t?select_obj(p,q,i+1)?t[i:j]copy_obj(p,q,i+1,j-i+1)?subset(t1,t2)select_obj(p,q,t2+1)元組的數(shù)學(xué)運(yùn)算,如:A*B,令m=
9、A
10、,n=
11、B
12、;
13、若m、n不相等,且都大于1,則錯(cuò)誤;否則返回三種情況:?m=n=1,返回一個(gè)值;?m=n>1,返回一個(gè)包含m個(gè)數(shù)的元組,值為兩元組各對于值的操作結(jié)果;?m>1,n=1,返回一個(gè)包含m個(gè)數(shù)的元組,值為第二個(gè)數(shù)與第一元組各值的操作結(jié)果;Halcon的數(shù)學(xué)運(yùn)算算術(shù)運(yùn)算?a/adivision?a%arestoftheintegerdivision?a*amultiplication?v+vadditionandconcatenationofstrings?a-asubtraction?-anegation位運(yùn)算
14、?lsh(i,i)leftshift?rsh(i,i)rightshift?ibandibit-wiseand?iboribit-wiseor?ibxoribit-wisexor?bnotibit-wisecomplement字符串操作?v$sconversiontostring//字符串的格式化,有很豐富的參數(shù)?v+vconcatenationofstringsandaddition?strchr(s,s)searchcharacterinstring?strstr(s,s)searchsubstrin
15、g?strrchr(s,s)searchcharacterinstring(reverse)?strrstr(s,s)searchsubstring(reverse)?strlen(s)lengthofstring?s{i}selectionofonecharacter?s{i:i}selectionofsubstring?split(s,s)splittingtosubstrings比較操作符?ttgreaterthan?t<=t?lessorequal?t>=tgreater
16、orequal?t=tequal?t#tnotequal邏輯操作符?notlnegation?landllogical’and’?lorllogical’or’?lxorllogical’xor’數(shù)學(xué)函數(shù)?sin(a)sineofa?cos(a)cosineofa?tan(a)tangentofa?asin(a)arcsineofaintheinterval[-p/2,p/2],a?[-1,1]?acos(a)arccosin