RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KUKA的程序調(diào)用--VSS版本解析

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 作者:機(jī)器人及PLC自動(dòng)化 ? 2021-03-18 10:07 ? 次閱讀

UP/MAKRO程序調(diào)用

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

子程序的調(diào)用次數(shù)沒(méi)有限制。

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 條件滿(mǎn)足停止循環(huán)調(diào)用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 : 選擇調(diào)用的類(lèi)型UP/makro

NO : 程序號(hào)

CALL_CND : 激活條件

ADV_RESULT = 0

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

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

ENDIF

SWITCH SUB

CASE #UP 使用調(diào)用UP

CALLBYSELECT=TRUE

SWITCH NO ;調(diào)用UP程序號(hào)

CASE 101 ---程序號(hào)

UP101( ) 調(diào)用UP程序號(hào)

CASE 102

UP102( )

CASE 103

UP103( )

CASE 112

UP112( )

CASE 201

UP201( )

CASE 206

UP206( )

DEFAULT

$LOOP_MSG[]=" "

OFFSET = 0

---程序號(hào)不能被調(diào)用---

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

HALT ---程序號(hào)不能被調(diào)用---使得程序停止

$LOOP_MSG[]=" "

ENDSWITCH

CALLBYSELECT=FALSE

CASE #MAKRO

SWITCH NO ;開(kāi)始調(diào)用MAKRO程序號(hào) --

CASE 0 要激活的程序號(hào)

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[]=" "

-------沒(méi)有建立的Makro號(hào)被調(diào)用

OFFSET = 0

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

用來(lái)模擬顯示: 沒(méi)有建立的Makro號(hào)被調(diào)用

HALT -----如果沒(méi)有號(hào)需要停止

$LOOP_MSG[]=" "

ENDSWITCH 結(jié)束了MAKRO選擇

CASE #CYC_UP -----循環(huán)執(zhí)行UP程序

NR=0

WHILE NOT (CHECK_BOOL(BOOL_OP,BOOL_NUM) OR CHECK_ARI(NR,ARI_OP,ARI_NUM)) CHECK_BOOL/ CHECK_ARI啟動(dòng)功能條件開(kāi)啟

NR=NR+1 從0開(kāi)始計(jì)數(shù)大于給定值將不執(zhí)行循環(huán)程序

CALLBYSELECT=TRUE

SWITCH NO ; UP程序號(hào)調(diào)用

CASE 101

UP101( )

CASE 102

UP102( )

CASE 103

UP103( )

CASE 112

UP112( )

CASE 201

UP201( )

CASE 206

UP206( )

DEFAULT

$LOOP_MSG[]=" "

UP程序號(hào)沒(méi)有被激活的程序號(hào)

OFFSET = 0

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

HALT 程序號(hào)沒(méi)有使用程序停止

$LOOP_MSG[]=" "

ENDSWITCH

CALLBYSELECT=FALSE

ENDWHILE

CASE #CYC_MAKRO -----循環(huán)執(zhí)行MAKRO程序

NR=0

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

NR=NR+1 從0開(kāi)始計(jì)數(shù)大于給定值將不執(zhí)行循環(huán)程序

SWITCH NO -----調(diào)用的程序號(hào)

CASE 0

ADV_RESULT= MAKRO0 (MAKRO_ADV) 調(diào)用執(zhí)行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程序號(hào)沒(méi)有被激活的程序號(hào)

OFFSET = 0

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

HALT -----程序號(hào)沒(méi)有使用程序停止

$LOOP_MSG[]=" "

ENDSWITCH ---結(jié)束選擇程序

ENDWHILE ---結(jié)束條件

DEFAULT --- 沒(méi)有UP,MAKRO,CYC_MAKRO,CYC_UP

ENDSWITCH ---結(jié)束選擇程序

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

RETURN ADV_RESULT

ENDFCT

---檢查位用于循環(huán)調(diào)用---

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

INT BOOLOP_NUM 位號(hào),數(shù)字

DECL BOOL_TYP BOOLOP 各種類(lèi)型

BOOL STOP_BOOL

SWITCH BOOLOP

CASE #EIN

STOP_BOOL=TRUE ---激活

CASE #AUS

STOP_BOOL=FALSE ---關(guān)閉

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] 用時(shí)間量激活

CASE #NOT_T

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

CASE #S

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

CASE #NOT_S

STOP_BOOL= NOT S[BOOLOP_NUM]

ENDSWITCH

RETURN (STOP_BOOL) 條件滿(mǎn)足反饋

ENDFCT

-----用于輸入數(shù)---

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 直接給入數(shù)

MAX_NR=ARIOP_NUM

CASE #COUNT 計(jì)數(shù)器

MAX_NR=$COUNT_I[ARIOP_NUM]

CASE #BIN 二進(jìn)制

MAX_NR=$B_OUT[ARIOP_NUM]

CASE #BININ 二進(jìn)制輸入

MAX_NR=ARIOP_NUM

CASE #ANA 模擬量輸出

MAX_NR=$ANOUT[ARIOP_NUM]*1000

CASE #ANAIN 模擬量輸入

MAX_NR=$ANIN[ARIOP_NUM]*1000

CASE #TIMER 時(shí)間控制

MAX_NR=$TIMER[ARIOP_NUM]*0.01

CASE #PROCPAR P值控制

MAX_NR=PROCPAR[ARIOP_NUM]

ENDSWITCH

RETURN (ACT_NR>=MAX_NR) 計(jì)數(shù)大于給定值.

ENDFCT

;ENDFOLD

