<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網

      電子開發(fā)網電子設計 | 電子開發(fā)網Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網 >> 電子開發(fā) >> PLC基礎入門教程 >> 正文

      PLC STL中的邏輯塊調用指令CALL

      作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2018/12/8

          塊調用指令( CALL)用來調用功能塊(FB)、功能(FC)、系統(tǒng)功能塊(SFB)或系統(tǒng)功能( SFC),或調用西門子預先編好的其他標準塊。

          在CALL指令中,F(xiàn)C、SFC、FB和SFB是作為地址輸入的,邏輯塊的地址可以是絕對地址或符號地址。CALL指令與RLO和其他任何條件無關。在調用FB和SFB時,應提供與它們配套的背景數(shù)據(jù)塊(Instance DB)。而調用FC和SFC時,則不需要背景數(shù)據(jù)塊。處理完被調用的塊后,調用它的程序繼續(xù)其邏輯處理。在調用SFB和SFC后,寄存器的內容被。恢復。

          使用CALL指令時,應將實參(Actual Parameter)賦給被調用的功能塊中的形參(Formal Parameter),并保證實參與形參的數(shù)據(jù)類型一致。

          使用語句表編程時,CALL指令中被調用的塊應是已經存在的塊,其符號名也應該是已經定義過的。

          在調用塊時可以通過變量表交換參數(shù),用編程軟件編寫語句表程序時,如果被調用的邏輯塊的變量聲明表中有IN、OUT和IN_OUT類型的變量,則輸入CALL指令后編程軟件會自動地打開變量表,只需對各形參填寫對應的實參即可。

          在調用FC和SFC時,必須為所有的形參指定實參。調用FB和SFB時,只需指定上次調用后必須改變的實參。由于FB被處理后,實參儲存在背景數(shù)據(jù)塊中。如果實參是數(shù)據(jù)塊中的地址,必須指定完整的絕對地址,如DB1. DBW2。

          邏輯塊的IN(輸入)參數(shù)可以指定為常數(shù)、絕對地址或符號地址。OUT(輸出)和IN_OUT(輸入_輸出)參數(shù)必須指定為絕對地址或符號地址。

          CALL指令保存被停止執(zhí)行的塊的編號和返回地址及當時打開的數(shù)據(jù)塊的編號。此外,CALL指令關閉MCR區(qū),生成被調用的塊的局域數(shù)據(jù)區(qū)。

          ①CALL塊調用指令:CALL<邏輯塊標識符>。使用該指令,可以調用功能(FC)或功能塊( SFB)、系統(tǒng)功能(SFC)或系統(tǒng)功能塊(SFB),或調用由西門子公司提供的標準預編程塊。使用CALL塊指令,可以調用作為地址輸入的FC和SFC或FB和SFB,與RLO或其他條件無關。如果使用該指令調用一個FB或SFB,必須提供具有相關背景數(shù)據(jù)塊的程序塊。在被調用塊處理完后,調用塊程序繼續(xù)邏輯處理。邏輯塊的地址可以絕對指定,也可相對指定。在SFB、SFC調用后,保存寄存器的內容。

          調用塊可通過一個變量表與被調用塊交換參數(shù)。

          如果調用一個功能塊(FB)、系統(tǒng)功能塊(SFB)、功能(FC)或系統(tǒng)功能(SFC),并且被調用塊的變量聲明表中有IN、OUT和IN_OUT聲明,則這些變量作為一個形式參數(shù)表被添加到調用塊中。如果調用的是一個功能(FC)和系統(tǒng)功能(SFC),則必須在調用邏輯塊中為聲明的形式參數(shù)賦予實際參數(shù)。

          如果調用的是功能塊( FB)和系統(tǒng)功能塊(SFB),只需定義與以前調用相比必須進行修改的實際參數(shù)。在處理完功能塊后,實際參數(shù)保存在背景數(shù)據(jù)塊中。如果實際參數(shù)是一個數(shù)據(jù)塊,則必須指定完整的絕對地址,如DB1、KBW2。

          IN參數(shù)可作為常數(shù)、絕對地址或符號地址定義。OUT和IN_OUT參數(shù)必須作為絕對地址或符號地址定義。必須保證所有地址和常數(shù)與要傳送的數(shù)據(jù)類型相符。

          調用指令可將返回地址(選擇符和相對地址)、兩個當前數(shù)據(jù)塊的選擇符及MA位保存在B(塊)堆棧中。此外,調用指令還可去激活MCR的相關性,然后生成被調用塊的本地數(shù)據(jù)范圍。

          編程示例1:為FC6調用賦值參數(shù)

          CALL    FC6

          形式參數(shù)    實際參數(shù)

          NO OF TOOL    :=MW100

          TIMEOUT    :=MW110

          FOUND    :=Q0.1

          ERROR    :=Q100.0

          編程示例2:無參數(shù)調用一個系統(tǒng)功能( SFC)

          CALL  SFC43    說明:調用SFC43,重新觸發(fā)看門狗定時器(無參數(shù))

          編程示例3:使用背景數(shù)據(jù)塊DB1調用FB99

          CALL    FB99.DB1

          形式參數(shù)    實際參數(shù)

          MAX_RPM    :=#RPM1_MAX

          MIN_RPM    :=#RPM1

          MAX_ POWER    :=#POWER1

          MAX_TEMP    :=#TEMP1

          每一次功能塊(FB)或系統(tǒng)功能塊(SFB)調用都必須有一個背景數(shù)據(jù)塊。在上述舉例中,數(shù)據(jù)塊DB1必須在調用之前已存在。

          ②調用功能塊指令:CALL FB nl、DB nl。使用該指令,可調用用戶定義的功能塊(FB)。調用指令能夠調用作為地址輸入的功能塊,與RLO或其他條件無關。如果使用調用指令調用一個功能塊,必須為它提供一個背景數(shù)據(jù)塊。在處理完被調用塊后,調用塊程序繼續(xù)處理。邏輯塊的地址可以是絕對地址,也可以是符號地址。

          調用塊可通過一個變量表與被調用的塊交換參數(shù)。

          如果調用一個功能,并且調用塊的變量聲明表中有IN、OUT和IN_OUT聲明,則這些變量作為一個形式參數(shù)表被添加到用于調用塊的程序中。

          由于在功能塊處理完之后,實際參數(shù)保存在背景數(shù)據(jù)塊中,當調用功能塊時,只需定義與以前調用相比必須修改的實際參數(shù)。如果實際參數(shù)是一個數(shù)據(jù)塊,則必須指定完整的絕對地址,如DB1、DBW2。

          IN參數(shù)可作為常數(shù)、絕對地址或符號地址定義。OUT和IN_OUT參數(shù)必須作為絕對地址或符號地址定義。必須保證所有地址和常數(shù)與要傳送的數(shù)據(jù)類型相符。

          調用指令可將返回地址(選擇符和相對地址)、兩個當前數(shù)據(jù)塊的選擇符及MA位保存在B(塊)堆棧中。此外,調用指令還可去激活MCR的相關性,然后生成被調用塊的本地數(shù)據(jù)范圍。

          編程示例:使用背景數(shù)據(jù)塊DB1調用FB99

          CALL    FB99,DB1

          形式參數(shù)    實際參數(shù)

          MAX_RPM    :=#RPM1_MAX

          MIN_RPM    :=#RPM1

          MAX_POWER    :=#POWER1

          MAX_TEMP    :=#TEMP1

          每一次功能塊( FB)調用都必須有一個背景數(shù)據(jù)塊。在上述舉例中,數(shù)據(jù)塊DB1必須在調用之前已存在。

          ③調用功能指令:CALL FCn。如果使用的是語句表編輯器(STL Editor),則n必須指向現(xiàn)有有效塊。在使用之前,還必須定義符號名。

          使用該指令,可調用功能( FC)。調用指令能夠調用作為地址輸入的功能(FC),與RLO或其他條件無關。在處理完被調用塊后,調用塊程序繼續(xù)處理。邏輯塊的地址可以絕對指定,也可相對指定。

          調用塊可通過一個變量表與被調用的塊交換參數(shù)。

          如果調用一個功能,并且調用塊的變量聲明表中有IN、OUT和IN_OUT聲明,則這些變量作為一個形式參數(shù)表被添加到用于調用塊的程序中。

          在調用功能時,必須在調用邏輯塊中為聲明的形式參數(shù)賦予實際參數(shù)。

          IN參數(shù)可作為常數(shù)、絕對地址或符號地址定義。OUT和IN_OUT參數(shù)必須作為絕對地址或符號地址定義。必須保證所有地址和常數(shù)與要傳送的數(shù)據(jù)類型相符。

          調用指令可將返回地址(選擇符和相對地址)、兩個當前數(shù)據(jù)塊的選擇符及MA位保存在B(塊)堆棧中。除此之外,調用指令還可去激活MCR的相關性,然后生成被調用塊的本地數(shù)據(jù)范圍。

          編程示例:為FC6調用賦值參數(shù)

          CALL    FC6

          形式參數(shù)    實際參數(shù)

          NO OF TOOL    :=MW100

          TIMEOUT    :=MW110

          FOUND    :=Q0.1

          FRROR    :=Q100.0

          ④調用多背景塊指令:CALL#變量名。通過使用一個功能塊的數(shù)據(jù)類型聲明一個靜態(tài)變量,可以生成一個多背景塊。在程序元素目錄中只包含已聲明的多背景塊。

          ⑤條件調用指令:CC<邏輯塊標識符>。使用該指令,可以在RLO =1時調用一個邏輯塊。該指令用于無參數(shù)調用FC或FB類型的邏輯塊。除了不能使用調用程序傳送參數(shù)之外,CC指令與CALL指令的用法相同。該指令可將返回地址(選擇符和相對地址)、兩個當前數(shù)據(jù)塊的選擇符及MA位保存在B(塊)堆棧中,去激活MCR相關性,生成被調用塊的本地數(shù)據(jù)范圍,并開始執(zhí)行調用的程序代碼。

          邏輯塊的地址可以絕對指定,也可相對指定。

          編程示例1:

          A I 2.0  說明:檢查輸入I2.0的信號狀態(tài)

          CC FC6    如果I2.0為“1”,調用功能FC6

          A M 3.0    如果I2.0=1,從調用功能返回處執(zhí)行;如果I2.0=0,直接在A I2.0語句后執(zhí)行

          如果CALL指令調用的是一個功能塊(FB)或一個系統(tǒng)功能塊(SFB),必須在語句中指定一個背景數(shù)據(jù)塊(數(shù)據(jù)塊號)。對于使用CC指令的調用,不能將一個數(shù)據(jù)塊分配給語句中的地址。

          根據(jù)所使用的程序段,程序編輯器( Program Editor)可以在從梯形邏輯編程語言轉換為語句表編程語言過程中,生成UC指令或CC指令。

          編程示例2(功能塊FB1的背景數(shù)據(jù)塊是DB1,“:=”前面是用符號地址表示的形參,“:=”后面是實參):

          CALL FB1,DB1

          Switch_On    :=I20.0    說明:將實參I20.0賦給形參Switch_On

          Switch_Off    :=I20.1

          Failure    :=I20.2

          ActuaLSpeed    :=MW2

          Engine_On    :=Q5.0

          Preset_Speed_Reached:=Q5.1

          CALL  SFC43    調用SFC43,重新觸發(fā)監(jiān)控定時器(無參數(shù))

          每一個FB和SFB都必須有一個背景數(shù)據(jù)塊,上例中在調用FB1之前,F(xiàn)B1和背景數(shù)據(jù)塊DB1必須是已經存在的。

          ⑥無條件調用指令UC( Unconditional Block Call)和條件調用指令CC( Conditional Block Call)。用于調用沒有參數(shù)的FC和SFC。其使用方法與CALL指令相同,只是在調用時不能傳遞參數(shù)。CC指令在邏輯運算結果RLO =1時才調用塊。用CC指令和UC指令調用塊時,不能使用背景數(shù)據(jù)塊。下面是使用CC指令和UC指令的例子。

          A I0.1    說明:刷新RLO

          CC FC6    如果RLO=1,調用沒有參數(shù)的功能FC6

          L IW4    從FC6返回后執(zhí)行,或在I0.1=0時不調用FC6,直接執(zhí)行本指令

          UC FC2    無條件調用沒有參數(shù)的功能FC2

          在CALL指令中,F(xiàn)C、FB、SFC和SFB是作為地址輸入的,其地址可以是絕對地址,或者是符號地址。在調用FB和SFB時,必須提供與之相對應的背景數(shù)據(jù)塊;而調用FC和SFC時,不需調用背景數(shù)據(jù)塊。

          在調用時,應將實參賦予被調用功能中的形參,并確保實參和形參數(shù)據(jù)類型相同,并且在FC和SFC的調用中,必須為所有形參指定實參,而調用FB和SFB,則只需指定上次調用后必須改變的實參。

          FB功能塊的具體調用(指令表程序)如下。

          CALL FB1,DB1    說明:調用FB1,其背景數(shù)據(jù)塊為DB1

          MAX    :=MW10    MAX為FB1定義的參數(shù),將MW10的值賦予MAX

          MIN    :=MW20    將MW20的值賦予FB1參數(shù)MIN

          POWER_ON  :=I 0.0    將I0.0賦予FB1參數(shù)POWER_ON

          POWER_OFF:=I 0.1    將I0.1賦予FB1參數(shù)POWER_OFF

          程序中調用了背景數(shù)據(jù)塊DB1,并將實參(“;=”之后的變量)賦予形參(“;”之前的變量)。

      Tags:STL,PLC,塊調用指令,CALL  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲小说图区综合在线| 婷婷久久香蕉五月综合加勒比| 国产精品无码久久综合| 久久综合久久综合久久| 色综合久久夜色精品国产| 亚洲欧洲国产综合AV无码久久| 一本色道久久88综合日韩精品| 精品福利一区二区三区精品国产第一国产综合精品 | 色综合合久久天天综合绕视看| 97久久久精品综合88久久| 中文字幕亚洲综合久久男男| 亚洲精品综合久久中文字幕| 婷婷五月六月激情综合色中文字幕| 色欲综合久久中文字幕网| 国产综合无码一区二区三区| 亚洲综合av一区二区三区不卡| 亚洲国产精品综合福利专区| 亚洲综合色视频在线观看| 色综合久久加勒比高清88| 99久久国产综合精品女图图等你| 精品久久人人做人人爽综合| 天天综合日日噜噜噜| 2020国产精品亚洲综合网| 99久久国产综合精品1尤物| 伊人不卡久久大香线蕉综合影院| 成人综合激情另类小说| 久久久久久久综合综合狠狠| 国产成人人综合亚洲欧美丁香花| 国产成人精品综合网站| 97久久天天综合色天天综合色| 日本一道综合色视频| 色欲综合久久躁天天躁蜜桃| 久久婷婷五月综合97色一本一本 | 美腿丝袜亚洲综合| 一本一道久久a久久精品综合 | 天天爱天天做色综合| 狠狠色伊人亚洲综合网站色| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲欧洲av综合色无码| 一97日本道伊人久久综合影院| 久久婷婷香蕉热狠狠综合|