2022匯川機器人系統(tǒng)指令手冊_第1頁
2022匯川機器人系統(tǒng)指令手冊_第2頁
2022匯川機器人系統(tǒng)指令手冊_第3頁
2022匯川機器人系統(tǒng)指令手冊_第4頁
2022匯川機器人系統(tǒng)指令手冊_第5頁
已閱讀5頁,還剩190頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

手冊與軟件S03.21R本手冊不隨產品發(fā)貨,如需獲取電子版PDF登錄匯川技術官網網站),“并下載。 #指令注 PR Open Open Close Close Send Get B/R/D/PR/P/PALLET/LB/LR/LD/LPR/LP/LPALLET/義變量IO1TRUE、144?2^128~8?2^1024~同同同?2^1024~同同同?2^1024~ByteAAA;AAA278;AAA22;BOOLBBB;BBB=3;BBBByteAAA278會報錯。

BRDLBLRLD的賦值,都有值范圍的判斷,超出范圍時,執(zhí)行結果會提示報警,但是BRDLBLRLD作為參數傳入到函數中時,采取強制轉換的方式。IOB[0]In[X];(X的范圍為0?13823)//ON時為1,OFF為0R[0]InB[X](X的范圍為0~1727)R[0]OutB[X](X的范圍為0~1727)R[0]InW[X](X的范圍為0~863)R[0]OutW[X](X的范圍為R[0]InB[0].IntR[0]=D[0]InB[0].FloatD[0]=InW[0].D[0]InB[0].DoubleD[0]=InW[0].只有INB\INW\OutB\OutW支持按照Int、Float和Double訪問,bit類型的In和OutIO當右表達式的值為數值1時,與ON是等價的;當右表達式的值為0時,與OFF值時,運行會報錯。OutB[5]3;OutW[5]3;OutB[X].Int=<Var>(X的范圍為0~1727)OutW[X].Int=<Var>(X的范圍為InW[X].Int=<Var>(作為左值時,X支持操作的范圍為800?863的內存IO)OutB[X].Float<Var>(X的范圍為0~1727)OutW[X].Float<Var>(X的范圍為InW[X].Float<Var>(作為左值時,X支持操作的范圍為800?863的內存IO)OutB[X].Double=<Var>(X的范圍為0~1727)OutW[X].Double=<Var>(X的范圍為InW[X].Double=<Var>(作為左值時,X支持操作的范圍為800?863的內存IO)&OUT[0]&|位或示 OUT[0]|^OUT[0]^!位非示 <<左移 OUTB[0]=1<<6 OUTB[0]=8>>1256個256個Intasd;BOOLBOOL變量名[元素個數][元素個數]={{元素1,元素2…},{元素1,元素BOOL變量名[元素個數][元素個數][元素個數]={{{元素1,元素2…},{元素1,元素{{元素1,元素2…},{元素1,元素BoolVar_Bool=true;IntVar_Int[2]={1,3};FloatVar_Float[2][3]=PrintPrintPrintPrintPrint1131其中系統(tǒng)內置結構體變量P/LPPR/LPRTOOLUSERPR/LPR/TOOL/USER結構體變量成員如:PR[*].XTool[*].XP[0].Data[0]=P[0].Data[1]=P[0].Data[2]=P[0].Data[3]=P[0].CrdNo=P[0].UserNo=StructAAABoolvar2;ByteAAAas;0as.var16;#結構體中成員的賦值Printas.var1;#信號變量是與IO有關的變量,有In、Out、AD、DA每個信號變量在缺少權限時也不能使用。例:使用該IO的控制為PLC,BRDSTRPR全局PINOUTIGOGDA局部變量(LPLBLRLDLPRLPalletOpenclose指令調用SocketCom口的連VelsetVelsetvlaueVelsetOFFVelsetGroupIGIGOG為未axis:axis:CnvVisionRefSysii.示教器修改工程任意文件,在未觸發(fā)同步到控制器操作時,立即切換連接到PCInoRobotLab即使Movj指令帶了Nwait,一定要等P[0]到位停止后才將系統(tǒng)工具號切換為5=賦值運算符+加法運算符–*乘法運算符ANDOR><=關系大于等于&|^位異或;, MovjP,V,Z,Tool,[User],[Acc],[Dec],[NWait],[UntilIn==value],…],[P:偏移形式:OffsetJ(PPR)、OffsetT(PPR)、Offset(PPR)、Offset(PX,Y…)詳細請參見第29PE說明”。詳細內容請參見第131頁“8.5.7Offset”。Colunm,Lay)第150頁“8.5.20P=Pallet”??蛇x有Fine、Z[0]、Z[1]、Z[2]、Z[3]、Z[4]、Z[5]、...Z[200]、Z[CP]若當前指令為MovJ\MovL\Movc指令,當相對過渡等級m等于100為指令長度的一半,與Z[CP]效果一致。當相對過渡等級m大于100時,過渡長度將超過指令的一半。當ZR參數為200時,表示過渡長度為運動指令的全長。若當前指令為Jump\Jumpl指令且附加參數RH=0,當相對過渡等級m大于100渡長度將超過指令的一半,當ZR參數為200時,表示過渡長度為運動指令的全長。User:(可選參數)選用的用戶坐標系,取當不使用此參數時,默認Dec與Acc值一致。最小生效值20%1、果后一條為運動指令,不管該條運動指令是否有NWait,MovjP[1],V[30],Z[0],NWait;連續(xù)運動末尾帶有NWait示例 示例 Movj MovjMovj MovjMovj MovjMovj Movj MovjMovjMovj==In:輸入信號,僅支持Value:輸入信號值,ON或Out(No,value,Type)…:(可選參數)Type:運動中輸出信號的類型。不同類型運動能使用不同的Typen<0表示運動到距終點nJump/JumpL使用D[n]和S[n]若希望機器人通過奇異位置,則只能使用MovjMovjP[1],V[30],Z[3],OUT(1,ON,T[1.2]),SLOn/SLOff/SLReset該參數為運動指令的參數,包括SLOn、SLOff和SLReset三個參數,SLOn需要進行自學習,SLOff代表該段運動不需要進行自學習,SLReset代表該段運動需要重新進行自學習;全局運動速度大于49%才可能自學習,小于49%若參數為SLOn,指令首次執(zhí)行時,機器人會在運動到位后停止約1.5s,息并保存到學習數據文件中。正常情況下,運行一次即可自動學習到所需的相關信息,因此后面重復調用時機器人將不需要再停止進行學習;若使用SLOn參數自學習后發(fā)現振動抑制效果不能滿足要求,可以使用SLReset相當于會強制每次執(zhí)行該運動時都自學習,一般只在調試時使用,調試確認振動符合要求后,需要將SLReset改為SLOn或SLOff;帶SLOn、SLReset段運動過渡參數和NWait參數將強制不生效;下面的程序中,執(zhí)行完SLDataClearAll指令后,所有歷史的自學習數據都將被清除,因此不論之前是否有進行自學習,運動到LP[1]和LP[2]點時,都會進行自學習,其中LP[2]點運動在for循環(huán)跳出前持續(xù)進行自學習。由于自學習參數為SLOff或缺省,運動LP[0]和LP[3]時,不會進行自學習。由于SLOn和SLReset參數的存在,運動到LP[1]和LP[2]點的兩段運動都不會產生過渡效果;SLDataClearForMovjMovjMovjMovjPE

