999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁 > 文章中心 > 西門子PLC > S7-200的子程序編寫與調(diào)試指令

S7-200的子程序編寫與調(diào)試指令

林可冰 發(fā)布于2022-10-21 14:32 56 1 標(biāo)簽:PLC

  S7-200CPU的控制程序由主程序、子程序和中斷程序組成。STEP 7-Mico/WIN32在程序編輯器窗口里為每個POU(程序組織單元)提供一個獨立的頁,主程序總是第1頁,后面是子程序或中斷程序。

  因為各個程序在編輯都窗口里被分開,編譯時在程序結(jié)束的地方自動加人無條件結(jié)束指令END、MEND.RET或RETI,如果在程序里加了這些指令,編譯時反而會出錯。

  1.子程序的作用

  子程序常用于需要主次反分執(zhí)行相同任務(wù)的地方,只需要寫次子程序,別的稱序在占要子程序的時候調(diào)用它,而無需重寫該程序:子在序的詞用是有條件的,未調(diào)用它時不會執(zhí)行了的程序中的指令,因此使用子程序可以減少掃描時間。

  使用子程序可以將程序分成容易管理的小塊,使程序結(jié)構(gòu)簡單清晰,易于查錯和維護(hù)。如果子程序中只引用參數(shù)和局部變量,可以將子程序移植到其他項目。為了移植了程序,應(yīng)避免使用全局符號和變量,如I、Q、M、SM、AI、AQ、V、T、C、S、AC等存儲器中的絕對地址。

  2.子程序的創(chuàng)建

  可采用下列方法創(chuàng)建子程序:在“編輯”菜單中選擇“插人→子程序”;在程序編輯器視窗中按鼠標(biāo)右鍵,從彈出菜單中選擇“插人→子程序",程序編輯器將從原來的POU顯示進(jìn)人新的子程序,程序編輯器底部將出現(xiàn)標(biāo)志新的子程序的新標(biāo)簽,在程序編輯器窗口中可以對新的子程序編程??梢允褂迷撟映绦虻木植孔兞勘矶x參散,各子程序最多可以定義16個IN、OUT參數(shù)。用石鍵雙擊指令樹中的于程序或中斷程序的圖標(biāo),在彈出的窗口中選擇“重新命名”,可修改它們的名稱。

  假設(shè)創(chuàng)建了一個名為CULCU的子程序,首先在該子程序的局部變量表中,定義一個名為輸人"的雙字IN(輸人)變量、一個名為“輸出”的雙字0UT(輸出)變量和一個名為TMP1的雙字TEMP(臨時)變量(見圖6-5)。在圖6-6的子程序中,輸人變量被圖6-5局部變業(yè)表乘以12 000,再除以13 257,運算結(jié)果作為子程序的輸出。

局部變量表

圖6-5局部變量表

  3.子程序的調(diào)用

  可以在主程序、另一子程序或中斷程序中調(diào)用子程序,但是不能在子程序中調(diào)用自己(即不允許遞歸調(diào)用)。調(diào)用子程序時將執(zhí)行子程序的全部指令,肖至子程序結(jié)束,然后返回調(diào)用程序中子程序調(diào)用指令的下一條指令之處。

  創(chuàng)建子程序后,STEP 7-Micro/WIN32在指令樹最下面的“子程序”圖標(biāo)下自動生成剛創(chuàng)建的子程序CULCU對應(yīng)的圖標(biāo)。對于梯形閣程序,在子程序局部變量表中為該子程序定義參數(shù)后,將生成客戶化調(diào)用指令塊(見圖6-6),指令塊中自動包含了子程序的輸人參數(shù)和輸出參數(shù)。

子程序與主程序

