丁國明
摘? 要:該文在對(duì)PLC定時(shí)器和計(jì)數(shù)器進(jìn)行功能需求分析后,對(duì)定時(shí)器、計(jì)數(shù)器和高速計(jì)數(shù)器的控制模塊整體結(jié)構(gòu)進(jìn)行設(shè)計(jì),并對(duì)其與中央控制器之間進(jìn)行通信的接口與讀寫時(shí)序進(jìn)行設(shè)計(jì)。最終的時(shí)序仿真結(jié)果表明,該文所研究的PLC定時(shí)器和計(jì)數(shù)器模塊工作正常,并充分利用了FPGA的并行執(zhí)行特點(diǎn),改進(jìn)了PLC的定時(shí)器和計(jì)數(shù)器執(zhí)行效率。
關(guān)鍵詞:PLC? 定時(shí)器? 計(jì)數(shù)器? 高速計(jì)數(shù)器
中圖分類號(hào):TM571.61 ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2019)09(a)-0042-03
定時(shí)器與計(jì)數(shù)器是PLC(Programmable Logic Controller,可編程邏輯控制器)中最重要的資源之一。PLC內(nèi)部有眾多定時(shí)器和計(jì)數(shù)器資源,而在具體應(yīng)用過程中,僅有一部分定時(shí)器和計(jì)數(shù)器資源被利用到,造成資源的浪費(fèi)。為此,該文以西門子PLC S7-30為例,對(duì)PLC的定時(shí)器和計(jì)數(shù)器模塊進(jìn)行重構(gòu),充分利用FPGA的并行執(zhí)行特點(diǎn),將PLC內(nèi)的定時(shí)器和計(jì)數(shù)器資源劃分為多個(gè)并行執(zhí)行的模塊,以改進(jìn)PLC的定時(shí)器和計(jì)數(shù)器執(zhí)行效率。
1? 總體結(jié)構(gòu)設(shè)計(jì)
定時(shí)器和計(jì)數(shù)器控制模塊的總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
其中,定時(shí)器模塊包括1ms、10ms、100ms這3種定時(shí)器,計(jì)數(shù)器分為內(nèi)部信號(hào)計(jì)數(shù)器(簡稱計(jì)數(shù)器)和高速計(jì)數(shù)器兩種。按照斷電數(shù)據(jù)的保持情況,計(jì)數(shù)器分為斷電保持型計(jì)數(shù)器和通用型計(jì)數(shù)器兩種,高速計(jì)數(shù)器用于對(duì)外部高速脈沖信號(hào)進(jìn)行技術(shù),按照中斷方式工作,不受PLC掃描周期影響。
定時(shí)器、計(jì)數(shù)器和高速計(jì)數(shù)器控制模塊并行工作,通過總線和結(jié)構(gòu)、功能相同的端口讀寫控制器與中央控制器進(jìn)行的數(shù)據(jù)交互。
2? 控制模塊設(shè)計(jì)
定時(shí)器與計(jì)數(shù)器控制模塊的封裝如圖2所示。
圖2的定時(shí)器與計(jì)數(shù)器控制模塊接線說明如表1所示。
其中,CLK、ADDRC、WRC、RDC、RST、DATAC端口為定時(shí)器、計(jì)數(shù)器和高速計(jì)數(shù)器共用的端口,而BUSY1/2/3、ANS1/2/3、ASK1/2/3分別為定時(shí)器、計(jì)數(shù)器和高速計(jì)數(shù)器控制模塊使用的單獨(dú)使用的忙信號(hào)線、中央控制器度應(yīng)道信號(hào)線、讀請(qǐng)求信號(hào)線。
3? 端口讀寫控制器設(shè)計(jì)
如圖1所示,定時(shí)器、計(jì)數(shù)器和高速計(jì)數(shù)器通過端口讀寫控制器實(shí)現(xiàn)與中央控制器的接口。定時(shí)器、計(jì)數(shù)器和高速計(jì)數(shù)器的端口讀寫控制器結(jié)構(gòu)、功能均相同,其結(jié)構(gòu)如圖3所示。
若RST復(fù)位線的低電平保持時(shí)間超過40ns,則觸發(fā)RST復(fù)位,RDC讀信號(hào)線、WRC寫信號(hào)線、ASK讀請(qǐng)求信號(hào)線、讀應(yīng)答信號(hào)線均為低電平使能。CE指令執(zhí)行標(biāo)志線,當(dāng)CE、BUSY線為低電平時(shí),實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。由RDC、WRC和ADDRC狀態(tài),控制組合邏輯三態(tài)門構(gòu)成的I/O口,決定讀寫控制器狀態(tài),和數(shù)據(jù)的輸入輸出控制。端口讀寫控制器的指令由3位code_in線輸出的D29~D31指令類型,和29位data_in線輸出的D0~D28指令數(shù)據(jù)組成32位指令。若clear線接收到來自指令執(zhí)行線發(fā)送的指令執(zhí)行結(jié)束信息時(shí),設(shè)置BUSY線和CE線為高電平,并清除32位指令數(shù)據(jù)。
控制模塊的讀寫時(shí)序設(shè)計(jì)如圖4所示。
如圖4所示,當(dāng)中央控制器檢測到BUSY忙信號(hào)輸出線的電平狀態(tài)為高電平時(shí),可實(shí)現(xiàn)定時(shí)器(或計(jì)數(shù)器,或高速計(jì)數(shù)器)的寫操作,DATAC、ADDRC和WRC的低電平保持30ns以上(時(shí)鐘周期為20ns)。中央控制器對(duì)定時(shí)器和計(jì)數(shù)器控制模塊進(jìn)行讀寫操作控制時(shí),首先通過ASK發(fā)送20ns的請(qǐng)求脈沖,然后讀ANS上讀來自中央控制器的20ns的應(yīng)答脈沖,最終通過設(shè)置RDC低電平,后可從DATAC線中讀取60ns的數(shù)據(jù)。
參考文獻(xiàn)
[1] 徐曉宇,李克儉,蔡啟仲,等.基于FPGA的PLC并行執(zhí)行定時(shí)器/計(jì)數(shù)器的設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2016(1):182-186.
[2] 侯肖霞.關(guān)于利用PLC定時(shí)器和計(jì)數(shù)器進(jìn)行長計(jì)時(shí)功能的探討[J].電氣技術(shù),2014(2):105-107.
[3] 喬橋.由淺入深學(xué)習(xí)PLC定時(shí)器及計(jì)數(shù)器的應(yīng)用[J].中國科教創(chuàng)新導(dǎo)刊,2011(28):205.
[4] 郝敏釵.PLC中定時(shí)器和計(jì)數(shù)器的配合應(yīng)用[J].科技資訊,2011(12):99.
[5] 李英輝,曲昀卿,郝敏釵,等.PLC中定時(shí)器/計(jì)數(shù)器的拓展應(yīng)用[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010,22(4):19-21.
[6] 游珍珍.西門子S7-200PLC定時(shí)器的實(shí)際應(yīng)用[J].湖南科技學(xué)院學(xué)報(bào),2017(6):28-29.
[7] 吳國偉.S7-200 PLC定時(shí)器的實(shí)際應(yīng)用[J].裝備制造技術(shù),2016(5):165-167.
[8] 甄天作.淺談PLC中定時(shí)器的用法及其精度的影響[J].中國高新技術(shù)企業(yè),2016(6):76-77.
[9] 陸雪影.基于PLC技術(shù)的并行定時(shí)器設(shè)計(jì)研究[J].科技與企業(yè),2016(4):99.