《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 借助CMOS數(shù)據(jù)區(qū)為PCNC設(shè)備增加記憶功能
借助CMOS數(shù)據(jù)區(qū)為PCNC設(shè)備增加記憶功能
摘要: 本文提出一種在PCNC控制系統(tǒng)中,借助CMOS數(shù)據(jù)區(qū)為PCNC設(shè)備增加工況記憶功能的方法,可以方便地實(shí)現(xiàn)數(shù)控設(shè)備工況信息的分析與保存,利用相對增量式編碼器實(shí)現(xiàn)絕對增量式編碼器的功能且無須修改或增添其它硬件。文中還指出了這一數(shù)據(jù)區(qū)的其它用途。
Abstract:
Key words :

摘要:本文提出一種在PCNC控制系統(tǒng)中,借助CMOS數(shù)據(jù)區(qū)為PCNC設(shè)備增加工況記憶功能的方法,可以方便地實(shí)現(xiàn)數(shù)控設(shè)備工況信息的分析與保存,利用相對增量式編碼器實(shí)現(xiàn)絕對增量式編碼器的功能且無須修改或增添其它硬件。文中還指出了這一數(shù)據(jù)區(qū)的其它用途。
關(guān)鍵詞:記憶功能,PCNC,工況,編碼器


1 問題的提出

  隨著計(jì)算機(jī)應(yīng)用技術(shù)在工業(yè)領(lǐng)域中的不斷深入,借助計(jì)算機(jī)作為控制核心的數(shù)控設(shè)備在企業(yè)中已得到十分廣泛的應(yīng)用,其中微型機(jī)因其系統(tǒng)的開放性與軟件的豐富性,近年來更有一大批專用接口與之配套,例如A/D、D/A、I/O、Amp.、通訊、SSR端口等。事實(shí)上基于微機(jī)的ISA總線、PCI總線的工業(yè)控制用計(jì)算機(jī)業(yè)已成為一種工業(yè)標(biāo)準(zhǔn)。記錄工控設(shè)備的工況是工控設(shè)備的基本功能之一。例如機(jī)床刀架現(xiàn)在位置,設(shè)備現(xiàn)行加工模式,運(yùn)動(dòng)模式等均是保證設(shè)備加工質(zhì)量以及設(shè)備安全的重要控制參數(shù)。又例如,在突發(fā)事件發(fā)生后,若造成設(shè)備斷電,在斷電前設(shè)備處于何種工況,也是控制系統(tǒng)啟動(dòng)后需要了解的工況信息。因此,作為工業(yè)控制用計(jì)算機(jī)或多或少總要保存一些信息,借以提高設(shè)備智能,減少人工干預(yù)時(shí)間。然而常用于伺服控制系統(tǒng)的伺服控制卡、相對增量式編碼器、I/O卡等均無斷電保存信息的功能。所以,為保存設(shè)備位置、工況等信息就要修改接口設(shè)計(jì)或采用絕對增量式編碼器,由此造成控制系統(tǒng)成本增加是不可避免的,少則千余元,多則數(shù)千元。

  雖然保存數(shù)據(jù)信息可以采用磁盤,但是磁盤的訪問時(shí)間太長,實(shí)時(shí)控制性能較差。如果采用電子盤技術(shù),雖然速度問題可以解決,但價(jià)格太高。因此,能否利用設(shè)備已有的資源來完成工況信息保存工作,就成為一個(gè)十分有研究意義的問題。