SLVSModeMidLevel;Offset(PE,PR),則PEMovjLP[1],V[30],Z[0];MovjOffsetT(PE,PR[0]),V[30],Z[0],PE點位的工具、用戶號為LP[1]的工具、用戶號,即分別為1、MovjLP[1],V[30],Z[0],Tool[5],MovjOffsetT(PE,PR[0]),V[30],Z[0],PE點位的工具、用戶號分別為5、MovjLP[1],V[30],Z[0];MovjOffsetT(PE,PR[0]),V[30],Z[0],PE點位的工具、用戶號分別為3、1,和LP[1]過渡長度=過渡等級*有過渡,以1有過渡,以2有過渡,以3有過渡,以4有過渡,以5單位過渡長度分為關節(jié)過渡單位和線性過渡單位,MoveJ和Jump(Scara機型3軸仍使用線性單位),注意:對于For、While循環(huán)體內首尾銜接的運動,若希望過渡,可使用Nwait兩條運動指令間存在其它指令,比如SetOut、B=1若運動指令附帶有Nwait動指令的執(zhí)行時間,若進入過渡區(qū)域時,兩條運動指令之間的非運動指令已經全部執(zhí)行結束,機器人將能夠維持原有過渡長度。若運動指令未附帶Nwait到位保持時間:默認20ms,到位超時時間:系統(tǒng)固定值2000ms最大過渡長度:對于具體的運動,允許的過渡長度是有限制的,當設定過渡長度超出允許的最大過渡長度時,取最大過渡長度作為實際的過渡長度。MovL、MoveJ、MovC的最大允許過渡長度是總長度的一半。對于Jump和JumpL指令,當RH(或LH)等于零時,最大允許過渡長度為總長度的一半;當RH(或LH)不等于零時,最大允許過渡長度為RH(或LH),下圖所示。如下圖所示,Z確定,會隨速度、加速度等參數的改變發(fā)生變化,使用時注意在在實際作業(yè)速度下確認軌跡,避免發(fā)生碰撞。關于Tool利用運動指令中Tool參數,可實現切換工具。使得在使用新工具時,新TCP到達原TCP置姿態(tài)。原來使用Tool1示教取點,注意位置變量的工具號選擇1Movj MovjMovj MovjMovj Movj 關于User通過運動指令中的UserMovj MovjMovj MovjMovj Movj MovlP,V,Z,Tool,[User],[Acc],[Dec],[NWait],[UntilIn==value],…],[P:偏移形式:OffsetJ(PPR)、OffsetT(PPR)、Offset(PPR)、Offset(PX,Y…)詳細請參見第29PE說明”。詳細內容請參見第131頁“8.5.7Offset”。Colunm,Lay)第150頁“8.5.20P=Pallet”。若當前指令為MovJ\MovL\Movc指令,當相對過渡等級m等于100為指令長度的一半,與Z[CP]效果一致。當相對過渡等級m大于100時,過渡長度將超過指令的一半。當ZR參數為200時,表示過渡長度為運動指令的全長。若當前指令為Jump\Jumpl指令且附加參數RH=0,當相對過渡等級m大于100渡長度將超過指令的一半,當ZR參數為200時,表示過渡長度為運動指令的全長。User:(可選參數)選用的用戶坐標系,取當不使用此參數時,默認Dec與Acc值一致。最小生效值20%1、果后一條為運動指令,不管該條運動指令是否有NWait,MovlP[1],V[30],Z[0],NWait;連續(xù)運動末尾帶有NWait示例 示例 Movj MovjMovj MovjMovj MovjMovj Movj MovjMovjMovj==In:輸入信號,僅支持Value:輸入信號值,ON或Out(No,value,Type)…:(可選參數)No:輸出信號序號,僅支持Movj/Movl/Movc/,范圍Movj/Movl/Movc/Jump/JumpL使用D[n]和S[n]MovlP[1],V[30],Z[0],OUT(2,ON,S[50]),OUT(2,OFF,S[?30]);MovlP[2],V[30],Z[0],OUT(3,ON,Ds[68]);MovlP[3],V[30],Z[0],OUT(3,OFF,T[0.5]);SLOn/SLOff/SLReset該參數為運動指令的參數,包括SLOn、SLOff和SLReset三個參數,SLOn需要進行自學習,SLOff代表該段運動不需要進行自學習,SLReset代表該段運動需要重新進行自學習;全局運動速度大于49%才可能自學習,小于49%若參數為SLOn,指令首次執(zhí)行時,機器人會在運動到位后停止約1.5s,息并保存到學習數據文件中。正常情況下,運行一次即可自動學習到所需的相關信息,因此后面重復調用時機器人將不需要再停止進行學習;若使用SLOn參數自學習后發(fā)現振動抑制效果不能滿足要求,可以使用SLReset相當于會強制每次執(zhí)行該運動時都自學習,一般只在調試時使用,調試確認振動符合要求后,需要將SLReset改為SLOn或SLOff;帶SLOn、SLReset段運動過渡參數和NWait參數將強制不生效;下面的程序中,執(zhí)行完SLDataClearAll指令后,所有歷史的自學習數據都將被清除,因此不論之前是否有進行自學習,運動到LP[1]和LP[2]點時,都會進行自學習,其中LP[2]點運動在for循環(huán)跳出前持續(xù)進行自學習。由于自學習參數為SLOff或缺省,運動LP[0]和LP[3]時,不會進行自學習。由于SLOn和SLReset參數的存在,運動到LP[1]和LP[2]點的兩段運動都不會產生過渡效果;SLDataClearForMovjMovjMovjMovjSLVSModeMidLevel;MovcP,V,Z,Tool,[User],[Acc],[Dec],[NWait],[UntilIn==value],…],[P:偏移形式:OffsetJ(PPR)、OffsetT(PPR)、Offset(PPR)、Offset(PX,Y…)詳細請參見第29PE說明”。詳細內容請參見第131頁“8.5.7Offset”。Colunm,Lay)第150頁“8.5.20P=Pallet”。若當前指令為MovJ\MovL\Movc指令,當相對過渡等級m等于100為指令長度的一半,與Z[CP]效果一致。當相對過渡等級m大于100時,過渡長度將超過指令的一半。當ZR參數為200時,表示過渡長度為運動指令的全長。若當前指令為Jump\Jumpl指令且附加參數RH=0,當相對過渡等級m大于100渡長度將超過指令的一半,當ZR參數為200時,表示過渡長度為運動指令的全長。User:(可選參數)選用的用戶坐標系,取當不使用此參數時,默認Dec與Acc值一致。最小生效值20%1、如果后一條為運動指令,不管該條運動指令是否有NWait,連續(xù)運動末尾帶有NWait示例 示例 Movj MovjMovj MovjMovj MovjMovj Movj MovjMovjMovj==In:輸入信號,僅支持Value:輸入信號值,ON或MovcP[1],V[30],Z[0],UntilIn[5]ONMovcP[2],V[30],Z[0],UntilIn[5]==Out(No,value,Type)…:(可選參數)Type:運動中輸出信號的類型。不同類型運動能使用不同的TypeMovj/Movl/Movc/,范圍Movj/Movl/Movc/Jump/JumpL使用D[n]和S[n]SLOn/SLOff/SLReset該參數為運動指令的參數,包括SLOn、SLOff和SLReset三個參數,SLOn需要進行自學習,SLOff代表該段運動不需要進行自學習,SLReset代表該段運動需要重新進行自學習;全局運動速度大于49%才可能自學習,小于49%若參數為SLOn,指令首次執(zhí)行時,機器人會在運動到位后停止約1.5s,息并保存到學習數據文件中。正常情況下,運行一次即可自動學習到所需的相關信息,因此后面重復調用時機器人將不需要再停止進行學習;若使用SLOn參數自學習后發(fā)現振動抑制效果不能滿足要求,可以使用SLReset相當于會強制每次執(zhí)行該運動時都自學習,一般只在調試時使用,調試確認振動符合要求后,需要將SLReset改為SLOn或SLOff;帶SLOn、SLReset段運動過渡參數和NWait參數將強制不生效;下面的程序中,執(zhí)行完SLDataClearAll指令后,所有歷史的自學習數據都將被清除,因此不論之前是否有進行自學習,運動到LP[1]和LP[2]點時,都會進行自學習,其中LP[2]點運動在for循環(huán)跳出前持續(xù)進行自學習。由于自學習參數為SLOff或缺省,運動LP[0]和LP[3]時,不會進行自學習。由于SLOn和SLReset參數的存在,運動到LP[1]和LP[2]點的兩段運動都不會產生過渡效果;SLDataClearForMovjMovjMovjMovjSLVSMode三點確定一段圓弧,因此Movc指令必須是成對出現,中間不能間隔任何指令。Movc前的上一條指令必須是運動指令(Movj、Movl、Movc、Jump、JumpL),否則則會報遵循要求,即使是注釋指令也會影響結果,造成報警。一段圓弧運動中兩條Movc指令,除了PMovc請勿與PE結合使用,會造成異常。典型如Movc對于程序首次出現的Movc指令,其前一條運動指令請勿與PE Movj MovjMovc MovcMovc Movc P[1],V[80] #快速運動至P[1] P[2],V[80],Z[3]; 運動過程分為三段:開始的上升段Movl,中間段Movj和下降段MovlJumpP,V,Z,Tool,[User],,[Acc],[Dec],[NWait],[Out(No,value,Type)…],LH,MH,RH,[P:偏移形式:OffsetJ(PPR)、OffsetT(PPR)、Offset(PPR)、Offset(PX,Y…)詳細請參見第29PE說明”。詳細內容請參見第131頁“8.5.7Offset”。托盤取點形式:Pallet(PalletNo,Row,Colunm,Lay)、LPallet(PalletNo,Row,Colunm,Lay)第150頁“8.5.20P=Pallet”。若當前指令為MovJ\MovL\Movc指令,當相對過渡等級m等于100為指令長度的一半,與Z[CP]效果一致。當相對過渡等級m大于100時,過渡長度將超過指令的一半。當ZR參數為200時,表示過渡長度為運動指令的全長。若當前指令為Jump\Jumpl指令且附加參數RH=0,當相對過渡等級m大于100渡長度將超過指令的一半,當ZR參數為200時,表示過渡長度為運動指令的全長。User:(可選參數)選用的用戶坐標系,取當不使用此參數時,默認Dec與Acc值一致。最小生效值20%1、果后一條為運動指令,不管該條運動指令是否有NWait,連續(xù)運動末尾帶有NWait示例 示例 Movj MovjMovj MovjMovj MovjMovj Movj MovjMovjMovjOut(No,value,Type)…:(可選參數)Type:運動中輸出信號的類型。不同類型運動能使用不同的TypeMovj/Movl/Movc/,范圍Movj/Movl/Movc/Jump/JumpL使用D[n]和S[n]LH:0.000~2000.000RH:0.000~2000.000。MH[Z],取值范圍?2000.000~2000.000MH[Z][PL]:Jump指令的Z軸高度限制及最高點位置比例PL。取值范圍:20-默認值:50(水平中間點PL參數僅對當前Jump運動有效。需要對多個Jump令的附加參數進行設置。在效率或柔順性要求不高的場合,建議使用默認值(50)進行設置。需要調整PL參數時,請先在低速下確認機器人路徑是否與周圍物體發(fā)生干涉。初次設置時,請按照默認值50進行試運行并根據Jump兩側的Z軸位移比例逐漸進行調整,以避免機器人軌跡與周圍環(huán)境發(fā)生干涉。特別地,當機器人Jump指令起點與終點之間的水平距離較遠時,機器人將可能在MH數指定的最大高度上進行水平位移運動。此時,PL移運動路徑內。SLOn/SLOff/SLReset該參數為運動指令的參數,包括SLOn、SLOff和SLReset三個參數,SLOn需要進行自學習,SLOff代表該段運動不需要進行自學習,SLReset代表該段運動需要重新進行自學習;全局運動速度大于49%才可能自學習,小于49%若參數為SLOn,指令首次執(zhí)行時,機器人會在運動到位后停止約1.5s,息并保存到學習數據文件中。正常情況下,運行一次即可自動學習到所需的相關信息,因此后面重復調用時機器人將不需要再停止進行學習;若使用SLOn參數自學習后發(fā)現振動抑制效果不能滿足要求,可以使用SLReset相當于會強制每次執(zhí)行該運動時都自學習,一般只在調試時使用,調試確認振動符合要求后,需要將SLReset改為SLOn或SLOff;帶SLOn、SLReset段運動過渡參數和NWait參數將強制不生效;下面的程序中,執(zhí)行完SLDataClearAll指令后,所有歷史的自學習數據都將被清除,因此不論之前是否有進行自學習,運動到LP[1]和LP[2]點時,都會進行自學習,其中LP[2]點運動在for循環(huán)跳出前持續(xù)進行自學習。由于自學習參數為SLOff或缺省,運動LP[0]和LP[3]時,不會進行自學習。由于SLOn和SLReset參數的存在,運動到LP[1]和LP[2]點的兩段運動都不會產生過渡效果;SLDataClearForMovjMovjMovjMovjSLVSModeJump指令僅用于Scara及Delta由于Scara機器人的基坐標系零點位于上方,因此MH在正常情況下,高度參數需滿足MH>初始點高度+LH且MH>終止點高度+RH。這個條件的非正常設定,可能出現非“門”字形運動,可用于特殊場合。運動過程分為三段:開始上升段Movl,中間段Movl和最后下降段MovlP:偏移形式:OffsetJ(PPR)、OffsetT(PPR)、Offset(PPR)、Offset(PX,Y…)詳細請參見第29PE說明”。詳細內容請參見第131頁“8.5.7Offset”。Colunm,Lay)第150頁“8.5.20P=Pallet”。若當前指令為MovJ\MovL\Movc指令,當相對過渡等級m等于100為指令長度的一半,與Z[CP]效果一致。當相對過渡等級m大于100時,過渡長度將超過指令的一半。當ZR參數為200時,表示過渡長度為運動指令的全長。若當前指令為Jump\Jumpl指令且附加參數RH=0,當相對過渡等級m大于100渡長度將超過指令的一半,當ZR參數為200時,表示過渡長度為運動指令的全長。User:(可選參數)選用的用戶坐標系,取當不使用此參數時,默認Dec與Acc值一致。最小生效值20%1、果后一條為運動指令,不管該條運動指令是否有NWait,JumpLP[1],V[30],Z[0],NWait;連續(xù)運動末尾帶有NWait示例 示例 Movj MovjMovj MovjMovj MovjMovj Movj MovjMovjMovjOut(No,value,Type)…:(可選參數)Type:運動中輸出信號的類型。不同類型運動能使用不同的TypeMovj/Movl/Movc/,范圍Movj/Movl/Movc/Jump/JumpL使用D[n]和S[n]LH:0.000~2000.000RH:0.000~2000.000該參數為運動指令的參數,包括SLOn、SLOff和SLReset三個參數,SLOn需要進行自學習,SLOff代表該段運動不需要進行自學習,SLReset代表該段運動需要重新進行自學習;全局運動速度大于49%才可能自學習,小于49%若參數為SLOn,指令首次執(zhí)行時,機器人會在運動到位后停止約1.5s,息并保存到學習數據文件中。正常情況下,運行一次即可自動學習到所需的相關信息,因此后面重復調用時機器人將不需要再停止進行學習;若使用SLOn參數自學習后發(fā)現振動抑制效果不能滿足要求,可以使用SLReset相當于會強制每次執(zhí)行該運動時都自學習,一般只在調試時使用,調試確認振動符合要求后,需要將SLReset改為SLOn或SLOff;帶SLOn、SLReset段運動過渡參數和NWait參數將強制不生效;下面的程序中,執(zhí)行完SLDataClearAll指令后,所有歷史的自學習數據都將被清除,因此不論之前是否有進行自學習,運動到LP[1]和LP[2]點時,都會進行自學習,其中LP[2]點運動在for循環(huán)跳出前持續(xù)進行自學習。由于自學習參數為SLOff或缺省,運動LP[0]和LP[3]時,不會進行自學習。由于SLOn和SLReset參數的存在,運動到LP[1]和LP[2]點的兩段運動都不會產生過渡效果;SLDataClearForMovjMovjMovjMovjSLVSModeJumpL指令僅用于Scara及Delta由于Scara機器人的基坐標系零點位于上方,因此MH在正常情況下,高度參數需滿足MH>初始點高度+LH且MH>終止點高度+RH。這個條件的非正常設定,可能出現非“門”字形運動,可用于特殊場合。Home[Index],[V],[該參數為運動指令的參數,包括SLOn、SLOff和SLReset三個參數,SLOn需要進行自學習,SLOff代表該段運動不需要進行自學習,SLReset代表該段運動需要重新進行自學習;全局運動速度大于49%才可能自學習,小于49%若參數為SLOn,指令首次執(zhí)行時,機器人會在運動到位后停止約1.5s,息并保存到學習數據文件中。正常情況下,運行一次即可自動學習到所需的相關信息,因此后面重復調用時機器人將不需要再停止進行學習;若使用SLOn參數自學習后發(fā)現振動抑制效果不能滿足要求,可以使用SLReset相當于會強制每次執(zhí)行該運動時都自學習,一般只在調試時使用,調試確認振動符合要求后,需要將SLReset改為SLOn或SLOff;帶SLOn、SLReset段運動過渡參數和NWait參數將強制不生效;下面的程序中,執(zhí)行完SLDataClearAll指令后,所有歷史的自學習數據都將被清除,因此不論之前是否有進行自學習,運動到LP[1]和LP[2]點時,都會進行自學習,其中LP[2]點運動在for循環(huán)跳出前持續(xù)進行自學習。由于自學習參數為SLOff或缺省,運動LP[0]和LP[3]時,不會進行自學習。由于SLOn和SLReset參數的存在,運動到LP[1]和LP[2]點的兩段運動都不會產生過渡效果;SLDataClearForMovjMovjMovjMovjSLVSMode #以30%最大速度回工作原點2(即第三個工作原點

