精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

KUKA的程序調用--VSS版本解析

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 作者:機器人及PLC自動化 ? 2021-03-18 10:07 ? 次閱讀

UP/MAKRO程序調用

該指令可用于調用子程序并將子程序調用鏈接到條件(布爾操作數)。如果需要,可以鏈接多個操作數(最多11個)。

子程序的調用次數沒有限制。

o4YBAGBSttGAZkwZAAA54XUv0yw847.png

UP101 = F78 + F79 激活條件UP101

;%{SE}%MKUKATPVW %CVW_SPS %VUP %P 2:UP101 = F78 + F79,3:UP

;ENDFOLDSEL_RES=SELECT(#UP,101,$FLAG[78] OR $FLAG[79])

REPEAT UP101 N= 999 STOP= !F298 條件滿足停止循環調用UP101

SEL_RES=SELECT (#CYC_UP,101,TRUE,#NUM,999,#NOT_F,298,FALSE)

;ENDFOLD

;ENDFOLD

DEFFCT INT SELECT

(SUB :IN,NO :IN,CALL_CND :IN,ARI_OP :IN,ARI_NUM :IN,BOOL_OP :IN,BOOL_NUM :IN,MAKRO_ADV :IN)

SUB : 選擇調用的類型UP/makro

NO : 程序號

CALL_CND : 激活條件

ADV_RESULT = 0

IF NOT CALL_CND THEN ---如果不激活就跳步到最后

GOTO PEXIT -----跳步到退出

ENDIF

SWITCH SUB

CASE #UP 使用調用UP

CALLBYSELECT=TRUE

SWITCH NO ;調用UP程序號

CASE 101 ---程序號

UP101( ) 調用UP程序號

CASE 102

UP102( )

CASE 103

UP103( )

CASE 112

UP112( )

CASE 201

UP201( )

CASE 206

UP206( )

DEFAULT

$LOOP_MSG[]=" "

OFFSET = 0

---程序號不能被調用---

SWRITE($LOOP_MSG[],STATE,OFFSET,"UP%D ist nicht vorhanden",NO)

HALT ---程序號不能被調用---使得程序停止

$LOOP_MSG[]=" "

ENDSWITCH

CALLBYSELECT=FALSE

CASE #MAKRO

SWITCH NO ;開始調用MAKRO程序號 --

CASE 0 要激活的程序號

ADV_RESULT= MAKRO0 (MAKRO_ADV) 激活MAKRO0程序

CASE 1

ADV_RESULT= MAKRO1 (MAKRO_ADV) 激活MAKRO1程序

CASE 2

ADV_RESULT= MAKRO2 (MAKRO_ADV)

CASE 3

ADV_RESULT= MAKRO3 (MAKRO_ADV)

CASE 4

ADV_RESULT= MAKRO4 (MAKRO_ADV)

CASE 5

ADV_RESULT= MAKRO5 (MAKRO_ADV)

CASE 6

ADV_RESULT= MAKRO6 (MAKRO_ADV)

CASE 7

ADV_RESULT= MAKRO7 (MAKRO_ADV)

CASE 8

ADV_RESULT= MAKRO8 (MAKRO_ADV)

CASE 9

ADV_RESULT= MAKRO9 (MAKRO_ADV)

CASE 10

ADV_RESULT= MAKRO10 (MAKRO_ADV)

CASE 11

ADV_RESULT= MAKRO11 (MAKRO_ADV)

CASE 12

ADV_RESULT= MAKRO12 (MAKRO_ADV)

CASE 13

ADV_RESULT= MAKRO13 (MAKRO_ADV)

CASE 14

ADV_RESULT= MAKRO14 (MAKRO_ADV)

CASE 15

ADV_RESULT= MAKRO15 (MAKRO_ADV)

CASE 20

ADV_RESULT= MAKRO20 (MAKRO_ADV)

CASE 50

ADV_RESULT= MAKRO50 (MAKRO_ADV)

CASE 57

ADV_RESULT= MAKRO57 (MAKRO_ADV)

CASE 80

ADV_RESULT= MAKRO80 (MAKRO_ADV)

CASE 81

ADV_RESULT= MAKRO81 (MAKRO_ADV)

CASE 82

ADV_RESULT= MAKRO82 (MAKRO_ADV)

CASE 83

ADV_RESULT= MAKRO83 (MAKRO_ADV)

CASE 89

ADV_RESULT= MAKRO89 (MAKRO_ADV)

DEFAULT

$LOOP_MSG[]=" "

-------沒有建立的Makro號被調用

OFFSET = 0

SWRITE($LOOP_MSG[],STATE,OFFSET,"Makro%D ist nicht vorhanden",NO)

用來模擬顯示: 沒有建立的Makro號被調用

HALT -----如果沒有號需要停止

$LOOP_MSG[]=" "

ENDSWITCH 結束了MAKRO選擇

CASE #CYC_UP -----循環執行UP程序

NR=0

WHILE NOT (CHECK_BOOL(BOOL_OP,BOOL_NUM) OR CHECK_ARI(NR,ARI_OP,ARI_NUM)) CHECK_BOOL/ CHECK_ARI啟動功能條件開啟

NR=NR+1 從0開始計數大于給定值將不執行循環程序

CALLBYSELECT=TRUE

SWITCH NO ; UP程序號調用

CASE 101

UP101( )

CASE 102

UP102( )

CASE 103

UP103( )

CASE 112

UP112( )

CASE 201

UP201( )

CASE 206

UP206( )

DEFAULT

$LOOP_MSG[]=" "

UP程序號沒有被激活的程序號

OFFSET = 0

SWRITE($LOOP_MSG[],STATE,OFFSET,"UP%D ist nicht vorhanden",NO)

HALT 程序號沒有使用程序停止

$LOOP_MSG[]=" "

ENDSWITCH

CALLBYSELECT=FALSE

ENDWHILE

CASE #CYC_MAKRO -----循環執行MAKRO程序

NR=0

WHILE NOT (CHECK_BOOL(BOOL_OP,BOOL_NUM) OR CHECK_ARI(NR,ARI_OP,ARI_NUM)) 大于給定值將不執行循環程序

NR=NR+1 從0開始計數大于給定值將不執行循環程序

SWITCH NO -----調用的程序號

CASE 0

ADV_RESULT= MAKRO0 (MAKRO_ADV) 調用執行MAKRO程序

CASE 1

ADV_RESULT= MAKRO1 (MAKRO_ADV)

CASE 2

ADV_RESULT= MAKRO2 (MAKRO_ADV)

CASE 3

ADV_RESULT= MAKRO3 (MAKRO_ADV)

CASE 4

ADV_RESULT= MAKRO4 (MAKRO_ADV)

CASE 5

ADV_RESULT= MAKRO5 (MAKRO_ADV)

CASE 6

ADV_RESULT= MAKRO6 (MAKRO_ADV)

CASE 7

ADV_RESULT= MAKRO7 (MAKRO_ADV)

CASE 8

ADV_RESULT= MAKRO8 (MAKRO_ADV)

CASE 9

ADV_RESULT= MAKRO9 (MAKRO_ADV)

CASE 10

ADV_RESULT= MAKRO10 (MAKRO_ADV)

CASE 11

ADV_RESULT= MAKRO11 (MAKRO_ADV)

CASE 12

ADV_RESULT= MAKRO12 (MAKRO_ADV)

CASE 13

ADV_RESULT= MAKRO13 (MAKRO_ADV)

CASE 14

ADV_RESULT= MAKRO14 (MAKRO_ADV)

CASE 15

ADV_RESULT= MAKRO15 (MAKRO_ADV)

CASE 20

ADV_RESULT= MAKRO20 (MAKRO_ADV)

CASE 50

ADV_RESULT= MAKRO50 (MAKRO_ADV)

CASE 57

ADV_RESULT= MAKRO57 (MAKRO_ADV)

CASE 80

ADV_RESULT= MAKRO80 (MAKRO_ADV)

CASE 81

ADV_RESULT= MAKRO81 (MAKRO_ADV)

CASE 82

ADV_RESULT= MAKRO82 (MAKRO_ADV)

CASE 83

ADV_RESULT= MAKRO83 (MAKRO_ADV)

CASE 89

ADV_RESULT= MAKRO89 (MAKRO_ADV)

DEFAULT

$LOOP_MSG[]=" "

Makro程序號沒有被激活的程序號

OFFSET = 0

SWRITE($LOOP_MSG[],STATE,OFFSET,"Makro%D ist nicht vorhanden",NO)

HALT -----程序號沒有使用程序停止

$LOOP_MSG[]=" "

ENDSWITCH ---結束選擇程序

ENDWHILE ---結束條件

DEFAULT --- 沒有UP,MAKRO,CYC_MAKRO,CYC_UP

ENDSWITCH ---結束選擇程序

PEXIT: -------跳步退出

RETURN ADV_RESULT

ENDFCT

---檢查位用于循環調用---

DEFFCT BOOL CHECK_BOOL(BOOLOP :IN,BOOLOP_NUM :IN)

INT BOOLOP_NUM 位號,數字

DECL BOOL_TYP BOOLOP 各種類型

BOOL STOP_BOOL

SWITCH BOOLOP

CASE #EIN

STOP_BOOL=TRUE ---激活

CASE #AUS

STOP_BOOL=FALSE ---關閉

CASE #E

STOP_BOOL=$IN[BOOLOP_NUM] ---用輸入激活

CASE #NOT_E

STOP_BOOL= NOT $IN[BOOLOP_NUM] ---輸入取反激活

CASE #A

STOP_BOOL=$OUT[BOOLOP_NUM] ---用輸出激活

CASE #NOT_A

STOP_BOOL= NOT $OUT[BOOLOP_NUM] ---用輸出的非激活

CASE #M

STOP_BOOL=$CYCFLAG[BOOLOP_NUM] ---用M量激活

CASE #NOT_M

STOP_BOOL= NOT $CYCFLAG[BOOLOP_NUM] ---用M量的非激活

CASE #F

STOP_BOOL=$FLAG[BOOLOP_NUM] 用F量激活

CASE #NOT_F

STOP_BOOL= NOT $FLAG[BOOLOP_NUM] 用F量的非激活

CASE #T

STOP_BOOL=$TIMER_FLAG[BOOLOP_NUM] 用時間量激活

CASE #NOT_T

STOP_BOOL= NOT $TIMER_FLAG[BOOLOP_NUM] 用時間量的非激活

CASE #S

STOP_BOOL=S[BOOLOP_NUM] S量一般不用

CASE #NOT_S

STOP_BOOL= NOT S[BOOLOP_NUM]

ENDSWITCH

RETURN (STOP_BOOL) 條件滿足反饋

ENDFCT

-----用于輸入數---

DEFFCT BOOL CHECK_ARI(ACT_NR :IN, ARIOP :IN ,ARIOP_NUM :IN)

INT ACT_NR, ARIOP_NUM, MAX_NR

DECL ARI_TYP ARIOP

SWITCH ARIOP

CASE #NUM 直接給入數

MAX_NR=ARIOP_NUM

CASE #COUNT 計數器

MAX_NR=$COUNT_I[ARIOP_NUM]

CASE #BIN 二進制

MAX_NR=$B_OUT[ARIOP_NUM]

CASE #BININ 二進制輸入

MAX_NR=ARIOP_NUM

CASE #ANA 模擬量輸出

MAX_NR=$ANOUT[ARIOP_NUM]*1000

CASE #ANAIN 模擬量輸入

MAX_NR=$ANIN[ARIOP_NUM]*1000

CASE #TIMER 時間控制

MAX_NR=$TIMER[ARIOP_NUM]*0.01

CASE #PROCPAR P值控制

MAX_NR=PROCPAR[ARIOP_NUM]

ENDSWITCH

RETURN (ACT_NR>=MAX_NR) 計數大于給定值.

ENDFCT

;ENDFOLD

;ENDFOLD

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • plc
    plc
    +關注

    關注

    5008

    文章

    13151

    瀏覽量

    462077
  • KUKA
    +關注

    關注

    3

    文章

    217

    瀏覽量

    16490

原文標題:KUKA的程序調用--VSS版本解析

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    labview CAN DBC加載解析程序

    labview CAN DBC加載解析程序
    發表于 08-18 11:42

    記一次JSF異步調用引起的接口可用率降低

    源碼是基于JSF 1,7.5-HOTFIX-T6版本。 起因 問題背景 1.廣告投放系統是典型的I/O密集型(I/O Bound)服務,系統中某些接口單次操作可能依賴十幾個外部接口,導致接口耗時較長,嚴重影響用戶體驗,因此需要將這些外部調用切換為異步模式,通過并發的模式
    的頭像 發表于 08-05 13:40 ?219次閱讀
    記一次JSF異步<b class='flag-5'>調用</b>引起的接口可用率降低

    RTOS V1.4版本SDK作為TCP Server沒有調用斷開連接的回調函數,為什么?

    硬件環境是:ESP-12F, 軟件環境是:RTOS V1.4版本 問題描述: 模塊作為STA,socket為TCP Server,當TCP Client連接到模塊的TCP Server時會調用
    發表于 07-18 08:31

    Kuka機器人配置Profinet通訊網關HT3S-PNS-ECS

    Kuka機器人配置Profinet通訊網關HT3S-PNS-ECS
    的頭像 發表于 06-13 15:52 ?650次閱讀
    <b class='flag-5'>Kuka</b>機器人配置Profinet通訊網關HT3S-PNS-ECS

    什么是VCC、 VDD、VEE和VSS

    VCC、 VDD、VEE和VSS解析
    發表于 06-04 06:52

    摩爾線程發布版本號為v250.60.1的Windows驅動程序

    3月20日,摩爾線程發布版本號為v250.60.1的Windows驅動程序。新的驅動程序,在PES控制中心新增了屏幕錄制功能。
    的頭像 發表于 03-21 10:01 ?457次閱讀
    摩爾線程發布<b class='flag-5'>版本</b>號為v250.60.1的Windows驅動<b class='flag-5'>程序</b>

    安卓版Chrome瀏覽器現已支持第三方密碼管理器調用

    據報道,數據解析專家Leppeva64近日在安卓版谷歌Chrome瀏覽器的源代碼中透露,該瀏覽器已在安卓平臺上實現了對第三方密碼管理器的調用支持,并覆蓋Stable、Beta及Canary版本
    的頭像 發表于 03-19 11:04 ?662次閱讀

    STM32H745IIK6器件VDD和VSS短路的原因?

    在淘寶上采購了幾片STM32H745IIK6(UFBGA176+25封裝),焊接到板子上后,發現電源M9/H12/D5和封裝中間25個VSS短路,VDD33_USB(F13)和M10(VSS)短路
    發表于 03-15 06:57

    瑞薩Flash示例程序01型SC版本(代碼Flash)應用說明

    電子發燒友網站提供《瑞薩Flash示例程序01型SC版本(代碼Flash)應用說明.pdf》資料免費下載
    發表于 02-19 13:48 ?0次下載
    瑞薩Flash示例<b class='flag-5'>程序</b>01型SC<b class='flag-5'>版本</b>(代碼Flash)應用說明

    瑞薩Flash示例程序01型SC版本應用說明

    電子發燒友網站提供《瑞薩Flash示例程序01型SC版本應用說明.pdf》資料免費下載
    發表于 02-19 13:46 ?0次下載
    瑞薩Flash示例<b class='flag-5'>程序</b>01型SC<b class='flag-5'>版本</b>應用說明

    Linux內核中信號相關的系統調用

    正如我們所知,運行在用戶態下的程序可以發送和接收信號。這意味著必須定義一組系統調用來允許這類操作。不幸的是,由于歷史原因,有些系統調用可能功能相同。 因此,其中一些系統調用永遠不會被
    的頭像 發表于 01-20 09:34 ?652次閱讀

    藍牙協議版本解析:不同類型的藍牙協議及其作用

    藍牙技術作為一種無線通信技術,隨著時間的推移不斷發展演進。不同的藍牙協議版本為各類設備提供了不同的功能和應用特性。本文將深入解析不同類型的藍牙協議版本,以及它們在各種設備中的作用。 1. 藍牙1.0
    的頭像 發表于 12-28 11:17 ?1973次閱讀

    VCC、 VDD、VEE、VSS,他們具有什么樣的關系那?

    Vcc和Vdd是器件的電源端。Vcc是雙極器件的正,Vdd多半是單級器件的正。下標可以理解為NPN晶體管的集電極C,和PMOS or NMOS場效應管的漏極D。同樣你可在電路圖中看見Vee和Vss,含義一樣。
    發表于 12-26 16:30 ?1149次閱讀

    更改KUKA C 4 Windows系統的密碼

    或者可以通過 WorkVisual 更改密碼。如果在機器人控制系統上安裝了 KUKA.NonAdmin,則只能通過 WorkVisual 更改該密碼。
    的頭像 發表于 12-12 17:11 ?1073次閱讀

    python調用windows命令

    Python是一種強大的編程語言,可以用于開發各種不同類型的應用程序。其中一個常見的用途是使用Python調用Windows命令來執行特定的任務。在本文中,我們將詳細討論如何使用Python調用
    的頭像 發表于 11-29 14:34 ?998次閱讀