GEPLC第15講 控制功能指令2_第1頁
GEPLC第15講 控制功能指令2_第2頁
GEPLC第15講 控制功能指令2_第3頁
GEPLC第15講 控制功能指令2_第4頁
GEPLC第15講 控制功能指令2_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第 十五十五 講講 控制功能指令控制功能指令控制功能指令 程序控制指令用于對程序流轉(zhuǎn)的控制,可以控制程序的結(jié)束、分支、循環(huán)、子程序或中斷程序調(diào)用等。通過程序控制指令的合理應(yīng)用,可以使程序結(jié)構(gòu)靈活、層次分明,增強(qiáng)程序功能。1. 讀轉(zhuǎn)換開關(guān)位置指令讀轉(zhuǎn)換開關(guān)位置指令2. I/O控制指令控制指令3. 主控繼電器指令主控繼電器指令4. 跳轉(zhuǎn)指令跳轉(zhuǎn)指令5. 循環(huán)指令循環(huán)指令6. 子程序子程序7. 中斷程序中斷程序8. 轉(zhuǎn)鼓指令轉(zhuǎn)鼓指令思考:使用帶參數(shù)的子程序?qū)崿F(xiàn)一位數(shù)加法計(jì)算器計(jì)算結(jié)果使用帶參數(shù)的子程序?qū)崿F(xiàn)一位數(shù)加法計(jì)算器計(jì)算結(jié)果的顯示:的顯示:(1)計(jì)算結(jié)果存放在)計(jì)算結(jié)果存放在%R00001中,

2、數(shù)據(jù)類型為中,數(shù)據(jù)類型為INT型;型;(2)第一個數(shù)碼管顯示計(jì)算結(jié)果的十位數(shù),第二個)第一個數(shù)碼管顯示計(jì)算結(jié)果的十位數(shù),第二個數(shù)碼管顯示計(jì)算結(jié)果的個位數(shù)。數(shù)碼管顯示計(jì)算結(jié)果的個位數(shù)。I/O分配表輸入輸入功能說明功能說明輸出輸出功能說明功能說明I00201I00201數(shù)字?jǐn)?shù)字1 1按鈕按鈕Q00001Q00001個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管a a段段I00202I00202數(shù)字?jǐn)?shù)字2 2按鈕按鈕Q00002Q00002個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管b b段段I00203I00203數(shù)字?jǐn)?shù)字3 3按鈕按鈕Q00003Q00003個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管c c段段I00204I00204數(shù)字?jǐn)?shù)字4 4按鈕按鈕

3、Q00004Q00004個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管d d段段I00205I00205數(shù)字?jǐn)?shù)字5 5按鈕按鈕Q00005Q00005個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管e e段段I00206I00206數(shù)字?jǐn)?shù)字6 6按鈕按鈕Q00006Q00006個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管f f段段I00207I00207數(shù)字?jǐn)?shù)字7 7按鈕按鈕Q00007Q00007個位數(shù)數(shù)碼管個位數(shù)數(shù)碼管g g段段I00208I00208數(shù)字?jǐn)?shù)字8 8按鈕按鈕Q00008Q00008Q00014Q00014十位數(shù)十位數(shù)a a段段g g段段I00209I00209數(shù)字?jǐn)?shù)字9 9按鈕按鈕I00210I00210數(shù)字?jǐn)?shù)字0 0按鈕按鈕I00211

4、I00211+ +(加)號(加)號I00215I00215= =(等號)號(等號)號分析:DDDDCCCCBBBBAAAA數(shù)碼管數(shù)碼管顯示顯示0 00 00 00 0M100 00 00 01 1M110 00 01 10 0M120 00 01 11 1M130 01 10 00 0M140 01 10 01 1M150 01 11 10 0M160 01 11 11 1M171 10 00 00 0M181 10 00 01 1M191、編寫數(shù)字顯、編寫數(shù)字顯示子程序示子程序第一步:第一步:BCD譯譯為一個位變量為一個位變量第二步:位變量第二步:位變量譯為數(shù)碼管顯示譯為數(shù)碼管顯示碼碼分析分

