




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE46長(zhǎng)時(shí)間高精度定時(shí)在PLC中的實(shí)現(xiàn)摘要可編程序控制器(Programmablecontroller)簡(jiǎn)稱PLC,是以微處理機(jī)為基礎(chǔ),綜合了計(jì)算機(jī)、自動(dòng)控制和通訊技術(shù)發(fā)展起來的一種新型工業(yè)自動(dòng)控制裝置。本設(shè)計(jì)中PLC通過兩組定時(shí)輸入口,交替進(jìn)行計(jì)時(shí),以解決單組定時(shí)時(shí)間過短的問題;此外,常用的PLC定時(shí)方法最大定時(shí)誤差為2至3倍的掃描周期加上輸入濾波器濾波時(shí)間,一般為幾十毫秒,因此,本方案采用中斷定時(shí),通過使用中斷定時(shí)可以達(dá)到毫秒級(jí)的精確度!本文第一章以定時(shí)器方案的確定為切入點(diǎn),介紹了本課題的研究?jī)?nèi)容、目的及意義;第二章介紹了大概的實(shí)施方案;第三章根據(jù)控制要求進(jìn)行了定時(shí)器的硬件設(shè)計(jì);第四章則介紹了軟件設(shè)計(jì);第五章和第六章介紹了新問題展開和調(diào)試過程中問題的解決;最后得出結(jié)論。關(guān)鍵詞:PLC,長(zhǎng)時(shí)間,高精度,定時(shí)器,中斷控制LONGTIMEHIGHPRECISIONTIMINGINTHEREALIZATIONOFPLCABSTRACTProgrammablecontrollerasPLC,isthemicroprocessorasthefoundation,thecomputer,thecomprehensiveautomaticcontrolandcommunicationtechnologydevelopedakindofnewtypeofindustrialautomaticcontroldevice.ThisdesignthroughtwogroupPLCtiminginputport,alternatingtime,inordertosolvethetimingofcatimetooshort;Inaddition,thecommonlyusedPLCtimingmethodformaximumtimingerror2to3timesthescanningcycleplusinputfiltergivestime,generallyfordozensofmilliseconds.Therefore,thisschemeadoptsthebreaktime,throughtheuseofinterrupttimingcanachievetheaccuracyofthemillisecondtimescale.Thispaperfirstchaptertotimerschemeasthebreakthroughpointindeed,introducedthistopicresearchcontents,purposeandmeaning;Thesecondchapteraboutimplementationprogramme;Chapter3accordingtothecontrolrequirementsofthetimerhardwaredesign;Chapter4introducessoftwaredesign;Chapter5and6chapterpresentsanewproblemlaunchanddebuggingprocesstothesolutionoftheproblem;Conclusion.KEYWORDS:PLC,longtime,highprecision,timer,interruptcontrol目錄 TOC\o"1-3"\h\u摘要 1ABSTRACT 2第一章緒論 5第1.1節(jié)可編程控制器的基本介紹 51.1.1可編程控制器的定義 51.1.2可編程控制器的基本組成及其工作原理 5第1.2節(jié)本課題的研究?jī)?nèi)容及要求 71.2.1本課題的研究?jī)?nèi)容 71.2.2本課題的要求 7第1.3節(jié)本課題的目的及研究意義 81.3.1本課題的目的 81.3.2本課題的研究意義 8第2章設(shè)計(jì)方案的提出 9第2.1節(jié)問題的引入及相關(guān)介紹 92.1.1“長(zhǎng)時(shí)間高精度定時(shí)”問題的引入 92.1.2定時(shí)器的基本介紹 92.1.3輸入中斷用指針I(yè)基本介紹 102.1.4中斷指令及其應(yīng)用 112.1.5PLC的中斷處理 112.1.6濾波調(diào)整介紹 12第2.2節(jié)“長(zhǎng)時(shí)間高精度定時(shí)”的實(shí)現(xiàn)方法 132.2.1中斷定時(shí)的概念 132.2.2外接電路實(shí)現(xiàn)中斷定時(shí) 13第3章硬件的實(shí)現(xiàn)方案 15第3.1節(jié)信號(hào)源的實(shí)現(xiàn) 15第3.2節(jié)與門的實(shí)現(xiàn) 16第3.3節(jié)實(shí)際硬件的連接 18第4章軟件的實(shí)現(xiàn) 19第4.1節(jié)GXDeveloper編程軟件的介紹 19第4.2節(jié)程序流程圖 23第4.3節(jié)程序梯形圖及其工作原理 244.3.1主程序梯形圖及其工作原理 244.3.2中斷程序1的梯形圖及其工作原理 274.3.3中斷程序2的梯形圖及其工作原理 284.3.4中斷程序3的梯形圖及其工作原理 284.3.5中斷程序4的梯形圖及其工作原理 294.3.6總程序的梯形圖 304.3.7總程序的指令表 33第5章程序的改進(jìn)、實(shí)現(xiàn)及調(diào)試 35第5.1節(jié)如何完善“長(zhǎng)時(shí)間高精度”定時(shí)系統(tǒng) 355.1.1“長(zhǎng)時(shí)間高精度”定時(shí)復(fù)位問題的引入 355.1.2實(shí)現(xiàn)思路 35第5.2節(jié)硬件和軟件方面的實(shí)現(xiàn) 365.2.1實(shí)現(xiàn)定時(shí)復(fù)位的硬件改進(jìn) 365.2.2程序梯形圖 37第5.3節(jié)調(diào)試過程及其問題的解決 375.3.1硬件的調(diào)試 375.3.2軟件的調(diào)試 42結(jié)論 45謝辭 46參考文獻(xiàn) 47第一章緒論第1.1節(jié)可編程控制器的基本介紹1.1.1可編程控制器的定義可編程控制器簡(jiǎn)稱PlC(英文全稱:ProgrammableController),PLC是一種專門為在工業(yè)環(huán)境下應(yīng)用而設(shè)計(jì)的數(shù)字運(yùn)算操作的電子裝置。它采用可以編制程序的存儲(chǔ)器,用來在其內(nèi)部存儲(chǔ)執(zhí)行邏輯運(yùn)算、順序運(yùn)算、計(jì)時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算等操作的指令,并能通過數(shù)字式或模擬式的輸入和輸出,控制各種類型的機(jī)械或生產(chǎn)過程。PLC以其可靠性高、抗干擾能力強(qiáng)、編程簡(jiǎn)單、使用方便、控制程序可變、體積小、質(zhì)量輕、功能強(qiáng)和價(jià)格低廉等特點(diǎn),在機(jī)械制造、冶金等領(lǐng)域得到了廣泛的應(yīng)用。1.1.2可編程控制器的基本組成及其工作原理一般講,PLC分為箱體式和模組式兩種。但它們的組成是相同的,對(duì)箱體式PLC,有一塊CPU板、I/O板、顯示面板、內(nèi)存塊、電源等,當(dāng)然按CPU性能分成若干型號(hào),并按I/O點(diǎn)數(shù)又有若干規(guī)格。對(duì)模組式PLC,有CPU模組、I/O模組、內(nèi)存、電源模組、底板或機(jī)架。無論哪種結(jié)構(gòu)類型的PLC,都屬于總線式開放型結(jié)構(gòu),其I/O能力可按用戶需要進(jìn)行擴(kuò)展與組合。PLC的硬件系統(tǒng)結(jié)構(gòu)如下圖1-1所示:圖1-1PLC的硬件系統(tǒng)結(jié)構(gòu)圖PLC實(shí)質(zhì)是一種專用于工業(yè)控制的計(jì)算機(jī),其硬件結(jié)構(gòu)基本上與微型計(jì)算機(jī)相同,基本構(gòu)成為:電源、中央處理單元(CPU)、存儲(chǔ)器、輸入輸出接口電路(I/O模塊)、底板或機(jī)架、功能模塊、通信模塊、編程設(shè)備、人機(jī)界面。PLC是采用“順序掃描,不斷循環(huán)”的方式進(jìn)行工作的。即在PLC運(yùn)行時(shí),CPU根據(jù)用戶按控制要求編制好并存于用戶存儲(chǔ)器中的程序,按指令步序號(hào)(或地址號(hào))作周期性循環(huán)掃描,如無跳轉(zhuǎn)指令,則從第一條指令開始逐條順序執(zhí)行用戶程序,直至程序結(jié)束。然后重新返回第一條指令,開始下一輪新的掃描。在每次掃描過程中,還要完成對(duì)輸入信號(hào)的采樣和對(duì)輸出狀態(tài)的刷新等工作。PLC的一個(gè)掃描周期必經(jīng)輸入采樣、程序執(zhí)行和輸出刷新三個(gè)階段。輸入采樣階段:首先以掃描方式按順序?qū)⑺袝捍嬖谳斎腈i存器中的輸入端子的通斷狀態(tài)或輸入數(shù)據(jù)讀入,并將其寫入各對(duì)應(yīng)的輸入狀態(tài)寄存器中,即刷新輸入。隨即關(guān)閉輸入端口,進(jìn)入程序執(zhí)行階段。程序執(zhí)行階段:按用戶程序指令存放的先后順序掃描執(zhí)行每條指令,經(jīng)相應(yīng)的運(yùn)算和處理后,其結(jié)果再寫入輸出狀態(tài)寄存器中,輸出狀態(tài)寄存器中所有的內(nèi)容隨著程序的執(zhí)行而改變。輸出刷新階段:當(dāng)所有指令執(zhí)行完畢,輸出狀態(tài)寄存器的通斷狀態(tài)在輸出刷新階段送至輸出鎖存器中,并通過一定的方式(繼電器、晶體管或晶閘管)輸出,驅(qū)動(dòng)相應(yīng)輸出設(shè)備工作。第1.2節(jié)本課題的研究?jī)?nèi)容及要求1.2.1本課題的研究?jī)?nèi)容本課題的主要研究?jī)?nèi)容:針對(duì)上述問題,通過引入外接電路來實(shí)現(xiàn)中斷定時(shí)的方法,PLC通過兩組定時(shí)輸入口,交替進(jìn)行計(jì)時(shí),以解決單組定時(shí)時(shí)間過短的問題。值得注意的是,T0計(jì)時(shí)30s并不需要精確定時(shí),只要不多于32.767s,即,不讓中斷計(jì)時(shí)器溢出,它的作用只是定期觸發(fā)一個(gè)Y000、Y001取反的事件,中斷計(jì)時(shí)結(jié)果可以是任意小于32秒左右的時(shí)間值,如30.097s、29.895s。兩組計(jì)時(shí)器就這樣交替計(jì)時(shí),每次計(jì)時(shí)完畢就把當(dāng)前中斷組的計(jì)時(shí)結(jié)果加到累加器。當(dāng)兩組計(jì)時(shí)器的輸入信號(hào)都變?yōu)榱?,此時(shí),可從累加器得到最終的精度為1ms的計(jì)時(shí)結(jié)果。本課題的難點(diǎn)在于PLC定時(shí)指令受到其掃描周期制約,使得基于掃描周期定時(shí)的程序無法達(dá)到毫秒級(jí)的精確度。且三菱公司的FX系列PLC,定時(shí)器支持最小1ms的定時(shí),用中斷可以使其定時(shí)精確到1ms。定時(shí)器的計(jì)數(shù)值(整數(shù)),在PLC內(nèi)部都使用二進(jìn)制數(shù),一個(gè)16位二進(jìn)制字除去一位符號(hào)位之后,能表示的最大正整數(shù)為32767,它對(duì)應(yīng)于定時(shí)器的最大定時(shí)時(shí)間。以1ms定時(shí)器為例,32767個(gè)計(jì)數(shù)脈沖周期對(duì)應(yīng)的最大定時(shí)時(shí)間為:32767×0.001=32.767(s),這使得PLC高精度長(zhǎng)時(shí)間定時(shí)控制的使用場(chǎng)合受到很大制約。1.2.2本課題的要求編程設(shè)計(jì)要求:根據(jù)可編程控制器的設(shè)計(jì)要求,設(shè)計(jì)完整的程序,實(shí)現(xiàn)1ms精度的“長(zhǎng)時(shí)間高精度”定時(shí)器。通過引入外接電路來實(shí)現(xiàn)中斷定時(shí)的方法,PLC通過兩組定時(shí)輸入口,交替進(jìn)行計(jì)時(shí),從而實(shí)現(xiàn)長(zhǎng)時(shí)間定時(shí);利用中斷程序清零,依靠外部電路觸發(fā)中斷,最終實(shí)現(xiàn)1ms精度的定時(shí)。第1.3節(jié)本課題的目的及研究意義1.3.1本課題的目的常用的PLC定時(shí)方法最大定時(shí)誤差為2至3倍的掃描周期加上輸入濾波器濾波時(shí)間,一般為幾十毫秒。這就使得基于掃描周期定時(shí)的程序無法達(dá)到毫秒級(jí)的精確度。通過使用中斷定時(shí)可以達(dá)到毫秒級(jí)的精確度。但是由于PLC為16位寄存器,毫秒定時(shí)器只能實(shí)現(xiàn)幾十秒定時(shí),不能滿足很多場(chǎng)合的要求。因此,使用何種方法來實(shí)現(xiàn)中斷定時(shí)是本課題的關(guān)鍵所在。中斷要靠外部事件來觸發(fā),這就需要使用外部電路來實(shí)現(xiàn)。這樣,理論上可以實(shí)現(xiàn)無限長(zhǎng)時(shí)間的精確定時(shí)。1.3.2本課題的研究意義在應(yīng)用定時(shí)器時(shí)通常有兩種誤差:第一種叫做輸入誤差。一種叫做輸出誤差??偟恼`差是輸入誤差和輸出誤差之和。通過對(duì)本課題的研究可以讓我們對(duì)可編程序控制器的中斷控制有更加深入的理解,以及對(duì)三菱公司FX系列PLC在實(shí)際應(yīng)用中的一些問題通過方案設(shè)計(jì)來進(jìn)行改善,使其能滿足更多場(chǎng)合的要求。真正實(shí)現(xiàn)了長(zhǎng)時(shí)間高精度定時(shí)在PLC中的應(yīng)用。通?;趻呙柚芷诘亩〞r(shí)方法是在計(jì)時(shí)器溢出時(shí),將其清零,然后繼續(xù)開始計(jì)時(shí),但是基于中斷的程序要清零的話,必須在中斷中清零才能保證其精度,中斷要靠外部事件來觸發(fā),這就是使用外部電路的原因??傊?在PLC的編程中,巧妙地使用計(jì)時(shí)器,可使程序設(shè)計(jì)合理,減少編程語句和編程時(shí)間,使程序可讀性增強(qiáng),減小程序掃描周期,提高程序運(yùn)行速度,改善PLC系統(tǒng)的控制功能。第2章設(shè)計(jì)方案的提出第2.1節(jié)問題的引入及相關(guān)介紹2.1.1“長(zhǎng)時(shí)間高精度定時(shí)”問題的引入PLC的掃描周期主要由程序的長(zhǎng)度決定,一般為十幾毫秒到幾十毫秒。PLC的使用手冊(cè)中都會(huì)給出定時(shí)器精度的計(jì)算公式。如果定時(shí)器的觸點(diǎn)在線圈之后,最大定時(shí)誤差為2倍掃描周期加上輸入濾波器時(shí)間;如果定時(shí)器的觸點(diǎn)在線圈之前,最大定時(shí)誤差為3倍掃描周期加上輸入濾波器時(shí)間。PLC定時(shí)指令受到其掃描周期制約,這就使得基于掃描周期定時(shí)的程序無法達(dá)到毫秒級(jí)的精確度。大多PLC支持中斷,三菱公司的FX系列PLC,定時(shí)器支持最小1ms的定時(shí),用中斷可以使其定時(shí)精確到1ms。定時(shí)器的計(jì)數(shù)值(整數(shù)),在PLC內(nèi)部都使用二進(jìn)制數(shù),一個(gè)16位二進(jìn)制字除去一位符號(hào)位之后,能表示的最大正整數(shù)為32767,它對(duì)應(yīng)于定時(shí)器的最大定時(shí)時(shí)間。以1ms定時(shí)器為例,32767個(gè)計(jì)數(shù)脈沖周期對(duì)應(yīng)的最大定時(shí)時(shí)間為:32767×0.001=32.767(s)。若是0.1ms精度,則只能精確定時(shí)3s多。這使得PLC的使用受到很大制約。本課題以三菱公司FX2N為例,要求設(shè)計(jì)出可以實(shí)現(xiàn)1ms精度的長(zhǎng)時(shí)間精確定時(shí)設(shè)計(jì)思路、方法及程序。2.1.2定時(shí)器的基本介紹人類最早使用的定時(shí)工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計(jì)時(shí)工具來改進(jìn)定時(shí)器,達(dá)到準(zhǔn)確控制時(shí)間的目的。可編程控制器中的定時(shí)器是根據(jù)時(shí)鐘脈沖累積計(jì)時(shí)的,時(shí)鐘脈沖有1ms、10ms、100ms等不同規(guī)格。(定時(shí)器的工作過程實(shí)際上是對(duì)時(shí)鐘脈沖計(jì)數(shù))因工作需要,定時(shí)器除了占有自己編號(hào)的存儲(chǔ)器位外,還占有一個(gè)設(shè)定值寄存器(字),一個(gè)當(dāng)前值寄存器(字)。設(shè)定值寄存器(字)存儲(chǔ)編程時(shí)賦值的計(jì)時(shí)時(shí)間設(shè)定值。當(dāng)前值寄存器記錄計(jì)時(shí)當(dāng)前值。這些寄存器為16位二進(jìn)制存儲(chǔ)器。其最大值乘以定時(shí)器的計(jì)時(shí)單位值即是定時(shí)器的最大計(jì)時(shí)范圍值。定時(shí)器滿足計(jì)時(shí)條件開始計(jì)時(shí),當(dāng)前值寄存器則開始計(jì)數(shù),當(dāng)當(dāng)前值與設(shè)定值相等時(shí)定時(shí)器動(dòng)作,起常開觸點(diǎn)接通,常閉觸點(diǎn)斷開,并通過程序作用于控制對(duì)象,達(dá)到時(shí)間控制的目的。定時(shí)器主要用于控制系統(tǒng)的延時(shí)操作,PLC中的定時(shí)器類似于繼電接觸器控制系統(tǒng)中的時(shí)間繼電器,由它們?nèi)ネ瓿筛鞣N各樣的時(shí)間控制。它們虛擬的模擬電路,改變了原來只有繼電器和接觸器控制的狀況,能更好的改變線路,適應(yīng)不同要求的電路。在現(xiàn)代工業(yè)現(xiàn)場(chǎng)控制中,PLC作為控制系統(tǒng)的重要組成部分,起著不可替代的作用?,F(xiàn)代PLC的功能不僅局限于簡(jiǎn)單的邏輯運(yùn)算,而且具備了定時(shí)、計(jì)數(shù)、數(shù)值計(jì)算、中斷處理網(wǎng)絡(luò)配置等多種強(qiáng)大的功能,使之應(yīng)用于工業(yè)現(xiàn)場(chǎng)時(shí)更能發(fā)揮其作用。作為PLC重要功能之一的定時(shí),在PLC程序中,可以進(jìn)行時(shí)序構(gòu)造、等待響應(yīng)、人為制造中斷、產(chǎn)生時(shí)間脈沖等多種應(yīng)用,是PLC編程中不可或缺的重要手段。2.1.3輸入中斷用指針I(yè)基本介紹在FX系列中,指針用來指示分支指令的跳轉(zhuǎn)目標(biāo)和中斷程序的入口標(biāo)號(hào)。分為分支用指針、輸入中斷指針及定時(shí)中斷指針和記數(shù)中斷指針。中斷指針(I0□□~I(xiàn)8□□)是用來指示某一中斷程序的入口位置。執(zhí)行中斷后遇到IRET(中斷返回)指令,則返回主程序。中斷用指針有以下三種類型:輸入中斷用指針、定時(shí)器中斷用指針、計(jì)數(shù)器中斷用指針。輸入中斷用指針(I00□~I(xiàn)50□)共6點(diǎn),它是用來指示由特定輸入端的輸入信號(hào)而產(chǎn)生中斷的中斷服務(wù)程序的入口位置,這類中斷不受PLC掃描周期的影響,可以及時(shí)處理外界信息。輸入中斷用指針的編號(hào)格式如下:例如:I101為當(dāng)輸入X1從OFF→ON變化時(shí),執(zhí)行以I101為標(biāo)號(hào)后面的中斷程序,并根據(jù)IRET指令返回。2.1.4中斷指令及其應(yīng)用PLC的CPU在整個(gè)控制過程中,有些控制要取決于外部事件。比如只有外部設(shè)備請(qǐng)求CPU發(fā)送數(shù)據(jù)時(shí),CPU才能向這個(gè)設(shè)備發(fā)送數(shù)據(jù)。這類控制的進(jìn)行是取決于外部設(shè)備的請(qǐng)求和CPU的響應(yīng),當(dāng)CPU在接受了外部設(shè)備的請(qǐng)求時(shí),CPU就要暫停其當(dāng)前的工作,去完成外部過程的請(qǐng)求,這種工作方式就叫中斷方式。在啟動(dòng)中斷程序之前,必須使中斷事件與發(fā)生此事件時(shí)希望執(zhí)行的程序段建立聯(lián)系。中斷指令主要包括:中斷連接指令、中斷分離指令、中斷返回指令、中斷允許指令、中斷禁止指令。(1)開中斷(ENI):指令全局性允許所有中斷事件;(2)關(guān)中斷(DISI):指令全局性禁止所有中斷事件,中斷事件的每次出現(xiàn)均被排隊(duì)等候,直至使用全局開中斷指令重新啟用中斷;(3)中斷連接指令(ATCH):指令將中斷事件(EVNT)與中斷程序號(hào)碼(INT)相連接,并啟用中斷事件;(4)中斷分離指令(DTCH):指取消某中斷事件(EVNT)與所有中斷程序之間的連接,并禁用該中斷事件。(5)中斷返回指令(RETI):指該指令是把斷點(diǎn)地址取出,送回到程序計(jì)數(shù)器PC中去。注意:一個(gè)中斷事件只能連接一個(gè)中斷程序,但多個(gè)中斷事件可以調(diào)用一個(gè)中斷程序。2.1.5PLC的中斷處理中斷處理(又稱中斷服務(wù))程序從入口地址開始執(zhí)行,直到返回指令(RETI)為止,這個(gè)過程稱為中斷處理。主程序和中斷服務(wù)程序都可能會(huì)用到累加器、PSW寄存器和一些其它寄存器。CPU在進(jìn)入中斷服務(wù)程序后,用到上述寄存器時(shí)就會(huì)破壞它原來存在寄存器中的內(nèi)容,一旦中斷返回,將會(huì)造成主程序的混亂。中斷處理一般包括:保護(hù)現(xiàn)場(chǎng)、處理中斷源的請(qǐng)求、恢復(fù)現(xiàn)場(chǎng)。當(dāng)CPU執(zhí)行完一條現(xiàn)行指令時(shí),如果外設(shè)向CPU發(fā)出中斷請(qǐng)求,那么CPU在滿足響應(yīng)的情況下,將發(fā)出中斷響應(yīng)信號(hào),與此同時(shí)關(guān)閉中斷,表示CPU不在受理另外一個(gè)設(shè)備的中斷。這時(shí),CPU將尋找中斷請(qǐng)求源是哪一個(gè)設(shè)備,并保存CPU自己的程序計(jì)數(shù)器(PC)的內(nèi)容,隨后將轉(zhuǎn)移到處理該中斷源的中斷服務(wù)程序。CPU在保存現(xiàn)場(chǎng)信息、設(shè)備服務(wù)以后,將恢復(fù)現(xiàn)場(chǎng)信息。在這些動(dòng)作完成以后,開放中斷,并返回到原來被中斷的主程序的下一條指令。2.1.6濾波調(diào)整介紹濾波調(diào)整指從其他信號(hào)中取出預(yù)測(cè)變量的方法。預(yù)測(cè)變量混雜于其他信號(hào)之中,需要通過濾波的方法將預(yù)測(cè)變量取出,或通過濾波方法將與預(yù)測(cè)變量無關(guān)的信號(hào)濾去,得到所需要的預(yù)測(cè)變量。濾波調(diào)整法淵源于通訊技術(shù)、自動(dòng)化技術(shù),而后被移植到社會(huì)信息科學(xué)中來。濾波意味著去偽存真,通過濾波取出預(yù)測(cè)信號(hào)已有很久的應(yīng)用歷史,典型的方法是維納濾波預(yù)測(cè)方法和卡爾曼濾波預(yù)測(cè)方法。濾波預(yù)測(cè)方法廣泛應(yīng)用于地震預(yù)測(cè)、水文預(yù)測(cè)和氣象預(yù)測(cè)。第2.2節(jié)“長(zhǎng)時(shí)間高精度定時(shí)”的實(shí)現(xiàn)方法2.2.1中斷定時(shí)的概念定時(shí)器從本質(zhì)上來說是一種計(jì)數(shù)器,其計(jì)數(shù)脈沖是PLC內(nèi)部產(chǎn)生的標(biāo)準(zhǔn)時(shí)鐘脈沖。每個(gè)定時(shí)器有一個(gè)設(shè)定值寄存器、一個(gè)當(dāng)前值寄存器和一個(gè)用來儲(chǔ)存其輸出觸點(diǎn)狀態(tài)的位存儲(chǔ)器,這三個(gè)存儲(chǔ)單元使用同一個(gè)元件號(hào)。中斷定時(shí)可由X000、X001、X002、X003四點(diǎn)觸發(fā),其精度為1ms。通常PLC的輸入為了防止輸入接點(diǎn)的噪音的影響,設(shè)置了10ms的C-R濾波器。當(dāng)采用高速中斷定時(shí)時(shí),F(xiàn)X2N的輸入濾波器自動(dòng)變?yōu)?0μs。中斷定時(shí)接線的接線方法為X000和X001短接,再接到被計(jì)時(shí)信號(hào)源。如圖2-1所示,其中一個(gè)輸入端,如X000,接收輸入信號(hào)源的上升沿信號(hào),以啟動(dòng)中斷計(jì)時(shí);另一輸入端,如X001,接收輸入信號(hào)源的下降沿信號(hào),以結(jié)束中斷計(jì)時(shí)。信號(hào)源X0信號(hào)源X0Y0X1X2Y1X3圖2-1外接電路原理示意圖2.2.2外接電路實(shí)現(xiàn)中斷定時(shí)PLC通過兩組定時(shí)輸入口,交替進(jìn)行計(jì)時(shí),以解決單組定時(shí)時(shí)間過短的問題。圖2-1是外接電路原理示意圖。使Y0初始值為1,Y1初始值為0,當(dāng)信號(hào)源為1時(shí),與門輸出1。如下圖2-2所示,X0上升沿中斷被觸發(fā),開始1ms中斷計(jì)時(shí),隨后啟動(dòng)常規(guī)計(jì)時(shí)T0,由于PLC計(jì)時(shí)到32.767(1ms精度)就會(huì)溢出,故而,當(dāng)T0計(jì)時(shí)到30s左右時(shí),程序使Y0和Y1的值取反。這樣,第一組的X1和第二組的X2同時(shí)被觸發(fā)。X1停止計(jì)時(shí),并把第一組的中斷定時(shí)器加到累加器;X2被觸發(fā),第二組中斷計(jì)時(shí)器開始計(jì)時(shí),隨后常規(guī)計(jì)時(shí)器T0重新從零開始計(jì)時(shí)30s。當(dāng)T0又達(dá)到30s左右時(shí),Y0和Y1再次取反。這里值得注意的是,T0計(jì)時(shí)30s并不需要精確定時(shí),只要不多于32.767s,即,不讓中斷計(jì)時(shí)器溢出,它的作用只是定期觸發(fā)一個(gè)Y0、Y1取反的事件,中斷計(jì)時(shí)結(jié)果可以是任意30秒左右的值,如30.097s、29.895s。兩組計(jì)時(shí)器就這樣交替計(jì)時(shí),每次計(jì)時(shí)完畢就把當(dāng)前中斷組的計(jì)時(shí)結(jié)果加到累加器。由于開始計(jì)時(shí)和結(jié)束計(jì)時(shí)是同時(shí)觸發(fā)的,所以,當(dāng)前處于停止計(jì)時(shí)狀態(tài)的中斷組有足夠的時(shí)間保存數(shù)據(jù)和清零計(jì)時(shí)器,等待下一次計(jì)時(shí)。當(dāng)信號(hào)源信號(hào)變?yōu)榱銜r(shí),由邏輯關(guān)系可以清楚看到:兩組計(jì)時(shí)器的輸入信號(hào)都變?yōu)榱?,此時(shí),可從累加器得到最終的精度為1ms的計(jì)時(shí)結(jié)果。信號(hào)源Y0第一組計(jì)時(shí)器Y1第二組計(jì)時(shí)器圖2-2外接電路時(shí)序圖第3章硬件的實(shí)現(xiàn)方案第3.1節(jié)信號(hào)源的實(shí)現(xiàn)在本設(shè)計(jì)的外接電路中運(yùn)用到了一個(gè)信號(hào)源,當(dāng)信號(hào)源信號(hào)變?yōu)橐粫r(shí),輸入端口會(huì)根據(jù)信號(hào)源和“Y000”、“Y001”的狀態(tài)來決定哪組計(jì)時(shí)器動(dòng)作,以此開始計(jì)時(shí);當(dāng)信號(hào)源信號(hào)變?yōu)榱銜r(shí),由邏輯關(guān)系可以清楚看到:兩組計(jì)時(shí)器的輸入信號(hào)都變?yōu)榱?,此時(shí),可從累加器得到最終的精度為1ms的計(jì)時(shí)結(jié)果。在整個(gè)過程中,信號(hào)源起到了一個(gè)開和關(guān)的作用,所以,可以非常簡(jiǎn)單的想到開關(guān),但要讓一個(gè)開關(guān)成為一個(gè)信號(hào)源必須得接上電源。在實(shí)驗(yàn)室中就具備電源模塊,因?yàn)樵赑LC工作前,把主機(jī)上用到的輸入接點(diǎn)對(duì)應(yīng)的COM端與實(shí)驗(yàn)板的0V端相連,輸出接點(diǎn)對(duì)應(yīng)的COM端與實(shí)驗(yàn)板的+24V端相連。這樣的話,就可以通過簡(jiǎn)單的連接可以實(shí)現(xiàn)一個(gè)信號(hào)源(把開關(guān)的一端連接到COM端,另一端連接到輸入端),如圖3-1。但是在實(shí)際操作的過程中,開關(guān)動(dòng)作是否會(huì)延時(shí),是否會(huì)影響到計(jì)時(shí)的精度,這點(diǎn)可以不用擔(dān)心,因?yàn)樵趯?shí)際計(jì)時(shí)中應(yīng)用了中斷定時(shí),也就是在中斷觸發(fā)后進(jìn)行的高精度定時(shí),雖然開關(guān)動(dòng)作會(huì)有延時(shí),但不影響中斷中的計(jì)時(shí),所以,當(dāng)信號(hào)源信號(hào)變?yōu)榱銜r(shí),可從累加器得到最終的精度為1ms的計(jì)時(shí)結(jié)果。圖3-1信號(hào)源實(shí)現(xiàn)連接圖第3.2節(jié)與門的實(shí)現(xiàn)由于本設(shè)計(jì)思路中運(yùn)用到了外接電路來實(shí)現(xiàn)中斷定時(shí),因此,外接電路在實(shí)際硬件中的實(shí)現(xiàn)就顯得尤為重要,因?yàn)榇顺绦虻墓δ苣芊裢耆珜?shí)現(xiàn)就是依托此外接電路。再結(jié)合實(shí)驗(yàn)室實(shí)際條件,如何來選擇最合適的方法去實(shí)現(xiàn)這個(gè)功能就相當(dāng)關(guān)鍵。從上面的外接電路圖中我們可以看到在輸入端前運(yùn)用到了一個(gè)與門,但實(shí)驗(yàn)室沒有現(xiàn)成的與門來給你去應(yīng)用,所以,必須依靠所具備的器材自己搭接成一個(gè)與門。但在本課題中有一個(gè)特殊的地方,因?yàn)椋玫降呐c門恰好是PLC輸出端口“Y000”和“Y001”,所以,有一個(gè)連接點(diǎn)我們已經(jīng)知道。關(guān)鍵就在于找出另外的一個(gè)連接點(diǎn)。下面,我就用找尋“Y000”的兩個(gè)連接點(diǎn)為例,如圖3-2。BABA圖3-2輸入/輸出繼電器(X,Y)電路從圖3-2我們可以清楚地看到輸出端子“Y000”右端連接的是電機(jī)負(fù)載,左端與Y000的外部輸出常開觸點(diǎn)相連,依次連接到COM1端。因?yàn)?,Y000的輸出端子與電機(jī)負(fù)載相連,另一端則是通過Y000的外部輸出常開觸點(diǎn)后與COM1端相連。所以,可以清楚地知道當(dāng)線圈Y000得電后,Y000的外部輸出常開觸點(diǎn)閉合,這樣,Y000的左端接點(diǎn)就與COM1端相連??芍猋000的兩個(gè)連接點(diǎn)就是Y000的輸出端和輸出接點(diǎn)對(duì)應(yīng)的COM端。在圖3-2中分別用A和B表示Y000的兩個(gè)連接點(diǎn)。信號(hào)源的一端會(huì)與輸入對(duì)應(yīng)的COM端相連,另一端與Y000的A端相連,Y000的B端再連接到輸入X000,即可實(shí)現(xiàn)一個(gè)與門的連接。與門的連接如圖3-3。圖3-3與門實(shí)現(xiàn)連接圖第3.3節(jié)實(shí)際硬件的連接根據(jù)上面的實(shí)現(xiàn)方案,現(xiàn)在我們就可以在實(shí)驗(yàn)室通過實(shí)驗(yàn)板上各個(gè)功能器件的連接即可實(shí)現(xiàn)我們所需要的外接電路,如圖3-4。6789101112345圖3-4硬件連接圖注釋:(1)直流電源+24V(2)直流電源0V(3)輸出對(duì)應(yīng)的COM端(4)輸出Y000(5)輸出Y001(6)輸入對(duì)應(yīng)的COM端(7)輸入X000(8)輸入X001(9)輸入X002(10)輸入X003(11)輸入X004從上圖我們可以看到外接電路的連接一共用到了3塊實(shí)驗(yàn)板:直流電源、PLC主機(jī)和開關(guān)、按鈕板。具體連線描述:(1)把主機(jī)上用到的輸入接點(diǎn)對(duì)應(yīng)的COM端相互連接并與實(shí)驗(yàn)板的0V端相連,輸出接點(diǎn)對(duì)應(yīng)的COM端相互連接并與實(shí)驗(yàn)板的+24V端相連。(2)從輸入對(duì)應(yīng)的COM端連至開關(guān)按鈕板的撥動(dòng)開關(guān)的一端,撥動(dòng)開關(guān)的另一端連至輸入X004和輸出對(duì)應(yīng)的COM端。(3)輸出Y000連至輸入X000,同時(shí),輸入X000和輸入X001相連。(4)輸出Y001連至輸入X002,同時(shí),輸入X002和輸入X003相連。第4章軟件的實(shí)現(xiàn)第4.1節(jié)GXDeveloper編程軟件的介紹三菱PLC編程軟件有好幾個(gè)版本,早期的FXGP/DOS和FXGP/WIN-C及現(xiàn)在常用的GPPForWindows和最新的GXDeveloper(簡(jiǎn)稱GX)。實(shí)際上GXDeveloper是GPPForWindows升級(jí)版本,相互兼容,但GXDeveloper界面更友好,功能更強(qiáng)大、使用更方便,適用于Q、QnU、QS、QnA、AnS、AnA、FX等全系列可編程控制器。支持梯形圖、指令表、SFC、ST及FB、Label語言程序設(shè)計(jì),網(wǎng)絡(luò)參數(shù)設(shè)定,可進(jìn)行程序的線上更改、監(jiān)控及調(diào)試,具有異地讀寫PLC程序功能。GXDeveloper編程軟件能夠?qū)xcel、Word等軟件編輯的說明性文字、數(shù)據(jù),通過復(fù)制、粘貼等簡(jiǎn)單操作導(dǎo)入程序中,使軟件的使用、程序的編輯更加便捷。此外,GXDeveloper編程軟件還具有以下特點(diǎn):(1)操作簡(jiǎn)便1)標(biāo)號(hào)編程:用標(biāo)號(hào)編程制作程序的話,就不需要認(rèn)識(shí)軟元件的號(hào)碼而能夠根據(jù)標(biāo)示制作成標(biāo)準(zhǔn)程序。用標(biāo)號(hào)編程做成的程序能夠依據(jù)匯編從而作為實(shí)際的程序來使用。2)功能塊:功能塊是以提高順序程序的開發(fā)效率為目的而開發(fā)的一種功能。把開發(fā)順序程序時(shí)反復(fù)使用的順序程序回路塊零件化,使得順序程序的開發(fā)變得容易,此外,零件化后,能夠防止將其運(yùn)用到別的順序程序使得順序輸入錯(cuò)誤。3)宏:只要在任意的回路模式上加上名字(宏定義名)登錄(宏登錄)到文檔,然后輸入簡(jiǎn)單的命令,就能夠讀出登錄過的回路模式,變更軟元件就能夠靈活利用了。(2)能夠用各種方法和可編程控制器CPU連接1)經(jīng)由串行通信口與可編程控制器CPU連接;2)經(jīng)由USB接口與可編程控制器CPU連接;3)經(jīng)由MELSECNET/10(H)與可編程控制器CPU連接;4)經(jīng)由MELSECNET(II)與可編程控制器CPU連接;5)經(jīng)由CC-Link與可編程控制器CPU連接;6)經(jīng)由Ethernet與可編程控制器CPU連接;7)經(jīng)由計(jì)算機(jī)接口與可編程控制器CPU連接。(3)豐富的調(diào)試功能1)由于運(yùn)用了梯形圖邏輯測(cè)試功能,能夠更加簡(jiǎn)單的進(jìn)行調(diào)試作業(yè)。(a)沒有必要再和可編程控制器連接;(b)沒有必要制作條使用的順序程序。2)在幫助中有CPU錯(cuò)誤,特殊繼電器/特殊寄存器的說明,所以對(duì)于在線中發(fā)生錯(cuò)誤,或者是程序制作中想知道特殊繼電器/特殊寄存器的內(nèi)容的情況下提供非常大的便利。3)數(shù)據(jù)制作中發(fā)生錯(cuò)誤況時(shí),會(huì)顯示是何原因或是顯示消息,所以數(shù)據(jù)制作的時(shí)間能夠大幅度縮短。(4)利用Windows的優(yōu)越性,使操作性飛躍上升能夠?qū)xcel,Word等作成的說明數(shù)據(jù)進(jìn)行復(fù)制,粘貼,并有效利用。GXDeveloper編程軟件的操作界面:圖4-1所示為GXDeveloper編程軟件的操作界面,該操作界面大致由下拉菜單、工具條、編程區(qū)、工程數(shù)據(jù)列表、狀態(tài)條等部分組成。這里需要特別注意的是在FX-GP/WIN-C編程軟件里稱編輯的程序?yàn)槲募贕XDeveloper編程軟件中稱之為工程。與FX-GP/WIN-C編程軟件的操作界面相比,該軟件取消了功能圖、功能鍵,并將這兩部分內(nèi)容合并,作為梯形圖標(biāo)記工具條;新增加了工程參數(shù)列表、數(shù)據(jù)切換工具條、注釋工具條等。這樣友好的直觀的操作界面使操作更加簡(jiǎn)便。圖4-1GXDevelop編程軟件操作界面圖表4-1GXDevelop編程軟件操作界面圖注釋圖表序號(hào)名稱內(nèi)容1下拉菜單包含工程、編輯、查找/替換、交換、顯示、在線、診斷、工具、窗口、幫助,共10個(gè)菜單2標(biāo)準(zhǔn)工具條由工程菜單、編輯菜單、查找/替換菜單、在線菜單、工具菜單中常用的功能組成。3數(shù)據(jù)切換工具條可在程序菜單、參數(shù)、注釋、編程元件內(nèi)存這四個(gè)項(xiàng)目中切換4梯形圖標(biāo)記工具條包含梯形圖編輯所需要使用的常開觸點(diǎn)、常閉觸點(diǎn)、應(yīng)用指令等內(nèi)容5程序工具條可進(jìn)行梯形圖模式,指令表模式的轉(zhuǎn)換;進(jìn)行讀出模式,寫入模式,監(jiān)視模式,監(jiān)視寫入模式的轉(zhuǎn)換6SFC工具條可對(duì)SFC程序進(jìn)行塊變換、塊信息設(shè)置、排序、塊監(jiān)視操作7工程參數(shù)列表顯示程序、編程元件注釋、參數(shù)、編程元件內(nèi)存等內(nèi)容,可實(shí)現(xiàn)這些項(xiàng)目的數(shù)據(jù)的設(shè)定8狀態(tài)欄提示當(dāng)前的操作:顯示PLC類型以及當(dāng)前操作狀態(tài)等9操作編輯區(qū)完成程序的編輯、修改、監(jiān)控等的區(qū)域10SFC符號(hào)工具條包含SFC程序編輯所需要使用的步、塊啟動(dòng)步、選擇合并、平行等功能鍵11編程元件內(nèi)存工具條進(jìn)行編程元件的內(nèi)存的設(shè)置12注釋工具條可進(jìn)行注釋范圍設(shè)置或?qū)?各程序的注釋進(jìn)行設(shè)置第4.2節(jié)程序流程圖程序流程圖是程序分析中最基本、最重要的分析技術(shù),它是進(jìn)行程序分析過程中最基本的工具。本課題研究設(shè)計(jì)的程序流程圖如下圖4-2:開始開始輸出高精度定時(shí)時(shí)間結(jié)束T0(30s)計(jì)時(shí)信號(hào)源為1NY中斷1執(zhí)行T0(30s)后取反,重新計(jì)時(shí)中斷2、3執(zhí)行T0(30s)后取反,重新計(jì)時(shí)中斷4、1執(zhí)行圖4-2本設(shè)計(jì)流程圖第4.3節(jié)程序梯形圖及其工作原理4.3.1主程序梯形圖及其工作原理主程序梯形圖,如圖4-3,首先,我們進(jìn)行一個(gè)30s計(jì)時(shí)程序;其次,是一個(gè)30s后自動(dòng)取反的程序,在這里,我們一開始就已經(jīng)把Y000置1,Y000置0;通過對(duì)線圈Y006、Y007的導(dǎo)通與否可以觀察到信號(hào)源的狀態(tài)。在程序沒有執(zhí)行之前,信號(hào)源為0狀態(tài),同時(shí)Y000為1、Y001為0,從上面的硬件連接圖我們可以知道此時(shí)的輸入端口都為0,所以,線圈Y007會(huì)被導(dǎo)通,Y007的常開觸點(diǎn)閉合,常閉觸點(diǎn)斷開,PLC主機(jī)的輸出端的Y007指示燈會(huì)被點(diǎn)亮,而線圈Y006會(huì)被斷開,表明了信號(hào)源為0。同時(shí),由于Y000為1、Y001為0,下面的兩個(gè)X001下降沿中斷會(huì)被關(guān)閉,X002的上升沿中斷也會(huì)被關(guān)閉。因?yàn)椋谥袛嘀?,?dāng)與中斷對(duì)應(yīng)的特殊輔助繼電器被導(dǎo)通以后,對(duì)應(yīng)的中斷會(huì)被禁止。同時(shí),Y003和Y004被復(fù)位。雖然,此時(shí)X000的上升沿中斷和X003的下降沿中斷被允許,但由于沒有上升沿,X000的上升中斷子程序不會(huì)運(yùn)行,即第一組定時(shí)器不會(huì)工作,而Y005也被復(fù)位。當(dāng)信號(hào)源為1時(shí),整個(gè)程序開始運(yùn)行,主程序中定時(shí)器T0開始30s計(jì)時(shí),X000受到上升沿觸發(fā),子程序中的線圈Y002被導(dǎo)通,Y002常開觸點(diǎn)閉合,T246開始高精度定時(shí)。同時(shí),線圈Y007失電,各觸點(diǎn)恢復(fù)原態(tài),PLC主機(jī)的輸出端的Y007指示燈會(huì)被熄滅,線圈Y006被導(dǎo)通,PLC主機(jī)輸出端的Y006指示燈會(huì)被點(diǎn)亮,表明信號(hào)源為1。當(dāng)主程序中的定時(shí)器T0計(jì)到30s時(shí),T0的常開觸點(diǎn)會(huì)閉合,常閉觸點(diǎn)會(huì)斷開,此時(shí),Y000和Y001正好取反。與此同時(shí),X001的下降沿和X002的上升沿中斷被允許,而X000的上升沿和X003的下降沿中斷被禁止(這里需要注意的是雖然此時(shí)中斷已被禁止,但是1ms的積算型定時(shí)器T246還會(huì)保持繼續(xù)計(jì)時(shí)直到到達(dá)極限32767為止)且線圈Y002和Y005被復(fù)位。所以,X001的下降沿中斷和X002的上升沿中斷同時(shí)被觸發(fā),在這個(gè)瞬間線圈Y003和線圈Y004被導(dǎo)通,PLC主機(jī)輸出端的Y003和Y004指示燈會(huì)被點(diǎn)亮,定時(shí)器T247開始高精度定時(shí),同時(shí),主程序中的定時(shí)器T0被賦0后重新開始30s的計(jì)時(shí)(這里需要注意的是雖然T0被賦0,觸點(diǎn)會(huì)恢復(fù)原狀態(tài),但是由于線圈Y003的導(dǎo)通,它的常開觸點(diǎn)閉合,常閉觸點(diǎn)斷開,使得Y000和Y001能夠得以保持這個(gè)狀態(tài)),定時(shí)器T1也開始了30s的計(jì)時(shí),X001下降沿中的子程序把定時(shí)器T246中的高精度時(shí)間賦給寄存器D0,再通過一個(gè)加法指令存到寄存器D4(D5)中。當(dāng)主程序中的定時(shí)器T0和T1同時(shí)計(jì)到30s時(shí),由于無論跳到哪個(gè)中斷,T0都會(huì)被重新賦0,所以在開監(jiān)控時(shí)你會(huì)觀察到T0的常開、常閉觸點(diǎn)都會(huì)保持原狀態(tài),而T1的常開、常閉觸點(diǎn)都會(huì)動(dòng)作,但在實(shí)際監(jiān)控中T1的觸點(diǎn)會(huì)保持原態(tài),Y003則會(huì)取反。從主程序的梯形圖中可以清楚地看到Y(jié)001線圈失電,Y000線圈得電(這里需要注意的是和上面有所不同,1ms積算型定時(shí)器T247被直接復(fù)位,而不會(huì)像上面那樣中斷被禁止后還會(huì)繼續(xù)計(jì)時(shí)),X000的上升沿和X003的下降沿中斷被允許,而X001的下降沿和X002的上升沿中斷被禁止(這里需要注意的是X003下降沿被觸發(fā)后,定時(shí)器T1會(huì)被賦0,此時(shí),T1的常開和常閉觸點(diǎn)都會(huì)恢復(fù)原狀態(tài),但恰好此時(shí)X001的下降沿和X002的上升沿中斷被禁止,線圈Y003、Y004和定時(shí)器T247都會(huì)被復(fù)位,這樣就保持了Y000的狀態(tài)),T246被賦0,同時(shí),主程序中的定時(shí)器T0又重新開始計(jì)時(shí),線圈Y002和Y005被接通,PLC主機(jī)輸出端的Y002和Y005指示燈會(huì)被點(diǎn)亮,T246開始高精度定時(shí)。X003的下降沿中斷子程序中把T247中的高精度時(shí)間賦給寄存器D2,再通過一個(gè)加法指令存到寄存器D4(D5)中。如果信號(hào)源一直保持為1得話,這個(gè)循環(huán)就會(huì)繼續(xù)下去。當(dāng)計(jì)時(shí)到每一個(gè)時(shí)刻時(shí),我們把信號(hào)源關(guān)斷,此時(shí),其中的某一組定時(shí)器正在進(jìn)行高進(jìn)度定時(shí),我們暫時(shí)不用去管他(這里需要注意的是雖然你的定時(shí)器還在動(dòng)作,但是由于程序的設(shè)置,并不影響結(jié)果),在主程序中由于設(shè)置了一個(gè)X004的下降沿觸發(fā),使得信號(hào)源一關(guān)斷后,立即被觸發(fā),同時(shí),進(jìn)行高精度定時(shí)的那組定時(shí)器中的數(shù)據(jù)馬上被賦給寄存器(實(shí)際在監(jiān)控過程中,寄存器中的數(shù)據(jù)會(huì)每個(gè)30s的周期都會(huì)改變),通過一個(gè)加法指令后得到最后的高精度計(jì)時(shí)結(jié)果。圖4-3長(zhǎng)時(shí)間高精度定時(shí)主程序梯形圖4.3.2中斷程序1的梯形圖及其工作原理中斷程序1,如圖4-4,在信號(hào)源有0變?yōu)?時(shí),有上面的原理我們可以知道X000的上升沿會(huì)被觸發(fā),同時(shí),X000的上升沿中斷允許,此時(shí),中斷程序1開始執(zhí)行,輸出Y002被導(dǎo)通,Y002的常開觸點(diǎn)閉合,由于此時(shí)輸出Y000的轉(zhuǎn)臺(tái)也為1,所以,1ms積算型定時(shí)器T246被導(dǎo)通,開始高精度定時(shí)。圖4-4長(zhǎng)時(shí)間高精度定時(shí)中斷程序1梯形圖4.3.3中斷程序2的梯形圖及其工作原理中斷程序2,如圖4-5,當(dāng)計(jì)時(shí)30s后,主程序中會(huì)進(jìn)行Y000和Y001的取反,這時(shí)X001的下降沿和X002的上升沿中斷同時(shí)被允許和觸發(fā),而X000的上升沿中斷被禁止。所以,輸出線圈Y003被導(dǎo)通,同時(shí),把第一組定時(shí)器的高精度定是結(jié)果通過加法指令放入寄存器D4(D5)中,主程序中的定時(shí)器T0被賦0,使T0清零后重新開始30s計(jì)時(shí)。圖4-5長(zhǎng)時(shí)間高精度定時(shí)中斷程序2梯形圖4.3.4中斷程序3的梯形圖及其工作原理中斷程序3,如圖4-6,中斷程序3和上面的中斷程序2是同時(shí)被觸發(fā)的,輸出Y004被導(dǎo)通,Y004的常開觸點(diǎn)閉合,由于取反后輸出Y001為1,所以,在主程序中的定時(shí)器T0被清零重新開始計(jì)時(shí),1ms積算型定時(shí)器T247也開始高精度定時(shí)。圖4-6長(zhǎng)時(shí)間高精度定時(shí)中斷程序3梯形圖4.3.5中斷程序4的梯形圖及其工作原理中斷程序4,如圖4-7,又經(jīng)過30s的計(jì)時(shí)后,主程序中的Y000和Y001又被取反,這時(shí),X000的上升沿和X003的下降沿中斷同時(shí)被允許和觸發(fā),而X001下降沿和X002的上升沿中斷被禁止。輸出Y005被導(dǎo)通,把第二組定時(shí)器的高精度定時(shí)結(jié)果通過加法也存于數(shù)據(jù)寄存器D4(D5)中,同時(shí),主程序中的定時(shí)器T0、T1和1ms積算型定時(shí)器T246都被賦0,為重新計(jì)時(shí)做準(zhǔn)備。圖4-7長(zhǎng)時(shí)間高精度定時(shí)中斷程序4梯形圖4.3.6總程序的梯形圖整個(gè)程序的工作原理,在上面我們已經(jīng)分部做過了詳細(xì)的介紹,所以在這邊就不再多闡述。總程序的梯形圖,如下圖4-8。圖4-8長(zhǎng)時(shí)間高精度定時(shí)中斷總程序梯形圖4.3.7總程序的指令表第5章程序的改進(jìn)、實(shí)現(xiàn)及調(diào)試第5.1節(jié)如何完善“長(zhǎng)時(shí)間高精度”定時(shí)系統(tǒng)5.1.1“長(zhǎng)時(shí)間高精度”定時(shí)復(fù)位問題的引入在上述程序設(shè)計(jì)中,沒有定時(shí)啟動(dòng)開關(guān),進(jìn)行程序調(diào)試時(shí),一旦使程序進(jìn)入運(yùn)行狀態(tài),便會(huì)觸動(dòng)M8000(RUN監(jiān)視器),即可編程控制器在運(yùn)行過程中,它一直處于接通狀態(tài),這樣便觸發(fā)定時(shí)系統(tǒng)開始工作,直到觸發(fā)X004的下降沿,定時(shí)結(jié)束,得出最后的高精度定時(shí)。對(duì)于這樣的系統(tǒng)問題,需引入復(fù)位開關(guān),同時(shí)設(shè)定一個(gè)開啟開關(guān),完善系統(tǒng)的定時(shí)功能,使操作更加人性化,更加方便。5.1.2實(shí)現(xiàn)思路啟動(dòng)開關(guān)的設(shè)置:這只是一個(gè)啟動(dòng)開關(guān)而已,其設(shè)置較為簡(jiǎn)單,直接將M8000換做一個(gè)輸入元器件,在本設(shè)計(jì)中,采用X007。使得觸發(fā)X007時(shí),啟動(dòng)整個(gè)定時(shí)系統(tǒng),進(jìn)入計(jì)時(shí)。復(fù)位開關(guān)的設(shè)置:當(dāng)程序運(yùn)行完畢時(shí),加設(shè)復(fù)位開關(guān),保證下一次的計(jì)時(shí)不會(huì)累加前一次的結(jié)果,實(shí)現(xiàn)程序的循環(huán)使用。在主程序中,編寫復(fù)位指令,設(shè)定復(fù)位開關(guān)X005,一旦啟動(dòng)復(fù)位開關(guān),便對(duì)T246、D0、D2、D4、D6進(jìn)行復(fù)位,清零,保證下一次的運(yùn)行。關(guān)斷開關(guān)的設(shè)置:此程序中的關(guān)斷開關(guān)就是X004,只是為使程序操作起來較為簡(jiǎn)便,可修改硬件設(shè)備,將撥動(dòng)開關(guān)換掉,使用常閉的瞬時(shí)按鈕,實(shí)現(xiàn)按一下便可關(guān)斷定時(shí)。第5.2節(jié)硬件和軟件方面的實(shí)現(xiàn)5.2.1實(shí)現(xiàn)定時(shí)復(fù)位的硬件改進(jìn)對(duì)原先的硬件連接稍作修改,并添加兩個(gè)開關(guān)按鈕。具體接線如下圖5-1所示:圖5-1定時(shí)復(fù)位的硬件連接圖5.2.2程序梯形圖在原有的梯形圖的基礎(chǔ)上,將M8000修改為X007,添加啟動(dòng)開關(guān),使得啟動(dòng)開關(guān)為X007;并在梯形圖中添加復(fù)位程序行,如下圖所示,由復(fù)位開關(guān)X005控制復(fù)位,將T246、D0、D2、D4、D6清零。圖5-2復(fù)位程序梯形圖第5.3節(jié)調(diào)試過程及其問題的解決5.3.1硬件的調(diào)試程序模擬調(diào)試的基本思想是,以方便的形式模擬產(chǎn)生現(xiàn)場(chǎng)實(shí)際狀態(tài),為程序的運(yùn)行創(chuàng)造必要的環(huán)境條件。根據(jù)產(chǎn)生現(xiàn)場(chǎng)信號(hào)的方式不同,模擬調(diào)試有硬件模擬法和軟件模擬法兩種形式。在模擬調(diào)試合格的前提下,將PLC與現(xiàn)場(chǎng)設(shè)備連接?,F(xiàn)場(chǎng)調(diào)試前要全面檢查整個(gè)PLC控制系統(tǒng),首先對(duì)PLC外部接線作仔細(xì)檢查,這一環(huán)節(jié)很重要,包括電源、接地線、設(shè)備連接線、I/O連線等。為安全起見,最好將主電路斷開,當(dāng)確認(rèn)接線無誤后再連接主電路,送電,將PLC的工作方式置為“RUN”。反復(fù)調(diào)試,消除可能出現(xiàn)的問題。當(dāng)試運(yùn)一定時(shí)間且系統(tǒng)運(yùn)行正常后,并協(xié)調(diào)一致地完成整體的控制功能時(shí),可將程序固化在具有長(zhǎng)久記憶功能的存儲(chǔ)器中,做好備份。FX2N系列PLC的輸入輸出繼電器:輸入繼電器(X)PLC的輸入端子是從外部接受信號(hào)的端口,PLC內(nèi)部與輸入端子連接的輸入繼電器X是用光電隔離的電子繼電器,它們的編號(hào)按八進(jìn)制進(jìn)行編號(hào),線圈的通斷取決于PLC外部觸點(diǎn)的狀態(tài),不能用程序指令驅(qū)動(dòng)。內(nèi)部提供常開/常閉兩種觸點(diǎn)供編程時(shí)使用,且使用次數(shù)不限。(2)輸出繼電器(Y)PLC的輸出端子是向外部負(fù)載輸出信號(hào)的端口。輸出繼電器的線圈通斷由程序驅(qū)動(dòng),輸出繼電器也按八進(jìn)制編號(hào),其外部輸出主觸點(diǎn)接到PLC的輸出端子上供驅(qū)動(dòng)外部負(fù)載使用,內(nèi)部提供常開/常閉觸點(diǎn)供程序使用,且使用次數(shù)不限。PLC的狀態(tài)指示燈:圖5-3PLC的狀態(tài)指示圖表5-1PLC的狀態(tài)指示燈及運(yùn)行狀態(tài)注釋表指示燈指示燈的狀態(tài)與當(dāng)前運(yùn)行的狀態(tài)POWER電源指示燈(綠燈)PLC接通220V交流電源后,該燈點(diǎn)亮,正常時(shí)僅有該燈點(diǎn)亮表示PLC處于編輯狀態(tài)。RUN運(yùn)行指示燈(綠燈)當(dāng)PLC處于正常運(yùn)行狀態(tài)時(shí),該燈點(diǎn)亮。BATT.V內(nèi)部鋰電池電壓低指示燈(紅燈)如果該指示燈點(diǎn)亮說明鋰電池電壓不足,應(yīng)更換。PROG.E(CPU.E)程序出錯(cuò)指示燈(紅燈)如果該指示燈閃爍,說明出現(xiàn)以下類型的錯(cuò)誤:1、程序語法錯(cuò)誤;2、鋰電池電壓不足;3、定時(shí)器或計(jì)數(shù)器未設(shè)置常數(shù);4、干擾信號(hào)使程序出錯(cuò);5、程序執(zhí)行時(shí)間超出允許時(shí)間,此燈連續(xù)亮。用戶程序的創(chuàng)建、修改、編輯、開啟監(jiān)控的基本步驟:(1)運(yùn)行軟件雙擊桌面圖標(biāo),出現(xiàn)初始界面。圖5-4硬件調(diào)試運(yùn)行初始界面(2)新建程序文件單擊界面中的新建文件圖標(biāo),出現(xiàn)PLC類型設(shè)置界面。(3)機(jī)型選擇在所示界面中,選擇機(jī)型,單擊確認(rèn),出現(xiàn)編程界面。圖5-5硬件調(diào)試運(yùn)行編程界面(4)梯形圖編制如在光標(biāo)處輸入X0的常閉觸點(diǎn),可單擊功能圖欄的“常閉觸點(diǎn)”圖標(biāo),出現(xiàn)如圖所示輸入元件對(duì)話框中,輸入“X0”,單擊“確認(rèn)”按鈕,要輸入的X0常閉觸點(diǎn)出現(xiàn)在藍(lán)色光標(biāo)處。圖5-6梯形圖編制對(duì)話框(5)指令轉(zhuǎn)換在梯形圖編制了一段程序后,梯形圖程序變成灰色。單擊工具欄上的轉(zhuǎn)換圖標(biāo),將梯形圖轉(zhuǎn)換成指令語句表,在“視圖”菜單下選擇“指令表”,可進(jìn)行梯形圖和語句表的界面切換。(6)程序?qū)懗龀绦蚓庉嬐戤?,可進(jìn)行文件保存等操作。調(diào)試運(yùn)行前,需將程序下載到PLC中。單擊“PLC”菜單下的“傳送”,再選擇“寫出”,如圖所示,可將程序下載到PLC中。(7)運(yùn)行監(jiān)控程序下載完畢,可配合PLC輸入輸出端子的連接進(jìn)行控制系統(tǒng)的調(diào)試。調(diào)試過程中,用戶可通過軟件進(jìn)行各軟元件的監(jiān)控。硬件調(diào)試過程中的注意點(diǎn):1)在進(jìn)行接線前,務(wù)必檢查導(dǎo)線的完好性,減少不必要的錯(cuò)誤;2)上電調(diào)試前,仔細(xì)檢查線路的正確度;3)文件寫出時(shí)可設(shè)定程序行,每次修改梯形圖后,注意要進(jìn)行轉(zhuǎn)換,并重新寫入程序,修改程序前,記得中止運(yùn)行!5.3.2軟件的調(diào)試FX2N系列PLC的軟件調(diào)試,根據(jù)預(yù)期的設(shè)計(jì)效果,開監(jiān)控進(jìn)行調(diào)試,修改相關(guān)的指令。在該設(shè)計(jì)中主要運(yùn)用中斷指令,熟練運(yùn)用中斷梯形圖,在第二章中,我們已經(jīng)詳細(xì)介紹了中斷指令的相關(guān)概念。進(jìn)行軟件調(diào)試時(shí),要保證梯形圖的正確,尤其是中斷梯形圖的編寫。下圖5-7以中斷服務(wù)程序I101、I200為例,著重解釋了梯形圖的編寫規(guī)范。圖5-7中斷梯形圖的編寫示意圖程序調(diào)試出來后,分析具體的運(yùn)行結(jié)果,單擊“PLC”,在下菜單中單擊傳送,寫出程序;接著開監(jiān)控,單擊“監(jiān)控/測(cè)試”;最后遙控運(yùn)行程序,綠色陰影部分表示已上電。在完善后的梯形圖中,運(yùn)行程序,首先撥動(dòng)啟動(dòng)開關(guān),PLC開始進(jìn)行長(zhǎng)時(shí)間高精度定時(shí),當(dāng)需要中止時(shí),按下中止按鈕,計(jì)時(shí)結(jié)束,部分操作開關(guān)如下圖5-9所示:圖5-8電源輸入接線圖圖5-9設(shè)計(jì)接線圖的開關(guān)示意圖如何觀察定時(shí)結(jié)果:下圖為運(yùn)行監(jiān)控圖,由計(jì)數(shù)器的結(jié)果可分析出高精度時(shí)間。圖5-10調(diào)試運(yùn)行指令監(jiān)控圖此圖中:D6=D4=D2+D0=31088+9422=40510ms即最后是計(jì)時(shí)時(shí)間為40.510秒。運(yùn)行完成后,若要進(jìn)行下一次的長(zhǎng)時(shí)間高精度定時(shí),可按復(fù)位按鈕
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第二章農(nóng)業(yè)推廣的發(fā)展簡(jiǎn)史
- 住宅小區(qū)會(huì)所建筑施工BIM技術(shù)應(yīng)用
- 吸痰技術(shù)與應(yīng)用
- 銷售藥品總結(jié)
- 眩光現(xiàn)象及其防控技術(shù)
- 新四軍江抗東進(jìn)紀(jì)念館講解
- 新品導(dǎo)入技術(shù)報(bào)告
- 設(shè)備設(shè)計(jì)方案講解
- 西京醫(yī)院醫(yī)生進(jìn)修總結(jié)
- 小朋友課程匯報(bào)
- 企業(yè)產(chǎn)學(xué)研用管理辦法
- 2025年版義務(wù)教育體育與健康課程標(biāo)準(zhǔn)題庫及答案(教師培訓(xùn)考試專用七套)
- 2025廣東省中考數(shù)學(xué)試卷
- 工程事業(yè)部運(yùn)營(yíng)管理辦法
- 2025汽車智能駕駛技術(shù)及產(chǎn)業(yè)發(fā)展白皮書
- 苯職業(yè)病防護(hù)課件
- 2025年鑄牢中華民族共同體意識(shí)基本知識(shí)測(cè)試題及答案
- 2025年湖北省中考道德與法治真題(解析版)
- 2025-2030年中國(guó)胃食管反流病行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國(guó)苯丙酮尿癥(PKU)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 催收新人培訓(xùn)管理制度
評(píng)論
0/150
提交評(píng)論