本文工業機器人培訓專家為您帶來RAPID語言的算術符號、數學指令以及數學函數
時間:2021-05-28 14:52
來源:
在之前的文章中我們學習輸入算術表達式時遇到了很多的算術符號,使用賦值指令配合這些算術符號就能夠對程序數據進行各種算術運算。另外RAPID語言還提供了數學指令和數學函數供用戶計算和修改程序數據的值。本文東莞工業機器人培訓專家將會對算術符號、數學指令、數學函數進行介紹。
1.數學符號
表8-2列出了RAPID語言所提供的各種數學符號
算術符號的運算優先級是:括號>乘除>加減,對于優先級相同的運算符號,左側優先于右側。這與我們平時數學中所學的運算符號優先級是一致的。
2.數學指令
表8-3列出了RAPID語言所提供的部分常用的數學指令。
(1)ADD指令 指令格式為Add Name,Addvalue;
Add:指令代碼
Name:執行增減數值的對象名稱,支持的數據類型為num、dnum
AddDvalue:期望增減的值,支持的數據類型為num、dnum、數值常數
例1:Add reg2,5; 將5增加到num型變量reg2中,等同于reg2:=reg2+5;
例2:Add reg2,-reg1;從reg2的數值中減去reg1的數值,等同于reg2:=reg2-reg1;
例3:var num cont;
Add cont,100;
將100增加到變量cont中,等同于cont:=cont+100;
(2)INCR指令 指令格式為Incr Name;
Incr:指令代碼
Name:執行自加1的數據對象的名稱,支持的數據類型為num、dnum
例:Incr reg1;將reg1的數值增加1,等同于reg1:=reg1+1;
(3)DECR指令 指令格式為Decr Name;
Decr:指令代碼
Name:執行自減1的數據對象的名稱,支持的數據為num、dnum
例:Decr reg1; 將reg1的數值減去1,等同于reg1:=reg1-1;
(4)CLEAR指令 指令格式為Clear Name;
Clear:指令代碼
Name:執行清除數值的數據對象的名稱
例:Clear reg1; 將reg1的值清除為0,等同于reg1:=0;
(5)TRYINT指令 指令格式為Tryint Name;
Tryint:指令代碼
Name:執行整數有效性測試的數據對象的名稱
例:reg1:=3.14;
Tryint reg1;
測試reg1是否為有效整數,如果是則往下執行,如果不是則引發執行錯誤,需要由錯誤處理器內的指令處理,本例將引發執行錯誤。
東莞工業機器人培訓專家表示,隨著控制器系統軟件版本的更新,RAPID語言所提供的指令也不斷增加,圖8-16中對比了ROBOTWARE5.61與ROBOTWARE6.06所提供的數學指令數量差異。對于新增的指令可通過查詢官方最新公布的技術參考手冊,了解其指令格式與指令用途。

