




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第 十四十四 講講 控制功能指令控制功能指令控制功能指令 程序控制指令用于對程序流轉(zhuǎn)的控制,可以控制程序的結(jié)束、分支、循環(huán)、子程序或中斷程序調(diào)用等。通過程序控制指令的合理應用,可以使程序結(jié)構(gòu)靈活、層次分明,增強程序功能。讀轉(zhuǎn)換開關位置指令讀轉(zhuǎn)換開關位置指令I/O控制指令控制指令主控繼電器指令主控繼電器指令跳轉(zhuǎn)指令跳轉(zhuǎn)指令循環(huán)指令循環(huán)指令子程序子程序中斷程序中斷程序轉(zhuǎn)鼓指令轉(zhuǎn)鼓指令1. 讀轉(zhuǎn)換開關位置指令讀轉(zhuǎn)換開關位置指令 讀轉(zhuǎn)換器位置(SWITCH_POS) 允許邏輯讀RUN/STOP 轉(zhuǎn)換器的當前位置,以及轉(zhuǎn)換器配置模式。 功能功能許用操作數(shù)許用操作數(shù)描述描述POS除了 S, SA, SB
2、, SC 之外任何操作數(shù)寫進當前轉(zhuǎn)換器位置值的存儲單元:1 - 運行 I/O 激活2 - 運行 I/O 不激活3 - 停止模式MODE除了 S, SA, SB, SC 之外任何操作數(shù)寫進轉(zhuǎn)換器配置值的存儲單元0 轉(zhuǎn)換器配置不支持1 轉(zhuǎn)換器控制運行/停止模式2 轉(zhuǎn)換器不用,或由擁護申請使用3 轉(zhuǎn)換器控制存儲保護,或運行/停止模式S返回2. I/O控制指令控制指令當當DO I/O (DO_IO) DO I/O (DO_IO) 接收能流,在程接收能流,在程序運行時,每次掃描就刷新輸入或輸出序運行時,每次掃描就刷新輸入或輸出點。除了正常的點。除了正常的I/OI/O掃描外,在程序執(zhí)行掃描外,在程序執(zhí)行期
3、間也可以利用期間也可以利用DO_IODO_IO功能刷新其所選擇功能刷新其所選擇的的I/OI/O。如果輸出指定,如果輸出指定,DO_IODO_IO根據(jù)存儲在根據(jù)存儲在I/O I/O 存儲器中最新值刷新輸出。在整個存儲器中最新值刷新輸出。在整個I/O I/O 模塊增量范圍內(nèi)使用模塊增量范圍內(nèi)使用I/OI/O;如有必要,在;如有必要,在DO_IODO_IO執(zhí)行期間,執(zhí)行期間,PLCPLC調(diào)整基準點。調(diào)整基準點。暫停暫停I/O (SUS_IO)I/O (SUS_IO)功能塊在一個功能塊在一個CPU CPU 掃描中出現(xiàn)事故時停止正常掃描中出現(xiàn)事故時停止正常I/OI/O掃描。在掃描。在下次輸出掃描期間,保
4、持所有輸出的當下次輸出掃描期間,保持所有輸出的當前狀態(tài)。在下次輸入掃描期間,輸入數(shù)前狀態(tài)。在下次輸入掃描期間,輸入數(shù)據(jù)刷新。據(jù)刷新??捎貌僮鲾?shù)參量參量許用操作數(shù)許用操作數(shù)描述描述STI, Q, AI, AQ被掃描的輸入或輸出點(字)組起始地址。ST和END必須在相同的存儲區(qū)域。注意:如果ST和END在BOOL量存儲器中,ST必須是字節(jié)組。那就是說,基準地址必須從(8n+1)開始,例如%I01, %Q09, %Q49。ENDI, Q, AI, AQ被掃描的輸入或輸出點的最后一位的地址。必須和ST在相同的存儲區(qū)域。注意:如果ST和END在BOOL量存儲器中,END的基準地址必須是8n ,例如%I0
5、8, %Q16ALTI, Q, M, T, G, R, AI, AQ對于一個輸入掃描,ALT指定地址來存儲掃描輸入點/字的值。對于一個輸出掃描,ALT從指定地址獲得輸出點/字的值發(fā)送到I/O模塊中。 注意:如果ST和END在模擬量存儲器中,ALT僅是一個WORD。應用舉例注意:n大部分使用DO_IO 和SUS_IO 的程序,把SUS_IO 功能塊放在第一梯級放在第一梯級,處理輸入的DO_IO 功能塊放在下一個梯級下一個梯級,處理輸出的DO_IO 功能塊放在最后一個梯級最后一個梯級。nDO_IO DO_IO 功能塊處理輸出點的范圍從功能塊處理輸出點的范圍從%Q00001 %Q00001 到到%Q
6、00030%Q00030。如果在這個范圍內(nèi)。如果在這個范圍內(nèi)的模塊是一個的模塊是一個3232點的模塊,點的模塊,DO_IO DO_IO 功能塊功能塊執(zhí)行對整個模塊的掃描,不會把執(zhí)行對整個模塊的掃描,不會把I/O I/O 模塊模塊從中間分開掃描。從中間分開掃描。 返回3、 主控繼電器指令主控繼電器指令(MCRN,END MCRN)3、 主控繼電器指令主控繼電器指令(MCRN,END MCRN)一個 MCRN 指令標志一個邏輯段的開始,執(zhí)行該邏輯段時斷開能流。一個MCRN 段的結(jié)束必須由一個和MCRN 同名的ENDMCRN 作記號。在邏輯里ENDMCRN 必須跟在相應的MCRN 后面。 ENDMC
7、RN 有一個名稱,用來識別及聯(lián)合相應的有一個名稱,用來識別及聯(lián)合相應的 MCRN 。 主控繼電器指令主控繼電器指令 在激活的MCRN 和相應的ENDMCRN 之間的所有梯級執(zhí)行時,有來自母線的負能流。 在主控繼電器范圍內(nèi)的功能塊執(zhí)行時,能流斷開,線圈關斷。 一個MCRN 強加下列控制: 定時器不計時。TMR 類型重置。對于一個ONDTR 功能塊,累加器保持原來的值。 正常輸出關斷,取反輸出接通。 在一個激活的主控繼電器范圍內(nèi)的子程序調(diào)用不執(zhí)行??墒?,在子程序內(nèi)的任一定時器連續(xù)不斷地計時。 舉例:主控繼電器的嵌套形式:主控繼電器的嵌套形式: 只要只要V_I0002V_I0002觸點觸點允許能流進
8、入允許能流進入MCRNMCRN功能塊,功能塊,程序執(zhí)行,能流不進入線程序執(zhí)行,能流不進入線圈,一直執(zhí)行到關聯(lián)的圈,一直執(zhí)行到關聯(lián)的ENDMCRNENDMCRN。如果。如果V_I0001V_I0001和和V_I0003V_I0003觸點為觸點為ONON,線圈,線圈V_Q0001V_Q0001關斷,關斷,SET SET 線圈線圈V_Q0003V_Q0003維持當前狀態(tài)。維持當前狀態(tài)。 返回4、 跳轉(zhuǎn)指令跳轉(zhuǎn)指令(JUMP,LABEL)一個JUMP指令將旁路邏輯程序的一部分。程序在同一個塊中指定的LABELN中連續(xù)執(zhí)行。能量流直接從JUMPN跳轉(zhuǎn)到由LABELN指定梯級。當跳轉(zhuǎn)激活時,在jump和l
9、abel之間的任何功能塊都不執(zhí)行。JUMPN有一個與之相關聯(lián)的有一個與之相關聯(lián)的LABELN。 跳轉(zhuǎn)指令跳轉(zhuǎn)指令跳轉(zhuǎn)指令性質(zhì): 在 JUMPN和與其相關的LABELN之間的所有線圈都保持它們先前的狀態(tài)。 與定時器、計數(shù)器、鎖存器和繼電器相關聯(lián)的線圈也保持它們先前的狀態(tài)。 任何JUMPN能向前跳轉(zhuǎn)也能向后跳轉(zhuǎn),也就是說,LABELN既能在前面梯級中也能在后面梯級中。LABELN必須在同一個塊中。 跳轉(zhuǎn)指令跳轉(zhuǎn)指令注意: 1)為了避免由向前或向后JUMPN指令建立一個死循環(huán),一個向后JUMPN應該包含一條有條件的路徑。 2)一個JUMPN 指令的右端不連接任何指令或語句。 3)多條跳轉(zhuǎn)指令可對應同
10、一標號,但不允許一個跳轉(zhuǎn)指令對應多個相同標號,即在程序中不能出現(xiàn)兩個相同的標號。 4)一個 JUMPN 與和它相關聯(lián)的LABELN 能放在程序的任何地方,只要JUMPN / LABELN 在下面的范圍內(nèi): 不與MCRN / ENDMCRN 對的范圍重疊 不與FOR_LOOP / END_FOR 對范圍重疊返回5. 循環(huán)指令循環(huán)指令FORLOOP,ENDFOR,EXITFOR循環(huán)指令循環(huán)指令FORLOOP,ENDFOR,EXITFORn 一個FOR_LOOP 可以通過設置一個負的增加量給下標變量遞減賦值 。n 當START 和END 的值設置相等,程序循環(huán)僅執(zhí)行一次。當START 的值不能增加/
11、減少到END 的值時,不執(zhí)行循環(huán)語句。 n 如果在第一次測試時,F(xiàn)OR_LOOP 指令的使能輸入有能流,在FOR 和相應的END_FOR 指令之間的梯級執(zhí)行循環(huán)的次數(shù)由START,END 和INCREMENT 最初指定值決定。這種重復執(zhí)行出現(xiàn)在PLC 單個掃描情況,如果循環(huán)周期長, 這種重復執(zhí)行可能導致看門狗定時器停止。 n 程序循環(huán)允許嵌套,但限制在5對FOR/END_FOR內(nèi)。 n 完全嵌套,也允許帶有JUMP和MCR的嵌套。 控制要求:使用自增、自減指令和數(shù)據(jù)指針,將%R00101%R00200中的數(shù)據(jù)逆序傳送到%R00301%R00400中。例. 數(shù)據(jù)逆序傳輸控制要求:使用自增、自減指
12、令和數(shù)據(jù)指針,將%R00001%R00030中的數(shù)據(jù)逆序傳送到%R00201%R00230中。例. 數(shù)據(jù)逆序傳輸返回參考程序6. 子程序子程序不帶參數(shù)調(diào)用子程序不帶參數(shù)調(diào)用子程序 帶參數(shù)調(diào)用子程序帶參數(shù)調(diào)用子程序子程序子程序新建一個梯形圖子程序新建一個梯形圖子程序修改子程序名修改子程序名根據(jù)需要可以新建幾個子程序(最多根據(jù)需要可以新建幾個子程序(最多512個)個)打開屬性窗打開屬性窗帶參數(shù)子程序與不帶參數(shù)子程序帶參數(shù)子程序與不帶參數(shù)子程序子程序子程序不帶參數(shù)調(diào)用子程序不帶參數(shù)調(diào)用子程序 帶參數(shù)調(diào)用子程序帶參數(shù)調(diào)用子程序子程序子程序注意:u 一個CALL功能塊能在任何程序塊中使用,包括_MAIN
13、塊或一個帶參數(shù)塊。但不能在一個外部塊中使用。u 不能調(diào)用一個_MAIN塊。u 執(zhí)行調(diào)用之前,被調(diào)用的塊必須存在。u 一個已知塊的調(diào)用和被調(diào)用的次數(shù)沒有限制。u 通過調(diào)用塊本身可以形成遞歸子程序。當堆棧容量配置為默認值(64K),PLC保證在“應用堆棧溢出”錯誤發(fā)生之前8個嵌套調(diào)用中最小一個調(diào)用。u 當一個程序塊、帶參模塊或外部C塊的Y0參數(shù)返回ON 時,CALL向右傳遞能流,當返回為OFF時,CALL不向右傳遞能流。例1 :使用子程序設計一彩燈控制程序?qū)崿F(xiàn)如下功能:設計一彩燈控制程序?qū)崿F(xiàn)如下功能: 前前 64s,16 個輸出個輸出(Q00001Q00016),初,初態(tài)為態(tài)為 Q00001閉合,
14、其他打開,依次從最低位到最高位閉合,其他打開,依次從最低位到最高位移位閉合,循環(huán)移位閉合,循環(huán)4次;次; 后后 64s,16 個輸出個輸出(Q00001Q00016),初,初態(tài)為態(tài)為 Q00016和和 Q00015 閉合,其它打開,依次從最高閉合,其它打開,依次從最高位到最低位兩兩移位閉合,循環(huán)位到最低位兩兩移位閉合,循環(huán) 8次。次。 程序:返回例2 :思考 :使用帶參數(shù)的子程序?qū)崿F(xiàn)一位數(shù)加法計算器計算結(jié)果使用帶參數(shù)的子程序?qū)崿F(xiàn)一位數(shù)加法計算器計算結(jié)果的顯示:的顯示:(1)計算結(jié)果存放在)計算結(jié)果存放在%R00001中,數(shù)據(jù)類型為中,數(shù)據(jù)類型為INT型;型;(2)第一個數(shù)碼管顯示計算結(jié)果的十位
15、數(shù),第二個)第一個數(shù)碼管顯示計算結(jié)果的十位數(shù),第二個數(shù)碼管顯示計算結(jié)果的個位數(shù)。數(shù)碼管顯示計算結(jié)果的個位數(shù)。7. 中斷程序中斷程序1 1)由)由CPUCPU產(chǎn)生,中斷的時間間隔由用戶指定。如果產(chǎn)生,中斷的時間間隔由用戶指定。如果設定了初始延時,則在完成停止設定了初始延時,則在完成停止- -運行轉(zhuǎn)換并經(jīng)過初始延運行轉(zhuǎn)換并經(jīng)過初始延時時間后,開始計算中斷時間。時時間后,開始計算中斷時間。2 2)I/OI/O中斷由中斷由I/OI/O模塊發(fā)出,模塊發(fā)出,I/OI/O中斷用于指示離散中斷用于指示離散輸入狀態(tài)的改變輸入狀態(tài)的改變( (上升沿上升沿/ /下降沿下降沿) ),模擬量范圍限制,模擬量范圍限制(
16、(高高/ /低報警低報警) )和高速計數(shù)器事件。和高速計數(shù)器事件。3 3)模塊中斷由)模塊中斷由VMEVME模塊產(chǎn)生。每個模塊支持單個中模塊產(chǎn)生。每個模塊支持單個中斷。斷。注意:注意:中斷驅(qū)動塊執(zhí)行后能中斷非中斷驅(qū)動塊的執(zhí)中斷驅(qū)動塊執(zhí)行后能中斷非中斷驅(qū)動塊的執(zhí)行。如果正在中斷的邏輯和已中斷的邏輯訪問相同的數(shù)行。如果正在中斷的邏輯和已中斷的邏輯訪問相同的數(shù)據(jù),會產(chǎn)生不可預期的錯誤。需要的話,在共享數(shù)據(jù)正據(jù),會產(chǎn)生不可預期的錯誤。需要的話,在共享數(shù)據(jù)正在被訪問時,服務請求程序在被訪問時,服務請求程序17 17 或服務請求程序或服務請求程序32 32 可以可以臨時屏蔽臨時屏蔽I/O I/O 和定時中
17、斷程序的執(zhí)行。和定時中斷程序的執(zhí)行。用于啟動程序塊的用于啟動程序塊的3 種中斷類型種中斷類型中斷程序中斷程序中斷設置中斷設置 定時中斷塊第一次執(zhí)行的時間為:CPU 進入運行模式后(延時*時間基準) + (時間間隔*時間基準)時間基準(Time Base)設定的時間間隔和延時的最小時間單元。時間基準可以設定為1 秒,0.1 秒和0.001 秒時間間隔(Interval)設定值*時間基準后,得到的值為程序塊兩次執(zhí)行的時間間隔延時(Delay) (可選擇)設定值*時間基準后,得到的值為延時多長時間開始第一次執(zhí)行程序塊1)定時中斷:系統(tǒng)上電后定期執(zhí)行的中斷程序塊)定時中斷:系統(tǒng)上電后定期執(zhí)行的中斷程序
18、塊中斷設置中斷設置 程序塊可以由某些硬件輸入的中斷信號觸發(fā)。例如,24 VDC,32 路的輸入模塊(IC697MDL650),不管輸入信號是上升沿還是下降沿,第一次輸入時都發(fā)出一個中斷。如果模塊配置中將中斷功能使能,則中斷可以觸發(fā)執(zhí)行一個程序塊。I/O 中斷在程序塊屬性欄中配置,觸發(fā)必須使用全局變量%I, %AI 或者%AQ。2)I/O 中斷中斷如果在模塊硬件配置中將VME 中斷參數(shù)使能,程序塊可以由VME 模塊輸入的中斷信號觸發(fā)。PAC 系統(tǒng)CPU 允許每個模塊有一個中斷。要配置模塊中斷,在程序塊屬性欄中標明模塊所在的機架/槽號/中斷ID即可。3)模塊中斷)模塊中斷舉例:完成功能:輸出繼電器Q00001以1秒為周期通斷。思考:思考:主程序為如下梯形主程序為如下梯形圖時繪制圖時繪制Q00001的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度盆栽養(yǎng)護管理及售后服務合同
- 二零二五年度解聘勞動合同補償標準及社會保險銜接協(xié)議
- 二零二五年度民事糾紛和解協(xié)議書(附爭議解決專家評審)
- 2025年度砸墻工程安全施工人員健康管理協(xié)議合同
- 2025年度綠色建筑合伙公司股權合作協(xié)議書
- 2025年度跨境電商市場調(diào)研商務合作協(xié)議書
- 2025年度液化氣價格調(diào)整與結(jié)算合作協(xié)議
- 二零二五年度綠色建筑項目融資合同
- 二零二五農(nóng)村宅基地買賣與農(nóng)村土地整治與生態(tài)保護合同
- 二零二五年度生活垃圾清運與廢棄物處理設施建設協(xié)議
- 江西2023年分宜九銀村鎮(zhèn)銀行社會招聘上岸提分題庫3套【500題帶答案含詳解】
- 一年級美術課后服務教案-1
- GB/T 22095-2008鑄鐵平板
- 《傲慢與偏見》讀書匯報
- 房屋信息查詢情況表((2022年-2023年))
- (演唱)在葡萄架下教學設計
- 室上性心動過速的鑒別診斷課件
- 蛋白質(zhì)纖維-纖維化學與物理課件
- 邊坡穩(wěn)定性計算書
- 婦科疾病 陰道炎 (婦產(chǎn)科學課件)
- 樂理講座:音程與和弦課件
評論
0/150
提交評論