本文工業(yè)機器人培訓專家為您帶來RAPID語言的算術符號、數(shù)學指令以及數(shù)學函數(shù)
時間:2021-05-28 14:52
來源:
在之前的文章中我們學習輸入算術表達式時遇到了很多的算術符號,使用賦值指令配合這些算術符號就能夠對程序數(shù)據(jù)進行各種算術運算。另外RAPID語言還提供了數(shù)學指令和數(shù)學函數(shù)供用戶計算和修改程序數(shù)據(jù)的值。本文東莞工業(yè)機器人培訓專家將會對算術符號、數(shù)學指令、數(shù)學函數(shù)進行介紹。
1.數(shù)學符號
表8-2列出了RAPID語言所提供的各種數(shù)學符號
算術符號的運算優(yōu)先級是:括號>乘除>加減,對于優(yōu)先級相同的運算符號,左側優(yōu)先于右側。這與我們平時數(shù)學中所學的運算符號優(yōu)先級是一致的。
2.數(shù)學指令
表8-3列出了RAPID語言所提供的部分常用的數(shù)學指令。
(1)ADD指令 指令格式為Add Name,Addvalue;
Add:指令代碼
Name:執(zhí)行增減數(shù)值的對象名稱,支持的數(shù)據(jù)類型為num、dnum
AddDvalue:期望增減的值,支持的數(shù)據(jù)類型為num、dnum、數(shù)值常數(shù)
例1:Add reg2,5; 將5增加到num型變量reg2中,等同于reg2:=reg2+5;
例2:Add reg2,-reg1;從reg2的數(shù)值中減去reg1的數(shù)值,等同于reg2:=reg2-reg1;
例3:var num cont;
Add cont,100;
將100增加到變量cont中,等同于cont:=cont+100;
(2)INCR指令 指令格式為Incr Name;
Incr:指令代碼
Name:執(zhí)行自加1的數(shù)據(jù)對象的名稱,支持的數(shù)據(jù)類型為num、dnum
例:Incr reg1;將reg1的數(shù)值增加1,等同于reg1:=reg1+1;
(3)DECR指令 指令格式為Decr Name;
Decr:指令代碼
Name:執(zhí)行自減1的數(shù)據(jù)對象的名稱,支持的數(shù)據(jù)為num、dnum
例:Decr reg1; 將reg1的數(shù)值減去1,等同于reg1:=reg1-1;
(4)CLEAR指令 指令格式為Clear Name;
Clear:指令代碼
Name:執(zhí)行清除數(shù)值的數(shù)據(jù)對象的名稱
例:Clear reg1; 將reg1的值清除為0,等同于reg1:=0;
(5)TRYINT指令 指令格式為Tryint Name;
Tryint:指令代碼
Name:執(zhí)行整數(shù)有效性測試的數(shù)據(jù)對象的名稱
例:reg1:=3.14;
Tryint reg1;
測試reg1是否為有效整數(shù),如果是則往下執(zhí)行,如果不是則引發(fā)執(zhí)行錯誤,需要由錯誤處理器內(nèi)的指令處理,本例將引發(fā)執(zhí)行錯誤。
東莞工業(yè)機器人培訓專家表示,隨著控制器系統(tǒng)軟件版本的更新,RAPID語言所提供的指令也不斷增加,圖8-16中對比了ROBOTWARE5.61與ROBOTWARE6.06所提供的數(shù)學指令數(shù)量差異。對于新增的指令可通過查詢官方最新公布的技術參考手冊,了解其指令格式與指令用途。
圖8-16
3.數(shù)學函數(shù)
函數(shù)不同于指令,指令自成語句,而函數(shù)不能自成語句。函數(shù)可以視作一個會返回特定數(shù)據(jù)類型數(shù)據(jù)對象的一個指令封裝,我們只需了解函數(shù)的功能、數(shù)據(jù)類型、格式即可,無需關注封裝之內(nèi)是如何構成的,甚至可以將整個函數(shù)表達式視作一個指定類型的數(shù)據(jù)對象。表8-4中列出了RAPID語言所提供部分常用數(shù)學函數(shù),欲掌握更多的RAPID函數(shù)可查閱RAPID語言技術參考手冊。
(1)DIV整數(shù)商函數(shù) 用于求被除數(shù)除以除數(shù)的整數(shù)商。
返回值數(shù)據(jù)類型:num或dnum,
語法格式:<被除數(shù)> DIV <除數(shù)>
限制條件:除數(shù)不能為零,除數(shù)與被除數(shù)同為num或dnum型數(shù)據(jù)
例1:reg2:=17 DIV 5;
執(zhí)行后的結果是,reg2的值為3。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執(zhí)行后的結果是reg2的值為2。
(2)MOD模數(shù)函數(shù) 用于求被除數(shù)除以除數(shù)的模數(shù)。
返回值數(shù)據(jù)類型:num或dnum
語法格式:<被除數(shù)> MOD <除數(shù)>
限制條件:除數(shù)不能為零,除數(shù)與被除數(shù)同為num或dnum型數(shù)據(jù)
例1:reg2:=17 DIV 5;
執(zhí)行后的結果是,reg2的值為2。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執(zhí)行后的結果是reg2的值為1。
(3)OR或函數(shù) 如果條件表達式之一或者全部正確,則返回true,否則返回false。
返回值數(shù)據(jù)類型:bool
語法格式:<條件表達式1> OR <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數(shù)據(jù)
例1:var bool flag1;
flag1:=5>3 OR 3<4;
執(zhí)行后的結果,flag1的值為TRUE。
例2:var num num1
var string string1
var bool bool1
bool1:=string1=”good ”O(jiān)R num1<12;
如果string1為“good”,或者num1<12,bool1的值為TRUE。
(4)AND與函數(shù) 如果條件表達式全部正確,則返回true,否則返回false
返回值數(shù)據(jù)類型:bool
語法格式:<條件表達式1> AND <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數(shù)據(jù)
例1:var bool flag1;
flag1:=5>3 AND 3<4;
執(zhí)行后的結果,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非函數(shù) 將布爾型數(shù)據(jù)對象的值轉換為相反的值
返回值數(shù)據(jù)類型:bool
語法格式:NOT <取非對象>
限制條件:取非對象為bool型數(shù)據(jù)
例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絕對值函數(shù) 用于獲取絕對值,即數(shù)值數(shù)據(jù)的正值
返回值數(shù)據(jù)類型:num
語法格式:Abs(<取絕對值對象>)
限制條件:取絕對值對象為num型數(shù)據(jù)
例:var num cont1:=-3.14;
reg1:=Abs(cont1)
執(zhí)行結果,reg1的值為3.14。
(7)SIN正弦函數(shù) 用于計算一個角度值的正弦值
返回值數(shù)據(jù)類型:num,范圍=【-1,1】
語法格式:Sin(角度值)
限制條件:角度值的單位為度
例:var num value;
var num angle:=30;
value:=Sin(angle)
執(zhí)行結果,value的值為0.5。
以上就是東莞工業(yè)機器人培訓專家為大家整理的RAPID語言所提供的各種數(shù)學符號、部分常用的數(shù)學指令以及常用數(shù)學函數(shù)了,你記住了嗎?若還有其他疑問,歡迎撥打咨詢熱線:0769-87078535.
1.數(shù)學符號
表8-2列出了RAPID語言所提供的各種數(shù)學符號
表8-2
算術符號的運算優(yōu)先級是:括號>乘除>加減,對于優(yōu)先級相同的運算符號,左側優(yōu)先于右側。這與我們平時數(shù)學中所學的運算符號優(yōu)先級是一致的。
2.數(shù)學指令
表8-3列出了RAPID語言所提供的部分常用的數(shù)學指令。
表8-3
(1)ADD指令 指令格式為Add Name,Addvalue;
Add:指令代碼
Name:執(zhí)行增減數(shù)值的對象名稱,支持的數(shù)據(jù)類型為num、dnum
AddDvalue:期望增減的值,支持的數(shù)據(jù)類型為num、dnum、數(shù)值常數(shù)
例1:Add reg2,5; 將5增加到num型變量reg2中,等同于reg2:=reg2+5;
例2:Add reg2,-reg1;從reg2的數(shù)值中減去reg1的數(shù)值,等同于reg2:=reg2-reg1;
例3:var num cont;
Add cont,100;
將100增加到變量cont中,等同于cont:=cont+100;
(2)INCR指令 指令格式為Incr Name;
Incr:指令代碼
Name:執(zhí)行自加1的數(shù)據(jù)對象的名稱,支持的數(shù)據(jù)類型為num、dnum
例:Incr reg1;將reg1的數(shù)值增加1,等同于reg1:=reg1+1;
(3)DECR指令 指令格式為Decr Name;
Decr:指令代碼
Name:執(zhí)行自減1的數(shù)據(jù)對象的名稱,支持的數(shù)據(jù)為num、dnum
例:Decr reg1; 將reg1的數(shù)值減去1,等同于reg1:=reg1-1;
(4)CLEAR指令 指令格式為Clear Name;
Clear:指令代碼
Name:執(zhí)行清除數(shù)值的數(shù)據(jù)對象的名稱
例:Clear reg1; 將reg1的值清除為0,等同于reg1:=0;
(5)TRYINT指令 指令格式為Tryint Name;
Tryint:指令代碼
Name:執(zhí)行整數(shù)有效性測試的數(shù)據(jù)對象的名稱
例:reg1:=3.14;
Tryint reg1;
測試reg1是否為有效整數(shù),如果是則往下執(zhí)行,如果不是則引發(fā)執(zhí)行錯誤,需要由錯誤處理器內(nèi)的指令處理,本例將引發(fā)執(zhí)行錯誤。
東莞工業(yè)機器人培訓專家表示,隨著控制器系統(tǒng)軟件版本的更新,RAPID語言所提供的指令也不斷增加,圖8-16中對比了ROBOTWARE5.61與ROBOTWARE6.06所提供的數(shù)學指令數(shù)量差異。對于新增的指令可通過查詢官方最新公布的技術參考手冊,了解其指令格式與指令用途。
圖8-16
3.數(shù)學函數(shù)
函數(shù)不同于指令,指令自成語句,而函數(shù)不能自成語句。函數(shù)可以視作一個會返回特定數(shù)據(jù)類型數(shù)據(jù)對象的一個指令封裝,我們只需了解函數(shù)的功能、數(shù)據(jù)類型、格式即可,無需關注封裝之內(nèi)是如何構成的,甚至可以將整個函數(shù)表達式視作一個指定類型的數(shù)據(jù)對象。表8-4中列出了RAPID語言所提供部分常用數(shù)學函數(shù),欲掌握更多的RAPID函數(shù)可查閱RAPID語言技術參考手冊。
表8-4
(1)DIV整數(shù)商函數(shù) 用于求被除數(shù)除以除數(shù)的整數(shù)商。
返回值數(shù)據(jù)類型:num或dnum,
語法格式:<被除數(shù)> DIV <除數(shù)>
限制條件:除數(shù)不能為零,除數(shù)與被除數(shù)同為num或dnum型數(shù)據(jù)
例1:reg2:=17 DIV 5;
執(zhí)行后的結果是,reg2的值為3。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執(zhí)行后的結果是reg2的值為2。
(2)MOD模數(shù)函數(shù) 用于求被除數(shù)除以除數(shù)的模數(shù)。
返回值數(shù)據(jù)類型:num或dnum
語法格式:<被除數(shù)> MOD <除數(shù)>
限制條件:除數(shù)不能為零,除數(shù)與被除數(shù)同為num或dnum型數(shù)據(jù)
例1:reg2:=17 DIV 5;
執(zhí)行后的結果是,reg2的值為2。
例2:var num count1:=9;
var num count2:=4;
reg2:=count1 DIV count2;
執(zhí)行后的結果是reg2的值為1。
(3)OR或函數(shù) 如果條件表達式之一或者全部正確,則返回true,否則返回false。
返回值數(shù)據(jù)類型:bool
語法格式:<條件表達式1> OR <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數(shù)據(jù)
例1:var bool flag1;
flag1:=5>3 OR 3<4;
執(zhí)行后的結果,flag1的值為TRUE。
var string string1
var bool bool1
bool1:=string1=”good ”O(jiān)R num1<12;
如果string1為“good”,或者num1<12,bool1的值為TRUE。
(4)AND與函數(shù) 如果條件表達式全部正確,則返回true,否則返回false
返回值數(shù)據(jù)類型:bool
語法格式:<條件表達式1> AND <條件表達式2>
限制條件:條件表達式1與條件表達式2同為bool型數(shù)據(jù)
例1:var bool flag1;
flag1:=5>3 AND 3<4;
執(zhí)行后的結果,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非函數(shù) 將布爾型數(shù)據(jù)對象的值轉換為相反的值
返回值數(shù)據(jù)類型:bool
語法格式:NOT <取非對象>
限制條件:取非對象為bool型數(shù)據(jù)
例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絕對值函數(shù) 用于獲取絕對值,即數(shù)值數(shù)據(jù)的正值
返回值數(shù)據(jù)類型:num
語法格式:Abs(<取絕對值對象>)
限制條件:取絕對值對象為num型數(shù)據(jù)
例:var num cont1:=-3.14;
reg1:=Abs(cont1)
執(zhí)行結果,reg1的值為3.14。
返回值數(shù)據(jù)類型:num,范圍=【-1,1】
語法格式:Sin(角度值)
限制條件:角度值的單位為度
例:var num value;
var num angle:=30;
value:=Sin(angle)
執(zhí)行結果,value的值為0.5。
以上就是東莞工業(yè)機器人培訓專家為大家整理的RAPID語言所提供的各種數(shù)學符號、部分常用的數(shù)學指令以及常用數(shù)學函數(shù)了,你記住了嗎?若還有其他疑問,歡迎撥打咨詢熱線:0769-87078535.