在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    關注

    5031

    文章

    13781

    瀏覽量

    472467
  • KUKA
    +關注

    關注

    3

    文章

    218

    瀏覽量

    16912

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    KUKA機器人使用說明書

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

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

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

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

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

    總結篇—VCC、VDD、VSS、GND等是什么意思?(含27條助記口訣)

    1. 含義 VCC:C=circuit 表示電路的意思, 即接入電路的電壓; VDD:D=device 表示器件的意思, 即器件內部的工作電壓; VSS:S=series 表示公共連接的意思,通常
    發表于 03-06 16:26

    【教程】DNS域名解析服務systemd-resolved使用指南

    客戶端?DNS服務器?域名對應的IP地址DNS解析大致過程:?用戶在應用程序中使用域名?應用程序調用DNS客戶端申請域名解析?DNS客戶端向
    的頭像 發表于 01-09 19:34 ?873次閱讀
    【教程】DNS域名<b class='flag-5'>解析</b>服務systemd-resolved使用指南

    DAC7614 vss電壓工作異常的原因?

    最近在使用DAC7614時發現如下現象: 供給IC的-5V VSS電壓會變成 -1.8V 請問這個現象正常么?如果不正常一般是由哪些原因引起的呢?-5V由LM2776提供.
    發表于 01-06 07:39

    VSS的工作原理解析

    VSS(Visual SourceSafe)是微軟公司開發的一款版本控制系統,主要用于軟件開發過程中的代碼管理。 1. VSS概述 Visual SourceSafe(VSS)是一個基
    的頭像 發表于 12-13 16:09 ?1540次閱讀

    VSS遇到的常見錯誤及解決方法

    Visual SourceSafe(VSS)是一個版本控制系統,由微軟開發,用于跟蹤文件和項目的歷史記錄。盡管VSS已經有些過時,但仍有一些團隊在使用它。以下是一些VSS用戶可能遇到的
    的頭像 發表于 12-13 16:08 ?1094次閱讀

    VSS在數據備份中的作用 VSS技術的優勢與劣勢

    的一項服務,它允許用戶創建文件和文件系統的快照,即影子副本。這些快照可以用于數據備份、恢復和分析,而不需要中斷當前的文件系統操作。 2. VSS在數據備份中的作用 一致性備份 :VSS能夠創建應用程序
    的頭像 發表于 12-13 16:03 ?886次閱讀

    基于VSS軟件的汽車座椅舒適性仿真分析

    本文介紹了應用ESI的Virtual Seat Solution(VSS)對汽車座椅舒適性仿真分析。在設計前期對座椅H點及靜態舒適性進行分析,并通過實驗對標,確定了分析結果的準確性。
    的頭像 發表于 09-20 14:37 ?1076次閱讀
    基于<b class='flag-5'>VSS</b>軟件的汽車座椅舒適性仿真分析

    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 ?472次閱讀
    記一次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 ?1094次閱讀
    <b class='flag-5'>Kuka</b>機器人配置Profinet通訊網關HT3S-PNS-ECS
    主站蜘蛛池模板: 日本zzzwww大片免费 | 色橹橹 | 亚洲欧美在线观看 | 丁香婷婷综合网 | 人人看人人做人人爱精品 | 国产自在自线午夜精品视频在 | 二区三区在线 | 一色屋成人免费精品网站 | 久久久网站亚洲第一 | 六月婷婷激情综合 | 天天躁日日2018躁狠狠躁 | 欧美另类亚洲一区二区 | 五月停停 | 欧美午夜精品久久久久久黑人 | 色偷偷综合 | 伦理片日本韩国电影三级在线观看 | 欧美一区二区三区在线观看免费 | 日本三级s级在线播放 | 国模大尺度人体一区 | 午夜影院普通 | 欧美色图在线观看 | 日本69sex护士www | 九色国产在线 | 扒开末成年粉嫩的流白浆视频 | 性欧美丰满xxxx性久久久 | 1024在线观看你懂的 | 激情综合婷婷丁香六月花 | 18视频网站在线观看 | 亚洲人成影网站~色 | 美女下面小内内的沟 | 久久深夜福利 | 色综合久久中文综合网 | 色网站欧美 | 黄色福利网 | 91大神在线免费观看 | 久久综合香蕉久久久久久久 | 福利视频一区二区三区 | 一级特黄色毛片免费看 | 色资源窝窝全色 | 在线观看免费黄视频 | 免费我看视频在线观看 |