用于ScaraArmChange1ArmChange的過渡為示例:ArmChange當Armchange指令前面的運動指令不帶Nwait時,ArmChange指令是不預編譯的,這也意味著這種情況下ArmChang5行。如果想要實現Armchange指令的預編譯,可以在其前面的運行指令增加Nwait而實現Armchange的過渡。入下圖所示程序,會預編譯到第8行。 Set格式:SetOut,value;Out:數字輸出信號Value:數字信號的值只能為Set #設置Out[1]輸出Set格式:SetOG,BValue;GroupOG[0],0,1,2,3,4,5,6,7;Set #設置OG[0]輸出00000111,即Out[0]~Out[7]分別為11100000Set

格式:SetDA,Value;DA:模擬量輸出信號,DA[0]~Value:mA;若該信號為電壓,默認單位Set #若DA[1]配置為電流類型,則此指令為輸出1.2mAGet格式:GetIn,Var;Var:變量,保存讀取的結果。0為OFF,1為GetSwitchCasePrint“In[7]isOFF”;CasePrint“In[7]isON”;Print“Error”;Get格式:GetOut,Var;Get

Var:變量,用于保存讀取的結果。0為OFF,1為GetSwitchCaseCasePrint“Error”;格式:GetIG,Va;GroupIG[1],0,1,2,3,4,5,6,7;#先定義IG組 #讀取IG[1]的信號;Get格式:GetOG[***],Var;Get

