


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、工程22子程序指令和局部表變量表1子程序調(diào)用指令CALL子程序調(diào)用指令CALL將程序控制權(quán)交給子程序 SBR_N調(diào)用子程序時可以帶參數(shù)也 可以不帶參數(shù)。子程序執(zhí)行完成后,控制權(quán)返回到調(diào)用子程序的指令的下一條指令。子程序條件返回指令CRET根據(jù)它前面的邏輯決定是否終止子程序。要添加一個子程序可以在命令菜單中選擇: Edit > In sert >Subrouti ne。在主程序中,可以嵌套調(diào)用子程序在子程序中調(diào)用子程序,最多嵌套8層。在中斷效勞程序中,不能嵌套調(diào)用子程序。 在被中斷效勞程序調(diào)用的子程序中不能再出現(xiàn)子程序調(diào) 用。不禁止遞歸調(diào)用子程序調(diào)用自己,但是當(dāng)使用帶子程序的遞歸調(diào)用
2、時應(yīng)慎重。腔錯類型aimSBR_NWORD常數(shù)財 TCPU221. CPU222, CPU224:0ft|63牙 /CPU224XP fFJCPU22BINBOOLBYTEWORD INTTDWORD.DINTSTRINGy 1, a "m, sm、S4 Th G L,艇瀝VB. IB. QB. MB, SMB. SB. LB. AC. *VD, 3 *AC 常數(shù)VW. T, G l艸.OW, MW, SMWb SWb 帥.AG, AIW. VDb *LD. -AC1, fritVD. ID、00、MD. SMDl SO. LD. AC. HC. *VD,*ACV&VB、&a
3、mp;IB. &QB, &MB、ST. SC, &S6. KAI. &AO. &SMBl *vd, g *AC.當(dāng)敦IIOUTBOOLBYTEWORD, INT DWORD.DINTV, L 0. M. SM2. S, T. C, LVB. IB, QB. MB.SB. LB. AG -VD, *LD; *AC'VW, T、G IWL OW, MW, SMVl SW, LW, AC *VDl *LD, *AC'VD、ID* 00* MDh0D* LB、AC, *VD.*ACfOUTBOOL BYTE WORDh INT DWORD.DIN
4、TV i a "m SM S T C LVB、IB、OB、SMB< SBl L& ACt *VD、*LD; 'AC1VW. Th C, IW. QWh MW、 SMAlLW、AC AQW *VD.*LDh 'AC1VD, ID, QCL MD, SMD2 SD, LD, AC. *VD. *LD, 4AC1圖1 :子程序指令的有效操作數(shù)1必須偏移1個或1個以上的單位2必須偏移30個或30個以上的單位提示:STEP 7-Micro/WIN為每個子程序自動參加返回指令。當(dāng)有一個子程序被調(diào)用時,系統(tǒng)會保存當(dāng)前的邏輯堆棧,置棧頂值為1,堆棧的其他值為零,把控制交
5、給被調(diào)用的子程序。當(dāng)子程序完成之后, 恢復(fù)邏輯堆棧,把控制權(quán)交還給調(diào)用程序。因為累加器可在主程序和子程序之間自由傳遞,所以在子程序調(diào)用時, 累加器的值既不保存也不恢復(fù)。當(dāng)子程序在同一個周期內(nèi)被屢次調(diào)用時,不能使用上升沿、下降沿、定時器和計數(shù)器指 令。2 帶參數(shù)調(diào)用子程序子程序可以包含要傳遞的參數(shù)。參數(shù)在子程序的局部變量表中定義。參數(shù)必須有變量名最多23個字符、變量類型和數(shù)據(jù)類型。一個子程序最多可以傳遞16個參數(shù)。局部變量表中的變量類型區(qū)定義變量是傳入子程序IN 、傳入和傳出子程序IN_OUT或者傳出子程序OUT。表6-79中描述了一個子程序中的參數(shù)類型。要參加一個參數(shù),把 光標(biāo)放到要參加的變量
6、類型區(qū)IN、IN_OUT OUT。點擊鼠標(biāo)右鍵可以得到一個菜單項選擇擇。 選擇插入選項,然后選擇下一行選項。這樣就出現(xiàn)了另一個所選類型的參數(shù)項。描述IN咎畝隹人了段呼.杲拳數(shù)見H接址如:VB10 > b拆定忖奩的ft寵鶴謹(jǐn)刑了熬序,如架 族蠱見問孩JRI i如;*AC1 k h摘葉描定位宦的值浹祐人于程序;卯雄參敢足常救 5; 1占 #1234 > h成苦-卜地hHM aVBlOJH的值謝蠱人了段浮.IN_OLTT指定倉數(shù)也槪的值被松到于程曲從子程序的結(jié)果値撿崔回刮同樣地it16fr12肇*和地州如:SVB100 «允許忡為輸忙;輸出卷數(shù)OUT從子程序柬的站黑值凌返回列搭
7、生窶It位豐.焙數(shù)姙 伯訂234和地址址&VB100 . «祀許ItH朗出零數(shù)界斗保存了裡爭丘梟一武供訂時分配茅在的數(shù)值.所以恐 殖住誓疾1|用子程岸時將融直分耐貴出辱數(shù).性It住電誨上屯時“ SET和RESET#令只蛋TEMPfT>j五屈丁祐謹(jǐn)瞰碾購時部*晞器都可M在于網(wǎng)洋中忡溝臨時升儲舒便用圖2 :子程序的參數(shù)類型如圖2中所示,局部變量表中的數(shù)據(jù)類型區(qū)定義了參數(shù)的大小和格式。參數(shù)類型如下所示:1. 布爾:該數(shù)據(jù)類型用于單獨位的輸入和輸出。下例中的IN3是布爾輸入。2. 字節(jié)、字和雙字:這些數(shù)據(jù)類型分別指明一個1、2或者4個字節(jié)的無符號輸入或輸出參數(shù)。3. 整數(shù)、雙整
8、數(shù):這些數(shù)據(jù)類型分別指明1、2或者4個字節(jié)的有符號輸入或輸出參數(shù)。4. 實數(shù):該數(shù)據(jù)類型指明一個4字節(jié)IEEE浮點值。5.STRING:該數(shù)據(jù)類型用作一個指向字符串的四字節(jié)指針。6.能流:布爾能流僅允許對位輸入操作。該變量聲明告訴STEP7-Micro/WIN 32此輸入?yún)?shù)是位邏輯指令組合的能流結(jié)果。在局部變量表中布爾能流輸入必須出現(xiàn)在其它類型的前 面。只有輸入?yún)?shù)可以這樣使用。下例中的使能輸入EN和IN1輸入使用布爾邏輯。示側(cè):子程序調(diào)用韋牛就序只徒ZtSTL旳需滬焊TL帕妙成扯冠 國為用萍腿從卷人的BOOL齧孜沒育“站在1-“碼雖中第卜哉序鏈第在LADHIFBD細(xì)輯器中呈示.因為隹用了
9、Lfftt器電存鯨用件離瀝輸人的BO0U6人書救hkMwuik 1只肚顯示STL10 0Netwcirkl1 1EH1 1LD10.0CALLSBRO? 101, VB10, ItO, &VB1D0, *AC1,110 1_IIIIIWIhJ?OUTVD2001 1VB10-7D200可以在5 口和FB D中正確顯示:1 C*IN3Netwod<.1&IOD.INtlLD100INDVTuL60 0LDiaiLDLG3.7L60.0CALL VD200SBRQ? L63工 VB1GP 11 0T 3VB10Q *AC1圖3:子程序調(diào)用例如地址參數(shù)如IN4處的&VB
10、1O0以一個雙字無符號的值傳送到子程序。在帶常數(shù)調(diào) 用程序時必須指明常數(shù)類型。例如,把值為12345的無符號雙字作為參數(shù)進行傳遞,常數(shù)參數(shù)必須用DW 12345指明。如果參數(shù)中缺少了常數(shù)描述符,常數(shù)可能被當(dāng)作不同的類型。輸 入或輸出參數(shù)上沒有自動數(shù)據(jù)類型轉(zhuǎn)換功能。例如,如果局部變量說明一個參數(shù)具有實型, 而在調(diào)用時使用一個雙字,子程序中的值就是雙字。當(dāng)給子程序傳遞值時,它們放在子程序的局部存儲器中。局部變量表的最左列是每個被傳遞參數(shù)的局部存儲器地址。當(dāng)子程序調(diào)用時,輸入?yún)?shù)值被拷貝到子程序的局部存儲器。當(dāng)子程序完成時,從局部存儲器區(qū)拷貝輸出參數(shù)值到指定的輸出參數(shù)地址。數(shù)據(jù)單元的大小和類型用參數(shù)
11、的代碼表示。在子程序中局部存儲器的參數(shù)值的分配如下所示:1.按照子程序指令的調(diào)用順序,參數(shù)值分別給局部存儲器,起始地址是L0。2.1到8連續(xù)位參數(shù)值分配一個字節(jié),從 Lx.O到Lx.7。3.字節(jié)、字和雙字值按照所需字節(jié)分配在局部存儲器中LBx、LWX或 LDx。在帶參數(shù)調(diào)用子程序指令中,參數(shù)必須按照一定順序排列,輸入?yún)?shù)在最前面,其次是 輸入/輸出參數(shù),然后是輸出參數(shù)。如果用語句表編程,CAL1L指令的格式是:CALL子程序號,參數(shù)1,參數(shù)2,,參數(shù)例如:于程序和子程序返回指令程序舉帳M A1 NI Nklwia k 1r1ISfiEJANetrk 1"在首次打描,刪ffl初妁此1段
12、廳OLDSMQ1CALL SBR_p3R0IMwcirk 1Mid JT1一"旳Mirtwiirlk 2SMO.OT 1M0V_B tN LWOH OUTTVdUNetwork 1力禰可燈使用荼件理回指令在產(chǎn)醴序惱東芝前冠15.LDM14.3CRETNetwork 2卅劃梟迴,那段程序倉被昨.LDSMQ0MOVE 10 L VBC圖4 :子程序和子程序返回指令例如:帝字符串的子程再調(diào)用詼宣鬧依定給定的的人r電制加同帕字神亂宜*扛ft!啊獨的地加字村舉的詭獨地址昶保對.啓后跡過H!用間擺 丿址*將字特毋地州祐通爭了程睜、了程呼權(quán)人寒?dāng)?shù)的數(shù)據(jù)晏和趙了袴申輛培了出序林動字符率剩同企宇符串立
13、審也可以垃穗瞬子段序.子程序肉的審需串引用一宜是相同前.mlT卜ENOEN E10our頓'即HMT協(xié)呷T -NeiiAork 1U SSCPY AENO MOVDI0.QLi$tring1 - , VB100&V6100. VDfl:F cfv| F.卜INE'<nVjnrunin nur迪n mxd>>JCUT"SlfR?'-Nelw?rk2 ' LD SSCPY AENO MOVDto.iFtrin甲 5 h VB200&VB20Q VDOL 1Mci-MiB 4|EM1Networks '.'L
14、DCALL10左SBRgh *VD0SFR0"EMelwork 1LD &M0.CSSCPY *LD0, VB30Q4iETP 亠TWr"LD liEKEJl UHBLB1圖5 :帶字符串的子程序調(diào)用舉例1:設(shè)計求圓周長得子程序,輸入量為直徑小于 32768的整數(shù),輸出量為圓周長雙字 整數(shù)。在10.0的上升沿調(diào)用該子程序,直徑為 10000mm運算結(jié)果存放在 VD10中,設(shè)計 出程序。主程序:網(wǎng)緒 1Metwork TitleNetvwrk Ccnrifnent啟動:山0llI r I5ER_0 EMDiameter Circle-VD101 " 1 1 r 1+10000-地址注釋啟動10.0啟動按囪子程序:孌量類型數(shù)據(jù)類型ENINBOOLLWODiameleININTIN_OUTLD2CircfeOUTDINTD7TEM1TEMPDINT|舉例2:設(shè)計求V存儲區(qū)連續(xù)的假設(shè)干個字的累加和的子程序,在主程序中調(diào)用它
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年藝考生奇葩面試題及答案
- 2025年山東數(shù)學(xué)初一試題及答案
- 2025年毛概上考試題及答案
- 2025年建行安徽面試試題及答案
- 2025年信息類閱讀測試題及答案
- 建筑材料復(fù)習(xí)復(fù)習(xí)測試題
- 華銀運郵應(yīng)知應(yīng)會復(fù)習(xí)測試題
- 化學(xué)檢驗工職業(yè)技能鑒定復(fù)習(xí)試題有答案
- 2025年下夜班培訓(xùn)考試題及答案
- 2025年物業(yè)管理財務(wù)試題及答案
- ALeader 阿立得 ALD515使用手冊
- 神華陜西國華錦界電廠三期工程環(huán)評報告
- 飛行員航空知識手冊
- GB/Z 19848-2005液壓元件從制造到安裝達(dá)到和控制清潔度的指南
- GB/T 34936-2017光伏發(fā)電站匯流箱技術(shù)要求
- GB/T 12618.4-2006開口型平圓頭抽芯鉚釘51級
- 紅金大氣商務(wù)風(fēng)領(lǐng)導(dǎo)歡迎會PPT通用模板
- 學(xué)前教育學(xué)00383-歷年真題-試卷
- 第二章農(nóng)業(yè)信息采集與處理課件
- 規(guī)劃建筑設(shè)計任務(wù)書模板
- 淡馬錫模式解讀匯總課件
評論
0/150
提交評論