機床數(shù)控系統(tǒng)中嵌入式plc的設(shè)計
在機床數(shù)控系統(tǒng)中,電氣設(shè)備的控制占有重要的地位。目前,一般采用可編程控制器(PLC)進(jìn)行機床電氣控制。PLC可靠性高,使用方便,對于復(fù)雜的,控制點數(shù)較多的應(yīng)用場合,可以在PLC基本單元外加上一定數(shù)目的擴(kuò)展單元,實現(xiàn)復(fù)雜的電氣控制功能。在數(shù)控機床上。如果采用PLC進(jìn)行電氣控制,必需在PLC與NC 間建立電氣聯(lián)系,否則,NC程序中的MST指令反映不到PLC中,PLC也就不可能做出相應(yīng)的動作。目前市場上出售的PLC一般都具有通訊功能,可以利用這種功能在PLC與NC之間建立聯(lián)系。由于PLC的通訊方式為串行通訊,通訊速度比較低,對于數(shù)控機床的某些實時性要求很強的信號如急停,超程等。就難以勝任一必需采取其它措施滿足這些特殊需要,但這又增加了系統(tǒng)的復(fù)雜程度。為了提高速度,降低戚本。在數(shù)控系統(tǒng)中t可以采用開關(guān)量I/O板加外接繼電器,配臺主機的軟件對電氣開關(guān)進(jìn)行控制。但此方案周NC主機要直接參與電氣控制邏輯的運算過程。占用了主機的部分工作時間,增加了軟件的復(fù)雜程度。更重要的是。把過多的功能集中到主機使主機-發(fā)生故障的風(fēng)險加大 出于對實時性和可靠性的考慮。作者在研制五軸聯(lián)動數(shù)控系統(tǒng)的過程中。設(shè)計了一種嵌入式PLC.在保證實時性的同時。使故障風(fēng)險相對分散。
本文引用地址:http://2s4d.com/article/201710/365810.htm1 嵌入式PLC的硬件結(jié)構(gòu)
我們研制的五軸聯(lián)動數(shù)控系統(tǒng)是一種基于工業(yè)PC 的多CPU 分布式開放化數(shù)控系統(tǒng)。做為其中的一部分,嵌入式PLC的設(shè)計也必需遵循開放化的原則。其硬件是模塊化的。按照標(biāo)準(zhǔn)的工控機插卡進(jìn)行設(shè)計。目前,工控機的底板總線有兩類:ISA總線和PCI總線。ISA總線的數(shù)據(jù)轉(zhuǎn)輸速率比PCI總線要低得多。但已完全能夠滿足一般工業(yè)控制的需要,而且ISA 總線對工控機擴(kuò)展卡的要求比PCI要寬松。 從已有的工業(yè)應(yīng)用經(jīng)驗看。可靠性也比較高。因此我們?nèi)赃x擇ISA總線做為嵌入式PLC設(shè)計的基礎(chǔ)。
嵌入式PLC的組成參圖1
嵌入式PLC的CPU 采用Intel16 位單片機80C196。其獨特的寄存器一累加器結(jié)構(gòu)以及三操作數(shù)指令可以大大減少程序中數(shù)據(jù)傳送類指令的數(shù)目,提高程序運行的效率 圖1中雙口存儲器用于PLC與數(shù)控系統(tǒng)主機之間交換信息,數(shù)控系統(tǒng)運行過程中.PLC在不斯地進(jìn)行電氣控制邏輯運算的同時。也周期性地刷新雙口RAM 中的內(nèi)容,把電氣開關(guān)狀態(tài).PLC運行狀態(tài)等反映到雙口RAM中。有一部分面板按鍵如循環(huán)啟動,進(jìn)給保持。手動等用于NC操作,不能按一般的I/O點處理。嵌入式PLC識別按鍵操作并在雙口RAM 中維護(hù)一個循環(huán)隊刊記錄這些按鍵操作。另一方面,NC 軟件根據(jù)加工程序中的M、S和T指夸修改雙口RAM 中特定的數(shù)據(jù),PLC周期性地讀取這些數(shù)據(jù),并據(jù)此控制電氣設(shè)備的通斷。對于實時性要求很高的信號,PLC可在更新雙口RAM 內(nèi)容后,通過ISA總線向NC發(fā)出中斷。
這里運用雙口RAM 完成NC與嵌入式PLC之間的信息交換,與采用并行口的方案相比。該方法簡潔明了,無需復(fù)雜的通訊協(xié)議,NC可以隨時了解外部設(shè)備開關(guān)狀態(tài)而不需額外消耗時間。效率高于其它實現(xiàn)方式。
圖1中包括一片的靜態(tài)RAM 芯片6264,用后備電池供電-主要用于存儲PLC梯形圖程序。在NC中對電氣控制邏輯進(jìn)行編程,編譯后經(jīng)雙口RAM 存入6264中。PLC運行這部分程序。完成電氣控制。
2 軟件設(shè)計
嵌入式PLC軟件設(shè)計有兩部分內(nèi)容,一個是工控PC機中相關(guān)程序設(shè)計,另一個是嵌入式PLC 自身所帶監(jiān)控程序設(shè)計。前者的主要功能模塊參圖2。
梯形圖編程模塊為用戶提供方便的PLC電氣控制邏輯編程手段,其生成結(jié)果為梯形圖文件。梯形圖文件僅存儲I/0點之間的邏輯關(guān)系,其格式與嵌入式PLC所用CPU類型無關(guān),以提高編程模塊的適應(yīng)性及可重用性。梯形圖編譯模塊則用于把該文件轉(zhuǎn)化為一系列的80C196機器指令,并加上一些必要的附加指令,產(chǎn)生BIN文件,即機器碼文件。此部分應(yīng)當(dāng)考慮到PLC中I/O點的資源分布情況,使最后生成的BIN 文件的指令與實際I/O 資源協(xié)調(diào)一致。通訊模塊用于把BIN文件傳輸?shù)诫p口 RAM 中,再由PLC監(jiān)控程序把它轉(zhuǎn)儲到6264中。此部分提供用戶開發(fā)接口,以便用戶自行控制BIN文件的傳輸,為用戶提供對PLC進(jìn)行現(xiàn)場編程的功能。監(jiān)控模塊提供用戶I/O 點監(jiān)視與設(shè)置、PLC運行狀態(tài)/編程狀態(tài)設(shè)置等功能,方便用戶現(xiàn)場調(diào)試。另外,為了使用戶能夠在自主開發(fā)的應(yīng)用程序中對嵌入式PLC進(jìn)行有效的監(jiān)控,此部分也提供開放的用戶接口。
嵌入式PLC的監(jiān)控程序主要實現(xiàn)以下功能:6264中邏輯處理程序(即由工控機傳來的BIN文件)及運行狀態(tài)的有效性檢驗,I/O 點及雙口RAM 映射區(qū)域的周期性刷新,運行故障監(jiān)鍘,面板按鍵的檢測等。當(dāng)6264中已存有有效的BIN文件,且已設(shè)置好有效的運行標(biāo)志時,啟動運行6264中的邏輯處理程序。另外在運行期問。運用Watch Dog對運行是否正常加以監(jiān)視。防止并處理諸如運行6264中程序時發(fā)生超時錯,6264中的邏輯處理程序出錯等異常情況此系統(tǒng)設(shè)計的優(yōu)點總結(jié)如下:
?。?)采用插卡式設(shè)計,NC與PLC之間無多余導(dǎo)線連接,可靠性高,實時性有保證。
?。?)運用雙口RAM 進(jìn)行信息交換。速度快,線路簡潔。
?。?)嵌入到工拉機系統(tǒng)中。開發(fā)、調(diào)試、使用和維護(hù)方便。便于與用戶的軟硬件組臺成更復(fù)雜的系統(tǒng)。
3 在數(shù)控系統(tǒng)中使用嵌入式PLC
如前所述。數(shù)控機床的電氣控制可以采用三類方法。即:外裝式PLC,虛擬PLC和嵌入式PLC 如果采用常規(guī)的程序設(shè)計方法,對于 以上三種電氣控制方式。就得設(shè)計不同的軟件接口,數(shù)控系統(tǒng)軟件主體就會直接涉及到電氣控制的實現(xiàn)方式及其細(xì)節(jié)。一但控制方式發(fā)生變化,將不得不對軟件進(jìn)行大量修改。這樣編寫出的軟件通用性差,難以適應(yīng)變化 為了增加軟件與設(shè)備之間的相互獨立性。我們運用面向?qū)ο蠹夹g(shù)對系統(tǒng)進(jìn)行了開放化設(shè)計。
顯然,不論哪一種控制方式,其目標(biāo)都是相同的。經(jīng)認(rèn)真分析,我們找出了三者之問的共同點,由此得出一抽象類CPLC,它提供了數(shù)控機床電氣控制所有的外部特征,為數(shù)控系統(tǒng)主體軟件提供了完備的接口函數(shù),數(shù)控系統(tǒng)中其它部分只需調(diào)用相應(yīng)接口函數(shù)就可使電氣開關(guān)做出相應(yīng)的動作。但該部分不涉及電氣操作過程中的細(xì)節(jié)??紤]到數(shù)控系統(tǒng)中電氣控制點數(shù)比較多,為每個控制動作如液壓開,液壓關(guān)等等各設(shè)計一個接口函數(shù)會導(dǎo)致過多的接口函數(shù),應(yīng)用不方便,因此,我們設(shè)計了一個通用的接口函數(shù),其定義如下:
如果定義液壓開關(guān)編號為1,冷卻開關(guān)編號為2,……,
則開液壓的函數(shù)調(diào)用為
在抽象類CPIC的基礎(chǔ)上,針對三種方式分別定義了派生類CExternalPlc、CVirtualPLc和CEmbedPLc,在這些類中,才真正對接口函數(shù)編程,完成硬件操作。按照這種設(shè)計思想得到的電氣控制部分軟件具有圖3所示的結(jié)構(gòu)。由圖中3可以看出,這種設(shè)計方法在數(shù)控系統(tǒng)主體軟件與電氣控制硬件之間加入了抽象類層次,使其相互依賴性減弱,成為相對獨立的兩部分。運用這種方法得到的數(shù)控系統(tǒng)軟件具有與設(shè)備無關(guān)的特征 當(dāng)有新的硬件設(shè)備出現(xiàn)時。只需在原抽象類上派生出新的類,按照共同的標(biāo)準(zhǔn)對接口函數(shù)進(jìn)行解釋。操縱硬件做出相應(yīng)的動作即可,無需對軟件其它部分做任何修改。太太提高了軟件設(shè)計的效率。實際上。在對接口函數(shù)參數(shù)的意義做出明確的規(guī)范后,其它任何人都可以參照該規(guī)范設(shè)計出新的電氣控制硬件及相應(yīng)的驅(qū)動程序,集成人系統(tǒng)中。這也就是數(shù)控系統(tǒng)開放化設(shè)計的主要目的。
4 結(jié)束語
數(shù)控系統(tǒng)的開放化設(shè)計設(shè)計者的知識范圍和經(jīng)駐密切相關(guān)。只有在充分了解現(xiàn)有設(shè)計技術(shù)及用戶需要,并對其近期內(nèi)的發(fā)展做出預(yù)測的基礎(chǔ)上,運用工程設(shè)計方法,才有可能得到完善的開放化數(shù)控系統(tǒng)。目前對開放化的討論多著眼于系統(tǒng)硬件結(jié)構(gòu)。操作系統(tǒng)及開發(fā)環(huán)境。具體如何實現(xiàn)開放化特別是軟件的開放化則談的很少。本文從硬件到軟件對電氣控制子系統(tǒng)進(jìn)行了開放化設(shè)計。對此做出了有益的探索。該子系統(tǒng)已集成人我們開發(fā)的五軸聯(lián)動數(shù)控系統(tǒng)中。從使用效果來看,其開放的接口標(biāo)準(zhǔn)以及與設(shè)備無關(guān)的軟件設(shè)計有助于減少編寫數(shù)控系統(tǒng)主體軟件時的錯誤,有較強的適應(yīng)性和可靠性。
評論