欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

一文詳解PLC子程序與子程序指令

laidenongfhs ? 來源:中泰PLC自動化教學 ? 作者:中泰PLC自動化教學 ? 2023-12-14 13:33 ? 次閱讀

子程序

編程時經(jīng)常會遇到相同的程序段需要多次執(zhí)行的情況,如圖6-39所示,程序段A要執(zhí)行兩次,編程時要寫兩段相同的程序段,這樣比較麻煩。解決這個問題的方法是將需要多次執(zhí)行的程序段從主程序中分離出來,單獨寫成一個程序,這個程序稱為子程序,然后在主程序相應(yīng)的位置進行子程序調(diào)用即可。

wKgZomV6lQGALimaAAIw4nV5FuQ811.png

圖6-39 兩種程序結(jié)構(gòu)

在編寫復雜的PLC程序時,可以將全部的控制功能劃分為幾個功能塊,每個功能塊的控制功能可用子程序來實現(xiàn),這樣會使整個程序的結(jié)構(gòu)清晰簡單,易于調(diào)試、查找錯誤和維護。

子程序指令

子程序指令有兩條:子程序調(diào)用指令(CALL)和子程序條件返回指令(CRET)。

1.指令說明

子程序指令說明如表6-56所示。

表6-56 子程序指令說明

wKgZomV6lQGAIUkKAALNoHh6bKE768.png

子程序指令使用要點:CRET指令多用于子程序內(nèi)部,該指令是否執(zhí)行取決于它前面的條件,該指令執(zhí)行的結(jié)果是結(jié)束當前的子程序返回調(diào)用程序。子程序允許嵌套使用,即在一個子程序內(nèi)部可以調(diào)用另一個子程序,但子程序的嵌套深度最多為9級。當子程序在一個掃描周期內(nèi)被多次調(diào)用時,在子程序中不能使用上升沿、下降沿、定時器和計數(shù)器指令。在子程序中不能使用END(結(jié)束)指令。

2.子程序的建立

編寫子程序要在編程軟件中進行,打開STEP7-Micro/WINSMART編程軟件,在程序編輯器上方有“MAIN(主程序)”“SBR_0(子程序)”“INT_0(中斷程序)”三個標簽,默認打開主程序編輯器。單擊“SBR_0”標簽即可切換到子程序編輯器,如圖6-40(a)所示,在下面的編緝器中可以編寫名稱為“SBR_0”的子程序。另外,在項目指令樹區(qū)域雙擊“程序塊”內(nèi)的“SBR_0”,也可以在右邊切換到子程序編輯器。

如果需要編寫兩個或更多的子程序,可在“SBR_0”標簽上右擊,在彈出的快捷菜單中選擇“插入”→“子程序”,就會新建一個名稱為“SBR_1”的子程序(在程序編輯器上方多出一個“SBR_1”標簽),如圖6-40(b)所示。在項目指令樹區(qū)域的“程序塊”內(nèi)也新增了一個“SBR_1”程序塊,選中“程序塊”內(nèi)的“SBR_1”,再按鍵盤上的“Delete”鍵可將“SBR_1”程序塊刪除。

wKgaomV6lQGAF8XzAAWmcQyroLE515.png

圖6-40 切換與建立子程序

3.子程序指令使用舉例

下面以主程序調(diào)用兩個子程序為例,來說明子程序指令的使用。先用圖6-40(b)所示的方法建立一個SBR_1子程序塊(可先不寫具體程序),這樣在項目指令樹區(qū)域的“調(diào)用子例程”指令包內(nèi)新增了一個調(diào)用SBR_1子程序的指令,如圖6-41(a)所示。在編寫主程序時,雙擊該指令即可將其插入程序中;主程序編寫完成后,再編寫子程序。圖6-41(b)為編寫好的主程序(MAIN),圖6-41(c)、(d)分別為子程序0(SBR_0)和子程序1(SBR_1)。

wKgaomV6lQGAX-jxAAWdKrE4ADE966.png

圖6-41 子程序指令使用舉例

主、子程序執(zhí)行的過程是:

當主程序(MAIN)中的I0.0觸點閉合時,調(diào)用SBR_0指令執(zhí)行,轉(zhuǎn)入執(zhí)行子程序SBR_0。在SBR_0程序中,如果I0.1觸點閉合,則將Q0.0線圈置位,然后又返回主程序,開始執(zhí)行調(diào)用SBR_0指令的下一條指令(即程序段2)。當程序運行到程序段3時,如果I0.3觸點閉合,則調(diào)用子程序SBR_1指令執(zhí)行,轉(zhuǎn)入執(zhí)行SBR_1程序;如果I0.3觸點斷開,則執(zhí)行程序段4的指令,不會執(zhí)行SBR_1。若I0.3觸點閉合,轉(zhuǎn)入執(zhí)行SBR_1后,如果SBR_1程序中的I0.5觸點處于閉合狀態(tài),則條件返回指令執(zhí)行,提前從SBR_1返回主程序,SBR_1中的程序段2的指令無法執(zhí)行。