5、析:0123456789輸出輸出M10M11M12M13M14M15M16M17M18M19aabbccddeeffgg參考子程序:參考主程序:參考主程序:7. 中斷程序中斷程序1 1)由)由CPUCPU產(chǎn)生,中斷的時間間隔由用戶指定。如果產(chǎn)生,中斷的時間間隔由用戶指定。如果設(shè)定了初始延時,則在完成停止設(shè)定了初始延時,則在完成停止- -運(yùn)行轉(zhuǎn)換并經(jīng)過初始延運(yùn)行轉(zhuǎn)換并經(jīng)過初始延時時間后,開始計(jì)算中斷時間。時時間后,開始計(jì)算中斷時間。2 2)I/OI/O中斷由中斷由I/OI/O模塊發(fā)出,模塊發(fā)出,I/OI/O中斷用于指示離散中斷用于指示離散輸入狀態(tài)的改變輸入狀態(tài)的改變( (上升沿上升沿/ /下降沿

6、下降沿) ),模擬量范圍限制,模擬量范圍限制( (高高/ /低報警低報警) )和高速計(jì)數(shù)器事件。和高速計(jì)數(shù)器事件。3 3)模塊中斷由)模塊中斷由VMEVME模塊產(chǎn)生。每個模塊支持單個中模塊產(chǎn)生。每個模塊支持單個中斷。斷。注意:注意:中斷驅(qū)動塊執(zhí)行后能中斷非中斷驅(qū)動塊的執(zhí)中斷驅(qū)動塊執(zhí)行后能中斷非中斷驅(qū)動塊的執(zhí)行。如果正在中斷的邏輯和已中斷的邏輯訪問相同的數(shù)行。如果正在中斷的邏輯和已中斷的邏輯訪問相同的數(shù)據(jù),會產(chǎn)生不可預(yù)期的錯誤。需要的話,在共享數(shù)據(jù)正據(jù),會產(chǎn)生不可預(yù)期的錯誤。需要的話,在共享數(shù)據(jù)正在被訪問時,服務(wù)請求程序在被訪問時,服務(wù)請求程序17 17 或服務(wù)請求程序或服務(wù)請求程序32 32

7、可以可以臨時屏蔽臨時屏蔽I/O I/O 和定時中斷程序的執(zhí)行。和定時中斷程序的執(zhí)行。用于啟動程序塊的用于啟動程序塊的3 種中斷類型種中斷類型中斷程序中斷程序中斷設(shè)置中斷設(shè)置 定時中斷塊第一次執(zhí)行的時間為:CPU 進(jìn)入運(yùn)行模式后(延時*時間基準(zhǔn)) + (時間間隔*時間基準(zhǔn))時間基準(zhǔn)(Time Base)設(shè)定的時間間隔和延時的最小時間單元。時間基準(zhǔn)可以設(shè)定為1 秒,0.1 秒和0.001 秒時間間隔(Interval)設(shè)定值*時間基準(zhǔn)后,得到的值為程序塊兩次執(zhí)行的時間間隔延時(Delay) (可選擇)設(shè)定值*時間基準(zhǔn)后,得到的值為延時多長時間開始第一次執(zhí)行程序塊1)定時中斷:系統(tǒng)上電后定期執(zhí)行的中

8、斷程序塊)定時中斷:系統(tǒng)上電后定期執(zhí)行的中斷程序塊中斷設(shè)置中斷設(shè)置 程序塊可以由某些硬件輸入的中斷信號觸發(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 允許每個模塊有一個中斷。要配置模塊中斷,在程序塊屬性欄中標(biāo)明模塊所在的機(jī)架/槽號/中斷ID即可。

9、3)模塊中斷)模塊中斷舉例:完成功能:輸出繼電器Q00001以1秒為周期通斷。思考:思考:主程序?yàn)槿缦绿菪沃鞒绦驗(yàn)槿缦绿菪螆D時繪制圖時繪制Q00001的時序。的時序。并編程計(jì)算掃描周期并編程計(jì)算掃描周期優(yōu)先級程序塊時序優(yōu)先級程序塊時序優(yōu)先級時序允許你為每一個觸發(fā)指定一個優(yōu)先級。優(yōu)先級數(shù)值范圍為1-16,1優(yōu)先級最高。單個模塊可以有多個優(yōu)先級不同的中斷,也可以有多個優(yōu)先級相同的中斷。將接收到的中斷級別和正在執(zhí)行的程序塊的中斷級別進(jìn)行比較后,會按如下方式執(zhí)行程序:如果接收到的中斷級別高于正在執(zhí)行的程序塊的中斷級別,則停止執(zhí)行當(dāng)前程序塊,轉(zhuǎn)而執(zhí)行和新收到的中斷相關(guān)的程序塊。如果接收到的中斷級別等同于

