版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第 十五十五 講講 控制功能指令控制功能指令控制功能指令 程序控制指令用于對(duì)程序流轉(zhuǎn)的控制,可以控制程序的結(jié)束、分支、循環(huán)、子程序或中斷程序調(diào)用等。通過(guò)程序控制指令的合理應(yīng)用,可以使程序結(jié)構(gòu)靈活、層次分明,增強(qiáng)程序功能。1. 讀轉(zhuǎn)換開(kāi)關(guān)位置指令讀轉(zhuǎn)換開(kāi)關(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)第一個(gè)數(shù)碼管顯示計(jì)算結(jié)果的十位數(shù),第二個(gè))第一個(gè)數(shù)碼管顯示計(jì)算結(jié)果的十位數(shù),第二個(gè)數(shù)碼管顯示計(jì)算結(jié)果的個(gè)位數(shù)。數(shù)碼管顯示計(jì)算結(jié)果的個(gè)位數(shù)。I/O分配表輸入輸入功能說(shuō)明功能說(shuō)明輸出輸出功能說(shuō)明功能說(shuō)明I00201I00201數(shù)字?jǐn)?shù)字1 1按鈕按鈕Q00001Q00001個(gè)位數(shù)數(shù)碼管個(gè)位數(shù)數(shù)碼管a a段段I00202I00202數(shù)字?jǐn)?shù)字2 2按鈕按鈕Q00002Q00002個(gè)位數(shù)數(shù)碼管個(gè)位數(shù)數(shù)碼管b b段段I00203I00203數(shù)字?jǐn)?shù)字3 3按鈕按鈕Q00003Q00003個(gè)位數(shù)數(shù)碼管個(gè)位數(shù)數(shù)碼管c c段段I00204I00204數(shù)字?jǐn)?shù)字4 4按鈕按鈕
3、Q00004Q00004個(gè)位數(shù)數(shù)碼管個(gè)位數(shù)數(shù)碼管d d段段I00205I00205數(shù)字?jǐn)?shù)字5 5按鈕按鈕Q00005Q00005個(gè)位數(shù)數(shù)碼管個(gè)位數(shù)數(shù)碼管e e段段I00206I00206數(shù)字?jǐn)?shù)字6 6按鈕按鈕Q00006Q00006個(gè)位數(shù)數(shù)碼管個(gè)位數(shù)數(shù)碼管f f段段I00207I00207數(shù)字?jǐn)?shù)字7 7按鈕按鈕Q00007Q00007個(gè)位數(shù)數(shù)碼管個(gè)位數(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+ +(加)號(hào)(加)號(hào)I00215I00215= =(等號(hào))號(hào)(等號(hào))號(hào)分析: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譯譯為一個(gè)位變量為一個(gè)位變量第二步:位變量第二步:位變量譯為數(shù)碼管顯示譯為數(shù)碼管顯示碼碼分析分
5、析:0123456789輸出輸出M10M11M12M13M14M15M16M17M18M19aabbccddeeffgg參考子程序:參考主程序:參考主程序:7. 中斷程序中斷程序1 1)由)由CPUCPU產(chǎn)生,中斷的時(shí)間間隔由用戶指定。如果產(chǎn)生,中斷的時(shí)間間隔由用戶指定。如果設(shè)定了初始延時(shí),則在完成停止設(shè)定了初始延時(shí),則在完成停止- -運(yùn)行轉(zhuǎn)換并經(jīng)過(guò)初始延運(yùn)行轉(zhuǎn)換并經(jīng)過(guò)初始延時(shí)時(shí)間后,開(kāi)始計(jì)算中斷時(shí)間。時(shí)時(shí)間后,開(kāi)始計(jì)算中斷時(shí)間。2 2)I/OI/O中斷由中斷由I/OI/O模塊發(fā)出,模塊發(fā)出,I/OI/O中斷用于指示離散中斷用于指示離散輸入狀態(tài)的改變輸入狀態(tài)的改變( (上升沿上升沿/ /下降沿
6、下降沿) ),模擬量范圍限制,模擬量范圍限制( (高高/ /低報(bào)警低報(bào)警) )和高速計(jì)數(shù)器事件。和高速計(jì)數(shù)器事件。3 3)模塊中斷由)模塊中斷由VMEVME模塊產(chǎn)生。每個(gè)模塊支持單個(gè)中模塊產(chǎn)生。每個(gè)模塊支持單個(gè)中斷。斷。注意:注意:中斷驅(qū)動(dòng)塊執(zhí)行后能中斷非中斷驅(qū)動(dòng)塊的執(zhí)中斷驅(qū)動(dòng)塊執(zhí)行后能中斷非中斷驅(qū)動(dòng)塊的執(zhí)行。如果正在中斷的邏輯和已中斷的邏輯訪問(wèn)相同的數(shù)行。如果正在中斷的邏輯和已中斷的邏輯訪問(wèn)相同的數(shù)據(jù),會(huì)產(chǎn)生不可預(yù)期的錯(cuò)誤。需要的話,在共享數(shù)據(jù)正據(jù),會(huì)產(chǎn)生不可預(yù)期的錯(cuò)誤。需要的話,在共享數(shù)據(jù)正在被訪問(wèn)時(shí),服務(wù)請(qǐng)求程序在被訪問(wèn)時(shí),服務(wù)請(qǐng)求程序17 17 或服務(wù)請(qǐng)求程序或服務(wù)請(qǐng)求程序32 32
7、可以可以臨時(shí)屏蔽臨時(shí)屏蔽I/O I/O 和定時(shí)中斷程序的執(zhí)行。和定時(shí)中斷程序的執(zhí)行。用于啟動(dòng)程序塊的用于啟動(dòng)程序塊的3 種中斷類型種中斷類型中斷程序中斷程序中斷設(shè)置中斷設(shè)置 定時(shí)中斷塊第一次執(zhí)行的時(shí)間為:CPU 進(jìn)入運(yùn)行模式后(延時(shí)*時(shí)間基準(zhǔn)) + (時(shí)間間隔*時(shí)間基準(zhǔn))時(shí)間基準(zhǔn)(Time Base)設(shè)定的時(shí)間間隔和延時(shí)的最小時(shí)間單元。時(shí)間基準(zhǔn)可以設(shè)定為1 秒,0.1 秒和0.001 秒時(shí)間間隔(Interval)設(shè)定值*時(shí)間基準(zhǔn)后,得到的值為程序塊兩次執(zhí)行的時(shí)間間隔延時(shí)(Delay) (可選擇)設(shè)定值*時(shí)間基準(zhǔn)后,得到的值為延時(shí)多長(zhǎng)時(shí)間開(kāi)始第一次執(zhí)行程序塊1)定時(shí)中斷:系統(tǒng)上電后定期執(zhí)行的中
8、斷程序塊)定時(shí)中斷:系統(tǒng)上電后定期執(zhí)行的中斷程序塊中斷設(shè)置中斷設(shè)置 程序塊可以由某些硬件輸入的中斷信號(hào)觸發(fā)。例如,24 VDC,32 路的輸入模塊(IC697MDL650),不管輸入信號(hào)是上升沿還是下降沿,第一次輸入時(shí)都發(fā)出一個(gè)中斷。如果模塊配置中將中斷功能使能,則中斷可以觸發(fā)執(zhí)行一個(gè)程序塊。I/O 中斷在程序塊屬性欄中配置,觸發(fā)必須使用全局變量%I, %AI 或者%AQ。2)I/O 中斷中斷如果在模塊硬件配置中將VME 中斷參數(shù)使能,程序塊可以由VME 模塊輸入的中斷信號(hào)觸發(fā)。PAC 系統(tǒng)CPU 允許每個(gè)模塊有一個(gè)中斷。要配置模塊中斷,在程序塊屬性欄中標(biāo)明模塊所在的機(jī)架/槽號(hào)/中斷ID即可。
9、3)模塊中斷)模塊中斷舉例:完成功能:輸出繼電器Q00001以1秒為周期通斷。思考:思考:主程序?yàn)槿缦绿菪沃鞒绦驗(yàn)槿缦绿菪螆D時(shí)繪制圖時(shí)繪制Q00001的時(shí)序。的時(shí)序。并編程計(jì)算掃描周期并編程計(jì)算掃描周期優(yōu)先級(jí)程序塊時(shí)序優(yōu)先級(jí)程序塊時(shí)序優(yōu)先級(jí)時(shí)序允許你為每一個(gè)觸發(fā)指定一個(gè)優(yōu)先級(jí)。優(yōu)先級(jí)數(shù)值范圍為1-16,1優(yōu)先級(jí)最高。單個(gè)模塊可以有多個(gè)優(yōu)先級(jí)不同的中斷,也可以有多個(gè)優(yōu)先級(jí)相同的中斷。將接收到的中斷級(jí)別和正在執(zhí)行的程序塊的中斷級(jí)別進(jìn)行比較后,會(huì)按如下方式執(zhí)行程序:如果接收到的中斷級(jí)別高于正在執(zhí)行的程序塊的中斷級(jí)別,則停止執(zhí)行當(dāng)前程序塊,轉(zhuǎn)而執(zhí)行和新收到的中斷相關(guān)的程序塊。如果接收到的中斷級(jí)別等同于
10、正在執(zhí)行的程序塊的中斷級(jí)別,則繼續(xù)執(zhí)行當(dāng)前程序塊。將新收到的中斷放入隊(duì)列中。如果接收到的中斷級(jí)別低于正在執(zhí)行的程序塊的中斷級(jí)別,則將新收到的中斷放入隊(duì)列中。返回8. 轉(zhuǎn)鼓指令轉(zhuǎn)鼓指令 Drum 功能塊象機(jī)械轉(zhuǎn)鼓排序一樣。轉(zhuǎn)鼓排序器在一組潛在輸出位組之間移步,然后選擇其中基于輸入的一個(gè)進(jìn)功能塊。選擇的值被復(fù)制到一組16 位離散的輸出基準(zhǔn)地址。 機(jī)械轉(zhuǎn)鼓機(jī)械轉(zhuǎn)鼓 轉(zhuǎn)鼓指令操作數(shù)功能功能許用許用操作數(shù)操作數(shù)描述描述?R, P, L, W, 符號(hào)地址(控制塊) 一個(gè)包含轉(zhuǎn)鼓排序器控制塊的5字?jǐn)?shù)組的起始地址??刂茐K的內(nèi)容將在下面敘述。?常數(shù)(長(zhǎng)度)步數(shù)的指定值,在1到 128之間。?樣本長(zhǎng)度樣本長(zhǎng)度 S
11、流 步數(shù)輸入端。用于正向順序進(jìn)入下一步。當(dāng)功能塊接收到能流,S 從 OFF 到 ON 跳變,轉(zhuǎn)鼓排序器移動(dòng)一步。當(dāng)R激活,功能塊忽略S。 R流 復(fù)位輸入端。用于選擇指定順序中的步數(shù)。當(dāng)DRUM和 R都接收到能流,DRUM復(fù)制控制塊中的預(yù)設(shè)步數(shù)到控制塊的活動(dòng)步地址里。然后,功能塊復(fù)制預(yù)設(shè)步地址中的值到Q地址的位里。當(dāng)R激活,功能塊忽略S。 PTN除常數(shù)和S、SA-SC數(shù)字量數(shù)據(jù)之外的任何操作數(shù)。 (樣本) 字組的起始地址。字?jǐn)?shù)由長(zhǎng)度(?)操作數(shù)指定。每個(gè)字表示一步。對(duì)于控制塊中活動(dòng)步字的值表示設(shè)想的控制塊中活動(dòng)步的特值輸出組合。第一個(gè)元素對(duì)應(yīng)第一個(gè)活動(dòng)步值,最后一個(gè)元素對(duì)應(yīng)最后一個(gè)活動(dòng)步值。程序
12、軟件不能自動(dòng)生成字組,必須給PTN提供足夠的內(nèi)存空間。轉(zhuǎn)鼓指令操作數(shù)功能功能許用許用操作數(shù)操作數(shù)描述描述DT除了常數(shù)和S、SA-SC數(shù)字量數(shù)據(jù)之外的任何操作數(shù)。(暫停時(shí)間 )使用DT操作數(shù),也必須使用DTO操作數(shù),反之亦然。DT操作數(shù)是存儲(chǔ)器的字長(zhǎng)的起始地址。這里的長(zhǎng)度就是步數(shù)。每個(gè)DT字對(duì)應(yīng)一個(gè)PTN字。每個(gè)字的值表示對(duì)應(yīng)轉(zhuǎn)鼓排序器對(duì)應(yīng)步的停留時(shí)間,單位是0.1秒。給定步的停留時(shí)間一到, DTO位置位。 如果暫停時(shí)間固定,轉(zhuǎn)鼓排序器要等停留時(shí)間到才能進(jìn)入下一步。程序軟件不能自動(dòng)生成字組,必須給DT提供足夠的內(nèi)存空間。FTT除了常數(shù)和S、SA-SC數(shù)字量數(shù)據(jù)之外的任何操作數(shù)。(故障超時(shí))如果使
13、用FTT操作數(shù),也必須使用TFT操作數(shù),反之亦然。FTT操作數(shù)是存儲(chǔ)器的字長(zhǎng)的起始地址。這里的長(zhǎng)度就是步數(shù)。每個(gè)FTT字對(duì)應(yīng)一個(gè)PTN字。每個(gè)字的值表示對(duì)應(yīng)轉(zhuǎn)鼓排序器對(duì)應(yīng)步的故障暫停時(shí)間,單位始0.1秒。故障暫停時(shí)間一到,F(xiàn)TT位置位。程序軟件不能自動(dòng)生成字組,必須給FTT提供足夠的內(nèi)存空間。Q除了常數(shù)和S之外的任何操作數(shù)。存儲(chǔ)器中一個(gè)字,包含對(duì)應(yīng)當(dāng)前活動(dòng)步的PTN元素。 轉(zhuǎn)鼓指令操作數(shù)功能功能許用許用操作數(shù)操作數(shù)描述描述DRC除了S之外的任何操作數(shù)。(Drum 線圈 )只要功能塊使能激活,活動(dòng)步不等于預(yù)設(shè)步,DRC置位。 DTO除了常數(shù)和S之外的任何操作數(shù)。停頓超時(shí)用DTO操作數(shù),也必須使用
14、DT操作數(shù),反之亦然。當(dāng)前步的暫停時(shí)間一到,DTO被置位。TFT同上(超時(shí)) 如果使用TFT操作數(shù),也必須使用FTT操作數(shù),反之亦然。如果DRUM功能塊在處于一個(gè)特殊步長(zhǎng)于該步的故障暫停時(shí)間,TFT被置位。FF同上(首位跟蹤 )存儲(chǔ)器的(Length/8+1)字節(jié)字節(jié)起始地址,這里的Length就是步數(shù)。如果MOD(Length/8+1) 0,F(xiàn)F有(Length/8+1)個(gè)字節(jié)。FF里字節(jié)字節(jié)的位每個(gè)位對(duì)應(yīng)PTN的一個(gè)字。只是FF里字節(jié)的位任何時(shí)候只有一個(gè)是ON,該位對(duì)應(yīng)活動(dòng)步的值。第一位對(duì)應(yīng)活動(dòng)步1的值,最后一個(gè)使用的位對(duì)應(yīng)指定活動(dòng)步的值。轉(zhuǎn)鼓指令控制塊說(shuō)明Address?活動(dòng)步 活動(dòng)的值
15、指定樣本數(shù)組里的元素復(fù)制進(jìn)輸出存儲(chǔ)單元。該值作為進(jìn)入樣本、暫停時(shí)間、故障超時(shí)、和首位跟蹤操作數(shù)數(shù)組的索引使用??蓪懶桀A(yù)置address+1預(yù)設(shè)步 當(dāng)R為ON 時(shí),復(fù)制進(jìn)活動(dòng)步輸出的一個(gè)輸入字??蓪懶桀A(yù)置address+2步控制 用于檢測(cè) Step 輸入和Enable 輸入從OFF 到ON 跳變的一個(gè)字。步控制字留著供功能塊專用,必須不被寫進(jìn)。不可寫自動(dòng)生成address+3定時(shí)器控制 兩個(gè)數(shù)據(jù)字,用于保存運(yùn)行定時(shí)器必須的值。定時(shí)器控制留著供功能塊專用,必須不被寫進(jìn)不可寫自動(dòng)生成例:首先預(yù)置一些必要的數(shù)據(jù),即控制塊、樣首先預(yù)置一些必要的數(shù)據(jù),即控制塊、樣本、停頓超時(shí)、故障超時(shí)等數(shù)據(jù)本、停頓超時(shí)、
16、故障超時(shí)等數(shù)據(jù)。例:%R0100中放置控制塊數(shù)據(jù);中放置控制塊數(shù)據(jù);%R0200中為樣本數(shù)據(jù);中為樣本數(shù)據(jù);%R0300中為停頓超時(shí)數(shù)據(jù);中為停頓超時(shí)數(shù)據(jù);%R0400中為故障超時(shí)數(shù)據(jù)。中為故障超時(shí)數(shù)據(jù)。思考:使用轉(zhuǎn)鼓指令實(shí)現(xiàn),思考:使用轉(zhuǎn)鼓指令實(shí)現(xiàn),16位流水燈的顯示。要求,位流水燈的顯示。要求,16個(gè)個(gè)燈依次亮。燈依次亮。例:點(diǎn)陣顯示控制要求:在1616的點(diǎn)陣上顯示“GE”分析參考程序:返回思考:關(guān)于三臺(tái)電機(jī)啟動(dòng)停止的問(wèn)題:關(guān)于三臺(tái)電機(jī)啟動(dòng)停止的問(wèn)題:(1 1)用一個(gè)點(diǎn)動(dòng)按鈕實(shí)現(xiàn)電機(jī)的啟動(dòng)和停止控制,即:第一)用一個(gè)點(diǎn)動(dòng)按鈕實(shí)現(xiàn)電機(jī)的啟動(dòng)和停止控制,即:第一次按動(dòng)按鈕,三臺(tái)電機(jī)分別隔次按動(dòng)按鈕,三臺(tái)電機(jī)分別隔2 2秒順序啟動(dòng);第二按動(dòng)按鈕,秒順序啟動(dòng);第二按動(dòng)按鈕,三臺(tái)電機(jī)分別隔三臺(tái)電機(jī)分別隔2 2秒反序停止。秒反序停止。(2 2)第一次按動(dòng)按鈕,第一臺(tái)電機(jī)啟動(dòng);)第一次按動(dòng)按鈕,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧園區(qū)設(shè)計(jì)方案
- 糖尿病飲食處方
- 保護(hù)我們的關(guān)節(jié)教案反思
- 物聯(lián)網(wǎng)校園門禁系統(tǒng)
- 預(yù)防手足口病喜洋洋
- 城市綠化招投標(biāo)管理策略
- 工業(yè)廠房抹灰施工協(xié)議
- 企業(yè)重組法律顧問(wèn)管理辦法
- 商業(yè)廣場(chǎng)綠化工程承攬合同
- 國(guó)際學(xué)校地暖安裝施工協(xié)議
- 幼兒園辦園行為督導(dǎo)評(píng)估指標(biāo)體系表
- (高清版)DB43∕T 2628-2023 埋地排水用UHMW一P∕TE方型增強(qiáng)排水管技術(shù)規(guī)范
- 2024-2030年中國(guó)吡蚜酮行業(yè)現(xiàn)狀發(fā)展分析及投資潛力研究報(bào)告
- 廣東省深圳市2023-2024學(xué)年高一上學(xué)期語(yǔ)文期末考試試卷(含答案)
- 河北省保定市定州市2024-2025學(xué)年九年級(jí)上學(xué)期期中考試化學(xué)試卷
- 2024-2030年狂犬疫苗行業(yè)市場(chǎng)深度分析及發(fā)展策略研究報(bào)告
- 《基因指導(dǎo)蛋白質(zhì)的合成》(第 1課時(shí))教學(xué)設(shè)計(jì)
- 2024-2030年果蔬行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及競(jìng)爭(zhēng)格局與投資戰(zhàn)略研究報(bào)告
- 2 0 2 4 年 7 月 國(guó)開(kāi)??啤斗ɡ韺W(xué)》期末紙質(zhì)考試 試題及答案
- 大疆在線測(cè)評(píng)題答案
- 公共政策分析第一章
評(píng)論
0/150
提交評(píng)論