6.12.3 帶參數(shù)的子程序調(diào)用指令子程序調(diào)用指令可以帶參數(shù),使用帶參數(shù)的子程序調(diào)用指令可以擴大子程序的使用范圍。在子程序調(diào)用時,如果存在數(shù)據(jù)傳遞,通常要求子程序調(diào)用指令帶有相應(yīng)的參數(shù)。

1.參數(shù)的輸入

子程序調(diào)用指令默認是不帶參數(shù)的,也無法在指令梯形圖符號上直接輸入?yún)?shù),使用子程序編輯器下方的變量表可給子程序調(diào)用指令設(shè)置參數(shù)。

子程序調(diào)用指令參數(shù)的設(shè)置方法是:打打開STEP 7-Micro/WIN SMART編程軟件,單擊程序編輯器上方的“SBR_0”標簽,切換到SBR_0子程序編輯器,在編輯器下方有一個空變量表,如圖6-42(a)所示;如果變量表被關(guān)閉,可執(zhí)行菜單命令“視圖”→“組件”→“變量表”打開變量表,再按圖6-42(b)所示在變量表內(nèi)填寫輸入、輸出參數(shù)的符號并選擇數(shù)據(jù)類型。輸入型參數(shù)要填寫在變量類型為IN的行內(nèi),輸入/輸出型參數(shù)要填寫在變量類型為IN_OUT類型的行內(nèi),輸出型參數(shù)要填寫在變量類型為OUT的行內(nèi),表中參數(shù)的地址LB0、LB1等是自動生成的。在變量表的左上角有“插入行”和“刪除行”兩個工具,可以對變量表進行插入行和刪除行操作。變量表填寫后,切換到主程序編輯器,在主程序中輸入子程序調(diào)用指令,該子程序調(diào)用指令自動按變量表生成輸入/輸出參數(shù),如圖6-42(c)所示。

wKgaomV6lQGAKpVlAAKNxiXYFtw988.png

圖6-42 子程序調(diào)用指令參數(shù)的設(shè)置

2.指令參數(shù)說明

子程序調(diào)用指令最多可以設(shè)置16個參數(shù),每個參數(shù)包括變量名(又稱符號)、變量類型、數(shù)據(jù)類型和注釋四部分,注釋部分不是必需的。

1)變量名

變量名在局部變量表中稱作符號,它需要直接輸入,變量名最多可用23個字符表示,并且第一個字符不能為數(shù)字。

2)變量類型

變量類型是根據(jù)參數(shù)傳遞方向來劃分的,它可分為四種類型:IN(傳入子程序)、IN_OUT(傳入和傳出子程序)、OUT(傳出子程序)和TEMP(暫變量)。參數(shù)的四種變量類型詳細說明如表6-57所示。

表6-57 參數(shù)的四種變量類型詳細說明

wKgZomV6lQGAfqxPAAGOzQBkOBo217.png

3)數(shù)據(jù)類型

參數(shù)的數(shù)據(jù)類型有布爾型(BOOL)、字節(jié)型(BYTE)、字型(WORD)、雙字型(DWORD)、整數(shù)型(INT)、雙整數(shù)型(DINT)、實數(shù)型(REAL)和字符型(STRING)。

指令使用注意事項

在使用帶參數(shù)子程序調(diào)用指令時,要注意以下事項。常數(shù)參數(shù)必須指明數(shù)據(jù)類型。例如,輸入一個無符號雙字常數(shù)12345時,該常數(shù)必須指定為DW#12345,如果遺漏常數(shù)的數(shù)據(jù)類型,該常數(shù)可能會當作不同的類型使用。輸入或輸出參數(shù)沒有自動數(shù)據(jù)類型轉(zhuǎn)換功能。例如,局部變量表明一個參數(shù)為實數(shù)型,而在調(diào)用時使用一個雙字,子程序中的值就是雙字。在帶參數(shù)調(diào)用的子程序指令中,參數(shù)必須按照一定順序排列,參數(shù)排列順序依次是:輸入、輸入/輸出、輸出和暫變量。如果用語句表編程,CALL指令的格式是:

CALL 子程序號,參數(shù)1,參數(shù)2,…,參數(shù)n

4.指令使用舉例

帶參數(shù)的子程序調(diào)用指令的使用如圖6-43所示,圖6-43(a)為主程序,圖6-43(b)為子程序及局部變量表,主、子程序可以實現(xiàn)Y=(X+20)×3÷8運算。

程序執(zhí)行過程為:在主程序中,常ON觸點SM0.0處于閉合狀態(tài),首先執(zhí)行第一個帶參數(shù)子程序調(diào)用指令,轉(zhuǎn)入執(zhí)行子程序,同時將VW0單元中的數(shù)據(jù)作為X值傳入子程序的LW0單元(局部變量存儲器)。在子程序中,ADD_I指令先將LW0中的值+20,結(jié)果存入LW10中;然后MUL_I指令將LW10中的值×3,結(jié)果存入LW12中;DIV_I指令再將LW12中的值÷8,結(jié)果存入LW2中;最后子程序結(jié)束返回主程序,同時子程序LW2中的數(shù)據(jù)作為Y值被傳入主程序的VW10單元中。子程序返回主程序后,接著執(zhí)行主程序中的第二個帶參數(shù)子程序調(diào)用指令,又將VW2中的數(shù)據(jù)作為X值傳入子程序進行(X+20)×3÷8運算,運算結(jié)果作為Y值返回到VW20單元中。

