国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    5051

    文章

    14594

    瀏覽量

    486915
  • KUKA
    +關注

    關注

    3

    文章

    218

    瀏覽量

    17474

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    1688 商品詳情 API 調用與數據解析 Python 實戰

    你想要的是 1688 商品詳情 API 的 Python 調用與數據解析實戰方案,核心是完成 API 憑證配置、接口請求(含簽名)、響應數據解析、異常處理 的全流程落地,我會提供可直接運行的代碼,并
    的頭像 發表于 02-10 11:23 ?260次閱讀

    實戰解析:如何高效調用采招網關鍵詞搜索API獲取招標信息

    如何調用該API,并分享一些實用技巧。 一、API基礎信息 功能描述: 根據用戶輸入的關鍵詞,檢索匹配的招標公告、中標公告等信息。 請求方式: HTTP GET 認證方式: API Key(通常需要在請求頭或參數中傳遞) 返回格式: JSON 二、核心請求參數解析
    的頭像 發表于 01-29 17:15 ?549次閱讀
    實戰<b class='flag-5'>解析</b>:如何高效<b class='flag-5'>調用</b>采招網關鍵詞搜索API獲取招標信息

    VCC、VDD、VEE、VSS對比分析

    =device,表示器件的意思,即器件內部的工作電壓。   VSS:S=series,表示公共連接的意思,通常指電路公共接地端電壓。  另一種解釋:   Vcc和Vdd是器件的電源端
    發表于 12-04 06:28

    淘寶商品詳情API接口技術解析與實戰應用

    出發,系統解析淘寶商品詳情API接口的調用機制、數據結構及典型應用場景,并附上基于Python的完整調用示例,助力開發者高效集成商品數據服務。 關鍵詞 淘寶開放平臺;商品詳情API;RESTful接口;數據
    的頭像 發表于 11-04 09:50 ?337次閱讀

    深入了解系統調用API:探索操作系統底層的關鍵接口

    一、前言 為什么用戶程序不能直接訪問系統內核模式提供的服務? 在linux中,將程序的運行空間分為內核空間與用戶空間(內核態和用戶態),在邏輯上它們之間是相互隔離的,因此用戶程序不能訪問內核數據
    的頭像 發表于 11-03 09:20 ?701次閱讀

    Python調用API教程

    兩個不同系統之間的信息交互。在這篇文章中,我們將詳細介紹Python調用API的方法和技巧。 一、用Requests庫發送HTTP請求 使用Python調用API的第一步是發送HTTP請求,通常
    的頭像 發表于 11-03 09:15 ?885次閱讀

    京東商品詳情接口實戰解析:從調用優化到商業價值挖掘(附避坑代碼)

    本文深入解析京東商品詳情接口jd.union.open.goods.detail.query,涵蓋核心特性、權限限制、關鍵參數及調用避坑指南。通過實戰代碼演示數據采集、促銷解析與商業分析,助力開發者高效獲取價格、庫存、評價等全維
    的頭像 發表于 10-10 09:28 ?843次閱讀
    京東商品詳情接口實戰<b class='flag-5'>解析</b>:從<b class='flag-5'>調用</b>優化到商業價值挖掘(附避坑代碼)

    VVIC 平臺商品詳情接口高效調用方案:從簽名驗證到數據解析全流程

    本文詳解VVIC平臺商品詳情接口調用全流程,涵蓋參數配置、簽名生成、異常處理與數據解析,提供可復用的Python代碼及避坑指南,助力開發者高效實現安全、穩定的數據對接。
    的頭像 發表于 09-23 10:28 ?686次閱讀

    STM32H743 移植 Micro-XRCE-DDS 時,在調用 gethostbyname() 時出現異常怎么解決?

    平臺:STM32H743II 環境:keil mdk 版本:rt-thread-5.1.0 文件路徑
    發表于 09-22 06:54

    使用最新版本v5.2.0,在Keil-v5.41.0.0的環境下,atoi轉換異常怎么解決?

    06 30 提示: year is out of range [1900-] Debug仿真和串口打印都顯示程序已正確收到且解析出: argv[1] = '
    發表于 09-18 07:46

    利用PLC調用ABB機器人程序號教程

    PP TO MAIN 程序是用來使機器人里的程序回到 MAIN 主程序的。
    的頭像 發表于 07-04 15:34 ?5717次閱讀
    利用PLC<b class='flag-5'>調用</b>ABB機器人<b class='flag-5'>程序</b>號教程

    在Vivado調用MIG產生DDR3的問題解析

    下面是調用的DDR3模塊的,模塊的倒數第二行是,模塊的時鐘輸入,時鐘源來自PLL產生的系統時鐘的倍頻。
    的頭像 發表于 05-03 10:21 ?1540次閱讀
    在Vivado<b class='flag-5'>調用</b>MIG產生DDR3的問題<b class='flag-5'>解析</b>

    KUKA機器人使用說明書

    電子發燒友網站提供《KUKA機器人使用說明書.pdf》資料免費下載
    發表于 04-17 14:07 ?1次下載

    庫卡KUKA機器人常見故障維修

    1、KUKA機器人伺服電機維修過熱原因 ①電源電壓過高; ②電源電壓過低,電機在額定負載下運行,電流過大使線圈發熱; ①修理和拆卸線圈時,熱拆卸方法不正確,會燒壞鐵芯; ①發動機過載或頻繁啟動
    的頭像 發表于 03-08 09:16 ?1855次閱讀

    KUKA機器人編程說明(英文)

    電子發燒友網站提供《KUKA機器人編程說明(英文).pdf》資料免費下載
    發表于 03-07 14:05 ?0次下載