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

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

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

KUKA機(jī)器人:將參數(shù)傳遞到子程序或函數(shù)中V1.28版

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-01-31 13:43 ? 次閱讀

從一個(gè)主程序中可以將參數(shù)傳遞到局部或全局子程序和函數(shù)中。

怎樣傳遞參數(shù)有 2 種方式:

作為 IN 參數(shù)

變量值在主程序中保持不變。

這種傳遞方式也稱為 “ 值傳遞 (Call by Value)”。

作為 OUT 參數(shù)

子程序讀取并更改該值,然后將新值寫回到主程序中。

這種傳遞方式也稱為 “Call by Reference”。

建議:始終將一個(gè)參數(shù)傳遞到相同數(shù)據(jù)類型的變量中??梢詫?shù)傳遞到另一個(gè)數(shù)據(jù)類型中,但是有特定的限制。

將參數(shù)傳遞給局部子程序:

兩類參數(shù)列表:

傳值調(diào)用:IN

引用調(diào)用:OUT

8102e04c-a11e-11ed-bfe3-dac502259ad0.png

例:

1 DEF MY_PROG( )

2 DECL REAL r,s

3 ...

4 CALC_1(r) 調(diào)用子程序 CALC_1 并傳遞參數(shù) “r”。

5 ...

6 CALC_2(s)調(diào)用子程序 CALC_2 并傳遞參數(shù) “s”。

7 ...

8 END

9 DEF CALC_1(num1:IN)

num1:要將值 “r” 傳遞到其上的變量名稱。IN 表示:只為讀取傳遞 “r”。

10 DECL REAL num1 必須聲明要將數(shù)值傳遞到其上的變量。

11 ...

12 END

13 DEF CALC_2(num2:OUT)

num2:要將值 “s” 傳遞到其上的變量名稱。

OUT 表示:傳遞、更改 “s” 并將其寫回到主程序中。

14 DECL REAL num2必須聲明要將數(shù)值傳遞到其上的變量。

15 ...

16 END

將參數(shù)傳遞給全局函數(shù):

主程序 MY_PROG( ):

1 DEF MY_PROG( )

2 DECL REAL result, value

3 value = 2.0 給 “value” 賦值 “2.0”。

4 result = CALC(value)調(diào)用函數(shù) CALC,并傳遞 “value” 的值。給變量 “result” 分配函數(shù)的返還值。

5 ...

...

END

在將該值作為 IN 參數(shù)傳遞時(shí)發(fā)生了什么?

帶 IN 的函數(shù) CALC():

1 DEFFCT REAL CALC(num:IN)

將 “value” 的值作為 IN 參數(shù)傳遞給 “num”。該值還為 2.0。

2 DECL REAL return_value, num

3 num = num + 8.0 更改 “num” 的值。該值現(xiàn)在為 10.0。

4 return_value = num * 100.0

5 RETURN(return_value)

計(jì)算 “return_value” 的值并將該值發(fā)回到主程序的變量“result” 中。該值為 1000.0。

6 ENDFCT

函數(shù)已結(jié)束,從行 5 起繼續(xù)執(zhí)行主程序。

提示:主程序中 “value” 的值未更改,為 2.0

在將該值作為 OUT 參數(shù)傳遞時(shí)發(fā)生了什么?

帶 OUT 的函數(shù) CALC():

1 DEFFCT REAL CALC(num:OUT)

將 “value” 的值作為 OUT 參數(shù)傳遞給 “num”。該值還為 2.0。

2 DECL REAL return_value, num

3 num = num + 8.0

更改 “num” 的值。該值現(xiàn)在為 10.0。

4 return_value = num * 100.0

5 RETURN(return_value)

計(jì)算 “return_value” 的值并將該值發(fā)回到主程序的變量“result” 中。該值為 1000.0。

6 ENDFCT

函數(shù)已結(jié)束,從行 5 起繼續(xù)執(zhí)行主程序。

提示:主程序中 “value” 的值現(xiàn)在為 10.0。

傳遞多個(gè)參數(shù):

將哪個(gè)參數(shù)傳遞給什么自動(dòng)通過順序確定:第一個(gè)參數(shù)被傳遞到子程序中的第一個(gè)參數(shù)上,第二個(gè)參數(shù)被傳遞到子程序中的第二個(gè)參數(shù)上,以此類推。