10、正在執(zhí)行的程序塊的中斷級別,則繼續(xù)執(zhí)行當(dāng)前程序塊。將新收到的中斷放入隊(duì)列中。如果接收到的中斷級別低于正在執(zhí)行的程序塊的中斷級別,則將新收到的中斷放入隊(duì)列中。返回8. 轉(zhuǎn)鼓指令轉(zhuǎn)鼓指令 Drum 功能塊象機(jī)械轉(zhuǎn)鼓排序一樣。轉(zhuǎn)鼓排序器在一組潛在輸出位組之間移步,然后選擇其中基于輸入的一個進(jìn)功能塊。選擇的值被復(fù)制到一組16 位離散的輸出基準(zhǔn)地址。 機(jī)械轉(zhuǎn)鼓機(jī)械轉(zhuǎn)鼓 轉(zhuǎn)鼓指令操作數(shù)功能功能許用許用操作數(shù)操作數(shù)描述描述?R, P, L, W, 符號地址(控制塊) 一個包含轉(zhuǎn)鼓排序器控制塊的5字?jǐn)?shù)組的起始地址??刂茐K的內(nèi)容將在下面敘述。?常數(shù)(長度)步數(shù)的指定值,在1到 128之間。?樣本長度樣本長度 S

11、流 步數(shù)輸入端。用于正向順序進(jìn)入下一步。當(dāng)功能塊接收到能流,S 從 OFF 到 ON 跳變,轉(zhuǎn)鼓排序器移動一步。當(dāng)R激活,功能塊忽略S。 R流 復(fù)位輸入端。用于選擇指定順序中的步數(shù)。當(dāng)DRUM和 R都接收到能流,DRUM復(fù)制控制塊中的預(yù)設(shè)步數(shù)到控制塊的活動步地址里。然后,功能塊復(fù)制預(yù)設(shè)步地址中的值到Q地址的位里。當(dāng)R激活,功能塊忽略S。 PTN除常數(shù)和S、SA-SC數(shù)字量數(shù)據(jù)之外的任何操作數(shù)。 (樣本) 字組的起始地址。字?jǐn)?shù)由長度(?)操作數(shù)指定。每個字表示一步。對于控制塊中活動步字的值表示設(shè)想的控制塊中活動步的特值輸出組合。第一個元素對應(yīng)第一個活動步值,最后一個元素對應(yīng)最后一個活動步值。程序

12、軟件不能自動生成字組,必須給PTN提供足夠的內(nèi)存空間。轉(zhuǎn)鼓指令操作數(shù)功能功能許用許用操作數(shù)操作數(shù)描述描述DT除了常數(shù)和S、SA-SC數(shù)字量數(shù)據(jù)之外的任何操作數(shù)。(暫停時間 )使用DT操作數(shù),也必須使用DTO操作數(shù),反之亦然。DT操作數(shù)是存儲器的字長的起始地址。這里的長度就是步數(shù)。每個DT字對應(yīng)一個PTN字。每個字的值表示對應(yīng)轉(zhuǎn)鼓排序器對應(yīng)步的停留時間,單位是0.1秒。給定步的停留時間一到, DTO位置位。 如果暫停時間固定,轉(zhuǎn)鼓排序器要等停留時間到才能進(jìn)入下一步。程序軟件不能自動生成字組,必須給DT提供足夠的內(nèi)存空間。FTT除了常數(shù)和S、SA-SC數(shù)字量數(shù)據(jù)之外的任何操作數(shù)。(故障超時)如果使