OG[1],B[1];#讀取OG[1]#若信號Out[15]~Out[8]依次為OFF、OFF、OFF、OFF、OFF、ON、ON、ON,則格式:GetAD,Var;AD:模擬量輸入信號 #獲取AD[1]WaitT[時間];Time:時間值,double型數據,范圍0?65535.單位:秒Time=0時表示只判斷一Wait,T[時間],GotoL[***];在的行Time:時間值,double型數據,范圍0?65535.單位:秒Time=0時表示只判斷一次

WaitB[2]>5,T[2],GotoL[1];配置輸入、輸出組信號。一個組信號,最多包含8個信號,使用Group指令后,可定義組IOGOG使用必須先使用Group指令定義后才能使用GOG組,一旦執(zhí)行后,只有控制器重新上電GOGGGOG數組時將會報錯。GroupOG,n0,n1,n2…,n7;GroupIG,n0,n1,n2…,n7;InvertOut:輸出信號 EndValue:(1?100)。該指令對Movj、Movl、Movc、Jump、JumpL、ArmChange、Home影響上述運動中的加加速度。未使用SetAccRampSetAccRamp的作用域為整個系統(tǒng),初始化條件請參見第15頁“1.5設置Scara機器人的J4軸或標準6關節(jié)機器人的J6SlewModenMode:旋轉優(yōu)化方式,有0、1、2、3四種模式。(對于標準6關節(jié)機器人,用J6面的J4)SlewMode3;#采取模式3優(yōu)化MovjP[1],V[30],Z[0],Tool[1];MovjSlewMode0;VelsetRate[value]:用來設置全局速度百分比格式1:Velset格式2:Velset格式3:Velset取消格式2“Velsetvalue”的速度設置。讓運動指令中的速度設置繼續(xù)生效。VelSetvalue很特殊,不受程序邏輯的影響,它是一種?定義處理方式。也就是說,一方MovjP[0],V[70], #實際速度為MovjP[1],V[70],Z[3] #實際速度為VelsetMovjP[2],V[70],Z[3] #實際速度為 MovjP[3],V[70],Z[3] #實際速度為Velset SwitchCasePrint“Stateisstop”;CasePrint“Stateisrun”;CasePrint“Stateisstep”;ToolNo:UserNo:用戶號,整型數值,范圍SetFlyModeMotionType:CP,且只在運動類型為Movl、Movc、jumpl中有效。渡應力約束。若需要調整過渡應力,請使用第72頁“5.9SetFlyPress”過渡應力設置指設定運動類型為CP時,該指令對Movl、Movc、JumpL間的過渡模式。未使用SetFlyModeSetFlyMode的作用域為整個系統(tǒng),在系統(tǒng)中使用SetFlyMode第15頁“1.5變量及指令的作用域”。OrientPress:姿態(tài)過渡應力。整型數據,范圍(50?200),默認值該指令對CP運動指令(Movl、Movc、Jumpl)的固定路徑過渡段(FLY_FIX)會影響固定路徑過渡段的運動速度。未使用SetFlyPress指令進行過渡應力設置時,系統(tǒng)默認按100%位置過渡應力和姿態(tài)過渡應力進行過渡。統(tǒng)過渡應力會被更新,初始化條件請參見第15頁“1.5。動態(tài)設置工具坐標系參數,可采用直接法或三點法TCP,如下格式1和格式2。一經設置后,在本程序中工具坐標系值會立即變更,直到使用SetToolParm(ToolNo,OFF)更,恢復原值。格式1:SetToolParm(ToolNo,PR);格式2:SetToolParm說明:利用三點法TCP計算工具坐標系并設置。(可參見第24頁“3.1Movj”中工具坐標的格式3:SetToolParmToolNo:工具號,值范圍若使用格式2,P[i],P[j],P[k]完后,利用SetToolParm,OFF)可還原。SetToolParm還原成工程文件中初始化的值。后,在本程序中用戶坐標系值會立即變更,直到使用SetUserParm(UserNo,OFF)關閉變格式1:SetUserParm(UserNo,PR);PR:格式2:SetUserParm說明:利用三點法計算用戶坐標系并設置。(可參見第24頁“3.1Movj”中用戶坐標的三UserNo:用戶號,值范圍P[i],P[j],P[k]:格式3:SetUserParm(用戶號格式4:SetUserParmUserNo:用戶號,值范圍若用到P[i],P[j],P[k],使用完后,利用SetUserParm(ToolNo,OFF)SetUserParm原成工程文件中初始化的值。用OffSetUserParm(UserNo,OFF)關閉變更,恢復原值。格式1:OffSetUserParm說明:對用戶坐標系平移,平移量存于PR/LPR格式2:OffSetUserParmOFF:使用完后,利用OffSetUserParm,OFF)可還原。清除對象的值。這個對象可以是數值變量、平移變量、工具坐標系、用戶坐標系、手持工件負載、Out個變量。格式1:Clear表示清除Out變量,Out[0]~Out清除B/LB清除R/LR清除D/LD清除PR/LPRNum:清除的數量。從Object格式2:Clear清除所有變量。包括上述所有的Tool、User、Obj、B、R、D、PR清除報警以及清除所有已經打開的端口數據,但不包括清除Fin、Out。Tool/User/Obj0,在程序Out:清除是指將Out信號置為OFFB/R/D:將值置0在運行中報警,會使得主任務和非靜態(tài)停止,這時主任務或非靜態(tài)任務中的ClearAlarm指Clear

