(機(jī)械電子工程專業(yè)論文)機(jī)床數(shù)控系統(tǒng)plc編程及其仿真系統(tǒng)的研究.pdf_第1頁
(機(jī)械電子工程專業(yè)論文)機(jī)床數(shù)控系統(tǒng)plc編程及其仿真系統(tǒng)的研究.pdf_第2頁
(機(jī)械電子工程專業(yè)論文)機(jī)床數(shù)控系統(tǒng)plc編程及其仿真系統(tǒng)的研究.pdf_第3頁
(機(jī)械電子工程專業(yè)論文)機(jī)床數(shù)控系統(tǒng)plc編程及其仿真系統(tǒng)的研究.pdf_第4頁
(機(jī)械電子工程專業(yè)論文)機(jī)床數(shù)控系統(tǒng)plc編程及其仿真系統(tǒng)的研究.pdf_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

(機(jī)械電子工程專業(yè)論文)機(jī)床數(shù)控系統(tǒng)plc編程及其仿真系統(tǒng)的研究.pdf.pdf 免費(fèi)下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

華中科技大學(xué)碩士學(xué)位論文 摘要 數(shù)控系統(tǒng)內(nèi)部控制邏輯是由通用或內(nèi)裝式可編程控制器( p l c ) 來實(shí)現(xiàn)的。目前,p l c 的編程方法主要有專用編程器和基于p c 的軟件編程器兩種。華中世紀(jì)星系統(tǒng)采用的是 “內(nèi)裝型”p l c ,采用d o s 環(huán)境下的c 語言編程,這種編程方法沒有采用w i n d o w s 操 作系統(tǒng)方便和快捷,而且使用c 語言編程同使用傳統(tǒng)的梯形圖編程相比,對編程人員的 技術(shù)水平要求高,不便推廣使用。因此,本文研究了基于w i n d o w s 操作環(huán)境的數(shù)控系 統(tǒng)p l c 編程及仿真軟件,論文的主要工作有: 分析了數(shù)控系統(tǒng)p l c 的需求,在此基礎(chǔ)之上采用模塊化設(shè)計(jì)方法,將p i _ c 軟件集 成環(huán)境分解成項(xiàng)目管理模塊、編輯模塊、編譯模塊、模擬仿真模塊等。同時(shí),設(shè)計(jì)出 p l c 軟件各模塊間的數(shù)據(jù)聯(lián)系,處理好各模塊之間的數(shù)據(jù)、信息傳遞和功能驅(qū)動(dòng)。 編輯器選用形象、直觀的梯形圖語言作為編程語言,采用面向?qū)ο蟮慕7椒ǎ?立p l c 系統(tǒng)類層次結(jié)構(gòu)和元件庫模型對象,以圖形輸入方式來編程。 編譯器以樹結(jié)構(gòu)為中介將梯形圖和p l c 指令聯(lián)系起來,實(shí)現(xiàn)了從梯形圖到p l c 指 令的轉(zhuǎn)換。轉(zhuǎn)換以梯級(jí)為單位,采用“正向深度優(yōu)先掃描算法”來構(gòu)造樹結(jié)構(gòu),然后對 樹結(jié)構(gòu)進(jìn)行遍歷,得到相應(yīng)的p l c 指令集。 通過對p l c 工作原理的分析和研究,實(shí)現(xiàn)了p l c 指令解釋器算法的仿真,模擬了 p l c 運(yùn)行過程。 關(guān)鍵字:數(shù)控系統(tǒng),梯形圖,模塊化,樹結(jié)構(gòu) 華中科技大學(xué)碩士學(xué)位論文 a b s t r a c t t h ei n t e r n a lc o n t r o ll o g i co fn u m e r i c a lc o n t r o l ( n qs y s t e mi si m p l e m e n t e db yg e n e r a l o rb u i l t i np r o g r a m m a b l ei j o g i cc o n t r o l 。a tp r e s e n t ,t h e r ea r em a i n l yt w om e t h o d so fp l c p r o g r a m m i n g ,w h i c ha r es p e c i a lp r o g r a m m e ra n ds o f t w a r ep r o g r a m m e rb a s e do np l c 。 h u a z h o n gc e n t u r ys t a rn cs y s t e ma d o p t sb u i l t - i np l c ,a n dcl a n g u a g ef o rp r o g r a m m i n g a n d e rd o se n v i r o n m e n t t h em e t h o di sl e s sc o n v e n i e n ta n ds l o w e rt h a nu n d e rw i n d o w s o p e r a t i o ns y s t e m ,f u r t h e r m o r e ,c o m p a r e dw i t hu s i n gt r a d i t i o n a l l a d d e r d i a g r a m f o r p r o g r a m m i n g , i tr e q u i r e st h ep e r s o nt ob eh i g h l yc a p a b l es oi ti s n te a s yt ob ep o p u l a r i z e d t h e p a p e r h a sd o n er e s e a r c ho nn c s y s t e mp l cp r o g r a m m i n ga n d s i m u l a t i o ns o f t w a r eb a s e d o nw i n d o w s ,t h em a i nt a s k sa r ea sf o l l o w s : a d o p tb u i l d i n gb l o c kd e s i g nb a s e do nt h ea n a l y s i so ft h ed e m a n do fn cs y s t e mp l c t h es o f t w a r ec o n s i s t so fm o d u l e sw h i c ha r ei t e mm a n a g e m e n t ,e d i t i o n , c o m p i l a t i o n ,a n d a n a l o gs i m u l a t i o n ,e t c s i m u l t a n e o u s l y d a t ac o n n e c t i o nb e t w e e nt h em o d u l e so ft h i sp l a t f o r m i sd e s i g n e d , w h i c hd e a l sw i t hd a t aa n di n f o r m a t i o nt r a n s m i s s i o na n dd r i v eb e t w e e nt h e m e d i t o ra d o p t sv i s u a ll a d d e rd i a g r a ml a n g u a g ef o rp r o g r a m m i n ga n do b j e c t - o r i e n t e d m o d e l i n gm e t h o dt ob u i l dc l a s sl a y e rs t r u c t u r ea n dm o d e lo b j e c to f e l e m e n tl i b r a r y , a n d p r o g r a mb yw a y o fg r a p h i ci n p u t c o m p i l e rl i n k sl a d d e rd i a g r a mw i t hp l ci n s t r u c t i o nt h r o u g hs t r u c t u r et r e et oi m p l e m e n t t h et r a n s f o r m a t i o nf r o ml a d d e rd i a g r a mt op l ci n s t r u c t i o n t h et r a n s f o r m a t i o na d o p t ss t e p u n i ta n dp r i o r i t ys c a n n i n ga l g o r i t h mo fp o s i t i v e d i r e c t i o nd e p t ht oc o n s t r u c tt r e es t r u c t u r e , t h e nt r a v e r s e st r e et og e tc o r r e s p o n d i n gp l ci n s t r u c t i o nc o l l e c t i o n i m p l e m e n tt h ee m u l a t i o no fp l ci n s t r u c t i o ne x p l a n a t i o na l g o r i t h mb ya n a l y s i sa n ds t u d y o fp l c o p e r a t i n gp r i n c i p l e ,a n ds i m u l a t ep l co p e r a t i o np r o c e s s k e yw o r d s :n cs y s t e m ,l a d d e rd i a g r a m ,m o d u l a r i z a t i o n ,s t r u c t u r et r e e l l 獨(dú)創(chuàng)性聲明 y i 0 1 6 9 9 7 本人聲明所呈交的學(xué)位論文是我個(gè)人在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作及取 得的研究成果。盡我所知,除文中已標(biāo)明引用的內(nèi)容外,本論文不包含任何其他 人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究做出貢獻(xiàn)的個(gè)人和集體, 均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有 權(quán)保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和 借閱。本人授權(quán)華中科技大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù) 庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。 保密口,在年解密后適用本授權(quán)書。 本論文屬于, 不保密a ( 請?jiān)谝陨戏娇騼?nèi)打“4 ”) 學(xué)位論文作者簽名:韓彳移 指導(dǎo) 日期名年j 口月加 柳m 缸 簽 年 一“ 論 : 位 期 學(xué) 日 華中科技大學(xué)頑士學(xué)位論文 1 1 課題背景 1 緒論 當(dāng)前,華中數(shù)控系統(tǒng)p l c 控制是基于d o s 環(huán)境使用c 語言而設(shè)計(jì)的,該軟件已經(jīng) 不太符合現(xiàn)代計(jì)算機(jī)大多采用w i n d o w s 操作系統(tǒng)的實(shí)際要求,設(shè)計(jì)人員使用起來不直 觀、方便,而且使用c 語言編程同使用梯形圖編程相比,對編程人員要求較高,根據(jù) 這些情況,有必要研發(fā)一個(gè)基于個(gè)人計(jì)算機(jī)的能為用戶提供直觀、方便、高效的編程環(huán) 境的p l c 軟件開發(fā)平臺(tái)。 1 1 1 課題來源 根掘華中世紀(jì)星數(shù)控車床開放性數(shù)控實(shí)驗(yàn)臺(tái)p l c 編程系統(tǒng)存在的問題,迫切需要 研發(fā)一個(gè)基于個(gè)人計(jì)算機(jī)的能為用戶提供直觀、方便、高效的編程環(huán)境的p l c 軟件開 發(fā)平臺(tái),要求建立p l c 元器件符號(hào)庫,提供以圖形輸入方式來建立梯形圖程序。利用 先進(jìn)的計(jì)算機(jī)技術(shù)來實(shí)現(xiàn)可視化、規(guī)范化的梯形圖設(shè)計(jì)以及p l c 指令序列的自動(dòng)生成, 開發(fā)一種基于w i n d o w s2 0 0 0 ,面向數(shù)控p l c 的使用梯形圖語言編寫p l c 程序的開發(fā)平 臺(tái)。使數(shù)控實(shí)驗(yàn)臺(tái)在最大程度上發(fā)揮它的積極效用,使學(xué)生能夠直觀、方便地了解和掌 握數(shù)控系統(tǒng)中p l c 的編程和仿真操作。 1 i 2 數(shù)控系統(tǒng)概況 隨著科學(xué)技術(shù)的發(fā)展及制造技術(shù)的進(jìn)步,社會(huì)對產(chǎn)品多樣化的需求越來越強(qiáng)烈,產(chǎn) 品的更新?lián)Q代周期也越束越短,中小批量生產(chǎn)的比重明顯增加,從而對制造設(shè)備提出了 更高的要求。數(shù)控機(jī)床作為一種自動(dòng)化的加工設(shè)備而被廣泛采用。 自1 9 5 2 年美國麻省理工學(xué)院與帕森斯公司合作發(fā)明了世界上第一臺(tái)三坐標(biāo)數(shù)控銑 床以來,機(jī)床數(shù)控系統(tǒng)已經(jīng)成為制造業(yè)自動(dòng)化的核心技術(shù)和基礎(chǔ)技術(shù),是當(dāng)今世界機(jī)械 制造技術(shù)的高技術(shù)之一,可編程控制器是計(jì)算機(jī)技術(shù)與自動(dòng)控制技術(shù)有機(jī)結(jié)合的一種通 用工業(yè)控制器。在p l c 出現(xiàn)之前,機(jī)床的順序控制是以機(jī)床當(dāng)前運(yùn)行狀態(tài)為依據(jù),使 華中科技大學(xué)碩士學(xué)位論文 機(jī)床按規(guī)定好的動(dòng)作依次地動(dòng)作。這種控制方式的實(shí)現(xiàn),是由傳統(tǒng)的繼電器邏輯電路完 成的,這種電路是將繼電器、接觸器、開關(guān)、按鈕等機(jī)電分立元件用導(dǎo)線連接而成的控 制回路,由于它存在體積大、耗電多、壽命短、可靠性差、動(dòng)作遲緩、柔性差、不易擴(kuò) 展等許多缺點(diǎn),正逐漸被p l c 組成的順序控制系統(tǒng)所代替。 早期的數(shù)控系統(tǒng)p l c 都是在d o s 環(huán)境下設(shè)計(jì)的,d o s 環(huán)境下p l c 操作起來不方 便、不直觀,對設(shè)計(jì)人員的編程水平要求很高;隨著計(jì)算機(jī)應(yīng)用技術(shù)的發(fā)展,計(jì)算機(jī)的 操作系統(tǒng)由原來的d o s 系統(tǒng)逐漸被w i n d o w s 系統(tǒng)所代替,w i n d o w s 系統(tǒng)跟d o s 系統(tǒng) 相比,w i n d o w s 是多任務(wù)操作系統(tǒng),具有豐富的資源,十分友好的人機(jī)界面,所以它己 經(jīng)成為數(shù)控系統(tǒng)軟件開發(fā)人員的主要選擇之一。 1 1 3 數(shù)控系統(tǒng)中的可編程控制器 ( 1 ) 可編程控制器的概念 可編程控制器( p r o g r a m m a b l ec o n t r o l l e r ) 是2 0 世紀(jì)6 0 年代末發(fā)展起來的一種新型 自動(dòng)化控制器。最早在美國通用汽車公司的自動(dòng)裝配線上使用并獲得了成功。由于該控 制器當(dāng)時(shí)只是為了解決設(shè)備在運(yùn)行中的開關(guān)量信號(hào)和邏輯控制問題,即用于替代傳統(tǒng)的 繼電器控制裝置,且只有邏輯運(yùn)算、定量、計(jì)數(shù)及順序控制等功能,因此把這種裝置稱 為“可編程邏輯控制器”( p r o g r a m m a b l e l o g i cc o n t r o l l e r ) ,簡稱p l c 。后來隨著技術(shù)的 進(jìn)步,其控制功能已遠(yuǎn)遠(yuǎn)超出了邏輯控制的范疇,人們就稱其為“可編程控制器” ( p r o g r a m m a b l e c o n t r o l l e r ) ,簡稱p c 。在數(shù)控領(lǐng)域內(nèi),人們習(xí)慣稱其為可編程邏輯控制 器( p l c ) 或可編程機(jī)器控制器( p m c ) 。 ( 2 ) p l c 在數(shù)控系統(tǒng)中的類型 數(shù)控機(jī)床所用p l c 可分為兩類。一類是專為實(shí)現(xiàn)數(shù)控機(jī)床順序控制而設(shè)計(jì)、制造的 “內(nèi)裝型”p l c ,它從屬于c n c 裝置的一部分;另一類是p l c 獨(dú)立于c n c 裝置,有 完備的硬件和軟件功能,能夠獨(dú)立完成規(guī)定的控制任務(wù),以滿足數(shù)控機(jī)床或其它順序控 制領(lǐng)域要求的“獨(dú)立型”p l c 。 “內(nèi)裝型”p l c 與c n c 之間的信號(hào)傳送在c n c 內(nèi)部即可實(shí)現(xiàn),p c 與機(jī)床側(cè)的信息 傳送則通過c n c 的f o 接口電路實(shí)現(xiàn)。一般這種類型的p l c 不能獨(dú)立工作,它只是c n c 2 華中科技大學(xué)碩士學(xué)位論文 向p l c 功能的擴(kuò)展,兩者是不可能分離的。 ( 3 ) 可編程控制器的結(jié)構(gòu) 可編程控制器的硬件主要由中央處理單元c p u 、存儲(chǔ)器、輸入輸出( i 0 ) 模塊以 及電源組成。“內(nèi)裝型”p l c 可與c n c 共用一個(gè)中央處理器( c p u ) ,也可以單獨(dú)使用一 個(gè)c p u 。由于c n c 的功能和p l c 的功能就一起考慮,因而這種類型的系統(tǒng)在硬件和軟 件的整體結(jié)構(gòu)上合理、實(shí)用、性能價(jià)格比高。p l c 和c n c 之間沒有多余的連線,而且 p l c 上的信息可以在c n c 的顯示器上顯示,p l c 的編程更為方便,而且故障的診斷功 能也有所提高。 華中世紀(jì)星系統(tǒng)采用的是“內(nèi)裝型”p l c ,p l c 和c n c 共用一個(gè)c p u 、輸入輸出、 電源。 可編程控制器的軟件結(jié)構(gòu)分為兩部分,一部分是面向其內(nèi)部的程序,即系統(tǒng)軟件。 這些軟件的設(shè)計(jì)與數(shù)控系統(tǒng)軟件設(shè)計(jì)的思路和方法基本一致。另一部分是面向用戶或面 向生產(chǎn)過程的“應(yīng)用程序”( a p p l i c a t i o np r o g r a m ) ,也稱p l c 程序( p l cp r o g r a m ) 或用 戶程序( u s e rp r o g r a m ) 。 ( 4 ) 可編程控制器的編程方法 國際電工委員會(huì)i e c 制定的國際標(biāo)準(zhǔn)i e c l l 3 1 - 3 中規(guī)定了在p l c 中使用的五種編 程語言:順序功能圖、邏輯功能圖、梯形圖、指令表、c 語言等。其中梯形圖和c 語言 是最通用的p l c 編程語言圓,華中數(shù)控p l c 采用的是c 語言編程方式。 編程器通過編程語言將用戶程序送入可編程控制器。因此,編程器是p l c 的主要 輔件。編程器用作用戶程序的編制、調(diào)試、監(jiān)視、修改和編輯,并最后將程序固化在 r p r o m 中。編程器還可通過其鍵盤去調(diào)用和顯示p l c 的一切內(nèi)部狀態(tài)和參數(shù),并通過 接口與c p u 聯(lián)系。 ( 5 ) p l c 的工作過程 用戶程序通過編程器順序輸入到用戶存儲(chǔ)器內(nèi)c p u 對用戶程序循環(huán)掃描并順序執(zhí) 行。這是編程控制器的基本工作方式。 對用戶程序的循環(huán)掃描執(zhí)行過程,分為輸入采樣、程序執(zhí)行和輸出刷新三個(gè)階段, 如圖1 - 1 所示。 華中科技大學(xué)碩士學(xué)位論文 輸入采樣階段以掃描方式、順序讀入所輸入端的狀態(tài)( 接通狀態(tài)或斷開狀態(tài)) ,并 將此狀態(tài)存入輸入映象寄存器中,接著轉(zhuǎn)入程序執(zhí)行階段。 在程序執(zhí)行階段,即使輸入狀態(tài)變化,輸入映象寄存器的內(nèi)容也不會(huì)改變,狀態(tài)的 變化只能在下一個(gè)工作周期的輸入采樣階段才被讀入。程序執(zhí)行總是按先左后右、先上 后下的步驟對每條指令進(jìn)行掃描,并從輸入映象寄存器中讀入所有輸入狀態(tài)。若程序中 需要讀入某輸出狀態(tài),則也在此時(shí)讀入,然后進(jìn)行邏輯運(yùn)算。運(yùn)算結(jié)果再存入元件映象 寄存器中。對于每個(gè)元件而言,元件映象寄存器所寄存的內(nèi)容會(huì)隨著程序執(zhí)行的過程而 變化。 所有指令執(zhí)行完畢,元件映象寄存器中所有輸出繼電器的接通或斷開狀態(tài)在輸出刷 新階段轉(zhuǎn)存到輸出鎖存電路,再驅(qū)動(dòng)輸出線圈,這時(shí)的輸出就是實(shí)際工作的輸出。 r相n 相 輸 入 入 端 映 出 器 象 件 圖1 - 1p l c 程序執(zhí)行過程圖 1 2 國內(nèi)外研究現(xiàn)狀 目前,數(shù)控機(jī)床的主要配套件大多選用經(jīng)濟(jì)型數(shù)控系統(tǒng)以及電動(dòng)刀架等,而其內(nèi)部 的控制邏輯是由可編程控制器( p l c ) 來實(shí)現(xiàn)的。如何使機(jī)床各部件的動(dòng)作有效可靠, 關(guān)鍵在于p l c 梯形圖程序編制,設(shè)計(jì)p l c 梯形圖程序就成為工程人員的主要任務(wù)。 在國外,采用智能化標(biāo)準(zhǔn)化編程語言和編程工具是p l c 編程的一個(gè)發(fā)展方向,也 是p l c 廣泛使用的需要。梯形圖語言形象、直觀、通用、易于標(biāo)準(zhǔn)化,是首選的編程 語言。 編程工具是開發(fā)應(yīng)用和檢查維護(hù)p l c 以及監(jiān)控系統(tǒng)運(yùn)行不可缺少的外部設(shè)備。編 4 華中科技大學(xué)碩士學(xué)位論文 程工具的主要作用是用來編輯程序、調(diào)試程序和監(jiān)控程序的執(zhí)行,還可以在線測試p l c 的內(nèi)部狀態(tài)的參數(shù),與p l c 進(jìn)行人機(jī)對話等。編程工具可以是專用編程器,也可以是 配有專用編程軟件包的個(gè)人計(jì)算機(jī)。 ( 1 ) 專用編程器 專用編程器是廠家提供的與本公司p l c 配套的編程工具。專用編程器分為簡易編 程器和圖形編程器兩種。 簡易編程器不能直接輸入梯形圖程序,只能輸入語句表程序。用簡易編程器編程時(shí), 編程器必須與p l c 相連接。簡易編程器的優(yōu)點(diǎn)是價(jià)格低、體積小、重要輕、方便攜帶。 有的簡易編程器可以直接插在p l c 主機(jī)的編程器插座上,如o m r o n 公司的p 型機(jī)等。 有的簡易編程器要用專用電纜與p l c 相連。 圖形編程器可直接輸入梯形圖程序。圖形編程器分手持式和臺(tái)式。臺(tái)式編程器具有 用戶程序存儲(chǔ)器的功能,它可以把用戶輸入的程序存放在自己的存儲(chǔ)器中,也能將用戶 程序轉(zhuǎn)存到磁帶上或打印出來,有的帶有磁盤驅(qū)動(dòng)器,可將程序轉(zhuǎn)存到磁盤上。圖形編 程器的優(yōu)點(diǎn)是屏幕大,顯示功能強(qiáng),但是其價(jià)格昂貴。 ( 2 ) 使用個(gè)人計(jì)算機(jī)輔助編程 當(dāng)前p l c 的更新?lián)Q代速度很快,因此專用編程器的使用壽命有限,價(jià)格一般也比 較高?,F(xiàn)在的發(fā)展趨勢是使用個(gè)人計(jì)算機(jī)為基礎(chǔ)的編程系統(tǒng),p l c 廠家向用戶提供在 p c 機(jī)上使用的編程軟件。 采用通用計(jì)算機(jī)作為編程器的主要優(yōu)勢是使用了價(jià)格便宜、功能很強(qiáng)、通用的個(gè)人 計(jì)算機(jī)。因此,用戶可以使用已有的個(gè)人計(jì)算機(jī),用最少的投資,得到高性能的p l c 程序開發(fā)系統(tǒng)。對于不同型號(hào)、不同廠家的p l c ,只需要更換編程軟件就可以了。它的 另一個(gè)優(yōu)點(diǎn)是可以用一臺(tái)個(gè)人計(jì)算機(jī)為所有的智能控制設(shè)備編程。 現(xiàn)在,世界上各主要p l c 廠家都提供了使用個(gè)人計(jì)算機(jī)的程序開發(fā)軟件。這種軟 件的功能是相當(dāng)強(qiáng)的。它可以編制、修改p l c 的用戶程序;監(jiān)視系統(tǒng)運(yùn)行;打印文件; 采集和分析數(shù)據(jù);作為實(shí)時(shí)圖形操作器和文字處理機(jī);對工業(yè)現(xiàn)場和系統(tǒng)仿真;將程序 存儲(chǔ)在磁盤上:實(shí)現(xiàn)計(jì)算機(jī)和p l c 之間的程序相互傳送等。利用它的網(wǎng)絡(luò)軟件,還可以 作為網(wǎng)絡(luò)管理器或通用的網(wǎng)絡(luò)節(jié)點(diǎn)工作站。 華中科技大學(xué)碩士學(xué)位論文 以日本三菱公司生產(chǎn)的f x 2 系列p l c 的梯形圖編程軟件為例,該軟件能進(jìn)行一系 列的文檔處理,如編輯( 指令形式或梯形圖) 、存貯、打印、查錯(cuò)、轉(zhuǎn)換類型、程序傳 送、圖形監(jiān)控等。但這種軟件是專用的梯形圖編程軟件,而且價(jià)格昂貴,通用性差。 在國內(nèi),數(shù)控p l c 梯形圖編程軟件設(shè)計(jì)梯形圖程序時(shí),繪圖、修改、重繪圖的工 作量非常大,使控制工程技術(shù)人員把大部分的精力消耗在描繪元器件簡單線條的重復(fù)性 工作上,不能拿出更多的精力進(jìn)行控制方案的優(yōu)化設(shè)計(jì)。存在下面一些主要問題: ( 1 ) 華中系統(tǒng)p l c 采用c 語言編程,使用者必須學(xué)習(xí)并靈活掌握c 語言,對使 用者的編程水平要求較高。 ( 2 ) 繪制p l c 程序要做大量重復(fù)性的工作,并且一旦要修改,則需重新編制, 造成人( 程序員) 計(jì)算工作量大、復(fù)雜。 ( 3 ) 人機(jī)界面不友好,缺少漢字提示,操作不便。 ( 4 ) 各大p l c 廠家使用專用的梯形圖編程軟件,但是這些軟件價(jià)格昂貴,通用性 差。 ( 5 ) 華中c 語言p l c 控制軟件必須在d o s 環(huán)境下運(yùn)行。 目前,w i n d o w s 是p c 上最通用的操作系統(tǒng)。w i n d o w s 是多任務(wù)操作系統(tǒng),具有豐 富的資源,十分友好的人機(jī)界面,所以它己經(jīng)成為數(shù)控系統(tǒng)軟件開發(fā)人員的主要選擇之 一。本課題研究的重點(diǎn)就是開發(fā)一種基于w i n d o w s2 0 0 0 面向數(shù)控p l 的使用梯形圖語言 編寫p l c 程序的通用開發(fā)平臺(tái)。該系統(tǒng)建立p l c 元器件符號(hào)庫提供以圖形輸入方式來 建立梯形圖程序。這樣不僅快速準(zhǔn)確,清晰美觀,輸出方便而且修改也非常容易。 1 3 課題研究的目的和意義 p l c 是數(shù)控器系統(tǒng)程序的一部份,雖然有標(biāo)準(zhǔn)梯形圖,但因?yàn)楦鞣N不同設(shè)備的動(dòng)作 千變?nèi)f化,因此其梯形圖往往必須加以修正,或建立新的梯形圖來滿足設(shè)備的特殊動(dòng)作。 華中p l c 在d o s 環(huán)境下采用c 語言編程,程序?qū)刂七^程的描述不形象直觀,對設(shè)計(jì) 人員編程水平要求較高,而且目前,大多計(jì)算機(jī)不再使用d o s 系統(tǒng),人們已經(jīng)習(xí)慣了 使用w i n d o w s 操作系統(tǒng),為此開發(fā)出一個(gè)基于w i n d o w s 2 0 0 0 下友好的、針對性強(qiáng)的p l c 6 華中科技大學(xué)碩士學(xué)位論文 梯形圖編程系統(tǒng),集矢量編輯、智能編譯、打印等功能為一體,來修正或建立梯形圖。 該系統(tǒng)實(shí)現(xiàn)了可視化、規(guī)范化的梯形圖設(shè)計(jì)以及p l c 指令序列的自動(dòng)生成。直觀的編 輯環(huán)境、靈活的編輯方式,方便了用戶使用,提高了p l c 編程效率。 1 4 課題研究的主要內(nèi)容 梯形圖是p l c 編程的標(biāo)準(zhǔn)語言之一,它直觀易學(xué),所編程序很容易跟現(xiàn)場實(shí)際相 結(jié)合,因此梯形圖程序以圖形方式表達(dá)應(yīng)用程序的邏輯,直觀明了。梯形圖方便直觀, 在計(jì)算機(jī)上和控制技術(shù)上被叫做“面向生產(chǎn)過程的語言”。p l c 雖然歷經(jīng)了許多重大 發(fā)展但它卻一直沿用至今,而且仍然是編程人員的首選語占。 本課題從華中p l c 編程系統(tǒng)的特點(diǎn)出發(fā),采用c 十+ b u i l d e r 作為開發(fā)工具,在開 發(fā)設(shè)計(jì)過程中采用了面向?qū)ο蟮姆椒ǎ商菪螆D繪制作為切入點(diǎn),實(shí)現(xiàn)了梯形圖到p l c 指令代碼的轉(zhuǎn)化,最后在w i n d o w s 系統(tǒng)下模擬p l c 運(yùn)行過程,實(shí)現(xiàn)了p l c 指令解釋器 的仿真,實(shí)現(xiàn)p l c 仿真。 本課題的主要工作如下: ( 1 ) 項(xiàng)目的需求分析和總體設(shè)計(jì)。根據(jù)收集的技術(shù)資料,分析系統(tǒng)的總體需求, 基于現(xiàn)有技術(shù),確定出系統(tǒng)的總體技術(shù)路線。 ( 2 ) 用戶界面的設(shè)計(jì)與實(shí)現(xiàn)。為用戶提供直觀、方便、高效的編程環(huán)境。 ( 3 ) 梯形圖編輯模塊的設(shè)計(jì)。為工程師提供了一個(gè)繪制梯形圖的工具,是人機(jī)交 互的重要手段。它可以對用戶程序的觸點(diǎn)和線圈加上注釋,并能對某一程序段加注說明, 使程序容易閱讀和理解。該模塊是整個(gè)軟件的基礎(chǔ),對于這個(gè)功能塊最重要的一點(diǎn)是要 達(dá)到界面友好,簡單易用的效果。 ( 4 ) 編譯模塊的設(shè)計(jì)。編譯是“從上至下,從左至右”,以梯級(jí)為單位,按p l c 邏輯順序逐個(gè)單元編譯的。梯形圖經(jīng)檢查無誤后,可以轉(zhuǎn)換成唯一的一個(gè)指令集。 ( 5 ) p l c 仿真模塊的設(shè)計(jì)。它允許計(jì)算機(jī)對生產(chǎn)過程和系統(tǒng)進(jìn)行仿真,使設(shè)計(jì)者 在系統(tǒng)實(shí)際建立之前,通過仿真處理,發(fā)現(xiàn)設(shè)計(jì)中存在的問題,避免不必要的浪費(fèi)和因 設(shè)計(jì)不當(dāng)造成的損失,縮短系統(tǒng)設(shè)計(jì)、安裝和調(diào)試的總工期。 華中科技大學(xué)碩士學(xué)位論文 強(qiáng)的數(shù)控p l c 梯形圖編程系統(tǒng),集矢量編輯、智能編譯、打印等功能為一體,來修 正或建立梯形圖。該系統(tǒng)實(shí)現(xiàn)了可視化、規(guī)范化的梯形圖設(shè)計(jì)以及p l c 指令序列的自 動(dòng)壘殘。壹蔽戇編輯環(huán)襞、靈活豹縭褥方式,方矮了耀戶搜焉,掇螽了p l c 綴稷效率。 1 5 本章小結(jié) 本章介紹了本課題的背景、國內(nèi)外p l c 的現(xiàn)狀,了解了“楓廉?dāng)?shù)控p l c 編程及其 仿真系統(tǒng)的研究”的目的和意義,基本的研究、設(shè)計(jì)思想,明確了研究本課題需器進(jìn)行 茨主要工俘。 g 華中科技大學(xué)碩士學(xué)位論文 2數(shù)控梯形圈編程系統(tǒng)的整體設(shè)計(jì) 2 。1 數(shù)控系統(tǒng)p l c 酌基本特點(diǎn) 在數(shù)控器系統(tǒng)中,c n c 和p l c 協(xié)調(diào)配合共同完成數(shù)控機(jī)床的控制。p l c 主要完成 與邏輯運(yùn)算蠢關(guān)熬一些凌終,浚毒轅遮主戇其俸要求,宅接受c n c 戇控翻霞璐m ( 疆 助功能) ,s ( 主軸轉(zhuǎn)速) ,t ( 選刀、換刀) 等順序動(dòng)作信息,對其進(jìn)行譯碼,轉(zhuǎn)換成對 應(yīng)的控制信號(hào)控制輔助裝鼴完成機(jī)床棚應(yīng)的控制倍號(hào)控制輔助裝鼴完成機(jī)床栩應(yīng)的開 關(guān)動(dòng)終,羯王籜戇裝夾、弼舞戇更換等一些藕蘩囊終;宅還接受氍窳操終蟊羲爨攢令一方 面直接控制機(jī)床的動(dòng)作,另一方面將一部分指令送往c n c 用于加工過程的控制。內(nèi)嵌 式p l c 與c n c 間的信息傳送在c n c 內(nèi)部實(shí)現(xiàn),p l c 與機(jī)床問的信息傳送是通過c n c 翡i 0 接強(qiáng)魄路實(shí)現(xiàn)。 p l c 內(nèi)嵌在數(shù)控裝置中,可以進(jìn) 亍讀寫操作,稱為嵌入式p l c 。嵌入式p l c 能充 分借助c n c 系統(tǒng)的全部硬件資源,具餐友好的界面接口,便于用戶編程和操依。 整2 一l 給出了c n c 系統(tǒng)靜稅瘃怒妊 莓透j 童p l c 聯(lián)系超來勢逶蓬p l c 互裰傳遞箔 息的。圖2 一l 中g(shù) 為p l c 到數(shù)控系統(tǒng)的輸入信號(hào),f 代表數(shù)控系統(tǒng)對p l c 的輸出信號(hào), x 代表機(jī)床側(cè)向p l c 的輸入信號(hào),y 代表p l c 對機(jī)床的輸出信號(hào)。由圖2 一l 可以看出 p l c 逶遘4 綴信號(hào)將穩(wěn)臻與c n c 有稅豫聯(lián)系在一怒。 翻| c n c 、p l c 、機(jī)臻信號(hào)流翔蕊 2 2 系統(tǒng)的整體設(shè)計(jì)方案 系統(tǒng)參照日本三菱公司f x 2 系列p l c 編程標(biāo)準(zhǔn)而設(shè)計(jì)的,是基于w i n d o w s 系統(tǒng) 上的圖形殲發(fā)系統(tǒng),進(jìn)行圖形化編程。以圖形輸入方式來建立梯形圖程序,界蕊直觀, 搡孬筵擎,縫抉速繪嗣p l c 裙彩圖,基毒方霞戇繽辮繇壤,靈活戇綻澤方式。在數(shù)控 9 華中科技大學(xué)碩士學(xué)位論文 器系統(tǒng)中,p l c 編程主要用到的指令有l(wèi) d 指令、邏輯運(yùn)算指令、算術(shù)運(yùn)算指令、定時(shí) 指令、記數(shù)搬令、分支指令、控制指令等。數(shù)控系統(tǒng)調(diào)用p l c 程序入口,調(diào)用初始化 程旁,瑟系統(tǒng)送行瓷始純,銹始純完裁惹,對p l c 源程序遂露緩澤,編譯戲麓鑫,生 成名為p l cn u l l c o m 的文件,然后,熙改數(shù)控系統(tǒng)酉已置文件n c b i o s c f g ,系統(tǒng)啟動(dòng) 時(shí)自動(dòng)調(diào)用p l c 文件,從而實(shí)現(xiàn)p l c 與數(shù)控裝置的聯(lián)系。 這靜藹發(fā)霹移植魏豹軟 孛系統(tǒng)不紋使較 孛操露起來麓覆鬢行,在線維護(hù)方硬,囂 且可視化的圖形界面使梯形圖編程軟件具備了良好的人機(jī)交互界麗。梯形圖編稷系統(tǒng)總 體流程圖如圖2 - 2 所示。 圖2 - 2 梯形圖編棵系統(tǒng)總體流程圖 本系統(tǒng)是錚對w i n d o w s 2 0 0 0 的開放式p l c 控制系統(tǒng),能提供以圖形輸入方式來建 立梯形國程序。p l c 軟偉集成開發(fā)的總體環(huán)境可懿分解成一些稿辯獨(dú)立的功鼗模塊,因 此,軟件采用模塊化方法設(shè)計(jì)。集成環(huán)境主要由項(xiàng)目管理模塊、編輯模塊、打印模塊、 模擬仿真模塊等組成。系緩框架結(jié)構(gòu)翔霪2 3 所示,現(xiàn)分別分紹務(wù)模塊的功能。 ( 1 ) 項(xiàng)目管理模塊 1 0 華中科技大學(xué)碩士學(xué)位論文 該功能模塊主要用予管理和歸檔所有數(shù)據(jù),包括用戶編輯的源程序、編譯生成的指 令代碼。 ( 2 ) 裙彩圖語言縭爨模塊 編輯模塊是集成環(huán)境最基本的功能模塊,主要負(fù)責(zé)p l c 梯形圖編輯,能夠?qū)崿F(xiàn)梯 形圖語言的輸入、編輯、存儲(chǔ)、顯示镩功能,為工稷師提供了一個(gè)繪青4 梯形圖的工具。 對于這個(gè)麓縫篌凌最重簧戇一點(diǎn)是要逸爨霧覆友努、籬擎荔矮豹效果。繪裁攆形蓬辯, 需要把常殲觸點(diǎn)、常閉觸點(diǎn)、線圈、定時(shí)器、計(jì)數(shù)器等元件圖形化,圖形化的幣段是以 工具的形式出現(xiàn),就像w i n d o w s 中畫筆程序提供的刷子、筆、顏料一樣。 圖2 - 3 系境框絮結(jié)構(gòu) ( 3 ) 縭浯模塊 編譯魑“從上至下,從左至右”,以梯級(jí)為單位,按p l c 邏輯順序逐個(gè)單冗編譯的 7 1 。梯形圖綴檢查無誤艨,可以轉(zhuǎn)換成唯一的一個(gè)搬令集。應(yīng)具鴦默下功能; 落法檢查功能。稔查用戶p l c 圈形程穿有蘢指令標(biāo)記鬟復(fù)、指令地簸越界豹語 法錯(cuò)誤。如檢查梯形圖是否脊短路或空路電路。 邏輯關(guān)系檢查功鼴。檢查p l c 圖形程序蠢光邏輯錯(cuò)誤,翔指令位置不燕確、梯 綴中缺少輸出攢令等,編譯梯形圖。 報(bào)餐功能重復(fù)使用不能再使用的元件組成被查出時(shí),會(huì)顯示報(bào)警。 錯(cuò)誤提示功能編譯結(jié)果有錯(cuò)誤,錯(cuò)誤信患會(huì)顯示在梯形圈鑲誤信息密霹顯示出 來。 華中科技大學(xué)碩士學(xué)位論文 檔案管理功能編譯結(jié)果良好,適當(dāng)?shù)男畔?huì)顯示在梯形圖錯(cuò)誤信息窗口,同 時(shí)在狀態(tài)欄也會(huì)顯示。除此之外,在同樣的檔案目錄下,會(huì)產(chǎn)生梯形圖組成元 件明細(xì)表檔案。 ( 4 ) 打印模塊 該模塊用來打印出梯形圖,以便檢查。 ( 5 ) 仿真模塊 仿真模塊實(shí)現(xiàn)了系統(tǒng)的離線仿真,可以對用戶p l c 程序的邏輯錯(cuò)誤進(jìn)行檢查修改。 這個(gè)功能模塊主要實(shí)現(xiàn)了p l c 指令解釋器的仿真,p l c 運(yùn)行過程的仿真,提供了模擬 p l c 輸入輸出的工具。 除上述五大模塊之外的一些其他功能,如集成環(huán)境界面管理、聯(lián)機(jī)幫助等,這些功 能的實(shí)現(xiàn)大都分散或內(nèi)嵌在以上各模塊之中,所以,沒有將他們單獨(dú)列出。 集成環(huán)境雖被分解成五個(gè)相對獨(dú)立的模塊,但這些模塊之間仍存在著密切的關(guān)系, 處理好它們之間的信息傳遞和驅(qū)動(dòng),是集成環(huán)境能否設(shè)計(jì)成功的關(guān)鍵。圖2 - 4 給出了p l c 軟件開發(fā)平臺(tái)的系統(tǒng)模塊問的數(shù)據(jù)流向圖。 圖2 _ 4p l c 編程系統(tǒng)模塊間的數(shù)據(jù)流向圖 1 2 華中科技大學(xué)碩士學(xué)位論文 2 3 開發(fā)工具的選擇 禳搖鼗謗本程序豹鬟瑟,選擇c + 中b u i l d e r5 0 必開發(fā)王買。 c + + b u i l d e r5 0 是著名的b o r l a n d 公司開發(fā)的可視化開發(fā)工具。它基于m i c r o s o f t 公 司的3 2 位操作系統(tǒng)w i n d o w s 系列,具肖高效、最優(yōu)化、可視化威用程序開發(fā)環(huán)境和強(qiáng) 大豹數(shù)據(jù)瘴牙發(fā)麓力。e 幸+ b u i l d e r 5 。0 使翅戇翟旁讒言是c + 語塞,c + + 是- i 7 薅效實(shí) 用的程序設(shè)計(jì)語言,它既可進(jìn)行過程化程序設(shè)計(jì),也可以進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì),強(qiáng) 調(diào)對高級(jí)抽敷的支持,用它開發(fā)出的應(yīng)用程序具有聊重用的特點(diǎn)1 8 i 。 c + + b u i l d e r5 。0 譖蠢孛采取豹鬣游對象技術(shù)。經(jīng)過二卡多年豹發(fā)震,蠢滲藏熬與 完善,并廣泛應(yīng)用于科學(xué)島工程等多個(gè)領(lǐng)域。高質(zhì)鬣的代碼能有效降低軟件的復(fù)雜度和 提高開發(fā)效率。面向?qū)ο蠓椒ǖ睦^承性怒一種代碼黛用有效途徑。在軟件設(shè)計(jì)附可以利 強(qiáng)一些已竣耩心設(shè)詩努勢曩經(jīng)過溺試豹健筠這些霹溪弱茲找瑪被綴絞窩存藏農(nóng)程序設(shè) 計(jì)環(huán)境的類脬中。由于類庠中的這類的存在,使以尉的程序設(shè)計(jì)過程變得簡單,程序的 復(fù)雜性不斷降低、正確不斷加強(qiáng),也越來越易于理鏘、修改和補(bǔ)充。利用面向?qū)ο蟮姆?法,毿夠建一個(gè)定義良爵懿接霜,戩幫勁系統(tǒng)靜設(shè)詩、實(shí)褒、綴爹秘程序靜整瑙。 2 4 面向?qū)ο蠹夹g(shù)的應(yīng)用 面向?qū)ο蠹夹g(shù)是計(jì)算機(jī)應(yīng)用領(lǐng)域猩九十年代迅速發(fā)展起來的一個(gè)新生事物,它的出 現(xiàn)被認(rèn)為是程序設(shè)計(jì)方法學(xué)方面的一場實(shí)質(zhì)性革命。 宅與儔統(tǒng)煞絡(luò)梅億程窿竣詩穗斃較,其壽三令鱒驥特毪: 封裝:指將一個(gè)數(shù)據(jù)和與這個(gè)數(shù)據(jù)有關(guān)的揉作集合放在一起,形成個(gè)能動(dòng)的 實(shí)體一對象,用戶不必知道對象行為的實(shí)現(xiàn)細(xì)節(jié),只需根據(jù)對象提供的外部特 鏈援墨謗翊對象瓣霹; 多愨:它是指同一個(gè)消息可以根據(jù)發(fā)送消息對象的不同采用多種不同的行為方 式; 繼承:它表速戇跫一囂霹象類之霹戇穩(wěn)交笑系。它緩 霉菜類對象霹噬熬承另羚 1 3 華中科技大學(xué)碩士學(xué)位論文 一類對象的特征和能力。 特別是在面向?qū)ο蟮南到y(tǒng)中,引入繼承機(jī)制后具有如下優(yōu)點(diǎn): ( 1 ) 減少代碼和數(shù)據(jù)的冗余度,大大增加程序的重用性; ( 2 ) 是在一些比較一般的類的基礎(chǔ)上構(gòu)造、建立和擴(kuò)充新類的最有效的手段。在 梯形圖繪制中,元件有自己的特性,更有共性,所以,面向?qū)ο蠹夹g(shù)適合于建造梯形圖 的元件類【9 】o 2 5 軟件工程的思想 2 0 世紀(jì)6 0 年代以來,隨著計(jì)算機(jī)應(yīng)用需求的驅(qū)動(dòng),軟件生產(chǎn)的復(fù)雜性和成本都日 益提高,大型軟件的生產(chǎn)出現(xiàn)了很大的困難,即出現(xiàn)了軟件危機(jī),主要表現(xiàn)在:生產(chǎn)成 本高、進(jìn)度無法控制、可維護(hù)性差等方面。認(rèn)識(shí)早期軟件開發(fā)中所存在的問題和產(chǎn)生問 題的原因,并設(shè)法克服是解決軟件危機(jī)的開始。人們發(fā)現(xiàn)將傳統(tǒng)工程學(xué)的原理、技術(shù)和 方法應(yīng)用于軟件開發(fā)可以起到使軟件生產(chǎn)規(guī)范化的作用,它有利于組織軟件生產(chǎn),提高 開發(fā)質(zhì)量,降低成本和控制進(jìn)度。 提出軟件工程化的思想,反映了人們想使軟件生產(chǎn)走上正規(guī)化,人們曾從不同的角 度給軟件工程以定義,但它們的核心內(nèi)容都是“以工程化的方式組織軟件的開發(fā)”, 其中涉及軟件的計(jì)劃、開發(fā)和維護(hù)幾個(gè)階段。 本軟件的算法比較復(fù)雜,需要實(shí)現(xiàn)的功能很多,而且大量功能的交織有一個(gè)協(xié)調(diào)問 題,從程序的宏觀把握上相對困難一些。本軟件中的各種狀態(tài)參數(shù),臨時(shí)變量就達(dá)數(shù)百 之多,還有眾多的元件需要設(shè)置狀態(tài),因此有必要引入軟件工程的方法,組織數(shù)據(jù)字典、 記錄數(shù)據(jù)流圖,并且書寫大量的軟件文檔,為日后的軟件維護(hù)提供參考。為了保證本軟 件的開發(fā)質(zhì)量,軟件設(shè)計(jì)時(shí)應(yīng)以軟件工程中的規(guī)范為指導(dǎo),對軟件從定義到開發(fā)的各個(gè) 環(huán)節(jié)做出合理的規(guī)劃,認(rèn)真實(shí)施,很好地實(shí)現(xiàn)預(yù)定的功能,才能做到運(yùn)行可靠,便于維 護(hù)。 它提供許多基本算法、數(shù)據(jù)結(jié)構(gòu)。s t l 是一個(gè)通用庫,即可以充份定制,幾乎所有 的s t l 組件都是模板,可以僅僅使用這些現(xiàn)成的組件。s t l 現(xiàn)在是c + + 的一部分,因 1 4 華中科技大學(xué)碩士學(xué)位論文 此不用額外安裝什么,它被內(nèi)建在編譯器之內(nèi)。l i s t 容器易于使用,是可動(dòng)態(tài)改變大小、 順序,將傳繞工程學(xué)的原理、技術(shù)和方法應(yīng)用于軟件開發(fā)起到了使軟件生產(chǎn)規(guī)范化的作 溺,有羈予綴緩軟終壘產(chǎn),提嵩舞發(fā)袋爨,酶羝戲零耪控裁遂震。 2 6 數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì) 一個(gè)梯形圖程序是一個(gè)梯形圖元 串的集合,包含豹元件數(shù)量研以有許多。戳既,必 須采用恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)束組織好它們之問的關(guān)系。 對手?jǐn)?shù)撼絡(luò)穩(wěn)類型豹逡擇,在本漾題孛主要考纛了如下方囂:蕾先是要滿怒對于德 處理的數(shù)據(jù)元素及其關(guān)系的搖述;其次,在能夠完整描述闖題空瀾所有數(shù)據(jù)元豢及它們 之間關(guān)系的撼礎(chǔ)上,應(yīng)采用盡可能簡單的數(shù)據(jù)結(jié)構(gòu),以避免復(fù)雜數(shù)掘結(jié)構(gòu)帶來的復(fù)雜操 終;疑時(shí),廢考慮與其它攘塊之f b j 數(shù)攥紹秘的通用餿。基予以上考感,本課題巾采浸7 具有線性特性的數(shù)據(jù)結(jié)構(gòu)束實(shí)現(xiàn)梯形瀚編輯過程中元件添加、刪除及修改對設(shè)計(jì)數(shù)據(jù)的 保存和讀取數(shù)掘的高效性【9 】【1 0 1 。 系統(tǒng)采躅了標(biāo)準(zhǔn)摸教黲( s t l ) 審夔菰準(zhǔn)j | 夔澎容器l i s t 。拯準(zhǔn)模叛露 s t a n d a r d t e m p l a t el i b r a r y ) ,是標(biāo)準(zhǔn)c + + 庫類的一部分,它為存儲(chǔ)和處理數(shù)據(jù)提供了標(biāo)凇步驟。 s t l 包含多類實(shí)體,最璧蒙的三類是容器、算法和迭代器它提供許多基本算法,數(shù)據(jù)結(jié) 擒。s t l 楚一令逶弱瘁,靼霹鞋充繪定麓,足乎鼴蠢戇s t l 縫 誓熬是模扳。s 強(qiáng)是標(biāo) 準(zhǔn)化組件,怒c + + 的一郝分,內(nèi)建在編譯器之內(nèi)。l i s t 容器相當(dāng)易于使用,l i s t 怒可動(dòng)態(tài) 改變大小的順序存儲(chǔ)的線性表,也叫“雙向鏈表”。 s t l 容器霹黻絳存霹蓉,蠹建對象秘類對象,勢定義戇夠揲終斡這令霹象瓣援強(qiáng)。 因此,在s t l 容器中的對象很安全。s t l 算法是標(biāo)準(zhǔn)算法,應(yīng)用在那些容器巾的對象 上,給對象排序,刪除,記數(shù)、比較,找出特殊的對象,合并到另一個(gè)容器中,以及執(zhí) 孬其毽有麓瓣操嫠。g t l 艨有戇東落,藏蹩客器、爨法秘完誨算法z 薦在容器串戇元素 上i t e r a t o r ( 迭代器) 。算法以合適、標(biāo)準(zhǔn)的方法操律對象,s t li t e r a t o r 就像容器中指向 對象的指針。 在零駿傳孛采蔫了l i s t :容器寒存麓浚詩遙毽審涉愛瑟戇梯形霆數(shù)據(jù),蘭蘩對象容 華中科技大學(xué)碩士學(xué)位論文 器定義如下: ( 1 ) 梯級(jí)鏈表:t y p e d e fl i s t c r u n g l i s t ; ( 2 ) 符鏈表:t y p e d e fl i s t c r o w l i s t ; ( 3 ) 元件鏈表:t y p e d e fl i s t c e l e m e n t l i s t ; 通過i i s t 容器模板自幫的p u s hb a c k 成員函數(shù)將要加入的對象壓入到相應(yīng)種類容器 孛,逶過這釋麓操佟藏熬番對象逐一鶼敦入容器孛,秀透過萁 蠡成員函數(shù)懿e r a s e ,i n s e r t 等對它們進(jìn)行操作,實(shí)現(xiàn)備對象數(shù)掘的集中管理。 當(dāng)用梯形圖編程系統(tǒng)繪制梯形圖時(shí),每在計(jì)算機(jī)屏幕上畫一個(gè)梯級(jí),就會(huì)生成該梯 級(jí)類靜一個(gè)對象,蠢辯獠凈把該霹象嬲入翻梯形鶩炎串靜c r u n g l i s t 鏈表當(dāng)中;每蘑一 個(gè)行,就會(huì)生成該行類的一個(gè)對象,同時(shí)程序把該對象加入到對應(yīng)的梯級(jí)對象中的 c r o w l i s t 鏈表當(dāng)中:每趟一個(gè)元件,就會(huì)生成該元件類的一個(gè)對象,同時(shí)程序搬該對象 熱天到對應(yīng)行對象中豹c e l e m e n t l i s t 鑣表當(dāng)中薅激,在c e l e m e n t l i s t 鏈表中豹一個(gè)結(jié) 點(diǎn)對應(yīng)梯形圖中一個(gè)水平連線、元件或功能塊等。 2 。7 本意小結(jié) 本章通過應(yīng)用工程軟件的思想,對數(shù)控p l c 集成開發(fā)平臺(tái)進(jìn)行了需求分析和總體設(shè) 謗,選擇了c + + b u i l d e r5 0 必秀發(fā)工輿,采震模塊純方法鬟爰瑟囊對象技術(shù)磚編程系統(tǒng) 進(jìn)行設(shè)計(jì),將p l c 軟件集成環(huán)境分解成項(xiàng)目管理、編輯、編譯、模擬仿真等模塊,并 對內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行了設(shè)計(jì),以得出備部分之間的數(shù)據(jù)聯(lián)系。 華中科技大學(xué)碩士學(xué)位論文 3 。1引富 3p l c 編輯器的設(shè)計(jì) 梯形閨是p l c 中最熱型的、最嫠本的一種編程方式。它采用圖形語言,沿用了繼 電器的觸點(diǎn)、線圈、串并聯(lián)等術(shù)語和圖形符號(hào),并增加了一些繼電接觸控制沒肖的符號(hào) 叫。梯形強(qiáng)形象、壹鼴,瓣予熬悉繼墩器表示方式麴入來滋,翡囂鑾暴接受,褥顯不震 要學(xué)習(xí)更深的計(jì)算機(jī)知議。這是一種最為廣泛的編穩(wěn)方式,適用予順序邏輯控制、離散 量控制、定時(shí)計(jì)數(shù)控制等操作。設(shè)計(jì)好梯形圖編輯器對于梯形圖編程系統(tǒng)來說撼非常重 要懿。罄免分綏系統(tǒng)類愛次續(xù)秘與元黲疼對象豹莰謗,然痿余綏攆影塑繪裁戇爨缽實(shí)現(xiàn) 和儲(chǔ)存。 3 。2 縞糕器的設(shè)計(jì)膘則 梯形圖起源于繼電器邏輯和執(zhí)行線路,它用不同的圖符來襲涿不同的指令,用串、 并聯(lián)等概念綴織圖符的順序位置來表述邏輯。梯形蹋語言作為一瓣標(biāo)準(zhǔn)p l c 編程語言, 在編制露必綴遵循一定靜規(guī)燹 j ,其俸如下: ( 1 ) 觸點(diǎn)應(yīng)畫在水平線上,不能畫在垂直分波上且應(yīng)遵循自左至右,自上而下的 繪制原則。 ( 2 ) 梯形圖的每一行都是瓢左鍘蹲線開始萄越,線圈幫指令畫在最右邊,線圈或 指令的右邊只能畫右母線( 右母線可以省略) 。 ( 3 ) 線匿和指令譽(yù)戇直接跟友側(cè)母線連接( 除極少數(shù)沒蠢執(zhí)行條傳的搬令,如 e n d 等) 。 ( 4 ) 梯形圖必須遵循從左到右、從上到下的順序編寫。 ( 5 ) 稷序結(jié)束時(shí)安攆e n d 指令,孬劉程序不被執(zhí)行。 所以,在梯形圖編弦器開發(fā)過程巾盛須遵循梯形圖的編程原則來設(shè)計(jì)。 1 7 華中科技大學(xué)碩士學(xué)位論文 3 3 系統(tǒng)類屢次結(jié)構(gòu) 梯形匿一般蠢多個(gè)不目的梯級(jí)綴成,每一個(gè)梯級(jí)又可以?!耙恍小被颉皵?shù) 行”組成,每行由一個(gè)或幾個(gè)輸入元件及一個(gè)輸出元件組成。輸出元件應(yīng)出 現(xiàn)在梯級(jí)的最右邊,而輸入元件則出現(xiàn)在輸出指令的左邊,如圖3 - 1 所示。 日f h k 叫 圖3 - 1 個(gè)媳型的梯形圖 從計(jì)算機(jī)角度著,圖3 - 1 是一幅位圖,它由一個(gè)個(gè)像索組成。計(jì)算機(jī)沒有能力分析 毫這囂一個(gè)梯形黧,勢蘩藪塞每令元黲之舞瓣邏輯關(guān)系,聯(lián)渡,霉要一耱趲述方法,詿 計(jì)算機(jī)能“看懂”梯形圖。為詫,采用面向?qū)ο笤O(shè)計(jì)方法米拜發(fā)梯形圖編輯器,其關(guān)鍵 步驟如下: ( 1 ) 首先分析和識(shí)別梯形圖中的不同對象。以圖3 - 1 的梯形圖為例,此梯形圖是 個(gè)由兩行組殘豹糖綴。第一行由元佟x l ,x 2 ,x 4 , y i 及巍下的連接線組成,第二行壹 元件x 3 及海上連接線組成。梯形囂可分為梯緩、行、元辭三部分,萁數(shù)據(jù)絡(luò)秘閏魏3 - 2 所示。所以,系統(tǒng)由梯形圖對象、梯級(jí)對象、行對象及元件對象組成。 圖3 2 梯形搿的數(shù)據(jù)結(jié)構(gòu)匿 ( 2 ) 根據(jù)對象的性質(zhì)和功能抽象歸并為不同類,建立類的層次結(jié)構(gòu)。面向?qū)ο?軟件設(shè)計(jì)主要是類的設(shè)計(jì),而不是對象的設(shè)計(jì),因?yàn)楦鞣N對象是在梯形圖對成的編輯過 1 8 華中科技大學(xué)碩士學(xué)位論文 程中動(dòng)態(tài)產(chǎn)生的。通過對系統(tǒng)的梯形圖對象、梯級(jí)對象、行對象及元件對象進(jìn)行抽象, 建立了梯形圖編程系統(tǒng)的類層次結(jié)構(gòu)如圖3 3 所示,其類層次結(jié)構(gòu)中六大類對象如下: 1 )類c l a d d e r ,是梯形圖類,每個(gè)梯形圖都對應(yīng)一個(gè)梯形圖類對象,處于最上 層,通過類中的梯級(jí)鏈表c r u n g l i s t 來管理下面的梯級(jí)信息。當(dāng)插入一個(gè)梯 級(jí)時(shí),就把生成梯級(jí)對象的地址指針插入到鏈表中對應(yīng)位置。 圖3 3 編輯模塊的類層次結(jié)構(gòu) 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論