圖8-16
3.數學函數
函數不同于指令,指令自成語句,而函數不能自成語句。函數可以視作一個會返回特定數據類型數據對象的一個指令封裝,我們只需了解函數的功能、數據類型、格式即可,無需關注封裝之內是如何構成的,甚至可以將整個函數表達式視作一個指定類型的數據對象。表8-4中列出了RAPID語言所提供部分常用數學函數,欲掌握更多的RAPID函數可查閱RAPID語言技術參考手冊。
(1)DIV整數商函數 用于求被除數除以除數的整數商。
返回值數據類型:num或dnum,
語法格式:<被除數> DIV <除數>
限制條件:除數不能為零,除數與被除數同為num或dnum型數據
例1:reg2:=17 DIV 5;
執行后的結果是,reg2的值為3。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執行后的結果是reg2的值為2。
(2)MOD模數函數 用于求被除數除以除數的模數。
返回值數據類型:num或dnum
語法格式:<被除數> MOD <除數>
限制條件:除數不能為零,除數與被除數同為num或dnum型數據
例1:reg2:=17 DIV 5;
執行后的結果是,reg2的值為2。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執行后的結果是reg2的值為1。
(3)OR或函數 如果條件表達式之一或者全部正確,則返回true,否則返回false。
返回值數據類型:bool
語法格式:<條件表達式1> OR <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數據
例1:var bool flag1;
flag1:=5>3 OR 3<4;
執行后的結果,flag1的值為TRUE。
例2:var num num1
var string string1
var bool bool1
bool1:=string1=”good ”OR num1<12;
如果string1為“good”,或者num1<12,bool1的值為TRUE。
(4)AND與函數 如果條件表達式全部正確,則返回true,否則返回false
返回值數據類型:bool
語法格式:<條件表達式1> AND <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數據
例1:var bool flag1;
flag1:=5>3 AND 3<4;
執行后的結果,flag1的值為FALSE。
例2:var num num1;
var string string1;
var bool bool1;
bool1:=string1=”good ”AND num1<12;
如果string1為“good”,并且num1<12,bool1的值為TRUE。
(5)NOT非函數 將布爾型數據對象的值轉換為相反的值
返回值數據類型:bool
語法格式:NOT <取非對象>
限制條件:取非對象為bool型數據
例1:var bool bool1;
var bool bool2;
bool1:=NOT bool2;
如果bool2為true,則bool1為false;如果bool2為false,則bool1為true。
例2:var bool a;
var bool b;
var bool c
c:=a AND NOT b;如果a為true,且b為false,則c的值為true。
(6)ABS絕對值函數 用于獲取絕對值,即數值數據的正值
返回值數據類型:num
語法格式:Abs(<取絕對值對象>)
限制條件:取絕對值對象為num型數據
例:var num cont1:=-3.14;
reg1:=Abs(cont1)
執行結果,reg1的值為3.14。
(7)SIN正弦函數 用于計算一個角度值的正弦值
返回值數據類型:num,范圍=【-1,1】
語法格式:Sin(角度值)
限制條件:角度值的單位為度
例:var num value;
var num angle:=30;
value:=Sin(angle)
執行結果,value的值為0.5。
以上就是東莞工業機器人培訓專家為大家整理的RAPID語言所提供的各種數學符號、部分常用的數學指令以及常用數學函數了,你記住了嗎?若還有其他疑問,歡迎撥打咨詢熱線:0769-87078535.
1.數學符號
表8-2列出了RAPID語言所提供的各種數學符號
表8-2

算術符號的運算優先級是:括號>乘除>加減,對于優先級相同的運算符號,左側優先于右側。這與我們平時數學中所學的運算符號優先級是一致的。
2.數學指令
表8-3列出了RAPID語言所提供的部分常用的數學指令。
表8-3

(1)ADD指令 指令格式為Add Name,Addvalue;
Add:指令代碼
Name:執行增減數值的對象名稱,支持的數據類型為num、dnum
AddDvalue:期望增減的值,支持的數據類型為num、dnum、數值常數
例1:Add reg2,5; 將5增加到num型變量reg2中,等同于reg2:=reg2+5;
例2:Add reg2,-reg1;從reg2的數值中減去reg1的數值,等同于reg2:=reg2-reg1;
例3:var num cont;
Add cont,100;
將100增加到變量cont中,等同于cont:=cont+100;
(2)INCR指令 指令格式為Incr Name;
Incr:指令代碼
Name:執行自加1的數據對象的名稱,支持的數據類型為num、dnum
例:Incr reg1;將reg1的數值增加1,等同于reg1:=reg1+1;
(3)DECR指令 指令格式為Decr Name;
Decr:指令代碼
Name:執行自減1的數據對象的名稱,支持的數據為num、dnum
例:Decr reg1; 將reg1的數值減去1,等同于reg1:=reg1-1;
(4)CLEAR指令 指令格式為Clear Name;
Clear:指令代碼
Name:執行清除數值的數據對象的名稱
例:Clear reg1; 將reg1的值清除為0,等同于reg1:=0;
(5)TRYINT指令 指令格式為Tryint Name;
Tryint:指令代碼
Name:執行整數有效性測試的數據對象的名稱
例:reg1:=3.14;
Tryint reg1;
測試reg1是否為有效整數,如果是則往下執行,如果不是則引發執行錯誤,需要由錯誤處理器內的指令處理,本例將引發執行錯誤。
東莞工業機器人培訓專家表示,隨著控制器系統軟件版本的更新,RAPID語言所提供的指令也不斷增加,圖8-16中對比了ROBOTWARE5.61與ROBOTWARE6.06所提供的數學指令數量差異。對于新增的指令可通過查詢官方最新公布的技術參考手冊,了解其指令格式與指令用途。

