版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、南 陽 理 工 學 院 可編程控制器GE(期末作業(yè)) 題 目: 班 級: 學 號: 姓 名: 完成日期 2015 年 5 月 RX3i CALL指令說明1一 CALL指令格式通過調(diào)用子程序(CALL)指令可以實現(xiàn)模塊化程的功能。CALL指令可以使程序轉(zhuǎn)入特定的子程序塊。如圖1所示。 圖1 CALL指令二 指令功能2.1 梯形圖2.1.1 無參數(shù)的調(diào)用打開Proficy Machine Ediion 的開發(fā)軟件環(huán)境,建立一個新的工程,點開編輯程序的 Logic,選用CALL指令,注意紅色標記的 CALL 指令。圖2 無參數(shù)的調(diào)用 2.1.2 帶參數(shù)調(diào)用可以調(diào)用一個帶參數(shù)的外部子程序或者一個參數(shù)子
2、程序,可以有7個輸入和8個輸出參數(shù)。 打開Proficy Machine Ediion 的開發(fā)軟件環(huán)境,建立一個新的工程,點開編輯程序的 Logic,進行編寫帶參數(shù)的程序,選用CALL指令。圖3 帶參數(shù)調(diào)用設置2.1.3帶參數(shù)調(diào)用子程序的參數(shù)設置 對帶有參數(shù)調(diào)用子程序的使用,PAC軟件中程序編寫應該注意設置參數(shù),結(jié)合自己編寫的程序來設置Inputs中的 Data Type(數(shù)據(jù)類型),Pass By(經(jīng)過)如圖4所示和Outputs 中的Data Type(數(shù)據(jù)類型)進行選定(注意圖片中紅色標記的為選擇設置內(nèi)容)。如圖5所示:圖4 Intputs參數(shù)的設置圖5 Outputs參數(shù)的設置2.1.
3、4 總結(jié)當CALL 功能塊接收能流,它將使邏輯執(zhí)行立即跳轉(zhuǎn)到目的程序塊,外部子程序(帶參數(shù)或無參數(shù)),或參數(shù)子程序并執(zhí)行。該子程序執(zhí)行結(jié)束后,控制立即返回在CALL 指令之后的原調(diào)用點。注意: 一個CALL功能塊能在任何程序塊中使用,包括_MAIN塊或一個帶參數(shù)塊。但不能在一個外部塊中使用。 不能調(diào)用一個_MAIN塊。 執(zhí)行調(diào)用之前,被調(diào)用的塊必須存在。 一個已知塊的調(diào)用和被調(diào)用的次數(shù)沒有限制。 通過調(diào)用塊本身可以形成遞歸子程序。當堆棧容量配置為默認值(64K),保證在“應用堆棧 溢出”錯誤發(fā)生之前8個嵌套調(diào)用中最小一個調(diào)用。 當一個程序塊、帶參模塊或外部C塊的Y0參數(shù)返回ON 時,CALL向
4、右傳遞能流,當返回為OFF時,CALL不向右傳遞能流。2.2 Call 操作數(shù)2.2.1 塊名稱: 圖6 CALL 塊名稱解釋:塊名稱,要跳轉(zhuǎn)到的塊名稱不能調(diào)用 _MAIN。一個程序塊或者一個帶參數(shù)能調(diào)用本身。2.2.2 用于帶參數(shù)塊調(diào)用輸入?yún)?shù)(0 - 7);輸出參數(shù)(1 - 8)2.2.2.1 關(guān)于外部(C)塊的注意:必須定義每個外部C 塊參數(shù)的TYPE, LENGTH,和NAME。有效數(shù)據(jù)類型,數(shù)據(jù)范圍和每個參數(shù)的存儲區(qū)域都在外部塊的寫文本中有規(guī)定。對任何參數(shù)數(shù)據(jù)流都是允許的。更多的信息見第6 章的外部塊部分。 2.2.2.2 關(guān)于帶參塊的注意 必須定義每個參數(shù)的TYPE, LENGTH
5、 和NAME。CALL 指令中的有效操作數(shù)包括變量、流和間接參考。輸入操作數(shù)也可以是常量。如果一個形式參數(shù)是一個BOOL 數(shù)組,且其長度是16 的倍數(shù),那么殘留在字組存儲器中的變量或數(shù)組可以作為一個操作數(shù)傳遞到帶參數(shù)塊中。例如,一個帶參數(shù)塊有一個數(shù)據(jù)類型為BIT,長度為48 的形式參數(shù)Y1,可以給Y1 送一個長度為3 的字組。對所有帶參數(shù)塊,BOOL 參數(shù)Y0 是自動定義的,可以用于帶參數(shù)塊的邏輯中。當帶參數(shù)塊暫停且Y0 是ON,CALL 向右傳遞能流。如果Y0 是OFF,CALL 斷開能流。帶參數(shù)塊不需要輸入和輸出的數(shù)量相同。2.3 如何調(diào)用程序子程序 在程序邏輯中_MAIN 塊和其他塊中調(diào)
6、用后,程序塊執(zhí)行。在本例中,LD_BLK1 一直被調(diào)用。可以設定程序塊的調(diào)用條件,在輸入量%I00500 和輸出量 %Q00100 為ON 時,調(diào)用LD_BLK2。如圖7所示。圖 7 調(diào)用子程序的設置2.4 嵌套調(diào)用只要有足夠的執(zhí)行站空間,CPU 就允許進行嵌套調(diào)用。如果沒有足夠的站空間支持程序塊調(diào)用,會產(chǎn)生一個”堆棧溢出”故障。這種情況下,CPU 不能執(zhí)行這個程序塊。CPU 會將這個模塊的所有二進制輸出設為FALSE,并且繼續(xù)執(zhí)行程序塊調(diào)用指令之后的程序。注意: 由兩種方式可以在沒有足夠堆??臻g時停掉CPU。最好的方法是增加程序邏輯來測試自診斷位%SA38,以檢測用戶程序是否發(fā)生故障。檢測到
7、故障后,可以用SVC_REQ 13 停掉CPU。另一個方式是增加邏輯檢測模塊沒有正確執(zhí)行的信號,然后調(diào)用SVC_REQ 13 停掉CPU。除了調(diào)用的模塊有特別多參數(shù)的情況,一般能支持8 層以上的調(diào)用。能進行多少層調(diào)用受幾個因素的影響,包括程序塊數(shù)據(jù)流量(非布爾型),程序塊調(diào)用的特殊功能以及這個塊中所定義的參數(shù)的類型和數(shù)量。如果程序塊沒有最大限度的使用堆棧資源,就有可能支持多于8層的嵌套調(diào)用。嵌套調(diào)用以_MAIN 塊為第1 層,如圖8所示:圖 8 嵌套調(diào)用的方式2.5 程序塊 PAC 系統(tǒng)支持的四種程序塊(如圖9所示):程序塊類型本地數(shù)型編程語言程序塊大小參數(shù)程序塊有自己的本地數(shù)據(jù)LDST128
8、 KB0 輸入1 輸出參數(shù)化程序塊從調(diào)用者那繼承本地數(shù)據(jù)LDST128 KB63 輸入64 輸出函數(shù)塊有自己的本地數(shù)據(jù)LDST128 KB63 輸入64 輸出內(nèi)部成員變量無限制外部塊從調(diào)用者那繼承本地數(shù)據(jù)C用戶內(nèi)存容量極限(10 MB)63 輸入64 輸出圖 9 程序塊PAC 系統(tǒng)程序塊類型自動提供1 個OK 輸出參數(shù).用來顯示模塊中的OK 參數(shù)的名稱為Y0。程序塊內(nèi)的邏輯可以讀寫Y0 參數(shù)。程序塊調(diào)用時,Y0 參數(shù)自動的初始化為TRUE。除非在程序塊內(nèi)將Y0 設為FALSE,否則調(diào)用的程序執(zhí)行完以后會有正電流從調(diào)用指令行輸出,對于所有的程序塊類型,輸入?yún)?shù)的最大數(shù)量都比輸出參數(shù)的最大數(shù)量少1
9、 個。因為程序塊的使能輸入不算做一個參數(shù)。這個輸入被LD 語言用來確定是否調(diào)用這個程序塊,但是即使這個塊被調(diào)用,使能也不作為一個參數(shù)進入這個模塊。模塊結(jié)構(gòu)的程序執(zhí)行時,_MAIN 塊自動執(zhí)行。其他塊由_MAIN 塊,其他塊或者自身的程序調(diào)用執(zhí)行。下面例子中,%M00001 為ON 時,執(zhí)行ProcessEGD 程序塊(圖10):圖 10 ProcessEGD 程序塊2.6 CALL指令執(zhí)行如下功能(圖11): 圖11 CALL 指令執(zhí)行功能RX3i CALL指令應用舉例三 指令舉例例一: 利用子程序的調(diào)用實現(xiàn)如下功能(不帶參數(shù)的子程序調(diào)用):(1)4個輸出(Q00001Q00004),初態(tài)為四
10、個輸出均閉合(2)當I00001閉合,Q00001接通;(3)當I00002閉合,Q00002接通;(4)當I00003閉合,Q00003接通;(5)當I00004閉合,Q00004接通;1.1 在PME軟件中引入子程序的方法:在鼠標點擊Logic之后右擊Program Block,接著把鼠標移動到New上選擇LD Block,子程序的模塊即會出現(xiàn)。如下圖:圖1-1 PME軟件中子程序的引入方法1.2 以1.1的方法分別引入子程序G1,G2,G3,G4.并鏈接梯形圖:當主函數(shù)調(diào)用子程序G1時,Q00001接通,Q00002、QQ00003、Q00004復位。圖1-2 子程序G1的梯形圖當主函數(shù)
11、調(diào)用子程序G2,Q00002接通,Q00001、QQ00003、Q00004復位。圖1-3 子程序G2的梯形圖當主函數(shù)調(diào)用子程序G3,Q00003接通,Q00001、QQ00002、Q00004復位。圖1-4 子程序G3的梯形圖當主函數(shù)調(diào)用子程序G4,Q00004接通,Q00001、QQ00002、Q00003復位。圖1-5 子程序G4的梯形圖當接通I00001,調(diào)用子程序G1;當接通I00002,調(diào)用子程序G2;當接通I00003,調(diào)用子程序G3;當接通I00004,調(diào)用子程序G4。圖1-6 主程序1.3 以調(diào)用子程序G3為例,以下是主程序和子程序的運行結(jié)果:主程序:注釋:當I00003接通
12、時,調(diào)用子程序G3子程序G1:注釋:當I00003接通時,子程序G1中Q00001,Q00002,Q00004復位(如上圖)。子程序G2:注釋:當I00003接通時,子程序G2中Q00001,Q00002,Q00004復位(如上圖)。子程序G3:注釋:當I00003接通時,子程序G3中Q00001,Q00002,Q00004復位,Q00003置位(如上圖)。子程序G4:注釋:當I00003接通時,子程序G4中Q00001,Q00002,Q00004復位(如上圖)。例二: 彩燈控制程序?qū)崿F(xiàn)如下功能(不帶參數(shù)的子程序調(diào)用): (1)前 64s,16 個輸出(Q00001Q00016),初態(tài)為 Q0
13、0001閉合,其他打開,依次從最低位到最高位移位閉合,循環(huán)4次;(2)后 64s,16 個輸出(Q00001Q00016),初態(tài)為 Q00016和 Q00015 閉合,其它打開,依次從最高位到最低位兩兩移位閉合,循環(huán) 8次。2.1 子程序梯形圖的建立: 在子程序init中,把數(shù)據(jù)1通過MOVE指令給R00100,把16#c000通過MOVE指令給R00102.在子程序youflash中,實現(xiàn)R00100的右移移動長度為1。建立子程序zuoflash,實現(xiàn)R00102的左移,移動長度為2。主程序中,程序運行開始首先調(diào)用此程序init,I00001接通,定時器定時,I00002接通,開始調(diào)用子程序。2.2 運行結(jié)果如下子程序init:子程序youflash:子程序zuoflash:主程序:例三: 實現(xiàn)數(shù)學運算等式:6+8+12+10)/2=18(帶參數(shù)的子程序調(diào)用):3.1 程序分析:在帶參數(shù)的子程序調(diào)用中,對梯形圖編輯時,先在子程序中建立參數(shù),再對子程序參數(shù)進行編輯,最后再在主程序中引入程序塊。注釋:數(shù)據(jù)傳遞,并實現(xiàn)數(shù)學運算3.2 參數(shù)子程序調(diào)用,參數(shù)的設置:在對子程序的梯形圖設計完畢之后,接著是對子程序調(diào)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44463-2024互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)總體技術(shù)要求
- GB/T 3516-2024橡膠溶劑抽出物的測定
- GB/T 19274-2024土工合成材料塑料土工格室
- 2024年度云南省高校教師資格證之高等教育法規(guī)過關(guān)檢測試卷A卷附答案
- 數(shù)據(jù)中心運營管理方案
- 2024年碳化硅磨塊項目投資申請報告代可行性研究報告
- 贛南師范大學《化工制圖》2023-2024學年第一學期期末試卷
- 航道疏浚勞務分包工程方案(技術(shù)方案)(兩套)
- 阜陽師范大學《物流管理專業(yè)導論》2021-2022學年第一學期期末試卷
- 阜陽師范大學《編譯原理》2021-2022學年第一學期期末試卷
- 2024年認證行業(yè)法律法規(guī)及認證基礎(chǔ)知識
- MBA考試《英語》歷年真題和解析答案
- 2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(97分)
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 《船舶柴油機》教案48頁
- 開盤八法概述
- 強制醫(yī)療三道待解難題
- K-90B聯(lián)機熱泵控制板規(guī)格書
- 佛山佛羅倫薩小鎮(zhèn)市調(diào)報告課堂PPT
- 汽車四輪定位的探討
- 弟子規(guī)正版全文-帶拼音-直接打印版
評論
0/150
提交評論