圖6-6子程序與主程序

  在梯形圖程序中插人子程序調(diào)用指令時,首先打開程序編輯器視窗中需要調(diào)用子程序,找到需要調(diào)用子程序的地方。在指令樹的最下面用左鍵打開子程序文件夾,將需要子程序圖標(biāo)從指令樹拖到程序編輯器中的正確位置?;?qū)⒐鈽?biāo)置于程序編輯器視窗雙擊指令樹中的調(diào)用指令。

  應(yīng)為子程序調(diào)用指令的各參數(shù)指定有效的操作數(shù),有效操作數(shù)為存儲器地址、常量、全局符號和調(diào)用指令所在的P0U中的局部變量(不是被調(diào)用子程序中的局部變量)。

  如果在使用子程序調(diào)用指令后修改該子程序中的局部變量表,調(diào)用指令將變?yōu)闊o效。必須刪除無效調(diào)用,并用能反映正確參數(shù)的新的調(diào)用指令代替。

  在語句表程序中調(diào)用子程序時使用調(diào)用指令“SBR n"。在調(diào)用子程序時,CPU保存整個邏輯堆棧后,將棧頂值置為1,堆棧中的其他值清0,控制轉(zhuǎn)移至被調(diào)用的子程序。子程序執(zhí)行完成時,用調(diào)用時保存的數(shù)據(jù)恢復(fù)堆棧,控制返回調(diào)用程序。子程序和調(diào)用程序共用累加器,不會因使用子程序自動保存或恢復(fù)累加器。

  4.調(diào)用帶參數(shù)的子程序

  調(diào)用帶參數(shù)的子程序時需要設(shè)置調(diào)用的參數(shù),參數(shù)在子程序的局部變量表中定義,最多可傳遞16個參數(shù)。

  1N(輸人)是傳人子程序的輸人參數(shù),如果參數(shù)是直接尋址,如VB10.指定地址的值被傳、)人子程序。如果參數(shù)是間接尋址,如*AC1,指針指定地址的值被傳人子程序。如果參數(shù)是常數(shù)(例如DW#12345)或地址(如 &VB100),它們的值被傳人子程序,“非”為常數(shù)描述符。

  0UT(輸出)是子程序的執(zhí)行結(jié)果,它被返回給調(diào)用它的POU常數(shù)和地址(如 & VB100)不能作搶出量。

  IN_OUT(輸人/輸出)將參數(shù)的初始值傳給子程序,子程序的執(zhí)行結(jié)果返回給同一地址。常數(shù)和地址不能作輸人/輸出參數(shù)。

  在子程序中可以使用參數(shù)IN、IN_OUT和OUT。

  TEMP是局部存儲變量,不能用來傳遞參數(shù),它們只能在子程序中使用。

  子程序傳遞的參數(shù)放在子程序的局部變量表中,局部變量表最左邊的一則是每個被傳遞的參數(shù)的局部存儲器地址。調(diào)用子程序時,輸人參數(shù)被拷貝到子程序的局部存儲器,子程序執(zhí)行完后,從局部存儲器區(qū)拷貝輸出參數(shù)到指定的輸出參數(shù)地址,數(shù)據(jù)單元的人小和類型用參數(shù)的代碼表示。在子程序中局部參數(shù)存儲器的參數(shù)值分配如下:

  (1)按子程序指令的調(diào)用順序,給參數(shù)值分配局部存儲郜,起始地址是L0。

  (2)1-8個連續(xù)的位參數(shù)分配一個字節(jié),字節(jié)中的位地址為Ix,0~Lx.7。

  (3)字節(jié).字和雙字值在局部存儲器中按字節(jié)順序分配,如LBx,LWx或LDx中品好寶

  在帶參教調(diào)用子程序指令中,參數(shù)必須按一定的順序排列,輸人參數(shù)在最前而,其次是輸人/輸出參數(shù),最后是輸出參數(shù)。

  如果用語句表編程,程序調(diào)用指令的格式為;

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

  n0-16,帶態(tài)數(shù)調(diào)用子程序使ENO=0的錯誤條件:SM4.3(運行時間),0008(子程序嵌套超界)。

  [例6-2]子程序調(diào)用舉例(見圖6-7)

  //0主程序

  LD l0.0

  CALL 10,IO.1.VB10,II.0,&VH1O0,*AC1.VD200

  ┆

  //0主程序10

  ┆

  LD l2.1

  CRET //從子程序條件返回

  ┆

  5.子程序的恢套調(diào)用

  程序中最多可創(chuàng)建64個子程序。子程序可以嵌套調(diào)用(在子

  程序中調(diào)用別的于程序),最大嵌套深度為8。

  6.程序的有條件返回

  在于程序中用觸點電路控制RET(從子程序有條件返回)指令,觸點電路接通時條件滿足,子程序被終止。編程軟件自動地為主程序和子程序添加無條件返回指令。

  類似地,可以在主程序中用觸點電路驅(qū)動END(有條件結(jié)束)指令。

子程序調(diào)用和返回

圖6-7子程序調(diào)用和返回

a)主程序b)子程序

若有收獲,就點個贊吧!

文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請聯(lián)系站長
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

PLC

相關(guān)推薦

最新文章 熱門文章
最新課程 免費課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機APP
熱門標(biāo)簽