wKgaomV6lQGAN39hAAJFl4rXSQM582.png

圖6-43 帶參數(shù)的子程序調(diào)用指令的使用

審核編輯:湯梓紅

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

    關(guān)注

    5017

    文章

    13392

    瀏覽量

    465638
  • 指令
    +關(guān)注

    關(guān)注

    1

    文章

    611

    瀏覽量

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

    關(guān)注

    117

    文章

    3798

    瀏覽量

    81456
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    806

    瀏覽量

    31305

原文標題:PLC子程序與子程序指令

文章出處:【微信號:中泰PLC自動化教學,微信公眾號:中泰PLC自動化教學】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    51單片機浮點子程序

    子程序庫的使用方法如下:1.將子程序庫全部內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)編譯即可。優(yōu)點是簡單方便,缺點是程序太長,大量無關(guān)
    發(fā)表于 12-21 15:52 ?44次下載

    子程序

    子程序又稱為過程,它相當于高級語言中的過程和函數(shù)。在程序的不同部分,往往要用到類似的程序段,這些程序段的功能和結(jié)構(gòu)形式都相同,只是某些變
    發(fā)表于 06-30 10:43 ?851次閱讀

    ALTERA官方例子程序

    ALTERA官方例子程序,最規(guī)范的程序。入門必備
    發(fā)表于 10-29 10:46 ?47次下載

    匯編語言學習課件_子程序與宏指令設(shè)計

    第六章 子程序與宏指令設(shè)計 6.1 子程序結(jié)構(gòu)及設(shè)計方法 6.2 子程序參數(shù)傳遞 6.3 嵌套與遞歸子程序 6.4 宏 指
    發(fā)表于 12-31 10:41 ?0次下載

    子程序的創(chuàng)建與調(diào)用

    【LabVIEW從入門到精通】2.5 子程序的創(chuàng)建與調(diào)用
    發(fā)表于 01-08 15:43 ?0次下載

    三菱FX系列PLC條件跳轉(zhuǎn)和子程序指令的應(yīng)用_赫煥麗

    三菱FX系列PLC條件跳轉(zhuǎn)和子程序指令的應(yīng)用。
    發(fā)表于 05-18 10:42 ?3次下載

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

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

    PMC功能指令程序控制指令

    程序控制指令: 7.SP(子程序:SUB 71) 功能指令SP用于生成子程序。子程序號作為子程序
    發(fā)表于 09-29 13:08 ?0次下載
    PMC功能<b class='flag-5'>指令</b>:<b class='flag-5'>程序控制指令</b>

    中斷處理和子程序調(diào)用概念解析

    子程序組可以公用的指令序列,只要給出子程序的入口地址就能從主程序轉(zhuǎn)入子程序。
    發(fā)表于 11-16 11:12 ?1w次閱讀
    中斷處理和<b class='flag-5'>子程序</b>調(diào)用概念解析

    plc如何停止子程序調(diào)用_具體操作解析

    進入子程序請使用CALL指令,即是FUN67指令,在子程序中要使用標簽:LBL指令即FUN65,子程序
    發(fā)表于 11-16 11:35 ?1.5w次閱讀
    <b class='flag-5'>plc</b>如何停止<b class='flag-5'>子程序</b>調(diào)用_具體操作解析

    點陣液晶顯示模塊字符通用子程序

    1、逐字依次寫入方式子程序。2、光標左移寫入方式子程序。3、光標右移寫入方式子程序。4、畫面左滾動寫入方式子程序。
    發(fā)表于 03-13 14:53 ?1452次閱讀
    點陣液晶顯示模塊字符通用<b class='flag-5'>子程序</b>

    SMART常用的運動控制子程序的應(yīng)用詳解

    前我們講解過SMART運動控制向?qū)У慕M態(tài)應(yīng)用,組態(tài)好向?qū)Ш笞詣由蛇\動子程序,只需調(diào)用對應(yīng)功能的子程序進行編程即可,那么今天我們分別學習下常用的子程序的應(yīng)用。
    的頭像 發(fā)表于 03-24 11:16 ?1.4w次閱讀
    SMART常用的運動控制<b class='flag-5'>子程序</b>的應(yīng)用<b class='flag-5'>詳解</b>

    西門子PLC子程序介紹

    STEP7-Micro/Win在程序編輯器窗口中為每個POU提供單獨的頁面。主程序總是第1頁,后面是子程序或中斷程序。由于每個程序在編輯器窗
    發(fā)表于 12-13 16:28 ?3996次閱讀

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

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

    PLC創(chuàng)建庫文件與帶參數(shù)子程序功能該如何使用

    在S7-200SMART系列PLC子程序中,子程序可以分為兩類,類為不帶參數(shù)的子程序,另
    的頭像 發(fā)表于 10-28 11:06 ?4220次閱讀