Fanuc Karel 運算子
阿新 • • 發佈:2018-11-11
---------------------------------------------
-- 時間:2018-11-04
-- 建立人:Ruo_Xiao
-- 郵箱:[email protected]
---------------------------------------------
一、列表
Arithmetic | + | - | * | / | DIV | MOD |
Relational | < | < = | = | < > | > = | > |
Boolean | AND | OR | NOT | |||
Special | > = < | : | # | @ |
二、解釋
1、DIV 和 MOD
(1)相同點
A、兩邊必須是“INTEGER”型別資料。
B、兩邊運算元有一個是負數,則結果為負數。都為負數或者都為正數,則結果為正數。
C、右運算元為0時,示教器報錯:Divide by zero。
(2)不同點
A、DIV ,求商運算。
B、MOD,取餘運算。
2、<>:不等於
3、AND、OR 和 NOT
(1)相同點:兩邊必須是“BOOLEAN”型別資料。
(2)不同點:
A、“AND” 、“OR” 和 “NOT” 分別對應“與”,“或”,“非”。
4、>=<
兩個POSITION大約相等時,則返回TRUE,反之則FALSE。
栗子:
IF perch >=< CURPOS (0,0) THEN
WRITE('OK', CR)
ELSE
ABORT
ENDIF
5、# 和 @
(1)相同點
A、左右兩邊必須是“VECTOR”資料型別。
B、詳解這裡。
(2)不同點
A、“#”的英文全稱:The Cross Product Operator
“@”的英文全稱:The Inner Product Operator。
B、“#”的意義:數學中的叉乘。
“@”的意義:數學中的點乘。
C、“#”的栗子:VEC(3.0,4.0,5.0) # VEC(6.0,7.0,8.0) 結果是 (-3.0, 6.0, -3.0)。
“@”的栗子:VEC(3.0,4.0,5.0) @ VEC(6.0,7.0,8.0) 結果是 86.0。
7、:
(1)意義:兩個“POSITION”或者“XYZWPR”變數進行向量和。
(2)圖示:
結果:
“bolt”是該點在“WORLD”座標系下的XYZWPR,“b_handle”是該點在“BUMPER”座標系下的XYZWPR,則經過“:”運算之後,就得到了“bolt”和“b_handle”的向量和。
(SAW:Game Over!)