陸雪影
【摘要】PLC中自帶有定時器,但是一般PLC自帶的定時器數量有限,在有有的應用中,較少的定時器數量難以PLC的應用,為此,需要通過外擴定時器來滿足PLC應用的需求。在本文的研究中,對基于PLC的外擴256個并行外部定時器進行研究。
【關鍵詞】PLC技術;并行定時器
定時器指令是PLC工作運行中的重要指令,可以進行構造時序、人為制造中斷等各種應用,是PLC應用中不可或缺的重要手段。
1. 定時器設計
常用的PLC微控制器的內部定時器數量有限,在有大量定時任務需要完成時,PLC自帶的內部定時器難以滿足應用的需求,因此需要通過外擴定時器芯片,來實現大量定時器單元的設計。
1.1 總體結構設計
在本課題所研究的并行定時器中,實現了256個定時范圍為1~228,最小定時時間為1ms定時器。由于并行定時器的定時范圍寬、單元數量多,因此采用并行方式執(zhí)行,在較短的時間內對所256個定時單元進行掃描,完成一次定時操作。
為了節(jié)省接口數量,并行定時器單元的輸入輸出接口采用雙向I/O接口。外部控制器訪問定時器的方式是按照一定的時序實現數據的寫入和讀取,定時器內部定時單元的訪問和操作通過相應命令來控制。定時器的內部框架圖設計如圖1所示。
1.2 定時器命令設計
在定時器總體設計過程中,PLC與并列控制的外部定時器之間通過命令的方式來實現數據的交互。定時器的命令范圍控制命令和讀取命令兩種。在PLC與外部定時器進行數據通信的過程中,為了保證256個外部定時器單元初始化成功和正確讀取,PLC的輸入輸出頻率應該在300kHz以上。在PLC的地址總線中,輸入0x000-0x0ff表示256個定時器中某個定時器的編號,而0x00-0x120表示將256個定時器劃分為8組每組數量為32個定時器的中斷標志組,通過分組可以更快的實現對定時器的初始化和讀取操作。
(1)控制命令
PLC向定時器單元發(fā)送的初始化、啟用、停用、暫停等控制命令,控制命令的輸入格式如表1所示。
通過設置相應的定時器地址,并且輸入定時器初始數據,PLC就可以控制256個外部定時器單元中的某個定時器啟動,當啟動標志位和使用標志位同時置1,并且結束標志位和工作標志位同時置0時,控制外部定時器開始工作。當啟動標志位或者使用標志位中的某個位置0時,定時器停止工作,并且載入初始值,等待下一次被PLC啟用。
(2)讀取命令
的那個RW端置高電平后,PLC可以訪問定時器單元內的定時數據來獲取相應的定時狀態(tài)和定時值信息。當讀取命令的輸入地址為0x100時,可以并行讀取1個定時器單元組中的32個外部單元的數據,0表示定時單元未啟動或者未結束,1表示定時器時間到達。
2. PLC程序控制
PLC程序是指PLC并行控制256個外部定時器單元的程序。程序的主要模塊分為如下五個部分的內容。
2.1 1kHz分頻模塊
分頻模塊將50MHz的方波進行分頻,實現分頻為50%占空比的1kHz頻率信號輸出。在分頻時需要一個計數器進行輸出控制,計數器的計算公式如式(1)所示。
(1)
根據式(1)計算得到計數次數為25000,因此當技術次數為25000時,輸出1kHz取反,獲得50%占空比的1kHz方波。
2.2 地址計數模塊
在訪問兩端RAM時,通過地址技術模塊輸入地址,當PLC模塊需要讀取外部定時器中的定時數據時,地址計數器模塊停止計數,在完成讀取操作后,繼續(xù)進行地址增加,在完成一個循環(huán)之后,等待下一次1kHz脈沖到達。
地址計數采用11位寄存器,11個寄存器的低3位保持地址持續(xù)時間,在8個時鐘周期的持續(xù)時間中,完成一次單元操作。在單元操作完成后,地址計數器累加,地址計數所指向的地址后移。
2.3 計時與邏輯控制模塊
計時與邏輯控制模塊讀取兩端口RAM中的數據,讀取RAMCR中的數據并判斷當前定時的定時狀態(tài)和定時初始值;讀取RAMCE中的數據,進行減操作,開始進行定時。如果在計時與邏輯控制模塊運行過程中發(fā)現了定時結束的定時單元,則將RAMCE中的D27和D28位置分別設置為0和1,如果定時單元未技術則設置為1和0,其余情況設置為0和0。
3. 總結
PLC中自帶了定時器以滿足一般應用的需求,但由于PLC所在帶的定時器較少,因此難以滿足復雜應用的需求。在本文的研究中,采用PLC未接定時器的方式來擴充PLC的定時器的數量,并通過并行處理來提高定時器工作的實時性,提高定時器計數和定時的準確性。
參考文獻
[1]孫志雄,謝海霞.基于FPGA的高速串并/并串轉換器設計[J].現代電子技術,2014,(8):151-152.
[2]李克儉,付杰,蔡啟仲,等.基于FPGA的串行定時器設計[J].廣西工學院學報,2012,23(3):61-65.
[3]張煒,李克儉,蔡啟仲,等.基于FPGA的PLC并行定時器的設計[J].計算機工程與設計,2013,34(4):1244-1249.