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

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


1 問題的提出

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

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


2 實現(xiàn)方法

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

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

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


3 結(jié)束語

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

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

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

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