13、用FTT操作數(shù),也必須使用TFT操作數(shù),反之亦然。FTT操作數(shù)是存儲器的字長的起始地址。這里的長度就是步數(shù)。每個FTT字對應(yīng)一個PTN字。每個字的值表示對應(yīng)轉(zhuǎn)鼓排序器對應(yīng)步的故障暫停時間,單位始0.1秒。故障暫停時間一到,F(xiàn)TT位置位。程序軟件不能自動生成字組,必須給FTT提供足夠的內(nèi)存空間。Q除了常數(shù)和S之外的任何操作數(shù)。存儲器中一個字,包含對應(yīng)當(dāng)前活動步的PTN元素。 轉(zhuǎn)鼓指令操作數(shù)功能功能許用許用操作數(shù)操作數(shù)描述描述DRC除了S之外的任何操作數(shù)。(Drum 線圈 )只要功能塊使能激活,活動步不等于預(yù)設(shè)步,DRC置位。 DTO除了常數(shù)和S之外的任何操作數(shù)。停頓超時用DTO操作數(shù),也必須使用

14、DT操作數(shù),反之亦然。當(dāng)前步的暫停時間一到,DTO被置位。TFT同上(超時) 如果使用TFT操作數(shù),也必須使用FTT操作數(shù),反之亦然。如果DRUM功能塊在處于一個特殊步長于該步的故障暫停時間,TFT被置位。FF同上(首位跟蹤 )存儲器的(Length/8+1)字節(jié)字節(jié)起始地址,這里的Length就是步數(shù)。如果MOD(Length/8+1) 0,F(xiàn)F有(Length/8+1)個字節(jié)。FF里字節(jié)字節(jié)的位每個位對應(yīng)PTN的一個字。只是FF里字節(jié)的位任何時候只有一個是ON,該位對應(yīng)活動步的值。第一位對應(yīng)活動步1的值,最后一個使用的位對應(yīng)指定活動步的值。轉(zhuǎn)鼓指令控制塊說明Address?活動步 活動的值

15、指定樣本數(shù)組里的元素復(fù)制進(jìn)輸出存儲單元。該值作為進(jìn)入樣本、暫停時間、故障超時、和首位跟蹤操作數(shù)數(shù)組的索引使用??蓪懶桀A(yù)置address+1預(yù)設(shè)步 當(dāng)R為ON 時,復(fù)制進(jìn)活動步輸出的一個輸入字。可寫需預(yù)置address+2步控制 用于檢測 Step 輸入和Enable 輸入從OFF 到ON 跳變的一個字。步控制字留著供功能塊專用,必須不被寫進(jìn)。不可寫自動生成address+3定時器控制 兩個數(shù)據(jù)字,用于保存運(yùn)行定時器必須的值。定時器控制留著供功能塊專用,必須不被寫進(jìn)不可寫自動生成例:首先預(yù)置一些必要的數(shù)據(jù),即控制塊、樣首先預(yù)置一些必要的數(shù)據(jù),即控制塊、樣本、停頓超時、故障超時等數(shù)據(jù)本、停頓超時、

16、故障超時等數(shù)據(jù)。例:%R0100中放置控制塊數(shù)據(jù);中放置控制塊數(shù)據(jù);%R0200中為樣本數(shù)據(jù);中為樣本數(shù)據(jù);%R0300中為停頓超時數(shù)據(jù);中為停頓超時數(shù)據(jù);%R0400中為故障超時數(shù)據(jù)。中為故障超時數(shù)據(jù)。思考:使用轉(zhuǎn)鼓指令實(shí)現(xiàn),思考:使用轉(zhuǎn)鼓指令實(shí)現(xiàn),16位流水燈的顯示。要求,位流水燈的顯示。要求,16個個燈依次亮。燈依次亮。例:點(diǎn)陣顯示控制要求:在1616的點(diǎn)陣上顯示“GE”分析參考程序:返回思考:關(guān)于三臺電機(jī)啟動停止的問題:關(guān)于三臺電機(jī)啟動停止的問題:(1 1)用一個點(diǎn)動按鈕實(shí)現(xiàn)電機(jī)的啟動和停止控制,即:第一)用一個點(diǎn)動按鈕實(shí)現(xiàn)電機(jī)的啟動和停止控制,即:第一次按動按鈕,三臺電機(jī)分別隔次按動按鈕,三臺電機(jī)分別隔2 2秒順序啟動;第二按動按鈕,秒順序啟動;第二按動按鈕,三臺電機(jī)分別隔三臺電機(jī)分別隔2 2秒反序停止。秒反序停止。(2 2)第一次按動按鈕,第一臺電機(jī)啟動;)第一次按動按鈕,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論