OFF(默認)ON:OFF關閉過渡等待(系統(tǒng)默認ON當運動指令的過渡長度+S執(zhí)行后續(xù)非運動指令。特別地,若當前運動指令為Jump或JumpL指令且具有豎直下降段(RH≠0)時,機器人最早將在豎直下降開始后執(zhí)行后續(xù)非運動指令。B[1]=1;

B[1]=B[1]=B[1]=B[1]=

MovJ示例MovJP[1],V[100],Z[3]MovJSet示例MovJP[1],V[100],Z[3]MovJ機器人在到達P[0]至P[1]的50%位移后,執(zhí)行SetOut[4],On;經過P[1]點時產生過Set

MovJP[2],V[100],Z[0]過渡不等待功能僅支持在自由過渡模式(默認)下使用。用戶通過SetFlyMode指令將指令過渡模式切換為固定路徑過渡模式時,CP運動指令(Movl、Movc、Jumpl)指令將需要等待機器人減速停止后執(zhí)行。(過渡模式說明及相關設置請參考SetFlyMode指令)。若當前指令為Jump/JumpL指令,且?guī)в胸Q直下降段(RH≠0)時,機器人將不早于豎本功能對后續(xù)非運動指令執(zhí)行時序的控制作用僅限于當前運動指令沒有啟用NWait參數時的情況。若當前運動附帶NWait參數,即使在SetFlyWait(ON)狀態(tài)下,機器人也將可能在運動開始前執(zhí)行后續(xù)非運動指令。(NWait數列表)。取決于機器人的計算負荷,后續(xù)指令的執(zhí)行時間可能存在一定波動(典型值為50ms)特別地,當機器人從暫停狀態(tài)繼續(xù)運動后,由于最大容許過渡區(qū)域發(fā)生改變,視指令給定的過渡區(qū)域大小,后續(xù)非運動指令的觸發(fā)位置將可能發(fā)生變化(不早于原觸發(fā)點)。因MovjMovj運動指令,SetOut[5],On;

