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

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

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

我們應(yīng)如何查看某一次函數(shù)塊調(diào)用時的內(nèi)部變量呢?

jf_61nrsJTz ? 來源:方正智芯 ? 2023-11-17 09:09 ? 次閱讀

模塊化設(shè)計的思想是把一些相似的功能(比如電機控制、閥控制)設(shè)計成函數(shù)或函數(shù)塊,這樣就可以反復(fù)調(diào)用。其優(yōu)點是:使程序架構(gòu)更加清晰,避免重復(fù)編寫相似功能的代碼。不過可能會產(chǎn)生一個疑惑:既然PLC的程序是循環(huán)執(zhí)行,當(dāng)一個功能塊被多個外部函數(shù)/函數(shù)塊調(diào)用時,我們應(yīng)如何查看某一次調(diào)用時的內(nèi)部變量呢?這涉及到函數(shù)塊的調(diào)用環(huán)境問題,今天這篇文章,我們來介紹下如何查看及更改函數(shù)/函數(shù)塊的調(diào)用環(huán)境。

8e9e903e-84d5-11ee-939d-92fbcf53809c.png

我們以函數(shù)庫中的電機控制塊FB5001_MotorControl為例,創(chuàng)建兩臺電機控制程序。為了使調(diào)用路徑便于觀察,新創(chuàng)建一個函數(shù):motorControl ,將二號電機在該函數(shù)中調(diào)用,整體代碼如下圖所示:

8ebee078-84d5-11ee-939d-92fbcf53809c.png

8eccd994-84d5-11ee-939d-92fbcf53809c.png

這樣,在OB1和FC1中兩次調(diào)用相同的函數(shù)塊FB5001_MotorControl。

在OB1中打開該函數(shù)塊,轉(zhuǎn)到在線狀態(tài):

在函數(shù)塊的左上方會顯示當(dāng)前調(diào)用路徑,比如當(dāng)前示例:Main[OB1]。

在函數(shù)塊的右上方有一個更改調(diào)用環(huán)境的按鈕,如下圖所示:

8edaabc8-84d5-11ee-939d-92fbcf53809c.png

單擊該按鈕,會彈出[塊的調(diào)用環(huán)境]對話框,我們將調(diào)用環(huán)境從之前的OB1改成FC1(OB1->FC1),單擊確定,如下圖所示:

8eefc80a-84d5-11ee-939d-92fbcf53809c.png

假設(shè)我們將FC1下的FB5001_MotorControl的信號fuse、start形參置為真(TRUE),如下圖所示:

8f002aa6-84d5-11ee-939d-92fbcf53809c.png

可看到調(diào)用環(huán)境中其內(nèi)部變量也跟隨著變化(TRUE),如下圖所示:

8f16d026-84d5-11ee-939d-92fbcf53809c.png

如果我們把調(diào)用環(huán)境更改成OB1,由于OB1下的FB5001_MotorControl其形參為假(FALSE),因此其內(nèi)部變量也跟隨變化(FALSE),如下圖所示:

8f2cb80a-84d5-11ee-939d-92fbcf53809c.png

好了,關(guān)于博途環(huán)境下如何查看及更改塊的調(diào)用環(huán)境就先介紹到這里。







審核編輯:劉清

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

    關(guān)注

    3523

    文章

    1848

    瀏覽量

    268180
  • plc
    plc
    +關(guān)注

    關(guān)注

    5006

    文章

    13109

    瀏覽量

    461466

原文標(biāo)題:博途使用技巧之查看與更改函數(shù)塊的調(diào)用環(huán)境

