程序結構:
DEF CELL()
AUTOMATIK EXTERN
Folgenummerberechnen
Folgestarten
關鍵詞:機器人原位,外部自動,SPS程序狀態,程序號
-CELL的功能:只能檢測是否在原點,PLC給入的程序號是否正確,打開FOLGEN程序。
AUTOMATIK EXTERN -外部自動
-主要是初始化設置,檢測機器人是否在原位,是否在外部自動狀態。
INT I,J,CELL_CNT
BOOL IS_ANY_BIT
STEP=0-變量置0,證明在CELL程序的開始步
PGNO=0-執行的程序號置0
CELL_CNT=0-變量置0,
P0_MERKER=TRUE -返回在原位條件
-$OUT[PF0]=(P0_MERKER OR(DownLoadActive AND ($Mode_OP==#EX))) AND $IN_HOME
- 發出機器人在原位的條件-
$OUT[LPKT]=FALSE -關閉A14結束機器人程序在最后一點
VW_INB=FALSE ; -外部自動程序還沒有運行
VW_CBY_CELL=TRUE–已經在CELL
VW_CALL_CELL=FALSE–關閉調用CELL
IF $MODE_OP==#EX THEN -工作模式:外部自動
IF NOT $IN_HOME THEN-如果沒有在機器人原點會提示:
$LOOP_MSG[]=" "
$LOOP_MSG[]="KeyWord_WaitingForPF0"–等在鑰匙語言——PF0機器人在原位
$LOOP_CONT=TRUE
WAITFOR($IN_HOME) OR ( NOT $LOOP_CONT AND($MODE_OP<>#EX))
$LOOP_MSG[]=" "
ENDIF
ENDIF
Folgenummerberechnen- 程序號的核實
-檢查程序號是否大于0 ,- 機器人狀態是否在軌跡上,-SPS指令是否在執行-是否在外部自動
IF(P_OLD<>0) AND ($MODE_OP==#EX)THEN
-上次的程序號- 外部自動狀態-
IF P_TYPE==0 THEN;外部自動號輸入方式:0
PGNO=P_SELECT–上次的程序號的存儲
STEP=1
ELSE;-其他程序控制方式時,如1
IF(P_SELECT>0) AND (P_SELECT<17)THEN -如果程序號在范圍內0-17
PGNO=1
FOR I=1 TO(P_SELECT-1)-程序號的換算
PGNO=PGNO*2
ENDFOR
STEP=1
ELSE–不在程序號在范圍內0-17,進行清0
STEP=0
PGNO=0
ENDIF
ENDIF
ENDIF
IF(P_SELECT>0) AND ($MODE_OP<>#EX)THEN–不是外部自動-
IF P_TYPE==0 THEN
PGNO=P_SELECT
STEP=1
ELSE;1 AUS N
IF(P_SELECT>0) AND (P_SELECT<17)THEN-如果程序號在范圍內0-17
PGNO=1
FOR I=1 TO(P_SELECT-1)
PGNO=PGNO*2
ENDFOR
STEP=1
ELSE–不在程序號在范圍內0-17,進行清0
CELL_CNT=1
STEP=0
PGNO=0
ENDIF
ENDIF
ENDIF
LOOP
IF(( NOT $ON_PATH) AND ($MODE_OP<>#EX))THEN;
-機器人沒在軌跡上-也沒不外部自動
IF CELL_CNT==1 THEN
IF P_TYPE==0 THEN;
PGNO=P_OLD
STEP=1
ELSE;1 AUS N
IF(P_OLD>0) AND (P_OLD<17)THEN
PGNO=1
FOR I=1 TO(P_OLD-1)
PGNO=PGNO*2
ENDFOR
STEP=1
ELSE
PGNO=0
STEP=0
ENDIF
ENDIF
ENDIF
CELL_CNT=CELL_CNT+1
ELSE
IF $ON_PATH THEN-機器人在軌跡上
STEP=0
ENDIF
ENDIF
IF($PRO_STATE0<>#P_ACTIVE)THEN-SPS程序沒有在激活狀態-
$LOOP_MSG[]=" "
$LOOP_MSG[]="Keyword_StartSpsSub "
-提示激活SPS后臺程序-
$LOOP_CONT=TRUE
WAITFOR($PRO_STATE0==#P_ACTIVE)-SPS程序激活狀態-
$LOOP_MSG[]=""
ENDIF
$LOOP_MSG[]="KeyWord_WarteAufGueltigeFolgenummer "
-提示等待機器人程序號給輸入
IFSTEP==0 THEN
IS_ANY_BIT=FALSE
REPEAT-循環執行指令
OUT_WPROZ=FALSE
OUT_WSLAV=TRUE
IF(PRG_NR <= 0)THEN–程序號輸入不正確(A1 – A8)
IS_ANY_BIT = FALSE
PGNO=0
ELSE
IS_ANY_BIT = TRUE–程序號位檢測正確
PGNO = PRG_NR-正確,輸入程序號大于0
ENDIF
UNTIL IS_ANY_BIT-退出指令條件
OUT_WPROZ=FALSE
OUT_WSLAV=FALSE
ENDIF
STEP=0
Folgestarten打開Folge程序
-程序啟動-
SWITCH P_TYPE -程序使用類型選擇
CASE 0 ;-以整數形式接受發出程序號
SWITCH PGNO
CASE 10-如程序滿足選擇程序10
FOLGE10()-執行程序10
CASE 124
FOLGE124()
CASE 125
FOLGE125()
ENDSWITCH
CASE 1 以2進制控制程序號
SWITCH PGNO
CASE 1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768
SWITCH PGNO
CASE-1
ENDSWITCH
ENDSWITCH
ENDSWITCH
WAITSEC 0.001
ENDLOOP
END
原文標題:KUKA CELL()程序的分析解讀
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
think-cell:自定義think-cell(四)
![think-<b class='flag-5'>cell</b>:自定義think-<b class='flag-5'>cell</b>(四)](https://file1.elecfans.com/web3/M00/05/B8/wKgZPGeEfMmANJETAAAVy8_tFjA502.jpg)
think-cell:自定義think-cell(三)
![think-<b class='flag-5'>cell</b>:自定義think-<b class='flag-5'>cell</b>(三)](https://file1.elecfans.com/web3/M00/05/65/wKgZPGd_fJaAZje7AAATp6DTAC4753.png)
think-cell;自定義think-cell(一)
![think-<b class='flag-5'>cell</b>;自定義think-<b class='flag-5'>cell</b>(一)](https://file1.elecfans.com/web3/M00/05/35/wKgZPGd98hCANIyfAAA-8kRrUjY536.png)
think-cell:自定義think-cell(二)
![think-<b class='flag-5'>cell</b>:自定義think-<b class='flag-5'>cell</b>(二)](https://file1.elecfans.com/web3/M00/05/2E/wKgZPGd92DKAaKbTAAAkH7Umqxc622.png)
think-cell:與PowerPoint交換文件
![think-<b class='flag-5'>cell</b>:與PowerPoint交換文件](https://file1.elecfans.com/web3/M00/05/16/wKgZO2d8jgKANez5AAA5QTJdnJk195.png)
think-cell——自動化簡介
![think-<b class='flag-5'>cell</b>——自動化簡介](https://file1.elecfans.com/web3/M00/04/FD/wKgZO2d7bjSATIfPAAAgBAKqsfA667.png)
think-cell——Tableau數據
![think-<b class='flag-5'>cell</b>——Tableau數據](https://file1.elecfans.com/web3/M00/04/AE/wKgZPGd3XzCAVSG3AABhlLfqWHA086.png)
think-cell——使用JSON數據實現自動化(一)
![think-<b class='flag-5'>cell</b>——使用JSON數據實現自動化(一)](https://file1.elecfans.com/web3/M00/04/8A/wKgZPGd2JyaAF1LTAAAwCZsElnc512.png)
INA149串聯測量時靠近Cell12和Cell13電壓正常,越遠離偏差越大,為什么?
振弦采集儀在巖土工程監測中的數據解讀與分析
![振弦采集儀在巖土工程監測中的數據<b class='flag-5'>解讀</b>與<b class='flag-5'>分析</b>](https://file1.elecfans.com/web2/M00/E3/E0/wKgZomY9sK2ANVPyACEYE3w6Im4462.png)
評論