圖8-16
3.數學函數
函數不同于指令,指令自成語句,而函數不能自成語句。函數可以視作一個會返回特定數據類型數據對象的一個指令封裝,我們只需了解函數的功能、數據類型、格式即可,無需關注封裝之內是如何構成的,甚至可以將整個函數表達式視作一個指定類型的數據對象。表8-4中列出了RAPID語言所提供部分常用數學函數,欲掌握更多的RAPID函數可查閱RAPID語言技術參考手冊。
表8-4

(1)DIV整數商函數 用于求被除數除以除數的整數商。
返回值數據類型:num或dnum,
語法格式:<被除數> DIV <除數>
限制條件:除數不能為零,除數與被除數同為num或dnum型數據
例1:reg2:=17 DIV 5;
執行后的結果是,reg2的值為3。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執行后的結果是reg2的值為2。
(2)MOD模數函數 用于求被除數除以除數的模數。
返回值數據類型:num或dnum
語法格式:<被除數> MOD <除數>
限制條件:除數不能為零,除數與被除數同為num或dnum型數據
例1:reg2:=17 DIV 5;
執行后的結果是,reg2的值為2。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執行后的結果是reg2的值為1。
(3)OR或函數 如果條件表達式之一或者全部正確,則返回true,否則返回false。
返回值數據類型:bool
語法格式:<條件表達式1> OR <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數據
例1:var bool flag1;
flag1:=5>3 OR 3<4;
執行后的結果,flag1的值為TRUE。

var string string1
var bool bool1
bool1:=string1=”good ”OR num1<12;
如果string1為“good”,或者num1<12,bool1的值為TRUE。
(4)AND與函數 如果條件表達式全部正確,則返回true,否則返回false
返回值數據類型:bool
語法格式:<條件表達式1> AND <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數據
例1:var bool flag1;
flag1:=5>3 AND 3<4;
執行后的結果,flag1的值為FALSE。
例2:var num num1;
var string string1;
var bool bool1;
bool1:=string1=”good ”AND num1<12;
如果string1為“good”,并且num1<12,bool1的值為TRUE。
(5)NOT非函數 將布爾型數據對象的值轉換為相反的值
返回值數據類型:bool
語法格式:NOT <取非對象>
限制條件:取非對象為bool型數據
例1:var bool bool1;
var bool bool2;
bool1:=NOT bool2;
如果bool2為true,則bool1為false;如果bool2為false,則bool1為true。
例2:var bool a;
var bool b;
var bool c
c:=a AND NOT b;如果a為true,且b為false,則c的值為true。
(6)ABS絕對值函數 用于獲取絕對值,即數值數據的正值
返回值數據類型:num
語法格式:Abs(<取絕對值對象>)
限制條件:取絕對值對象為num型數據
例:var num cont1:=-3.14;
reg1:=Abs(cont1)
執行結果,reg1的值為3.14。

返回值數據類型:num,范圍=【-1,1】
語法格式:Sin(角度值)
限制條件:角度值的單位為度
例:var num value;
var num angle:=30;
value:=Sin(angle)
執行結果,value的值為0.5。
以上就是東莞工業機器人培訓專家為大家整理的RAPID語言所提供的各種數學符號、部分常用的數學指令以及常用數學函數了,你記住了嗎?若還有其他疑問,歡迎撥打咨詢熱線:0769-87078535.