1 DEF MY_PROG( )

2 DECL REAL w

3 DECL INT a, b

4 ...

5 CALC(w, b, a)

將 “w” 作為 OUT 參數(shù)傳遞給 “ww”。

將 “b” 作為 IN 參數(shù)傳遞給 “bb”。

將 “a” 作為 OUT 參數(shù)傳遞給 “oo”。

6 ...

7 CALC(w, 30, a)

將 “w” 作為 OUT 參數(shù)傳遞給 “ww”。

將 “30” 作為 IN 參數(shù)傳遞給 “bb”。

將 “a” 作為 OUT 參數(shù)傳遞給 “oo”。

8 ...

9 END

10 DEF CALC(ww:OUT, bb:IN, oo:OUT)

11 DECL REAL ww

12 DECL INT oo, bb

13 ...

14 END

也可以不將任何值傳遞給子程序中的 “ 接收器 ” 變量,前提是在子程序中不需要該值。這將簡(jiǎn)化根據(jù)變化的過程調(diào)整程序。示例:CALC (w, ,a)

始終可以將數(shù)值傳遞至相同的數(shù)據(jù)類型。傳遞至另一個(gè)數(shù)據(jù)類型時(shí),有:

主程序中的類型 子程序中的類型 作用
BOOL INT、REAL、CHAR 無法傳遞;錯(cuò)誤信息
INT、REAL、CHAR BOOL
INT REAL INT 值被用作 REAL 值
INT CHAR 使用 ASCII 表中的字符
CHAR INT 使用 ASCII 表中的 INT 值
CHAR REAL 使用 ASCII 表中的 REAL 值
REAL INT REAL 值被四舍五入
REAL CHAR REAL 值被四舍五入,使用 ASCII 表中的字符

審核編輯:湯梓紅

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

    關(guān)注

    210

    文章

    28103

    瀏覽量

    205849
  • 參數(shù)
    +關(guān)注

    關(guān)注

    11

    文章

    1754

    瀏覽量

    32043
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3756

    瀏覽量

    80751
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4277

    瀏覽量

    62323
  • 子程序
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    11165