2 實(shí)現(xiàn)方法

  資料表明,自80286微機(jī)問世以來,微機(jī)主板上就多了一塊可用于保存系統(tǒng)時(shí)間與系統(tǒng)配置的專用CMOSRAM芯片,系統(tǒng)斷電后由鋰電池為其保持?jǐn)?shù)據(jù)不丟失。在其存儲(chǔ)空間中系統(tǒng)信息占用的數(shù)據(jù)長度為64個(gè)字節(jié)。然而,實(shí)踐表明此芯片的存儲(chǔ)容量一般為128個(gè)字節(jié)或更多。所以,用戶至少還有64個(gè)字節(jié)可以支配,這一豐富的資源用于工業(yè)控制,可以保存多達(dá)15個(gè)軸的浮點(diǎn)位置信息,另外還可以將其余4個(gè)字節(jié)用于保存設(shè)備的多達(dá)上億的工況狀態(tài)編碼,或者利用64個(gè)字節(jié)保存512路I/O信息等,這樣的信息保存量對絕大多數(shù)采用微機(jī)為控制中心的數(shù)控設(shè)備來講是完全可以滿足要求的。

  DOS技術(shù)資料表明,對微機(jī)中CMOSRAM數(shù)據(jù)區(qū)內(nèi)容作讀寫操作要利用兩個(gè)端口來實(shí)現(xiàn),標(biāo)準(zhǔn)規(guī)定采用尋址端口0X70寫入要訪問的數(shù)據(jù)區(qū)地址,而由數(shù)據(jù)讀寫端口0X71完成讀出或?qū)懭胍粋€(gè)字節(jié)信息的操作[1][2]。下面用C語言編寫的一小段程序來說明如何從芯片的存儲(chǔ)區(qū)中讀出或?qū)懭霐?shù)據(jù)。



unsignedcharstate[64],index,last_state[64];

…//以下是讀端口中的內(nèi)容

disable();//關(guān)閉中斷

for(index=0;index<64;index++){

outportb(0x70,0x40+index);//向?qū)ぶ范丝趯懭氪L問地址

last_state[index]=inportb(0x71);

//讀入CMOS中已存的數(shù)據(jù)



enable();//允許中斷

//工況分析與設(shè)備工況調(diào)整

…//填寫設(shè)備工況至數(shù)組state中

disable();

for(index=0;index<64;index++){

outportb(0x70,0x40+index);//向?qū)ぶ范丝趯懭氪L問地址

outportb(0x71,state[index]);//將工況信息寫入CMOS中



enable();





  示例程序中在讀寫操作前關(guān)閉中斷是為保證讀寫地址不被別的中斷程序或系統(tǒng)程序更改讀寫地址,從而保證記錄讀寫的準(zhǔn)確性。

  由以上的例子可以看出,即使要完成多個(gè)工況的記錄耗時(shí)也是極為短暫的。由于在設(shè)備控制過程中,作為主控計(jì)算機(jī)主要工作在中斷模式下[2],所以主控計(jì)算機(jī)有足夠的時(shí)間來分析、保存實(shí)時(shí)工況信息,并作出相應(yīng)的處理。


3 結(jié)束語

  綜上所述,借助微機(jī)的CMOS數(shù)據(jù)區(qū),可以保證高效快速地存儲(chǔ)與獲取數(shù)據(jù)。必要時(shí),將上述程序置于一中斷程序中,并將用戶保存機(jī)器工況的數(shù)組state說明成為全局變量,即能在定時(shí)中斷時(shí)將主程序的執(zhí)行結(jié)果進(jìn)行刷新,從而達(dá)到保存信息的目的。

  此外,在測控系統(tǒng)設(shè)計(jì)中,往往要求在兩程序之間作信息的相互傳遞,此時(shí)也可以將CMOSRAM區(qū)作為一個(gè)信息存放站,用于說明兩程序現(xiàn)在各自的工作狀況及用于數(shù)據(jù)交換。除交換與保存信息之外,用戶還可以利用這一塊數(shù)據(jù)區(qū)中的某幾個(gè)字節(jié)在軟件安裝時(shí)寫入軟件的特征代碼,以便使軟件及數(shù)據(jù)得到些許加密保護(hù)。

  筆者在十余年來的工業(yè)測控系統(tǒng)研制與開發(fā)中,采用本技術(shù)節(jié)省的資金已達(dá)數(shù)萬元,若推廣使用,相信能為我國數(shù)控設(shè)備制造業(yè)帶來一筆可觀的利潤,并且改善設(shè)備的性能。以年產(chǎn)一百臺(tái)二坐標(biāo)機(jī)床的中小企業(yè)為例,以每臺(tái)二坐標(biāo)設(shè)備用相對編碼器替代絕對編碼器節(jié)省硬件投資6000元計(jì),每年就可以節(jié)省約60萬元,其潛在社會(huì)效益和經(jīng)濟(jì)效益不容置疑。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。