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

下載本文檔

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

文檔簡介

第十五講

控制功能指令控制功能指令

程序控制指令用于對程序流轉(zhuǎn)的控制,可以控制程序的結(jié)束、分支、循環(huán)、子程序或中斷程序調(diào)用等。通過程序控制指令的合理應(yīng)用,可以使程序結(jié)構(gòu)靈活、層次分明,增強(qiáng)程序功能。讀轉(zhuǎn)換開關(guān)位置指令I(lǐng)/O控制指令主控繼電器指令跳轉(zhuǎn)指令循環(huán)指令子程序中斷程序轉(zhuǎn)鼓指令思考:使用帶參數(shù)的子程序?qū)崿F(xiàn)一位數(shù)加法計(jì)算器計(jì)算結(jié)果的顯示:(1)計(jì)算結(jié)果存放在%R00001中,數(shù)據(jù)類型為INT型;(2)第一個數(shù)碼管顯示計(jì)算結(jié)果的十位數(shù),第二個數(shù)碼管顯示計(jì)算結(jié)果的個位數(shù)。I/O分配表輸入功能說明輸出功能說明I00201數(shù)字1按鈕Q00001個位數(shù)數(shù)碼管a段I00202數(shù)字2按鈕Q00002個位數(shù)數(shù)碼管b段I00203數(shù)字3按鈕Q00003個位數(shù)數(shù)碼管c段I00204數(shù)字4按鈕Q00004個位數(shù)數(shù)碼管d段I00205數(shù)字5按鈕Q00005個位數(shù)數(shù)碼管e段I00206數(shù)字6按鈕Q00006個位數(shù)數(shù)碼管f段I00207數(shù)字7按鈕Q00007個位數(shù)數(shù)碼管g段I00208數(shù)字8按鈕Q00008-Q00014十位數(shù)a段-g段I00209數(shù)字9按鈕I00210數(shù)字0按鈕I00211+(加)號I00215=(等號)號分析:DDCCBBAA數(shù)碼管顯示0000M100001M110010M120011M130100M140101M150110M160111M171000M181001M191、編寫數(shù)字顯示子程序

第一步:BCD譯為一個位變量

第二步:位變量譯為數(shù)碼管顯示碼分析:0123456789輸出M10M11M12M13M14M15M16M17M18M19aa√√√√√√√√bb√√√√√√√√cc√√√√√√√√√dd√√√√√√√ee√√√√ff√√√√√√gg√√√√√√√參考子程序:參考主程序:參考主程序:7.中斷程序1)由CPU產(chǎn)生,中斷的時間間隔由用戶指定。如果設(shè)定了初始延時,則在完成停止-運(yùn)行轉(zhuǎn)換并經(jīng)過初始延時時間后,開始計(jì)算中斷時間。2)I/O中斷由I/O模塊發(fā)出,I/O中斷用于指示離散輸入狀態(tài)的改變(上升沿/下降沿),模擬量范圍限制(高/低報(bào)警)和高速計(jì)數(shù)器事件。3)模塊中斷由VME模塊產(chǎn)生。每個模塊支持單個中斷。注意:中斷驅(qū)動塊執(zhí)行后能中斷非中斷驅(qū)動塊的執(zhí)行。如果正在中斷的邏輯和已中斷的邏輯訪問相同的數(shù)據(jù),會產(chǎn)生不可預(yù)期的錯誤。需要的話,在共享數(shù)據(jù)正在被訪問時,服務(wù)請求程序17或服務(wù)請求程序32可以臨時屏蔽I/O和定時中斷程序的執(zhí)行。用于啟動程序塊的3種中斷類型中斷程序中斷設(shè)置

定時中斷塊第一次執(zhí)行的時間為:CPU進(jìn)入運(yùn)行模式后((延時*時間基準(zhǔn))+(時間間隔*時間基準(zhǔn)))時間基準(zhǔn)(TimeBase)設(shè)定的時間間隔和延時的最小時間單元。時間基準(zhǔn)可以設(shè)定為1秒,0.1秒和0.001秒時間間隔(Interval)設(shè)定值*時間基準(zhǔn)后,得到的值為程序塊兩次執(zhí)行的時間間隔延時(Delay)

(可選擇)設(shè)定值*時間基準(zhǔn)后,得到的值為延時多長時間開始第一次執(zhí)行程序塊1)定時中斷:系統(tǒng)上電后定期執(zhí)行的中斷程序塊中斷設(shè)置

程序塊可以由某些硬件輸入的中斷信號觸發(fā)。例如,24VDC,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即可。3)模塊中斷舉例:完成功能:輸出繼電器Q00001以1秒為周期通斷。思考:主程序?yàn)槿缦绿菪螆D時繪制Q00001的時序。并編程計(jì)算掃描周期優(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)的程序塊。如果接收到的中斷級別等同于正在執(zhí)行的程序塊的中斷級別,則繼續(xù)執(zhí)行當(dāng)前程序塊。將新收到的中斷放入隊(duì)列中。如果接收到的中斷級別低于正在執(zhí)行的程序塊的中斷級別,則將新收到的中斷放入隊(duì)列中。返回8.轉(zhuǎn)鼓指令

Drum功能塊象機(jī)械轉(zhuǎn)鼓排序一樣。轉(zhuǎn)鼓排序器在一組潛在輸出位組之間移步,然后選擇其中基于輸入的一個進(jìn)功能塊。選擇的值被復(fù)制到一組16位離散的輸出基準(zhǔn)地址。機(jī)械轉(zhuǎn)鼓

轉(zhuǎn)鼓指令操作數(shù)功能許用操作數(shù)描述????R,P,L,W,符號地址(控制塊)一個包含轉(zhuǎn)鼓排序器控制塊的5字?jǐn)?shù)組的起始地址??刂茐K的內(nèi)容將在下面敘述。??常數(shù)(長度)步數(shù)的指定值,在1到128之間。??≤樣本長度

S流

步數(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)最后一個活動步值。程序軟件不能自動生成字組,必須給PTN提供足夠的內(nèi)存空間。轉(zhuǎn)鼓指令操作數(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ù)。(故障超時)如果使用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ù)描述DRC除了S之外的任何操作數(shù)。(Drum線圈)只要功能塊使能激活,活動步不等于預(yù)設(shè)步,DRC置位。DTO除了常數(shù)和S之外的任何操作數(shù)。停頓超時用DTO操作數(shù),也必須使用DT操作數(shù),反之亦然。當(dāng)前步的暫停時間一到,DTO被置位。TFT同上(超時)如果使用TFT操作數(shù),也必須使用FTT操作數(shù),反之亦然。如果DRUM功能塊在處于一個特殊步長于該步的故障暫停時間,TFT被置位。FF同上(首位跟蹤)存儲器的(Length/8+1)字節(jié)起始地址,這里的Length就是步數(shù)。如果MOD(Length/8+1)>0,F(xiàn)F有(Length/8+1)個字節(jié)。FF里字節(jié)的位每個位對應(yīng)PTN的一個字。只是FF里字節(jié)的位任何時候只有一個是ON,該位對應(yīng)活動步的值。第一位對應(yīng)活動步1的值,最后一個使用的位對應(yīng)指定活動步的值。轉(zhuǎn)鼓指令控制塊說明Address????活動步

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

提交評論