原文標(biāo)題:KUKA 機(jī)器人:將參數(shù)傳遞到子程序或函數(shù)中V1.28版.....

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    KUKA重型機(jī)器人

    這個(gè)是KUKA重型機(jī)器人處理和測(cè)量混凝土軌枕的視頻。處理得相當(dāng)精細(xì)。真心值得愛好機(jī)器者和愛國者研究研究。
    發(fā)表于 02-03 15:18

    KUKA機(jī)器人問題解答

    1 開機(jī)坐標(biāo)系無效 世界坐標(biāo)系是以槍頭為基點(diǎn),在這種坐標(biāo)系機(jī)器人所有的動(dòng)作都是按照以槍頭為頂點(diǎn)來完成移動(dòng),XYZ方向切割槍方向不改變,如果機(jī)器人在世界坐標(biāo)系中移動(dòng),槍頭也隨著改變方向,那就是我們?cè)?/div>
    發(fā)表于 07-15 07:48

    庫卡KUKA機(jī)器人四種啟動(dòng)方式介紹

    庫卡KUKA機(jī)器人四種啟動(dòng)方式1)自動(dòng)運(yùn)行說明 庫卡機(jī)器人處于自動(dòng)運(yùn)行時(shí),先要在手動(dòng)狀態(tài)時(shí)候選擇需要運(yùn)行的程序,然后通過鑰匙開關(guān)切換機(jī)器人
    發(fā)表于 09-04 15:45

    KUKA焊接機(jī)器人伺服電機(jī)常見故障及維修處理

    、同步帶等連接件時(shí),在任何情況下,作用在電動(dòng)機(jī)上的力不能超過電動(dòng)機(jī)容許的徑向、軸向負(fù)載(4)按說明書規(guī)定,對(duì)伺服電動(dòng)機(jī)和控制電路之間進(jìn)行正磚的連接。連接的錯(cuò)誤,可能引起庫卡機(jī)器人伺服電機(jī)的失控振蕩,也
    發(fā)表于 09-26 16:51

    KUKA機(jī)器人伺服驅(qū)動(dòng)模塊維修

    KUKA庫卡C4機(jī)器人驅(qū)動(dòng)器故障報(bào)警維修庫卡機(jī)器人維修內(nèi)容包括庫卡機(jī)器人示教器維修,KUKA伺服驅(qū)動(dòng)模塊維修,庫卡
    發(fā)表于 09-17 07:09

    子程序(函數(shù))傳遞

    易語言是一門以中文作為程序代碼編程語言學(xué)習(xí)例程:子程序(函數(shù))傳遞
    發(fā)表于 06-07 10:41 ?3次下載

    KUKA機(jī)器人的”Dry run空轉(zhuǎn)”概念

    KUKA機(jī)器人的Dry run空轉(zhuǎn)概念. 空轉(zhuǎn)如果自動(dòng)運(yùn)行中程序運(yùn)行中斷,并且機(jī)器人離開程序編定的軌道,則將進(jìn)行空轉(zhuǎn)。 如果在
    的頭像 發(fā)表于 10-27 18:19 ?4510次閱讀
    <b class='flag-5'>KUKA</b><b class='flag-5'>機(jī)器人</b>的”Dry run空轉(zhuǎn)”概念

    參數(shù)子程序參數(shù)傳遞過程

    一份程序建立多個(gè)子程序,每個(gè)子程序完成相對(duì)比較獨(dú)立的功能。而子程序也是圍繞主程序的要求,并且還
    的頭像 發(fā)表于 10-17 09:50 ?2644次閱讀

    KUKA機(jī)器人參數(shù)傳遞子程序的步驟

    建議:始終將一個(gè)參數(shù)傳遞相同數(shù)據(jù)類型的變量??梢?b class='flag-5'>將參數(shù)
    的頭像 發(fā)表于 01-08 16:07 ?3487次閱讀

    KUKA機(jī)器人:參數(shù)傳遞子程序函數(shù)V1版

    這種傳遞方式也稱為 “Call by Reference”。建議:始終將一個(gè)參數(shù)傳遞相同數(shù)據(jù)類型的變量??梢?/div>
    的頭像 發(fā)表于 03-02 09:33 ?818次閱讀

    KUKA鏈接機(jī)器人程序

    一個(gè)全局子程序是一個(gè)獨(dú)立的機(jī)器人程序,可由另一個(gè)機(jī)器人程序調(diào)用??筛鶕?jù)具體要求對(duì)程序進(jìn)行分支,即
    的頭像 發(fā)表于 03-02 10:50 ?1538次閱讀

    KUKA機(jī)器人參數(shù)傳遞子程序函數(shù)V1.28

    建議:始終將一個(gè)參數(shù)傳遞相同數(shù)據(jù)類型的變量。可以參數(shù)
    的頭像 發(fā)表于 03-02 11:09 ?862次閱讀

    KUKA機(jī)器人建立函數(shù)實(shí)例解析

    函數(shù)是指返回參數(shù)回主函數(shù)子程序。 程序的返回類型也是一種數(shù)據(jù)類型。 傳遞
    發(fā)表于 04-14 11:49 ?2560次閱讀

    KUKA建立函數(shù)的方法和例子

    傳遞功能:要將該值傳遞其中的變量名稱 IN | OUT 如果一個(gè)值
    的頭像 發(fā)表于 05-25 14:18 ?1183次閱讀
    <b class='flag-5'>KUKA</b>建立<b class='flag-5'>函數(shù)</b>的方法和例子

    KUKA機(jī)器人的”Dry run空轉(zhuǎn)”概念

    KUKA機(jī)器人的”Dry run空轉(zhuǎn)”概念. 空轉(zhuǎn)如果自動(dòng)運(yùn)行中程序運(yùn)行中斷,并且機(jī)器人離開程序編定的軌道,則將進(jìn)行空轉(zhuǎn)。 如果在
    的頭像 發(fā)表于 09-10 10:44 ?1527次閱讀
    <b class='flag-5'>KUKA</b><b class='flag-5'>機(jī)器人</b>的”Dry run空轉(zhuǎn)”概念