文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    什么是FB功能?為什么要使用FB功能?如何制作個FB功能?

      FB功能種封裝了特定邏輯功能的模塊。它類似于個子程序或函數(shù),但是它有自己的內(nèi)部變量
    的頭像 發(fā)表于 11-09 16:13 ?3694次閱讀
    什么是FB功能<b class='flag-5'>塊</b>?為什么要使用FB功能<b class='flag-5'>塊</b>?如何制作<b class='flag-5'>一</b>個FB功能<b class='flag-5'>塊</b>?

    如何查看及更改函數(shù)/函數(shù)調(diào)用環(huán)境

    是循環(huán)執(zhí)行,當(dāng)個功能被多個外部函數(shù)/函數(shù)調(diào)用時,我們
    的頭像 發(fā)表于 11-17 09:08 ?839次閱讀
    如何<b class='flag-5'>查看</b>及更改<b class='flag-5'>函數(shù)</b>/<b class='flag-5'>函數(shù)</b><b class='flag-5'>塊</b>的<b class='flag-5'>調(diào)用</b>環(huán)境

    TF之NN:Tensorflow之一次函數(shù)應(yīng)用,隨機生成100個數(shù),利用Tensorflow訓(xùn)練使其逼近已知一次函數(shù)的斜率和截距

    TF之NN:Tensorflow之一次函數(shù)應(yīng)用,隨機生成100個數(shù),利用Tensorflow訓(xùn)練使其逼近已知一次函數(shù)的斜率和截距
    發(fā)表于 12-20 10:35

    請問為什么程序在while循環(huán)中只執(zhí)行一次函數(shù)

    嗨,我很難理解為什么我的程序在while循環(huán)中只執(zhí)行一次函數(shù),即使循環(huán)是無限的。這是我的計劃:
    發(fā)表于 10-28 11:26

    ccs3.3能像示波器查看ram中某一個全局變量的動態(tài)變化嗎?

    ccs3.3能不能像示波器查看ram中某一個全局變量的動態(tài)變化?watch window能看到值變化,刷新
    發(fā)表于 07-08 15:57

    看就知!static在編程中的作用到底是什么?

    使用時仍然能用到這個值。也就是說有時候希望函數(shù)中的局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,這個變量
    發(fā)表于 06-20 13:19

    當(dāng)函數(shù)執(zhí)行完畢后,如何返回調(diào)用處?

    當(dāng)函數(shù)執(zhí)行完畢后,如何返回調(diào)用?由于該函數(shù)可能會被多次調(diào)用,且每次調(diào)用的地方很可能不
    的頭像 發(fā)表于 09-14 14:27 ?1.7w次閱讀
    當(dāng)<b class='flag-5'>函數(shù)</b>執(zhí)行完畢后,如何返回<b class='flag-5'>調(diào)用</b>處?

    單片機靜態(tài)局部變量的使用方法

    1.靜態(tài)局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即其占用的存儲單元不釋放,在下一次函數(shù)調(diào)用時
    發(fā)表于 03-14 14:28 ?3049次閱讀
    單片機靜態(tài)局部<b class='flag-5'>變量</b>的使用方法

    詳解python普通函數(shù)創(chuàng)建與調(diào)用

    函數(shù)種僅在調(diào)用時運行的代碼。您可以將數(shù)據(jù)(稱為參數(shù))傳遞到函數(shù)中,然后由函數(shù)可以把數(shù)據(jù)作為
    的頭像 發(fā)表于 03-01 16:32 ?1830次閱讀

    函數(shù)調(diào)用時底層會發(fā)生什么

    如果你懂得用箱子打包東西,你就能明白函數(shù)調(diào)用是怎么回事。 原來,在程序運行時每個被調(diào)用函數(shù)都有自己的
    的頭像 發(fā)表于 02-17 14:47 ?623次閱讀
    <b class='flag-5'>函數(shù)</b><b class='flag-5'>調(diào)用時</b>底層會發(fā)生什么

    C語言函數(shù)調(diào)用的形式及過程

    C語言函數(shù)調(diào)用時的數(shù)據(jù)傳遞 在調(diào)用有參函數(shù)時,主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。
    的頭像 發(fā)表于 03-10 14:28 ?1570次閱讀

    PLC FB函數(shù)和FB函數(shù)如何調(diào)用

    對于很多接觸到SIMATIC系列PLC的新手玩家來說,例如在S7-1200或者S7-1500中,最常見的三個函數(shù):FC、FB、DB,該如何調(diào)用是不太清楚的,包括小文在剛接觸這個行業(yè)也還是個小白的時候,也不太明白,那時候覺得,只
    發(fā)表于 05-24 09:22 ?2720次閱讀
    PLC FB<b class='flag-5'>函數(shù)</b><b class='flag-5'>塊</b>和FB<b class='flag-5'>函數(shù)</b>如何<b class='flag-5'>調(diào)用</b>?

    SCL中調(diào)用函數(shù)的示例

    在此,可插入函數(shù) (FC) 調(diào)用函數(shù) (FB) 調(diào)用。函數(shù)
    的頭像 發(fā)表于 06-06 10:18 ?2047次閱讀

    Freelance函數(shù)和功能使用指南 V9.1

    函數(shù) 在執(zhí)行過程中,函數(shù)返回個確定的數(shù)據(jù),函數(shù)不含狀態(tài)信息。當(dāng)
    發(fā)表于 08-09 15:25 ?2次下載

    調(diào)用SCL函數(shù)-事例

    在以下部分中,將在組織“Main” 中調(diào)用 SCL 函數(shù)“SCL_Best_before_date” 并互連輸入和輸出參數(shù)。
    的頭像 發(fā)表于 08-10 09:51 ?812次閱讀
    <b class='flag-5'>調(diào)用</b>SCL<b class='flag-5'>函數(shù)</b><b class='flag-5'>塊</b>-事例