0?Normal(默認模式1?MidAccuracy(中等精度模式2?HighAccuracy(高精度模式連續(xù)運動和帶有非運動指令的運動均采用精定位,節(jié)拍時間與MidAccuracy(模式)一致,與MidAccuracy(中等精度模式)相比,該模式能使軌跡精度提高30%上,適用于具有較高軌跡精度要求的高速噴印等應用場合。該模式可能會導致電流增大。此外,低速下使用該模式的效果不明顯。該模式為21版本引入的新模式。3?LowSpeedHighAccuracy(低速高精度模式MovlMovjP[0],V[100],Z[0],Tool[1];DoubleGetTorque(intD[6]GetTorque(1);RapidMove(MotionType,MotionType=CP,Enable=ON時:MovL/MovC/JumpL等CP指令開啟最優(yōu)規(guī)劃MotionType=CP,Enable=OFF時:MovL/MovC/JumpL等CP指令關閉最優(yōu)規(guī)劃MotionType=PTP,Enable=ON時:MovJ/Jump等PTP指令開啟最優(yōu)規(guī)劃MotionType=PTP,Enable=OFF時:MovJ/Jump等PTP指令關閉最優(yōu)規(guī)劃MotionType=ALL,Enable=ON時:所有運動指令開啟最優(yōu)規(guī)劃MotionType=ALL,Enable=OFF時:所有運動指令關閉最優(yōu)規(guī)劃當前階段僅支持PTP運動,CPRapidMove(*,ON)和RapidMove(*,OFF)之間的運動指令開啟最優(yōu)軌跡MovjP[0],V[30],MovjP[1],V[30],Z[5]RapidMove(PTP,MovjP[2],V[30],Z[5],Tool[1];RapidMove(PTP,OFF);MovjP[3],V[30],Z[0] SetAcc(OFF);accValue:1?120。執(zhí)行SetAcc后MovedecValue:1?120。執(zhí)行SetAccOFF:1SetAcc(accValue,decValue)的加速度設置。運動指令使用自身的acc參數MovjP[0],V[30],Z[0],Tool[1];SetAcc(100,100);MovjP[1],V[30],Z[5],Tool[1];SetAcc(OFF)MovjP[3],V[30],Z[0],Tool[1],Acc[50];SLVSModemodePara:參數包括HighLevel、MidLevel、LowLevel、OffHighLevel、MidLevel、LowLevel振動抑制效果的等級不一樣,分別為高、中、低三個級別,Off代表關閉振動抑制功能;LowLevel,運動執(zhí)行時間上HighLevelMidLevel下面的程序中,執(zhí)行完SLVSModeMidLevel指令后,自學習振動抑制模式將被設置成中等ForMovjDelayMovjDelaySLVSModeSLDataClear動到自學習效果不好的位置并調用SLDataClearCurrent清除當前位置的學習數據,然 SLDataClearForMovjDelayMovjDelaySLVSMode #Content:#ProgramismadedatL用于設置程序標簽,常與跳轉指令Goto GotolableNo:Movj #設置標簽MovlMovlGoto #跳轉至標簽程序延時,時間由TDelayDelay #延時5Include“M”; R[1]=aa+bb;的程序名”include“ModelB.pro”;#如果需要調用ModelB.pro中的函數,則需要包含該模塊FuncfunAdd(intaa,intbb)R[1]=aa+R[1]=aa?bb;IfElseIfElseIf判斷條件Condition語句StmtIfIN[1]==ONAndIN[2]==ONMovjP[1],V[50],Z[3],Tool[1]MovjMovjFor-ForB0=0,B0<5,Step[2]MovjMovj說明:兩個Movj指令循環(huán)執(zhí)行3Switch-Case-Default-根據Switch后變量,選擇不同的Case,執(zhí)行后面的Stmt1。若所有Case?。―efault后)的語句。SwitchVarCaseCaseAToBCaseAToB代替CaseValue。CaseAToB代表從A到B兩個整數范圍SwitchCaseMovjCase2ToMovjMovjCaseMovjMovjWhileCondition判斷條件Condition語句StmtMovjWhileMovjMovjP[1],V[50],Z[3],Tool[1]IncrLB[0];完全結束一個循環(huán),跳出循環(huán)體,執(zhí)行循環(huán)后面的語句。如跳出WhileFor循環(huán)、SwitchLB1=IfLB1>1MovjMovjIncr#執(zhí)行2次“MovjP[0]、MovjP[1]”LB1=IfLB1==1MovjMovjIncr#執(zhí)行4次“MovjP[0]、MovjP[1]”取值范圍1?100,默認值Corner過渡中間點(可選本指令在Jump、JumpL證,請結合實際情況進行調整。 位移百分比D個運動指令能夠產生運動。此時,機器人會以第一個運動指令為參照,在機器人到達給定位移百分比時執(zhí)行。請注意,當前后兩個運動指令形成過渡時,一般將過渡的起點作為前一個運動指令的終點和后一個運動指令的起點。如下圖,假設前后兩個指令分別為指令1和指令2,當指令運動到70%時開始與指令2進行過渡。此時,可以認為指令1在過渡起點處結束運行,指令2開始運行。在進行Jump指令運動時,機器人按照當前點在豎直及水平方向上的投影進行近似位移計算。因此,當機器人的運動路徑發(fā)生變化時相同位移對應的位置也將發(fā)生變化。若在Jump時機器人將可能在原等待結束點的斜上方結束等待。MovJP[1],V[100],Z[CP],IfIn[5]==運動到30%后,判斷In[5]==On,執(zhí)行SetOut[4],On運動到80%后執(zhí)行SetOut[5],On經過P[1]點時保持過渡,理論過渡區(qū)域小于20%B0=B0+MovJ運動到50%后執(zhí)行B0B01運動到80%后執(zhí)行SetOut[5],On經過P[1]點時保持過渡,理論過渡區(qū)域小于20%MovJP[1],V[100],Z[0]MovJ運動到100%后執(zhí)行SetOut[4],OnSet運動到100%且編碼器達到到位精度范圍并停留設定時間后執(zhí)行SetMovJSendPort[1],”TA”; 利用該指令啟動主任務或指令型PLCXqtIndex,filepathXqt3,“ABC.pro”Index:任務號。當前僅可為3ResumeIndex:任務號,當前僅可為3ResumeIndex:任務號。當前僅可為3注意:1.靜態(tài)任務中的pause BOOL變量名[元素個數][元素個數]={{元素1,元素2…},{元素1,元素BOOL1,元素2…},{元素1,元素2…}},{{元素數組元素個數:最大支持三元數組,數組總長度不能超過Int Float Floatddd[2][2]{{1,2},{3,4}};IncrIncr #B[1]自增1,值變?yōu)镈ecrDecr #B1自減1,值變?yōu)?/p>

<Var>=Sin(<Exp>返回值類型:double<Var>:可以為數值變量,如果是非double

<Var>=Cos(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非double

<Var>=Tan(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=Tan

<Var>=Asin(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非double

<Var>=Acos(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非double

<Var>=Atan(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=Atan

<Var>=Sqrt(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=Sqrt(9);

<Var>=Pow(<Exp_x>,<Exp_x>:<Exp_y>:返回值類型:double<Var>:可以為數值變量,如果是非double<Var>=Abs(<Exp>

<Exp>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=Abs(?2);

<Var>=Max(<Exp_x>,<Exp_x>、<Exp_y>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=Max(B[1],R[1]);

<Var>=Min(<Exp_x>,<Exp_x>、<Exp_y>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=Min(B[1],R[1]);

<Var>=AngleToRad(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=AngleToRad

<Var>=RadToAngle(<Exp><Exp>:返回值類型:double<Var>:可以為數值變量,如果是非doubleD[1]=RadToAngle

取字符串左邊幾個字符,如下格式所示,截取左邊nStrDest=Left(StrSource,

取字符串的右邊幾個字符,如下格式所示,截取右邊n

Str2GetAt(Str1, #取Str1序號為3的字符,結果為Str2

Index=StrFindEnd(StrSourceLB1=StrFindEnd(“abcaba”,”a”);

String StrSource:

String

StrSource: #結果LB1

Index= #結果LR1

StrSource:Str1=“Str1=

StrSource:Str1=“abcStr1TrimRight(Str1);#結果為Str1“abc”

value=Strcmp(Str1,...SPrintf(StrValue,format,格式化后總長度。如果數據的長度小于width,則左端補以空格,若大于width,則按

dx(X)十六進制整數sargument:(可選參數)變量列表,可以是任何類型的數據。根據Format會期望一系列附加參數,每個參數包含一個值,用于替換格式字符串中的格式說明符。String#結果為

StrSource:注意事項:CapsStr2=Caps

StrSource:注意事項:LowCase R[1]= ##Str4=將double

m參數m≤l參數m>整數位數,則在左側以空格補齊位數。參數n≤

Var=StrSource:字符串開頭0b”等,否則轉換出來的值將會是不正確的16進制數,最多支持64bit數據也就是8位16Str1=“a12”;Str2=“12a3”;Str3=“1234”Str4=“0x0A”;R[1]=StrToR(Str1); #R[1]=0R[2]=StrToR(Str2); #R[2]=12R[3]=StrToR(Str3); #R[3]=1234R[4]=StrToR(Str4); #R[4]=10R[5]=StrToR(Str5); #R[5]=65535R[6]=StrToR(Str6); #R[6]=172Var=StrSource:字符串開頭0b”等,否則轉換出來的值將會是不正確的16進制數,最多支持64bit數據也就是8位16Str2=”0x0A”LD[1]=StrToD(Str1); #LD[1]=123.456LD[2]=StrToD(Str2); #LD[2]=10

注意:前面6個人坐標值轉換后保留小數點后3#Str[1]結果為10.000,0.000,0.000,0.000,0.000,0.000;1,0,0,0;

Var:Byte/B/LB類型的變量,如果輸入的是非Byte類型的變量,將先強制轉換成Byte類型StringNewStr #結果為

定義字符串變量StrSource

將存儲在字符串中的數據轉成16GetPort接收數據存儲字符串StrSource!:qj4調用StrToHex轉換存儲StrDest213A716A34

RetNum=StrSource:使用時應保證不超過B/LBRetNum:Stringstr1=LR[1]=GetStrAscii(str1,3,LB[1]);#LB[1]、LB[2]、LB[3]分別為97、98、

num=StrGetData(StrSource,Separator,num:使用P\PR時,只分割出的第一個字符串,按P\PR格式存儲。當分割后的形式不符合P\PR型時,將為空,同時分割個數為0。

Str2=分割的第一個字符串”1,2,3,4,5,6;1,1,1,0;4,2,1;”存儲到P[1]中,B[0]=1,從視覺發(fā)送的字符串StrSource中,提取數據到位置變量P格式1:CVDataToPose(StrSource,P,PVarMemset:用于初始化傳出的P說明:StrSource提取的數據只包含XY或XYA,放于P中對應位置;P中剩余的值(數、工具號等),由PVarMemset對應填充。P[0]R[0]=格式2:CVDataToPose(StrSource,P,PVarMemset:用于初始化傳出的P從StrSource提取的數據只包含XY或XYA,放于P中對應位置;P中剩余的值(數、工具號等),由PVarMemset對應填充。LP[0]=PrintR[0];PrintP[1];PrintP[2];PrintD[0];PrintCnvrt(FromP,ToP,type);Type:坐標類型,決定將FromPCnvrt(P[1],P[2], #將P[1]轉換到關節(jié)坐標系下,賦值給

格式2:GetCurPoint(CoordType,Index,P);CoordType:只能取1或若最后一個參數為P時,數據存儲到P變量中,此時下標號0?5GetCurPoint(1,0,P[1]);#取當前點在關節(jié)坐標系下值,賦值給P[1]X,Y,Z,A,B,C)(ArmType[0],ArmType[1],ArmType[2],ArmType[3]):機型設置不同的機器人臂參數P[3]=PR[***]:數,Tool、User參數對OffsetJMovjOffsetJ(P[1],PR[1]),V[30],MovjMovjOffsetJ(P[1],J1[10],J2[20]),V[30],以上3PR[***]:若與運動指令一起使用,形如MovJOffsetT(P,PR)……,則運動指令中必帶有Tool參MovjOffsetT(P[1],PR[1]),V[30],MovjMovjOffsetT(P[1],X[10]),V[30],表示在P[1]的基礎上,工具末端點在工具1坐標系下平移PR[***]:PR為移動和旋轉(X,Y,Z,A,B,C),平移順序對于P=Offset(P,PR),MovjCnvrt(P[1],P[1],Tool[1]);##將P[1]MovjCnvrt(P[1],P[1],User[1]);##將P[1]轉換到User1Movj針對于目標點以及所平移的坐標系,運動指令中TOOLUSER目標點表示TcpMovjOffset(P[1],PR1),V[30],Z[0],Tool[1];MovjOffset(P[1],PR1),V[30],Z[0],Tool[2];當Mov不帶User平移。3.更換用戶坐標系必須滿足條件“P的坐標系號為4”,參考點由原用戶坐標系下的點切換至指令User坐標系下的點,然后在User坐標系方向上平移。否則表示為直接在指令中坐標系下平移。PR:PR/LPR格式2:PRMsft(FromP

格式1:計算從FromP到ToP的平移變量。平移變量是以P[1]格式2:計算從FromP到ToP的平移變量。平移變量是以P[1]當前位姿衡量。P[1]=(0,0,0,0,90,0),(0,0,0,1)(1,0,0);P[2]=PR[1]=Msft(P[1],P[2]);P[1]=P[2]=TCPP[1]=P[2]=(30,TCP典型使用形式:Msft指令帶有TcpP[1]=P[2]=P[2]SCARA機器人中ArmType[0?2]不一樣時,不允許計算平移變量)Z:基坐標系下的ZMovjP[1],V[30],Z[0],Tool[1];MovlMovlB1=2;IfMovlP[2],V[30],Z[0],Tool[1];#有偏移IfB1>1GotoGotoL[2];P變量坐標系序號為7時,不開啟平移,(碼垛機器人中不包含此指令)MovToPut、DestP=DestP=MovjMovjDestP=DestP=MovjMovjDestP=DestP=PR),P[1](390,?330,329,1,?8,?179;0,0,0,1;2,1,0);#坐標系號為1PR1=(10,0,0,0,0,0);MovjP[1](390,?330,329,1,?8,?179;0,0,0,1;2,1,0);#坐標系號為1MovjP[1](390,?330,329,1,?8,?179;0,0,0,1;2,1,0)Cnvrt(P[1],P[1],Tool[1]);##將P[1]MovjP[1](390,?330,329,1,?8,?179;0,0,0,1;2,1,0)Cnvrt(P[1],P[1],User[1]);##將P[1]轉換到User1MovjPR格式2:PR[3]PR[1]PR[3]=PR[1]–

格式1:PR格式2:PRPR:PR/LPRPR[1]= R[1]=LPR[1](LB[1],LR[1],LD[1],B[1],R[1],D[1])GetAPointFromFile(PtFile,Index,說明:參考LoadPointFromFile如果程序中沒有位置變量被預先定義,使用指令“GetAPointFromFile”WriteAPointToFile(PtFile,Index,WriteAPointToFile(“eer.pt”,0,WriteAPointToFile(“eer.pt”,1,P[1]);SavePointFile(“eer.pt”);LPalletLPalletNo,P[i],P[j],P[k],nRow,LPalletLPalletNo,P[i],P[j],P[k],P[m],nRow,P[i],P[j],P[k],P[m]:定義托盤的四個點LayHeight:層高,取值范圍為<0~2000>,單位PalletLPalletNo,P[i],P[j],P[k],nRow,PalletPalletPalletNo,P[i],P[j],P[k],P[m],nRow,P[i],P[j],P[k],P[m]:定義托盤的四個點LayHeight:層高,取值范圍為<0~2000>,單位Pallet2,P[1],P[2],P[3],格式1:P=Pallet(PalletNo,Row,Column,Lay);P:格式2:P=LPallet(PalletNo,Row,Column,P: 格式1:OpenSocket(IP,SvrPort,ClientPort);;1024?65535表示指定客戶端端口號的Socket連接。B:(可選項)只允許B/LB變量,返回值(打開成功返回1,否則返回0)OpenSocketOpenSocket一旦啟動,端口會一直打開;使用close或手動打開其它程序時自動關設備主動斷開等方式斷開通訊后,等待一段時間后(win7系統(tǒng):3~5s,win10系統(tǒng):1~2min),再用open指令建立新的連接。4444、5555、6666、7777、8888、9999、1217、8080、11740、4003HTTPSMTP25,DNS53ModbusTCPcodesysAPIWhileOpen格式1:OpenCom(Port,Baudrate);格式2:OpenCom(Port,Baudrate,B);B:(可選項)只允許B/LB變量,返回值(打開成功返回1,否則返回說明:OpenCom一旦啟動,端口會一直打開;除非使用close關閉。方式二:(利用SecureCRT終端軟件對控制器配置b、然后在輸入開啟命令:set_serial1循環(huán)開閉串口時,OpenCom指令后請增加4~5sWhileOpenCom(1,WhileOpenCom(1,CloseClose范圍:2?51024?65535;;1024?65535表示指定客戶端端口號的Socket連接。CloseSocket用于關閉打開的以太網端口??捎糜?種情形:CloseCloseCloseCom,CloseCom指令后請增加4~5sCloseSend格式1:SendPort[Port],String;范圍:1?51024?65535;;1024?65535表示指定客戶端端口號的Socket連接;格式2:SendString:表示以字符串的方式發(fā)送數據。通過SecureCRT終端軟件連接控制器后,輸入賬戶:root,密碼#直接發(fā)送字符串Str[1]=SendPort[1025],Str[1],String;Stringss=StringStr1;SendGet范圍:1?51024?65535。2?5表示第1?4個Socket連接,此時客戶端端口號不需要指定;1024?65535通過SecureCRT終端軟件連接控制器后,輸入賬戶:root,密碼下一行指令(不執(zhí)該句的GotoL[Index]);若未接收到數據,則執(zhí)行該句的GotoL

范圍:1?51024?65535;;1024?65535表示指定客戶端端口號的Socket連接;獲取機器人指定SocketPortNo:客戶端端口號,范圍:1?5;1024?65535表示指定客戶端端口號的Socket連接;當使用串口通信時,此PortNo為串口號,控制器只有一個串口,串口號為1

外部設備的置】?【通訊服務管理】建立的通訊,或指令中通過opensocket建立的通訊);;1024?65535表示指定客戶端端口號的Socket連接;(該參數也可使用0代表String,1代表Binary,2代表如需切換接收數據類型,推薦在open指令前使用SetSocketRecvTypeSetSocketRecvType(1025,Hex);GetPort[1025],T[1],GotoL[2]; AlarmIndex:自定義報警序號AlarmPrintObject:需要打印的變量或字符串(B\R\D\P\PR\LB\LR\LD\字符串變量或直接字符串)打印的內容不超過99Print從PLC獲取Byte

VarIndex:PLCByte類型變量的編號讀取到的PLCByte變量的值,返回值類型

VarIndex:PLCInt類型變量的編號

從PLC獲取DIntVarIndex:PLCDInt類型變量的編號

從PLC獲取LRealVarIndex:PLCLReal類型變量的編號讀取到的PLCLReal類型變量的值,返回值類型TimerIndex:計時器編號TimeOut(TimerIndex,MovjMovj從ModBus從站獲取線圈值并保存在ByteGetModBusCoil(StartAddr,CoilNum,Var:ByteB/LB類型變量,用于存儲讀取到的線圈值,允許非Byte的類型,如果是非Byte讀取一個或多個ModBus中。Var變量是BYTE類型,占用8bit,可容納最多8

將Byte類型值設置ModBusSetModBusCoil(StartAddr,CoilNum,ByteValue:Byte類型的值(0?255),根據該變量的值設置ModBusBYTE類型,占用8bit,能設置最多8+1”線圈地址的有效范圍(2048~4095)以及(6144~8191),任務:設置線圈地址2048、2049、2050中的值依次為1、0、1編程:SetModBusCoil(2048,3,B[1]);StartAddr:寄存器的起始地址(0~65535)VarName:變量名。讀取到的數據存儲在以該變量為首的數組中(僅限于BRDLBLRLD數DataType:由于數據需要存儲在數組中,因此VarNum+VarNameGetModBusReg(16384,R[1],1,2);##從寄存器起始地址16384上讀取2個ShortGetModBusReg(16384,R[1],2,3);##從寄存器起始地址16384上讀取3個int類型數據(3*2GetModBusReg(16384,R[1],4,3);##從寄存器起始地址16384上讀取3個double##從寄存器起始地址把Value強制轉換成DataType對應的數據類型,設置VarNum個DataType始地址為StartAddr長度為VarNum*DataType(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論