;ENDFOLD

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5010

    文章

    13271

    瀏覽量

    463055
  • KUKA
    +關(guān)注

    關(guān)注

    3

    文章

    217

    瀏覽量

    16516

原文標(biāo)題:KUKA的程序調(diào)用--VSS版本解析

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    VSS的工作原理解析

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

    VSS遇到的常見(jiàn)錯(cuò)誤及解決方法

    Visual SourceSafe(VSS)是一個(gè)版本控制系統(tǒng),由微軟開(kāi)發(fā),用于跟蹤文件和項(xiàng)目的歷史記錄。盡管VSS已經(jīng)有些過(guò)時(shí),但仍有一些團(tuán)隊(duì)在使用它。以下是一些VSS用戶(hù)可能遇到的
    的頭像 發(fā)表于 12-13 16:08 ?140次閱讀

    VSS在數(shù)據(jù)備份中的作用 VSS技術(shù)的優(yōu)勢(shì)與劣勢(shì)

    的一項(xiàng)服務(wù),它允許用戶(hù)創(chuàng)建文件和文件系統(tǒng)的快照,即影子副本。這些快照可以用于數(shù)據(jù)備份、恢復(fù)和分析,而不需要中斷當(dāng)前的文件系統(tǒng)操作。 2. VSS在數(shù)據(jù)備份中的作用 一致性備份 :VSS能夠創(chuàng)建應(yīng)用程序
    的頭像 發(fā)表于 12-13 16:03 ?126次閱讀

    labview CAN DBC加載解析程序

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

    RTOS V1.4版本SDK作為T(mén)CP Server沒(méi)有調(diào)用斷開(kāi)連接的回調(diào)函數(shù),為什么?

    硬件環(huán)境是:ESP-12F, 軟件環(huán)境是:RTOS V1.4版本 問(wèn)題描述: 模塊作為STA,socket為T(mén)CP Server,當(dāng)TCP Client連接到模塊的TCP Server時(shí)會(huì)調(diào)用
    發(fā)表于 07-18 08:31

    Kuka機(jī)器人配置Profinet通訊網(wǎng)關(guān)HT3S-PNS-ECS

    Kuka機(jī)器人配置Profinet通訊網(wǎng)關(guān)HT3S-PNS-ECS
    的頭像 發(fā)表于 06-13 15:52 ?677次閱讀
    <b class='flag-5'>Kuka</b>機(jī)器人配置Profinet通訊網(wǎng)關(guān)HT3S-PNS-ECS

    什么是VCC、 VDD、VEE和VSS

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

    摩爾線(xiàn)程發(fā)布版本號(hào)為v250.60.1的Windows驅(qū)動(dòng)程序

    3月20日,摩爾線(xiàn)程發(fā)布版本號(hào)為v250.60.1的Windows驅(qū)動(dòng)程序。新的驅(qū)動(dòng)程序,在PES控制中心新增了屏幕錄制功能。
    的頭像 發(fā)表于 03-21 10:01 ?480次閱讀
    摩爾線(xiàn)程發(fā)布<b class='flag-5'>版本</b>號(hào)為v250.60.1的Windows驅(qū)動(dòng)<b class='flag-5'>程序</b>

    安卓版Chrome瀏覽器現(xiàn)已支持第三方密碼管理器調(diào)用

    據(jù)報(bào)道,數(shù)據(jù)解析專(zhuān)家Leppeva64近日在安卓版谷歌Chrome瀏覽器的源代碼中透露,該瀏覽器已在安卓平臺(tái)上實(shí)現(xiàn)了對(duì)第三方密碼管理器的調(diào)用支持,并覆蓋Stable、Beta及Canary版本。
    的頭像 發(fā)表于 03-19 11:04 ?696次閱讀

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

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

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

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

    瑞薩Flash示例程序01型SC版本應(yīng)用說(shuō)明

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

    Linux內(nèi)核中信號(hào)相關(guān)的系統(tǒng)調(diào)用

    正如我們所知,運(yùn)行在用戶(hù)態(tài)下的程序可以發(fā)送和接收信號(hào)。這意味著必須定義一組系統(tǒng)調(diào)用來(lái)允許這類(lèi)操作。不幸的是,由于歷史原因,有些系統(tǒng)調(diào)用可能功能相同。 因此,其中一些系統(tǒng)調(diào)用永遠(yuǎn)不會(huì)被
    的頭像 發(fā)表于 01-20 09:34 ?723次閱讀

    藍(lán)牙協(xié)議版本解析:不同類(lèi)型的藍(lán)牙協(xié)議及其作用

    藍(lán)牙技術(shù)作為一種無(wú)線(xiàn)通信技術(shù),隨著時(shí)間的推移不斷發(fā)展演進(jìn)。不同的藍(lán)牙協(xié)議版本為各類(lèi)設(shè)備提供了不同的功能和應(yīng)用特性。本文將深入解析不同類(lèi)型的藍(lán)牙協(xié)議版本,以及它們?cè)诟鞣N設(shè)備中的作用。 1. 藍(lán)牙1.0
    的頭像 發(fā)表于 12-28 11:17 ?2202次閱讀

    VCC、 VDD、VEE、VSS,他們具有什么樣的關(guān)系那?

    Vcc和Vdd是器件的電源端。Vcc是雙極器件的正,Vdd多半是單級(jí)器件的正。下標(biāo)可以理解為NPN晶體管的集電極C,和PMOS or NMOS場(chǎng)效應(yīng)管的漏極D。同樣你可在電路圖中看見(jiàn)Vee和Vss,含義一樣。
    發(fā)表于 12-26 16:30 ?1361次閱讀
    RM新时代网站-首页