數(shù)控系統(tǒng)內(nèi)部控制邏輯是由通用或內(nèi)裝式可編程控制器(PLC)來實現(xiàn)的。目前,PLC的編程方法主要有專用編程器和基于PC的軟件編程器兩種。當前,華中數(shù)控系統(tǒng)PLC控制是基于DOS環(huán)境使用C語言而設計的,該軟件已經(jīng)不太符合現(xiàn)代計算機大多采用Windows操作系統(tǒng)的實際要求,設計人員使用起來不直觀、不方便,而且使用C語言編程同使用梯形圖編程相比,對編程人員要求較高。根據(jù)這些情況,有必要研發(fā)一個基于個人計算機的能為用戶提供直觀、方便、高效的編程環(huán)境的PLC軟件開發(fā)平臺,使數(shù)控實驗臺在最大程度上發(fā)揮它的積極效用,使學生能夠直觀、方便地了解和掌握數(shù)控系統(tǒng)中PLC的編程和仿真操作。
1 華中數(shù)控系統(tǒng)中的可編程控制器
華中數(shù)控世紀星采用的是“內(nèi)裝型”PLC。和CNC共用一個CPU、輸A./輸出、電源。該PLC是從屬于CNC裝置的一部分,與CNC之間的信號傳送在CNC內(nèi)部實現(xiàn),PC與機床側(cè)的信息傳送則通過CNC的I/O接口電路實現(xiàn)。由于CNC的功能和PLC的功能一起考慮,因而這種類型的系統(tǒng)在硬件和軟件的整體結(jié)構(gòu)上合理、實用、性能價格比高。PLC和CNC之間沒有多余的連線,而且PLC上的信息可以在CNC的顯示器上顯示,PLC的編程更為方便,故障的診斷功能也有所提高。
2 數(shù)控PLC編程系統(tǒng)的整體設計
2.1 整體設計方案
在數(shù)控器系統(tǒng)中,CNC和PLC協(xié)調(diào)配合共同完成對數(shù)控機床的控制。PLC主要完成與邏輯運算有關(guān)的一些動作,沒有軌跡上的具體要求,它接受CNC的控制代碼M、S、T等順序動作信息。對其進行譯碼,轉(zhuǎn)換成對應的控制信號控制輔助裝置完成機床相應的開關(guān)動作,如工件的裝夾、刀具的更換等一些輔助動作;它還接受機床操作面板的指令,一方面直接控制機床的動作,另一方面將一部分指令送往CNC用于加工過程的控制。PLC內(nèi)嵌在數(shù)控裝置中,可以進行讀寫操作,借助CNC系統(tǒng)的全部硬件資源,具有友好的界面接口,便于用戶編程和操作。基于Windows系統(tǒng)的圖形開發(fā)系統(tǒng),進行圖形化編程。
2.2 開發(fā)工具的選擇
根據(jù)設計需要選擇C++Builder 5.0為開發(fā)工具,該工具是基于Microsoft公司的32位Windows系列操作系統(tǒng)的可視化開發(fā)工具,使用的程序語言是C++語言,既可進行過程化程序設計,又可進行面向?qū)ο蟮某绦蛟O計,強調(diào)對高級抽象的支持,用它開發(fā)出的應用程序具有可重用的特點。采取面向?qū)ο蠹夹g(shù),高質(zhì)量的代碼能有效降低軟件的復雜度和提高開發(fā)效率。
2.3 數(shù)據(jù)結(jié)構(gòu)的選擇
數(shù)據(jù)結(jié)構(gòu)類型的選擇首先要滿足對于待處理的數(shù)據(jù)元素及其關(guān)系的描述;其次在能夠完整描述問題空間所有數(shù)據(jù)元素及它們之間關(guān)系的基礎(chǔ)上,應采用盡可能簡單的數(shù)據(jù)結(jié)構(gòu),以避免復雜數(shù)據(jù)結(jié)構(gòu)帶來的復雜操作;同時,應考慮與其他模塊之間數(shù)據(jù)結(jié)構(gòu)的通用性。基于以上考慮,作者采用具有線性特性的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)梯形圖編輯過程中元件添加、刪除及修改時設計數(shù)據(jù)的保存和讀取數(shù)據(jù)的高效性。
系統(tǒng)采用了標準模板庫(STL)中的標準順序容器list來存儲設計過程中涉及到的梯形圖數(shù)據(jù),主要對象容器定義如下:
(1)梯級鏈表:Tyr,edef list<CRung*>CRungList;
(2)行鏈表:Typedef list<CRow*>CRowList;
(3)元件鏈表:Typedef list<CElement*>CEle—mentList o
通過list容器模板自帶的push—back成員函數(shù)將要加入的對象壓入到相應種類容器中,通過這樣的操作把各對象逐一地放人容器中,再通過其他成員函數(shù)如ecase、insert等對它們進行操作,實現(xiàn)各對象數(shù)據(jù)的集中管理。
當用梯形圖編程系統(tǒng)繪制梯形圖時,每在計算機屏幕上畫一個梯級,就會生成該梯級類的一個對象,同時程序把該對象加入到梯形圖類中的CRungList鏈表當中;每畫一個行,就會生成該行類的一個對象,同時程序把該對象加入到對應的梯級對象中的CRowList鏈表當中;每畫一個元件,就會生成該元件類的一個對象,同時程序把該對象加入到對應行對象中的CElementList鏈表當中。所以,在CElementList鏈表中的一個結(jié)點對應梯形圖中一個水平連線、元件或功能塊等。
3 數(shù)控PLC編程系統(tǒng)中的梯形圖元件基類設計
梯形圖一般由多個不同的梯級組成,每一個梯級又可以由“一行”或“數(shù)行”組成,每行由一個或幾個輸入元件及一個輸出元件組成。輸出元件應出現(xiàn)在梯級的最右邊,而輸入元件則出現(xiàn)在輸出指令的左邊。
從計算機角度看,梯形圖是一幅位圖,它由一個個像素組成。計算機沒有能力分析梯形圖并判斷出每個元件之間的邏輯關(guān)系,所以,需要找到一種描述方法,讓計算機能“看懂”梯形圖。為此,作者采用面向?qū)ο笤O計方法來開發(fā)梯形圖編輯器。
首先分析和識別梯形圖中的不同對象。根據(jù)對象的性質(zhì)和功能抽象歸并為不同類,建立類的層次結(jié)構(gòu)。面向?qū)ο筌浖O計主要是類的設計,而不是對象的設計,因為各種對象是在梯形圖對應的編輯過程中動態(tài)產(chǎn)生的。通過對系統(tǒng)的梯形圖對象、梯級對象、行對象及元件對象進行抽象,建立了梯形圖編程系統(tǒng)的類層次結(jié)構(gòu),其類層次結(jié)構(gòu)中六大類對象為:梯形圖類、梯級類、行類、梯形圖畫布類、梯形圖文檔類。元件庫模型的基類CElement是從梯形圖編程系統(tǒng)所支持的所有元件抽象出來的一個類,它定義了其他類的共有操作接口和屬性,是其他圖元類的父類。模塊中所有的元件子類都根據(jù)C++的繼承機制繼承了基類的屬性,并根據(jù)自己支持的圖元形狀有選擇地重載基類相應的操作,以滿足子類的需要。所以基類的定義在梯形圖編輯模塊的實現(xiàn)過程中是非常關(guān)鍵的一步。
作者采用的規(guī)則是:將具有相同性質(zhì),包括相同外部性質(zhì)和內(nèi)部處理能力的對象歸為一類作為最低層次,然后采用自下而上逐步抽象的方法,將具有共性的類的公共性質(zhì)再并人一個相對于被抽取共性的類的基類中;被抽取共性的類便為導出類,抽取成形的類為基類。如此類推,不斷產(chǎn)生更多的基類,最終建立了類的層次結(jié)構(gòu)。在對所有梯形圖元件進行共性抽象之前,做了如下處理:
(1)梯形圖元件除元件自身信息外,還應包含其連接線的信息;
(2)把梯形圖的空格和水平連接線作為特殊元件;
(3)在梯形圖中,常開觸點、常閉觸點等元件有一個操作參數(shù);定時器、計數(shù)器等元件有兩個操作參數(shù);空格和水平連接線等元件沒有操作參數(shù)。為了對所有梯形圖元件進行共性的抽象表示,作者為每個元件設置了兩個操作參數(shù)。例如常開觸點只有一個操作參數(shù)時,另外一個操作參數(shù)設置為空。
拋開梯形圖的圖像表象,梯形圖中每個元件包含的共同屬性如圖1所示。元件基類定義元件的所在位置、持久化和事件處理等操作,其定義描述如下:
圖1基類元件的共同屬性
(1)標識信息:元件唯一的功,類型及元件的操作參數(shù);
(2)位置信息:元件的頂點位置、長度等;
(3)繪制行為:繪制元件圖符,繪制元件包含的線型;
(4)命中測試行為:鼠標的位置是否命中圖元以及具體部位;
(5)持久化行為:存盤和讀取。
梯形圖元件基類的關(guān)鍵代碼如下:
4 結(jié)束語
以整體設計為基礎(chǔ),有了元件基類,就可以以其為父類,根據(jù)每個元件的不同特性,為每個元件設計一個子類。作者把各元件類以相應的英文單詞來命名,如常開觸點類(Normally Open Contact)命名為CContactNO。每一種元件都在該程序的工程組當中單列一個單元,并把相應元件類的定義寫進去,為編輯器的具體實現(xiàn)打下基礎(chǔ)。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領(lǐng)域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.vmgcyvh.cn/
本文標題:基于Windows的華中數(shù)控世紀星數(shù)控系統(tǒng)PLC編程系統(tǒng)設計
本文網(wǎng)址:http://www.vmgcyvh.cn/html/support/11121514172.html