OOP思想和UML分析技術(shù)在帶式輸送機(jī)控制程序開(kāi)發(fā)中的應(yīng)用
[摘 要] 本文根據(jù)控制系統(tǒng)設(shè)計(jì)者的經(jīng)驗(yàn),從設(shè)計(jì)者的視角出發(fā),講述了控制系統(tǒng)的研發(fā)思想。在PLC程序設(shè)計(jì)領(lǐng)域,創(chuàng)新性的引入了微型機(jī)程序設(shè)計(jì)領(lǐng)域的OOP思想,通過(guò)分層設(shè)計(jì)、OOP分析、UML建模等手段成功的實(shí)現(xiàn)了高標(biāo)準(zhǔn)的開(kāi)發(fā)目標(biāo)。具有很好的應(yīng)用推廣前景,也為同行業(yè)設(shè)計(jì)者帶來(lái)啟示。該系統(tǒng)的開(kāi)發(fā)目標(biāo)是:易維護(hù)、易移植、架構(gòu)靈活、概念統(tǒng)一、功能強(qiáng)大、可復(fù)用的皮帶輸送機(jī)連鎖控制軟件。另外本系統(tǒng)也成功的實(shí)現(xiàn)了移植。
[關(guān)鍵詞] 帶式輸送機(jī)控制系統(tǒng) 面向?qū)ο缶幊趟枷?OOP UML 分層設(shè)計(jì)
KEYWORDS: Industrial Control, program design thinking, PLC program, OOP,UML.
原料場(chǎng)直供部分控制程序的開(kāi)發(fā)采用了結(jié)構(gòu)化分層設(shè)計(jì),應(yīng)用了面向?qū)ο缶幊蹋∣OP)思想和UML模型分析技術(shù),成功實(shí)現(xiàn)了較高標(biāo)準(zhǔn)的設(shè)計(jì)目標(biāo)。
OOP是微型機(jī)程序設(shè)計(jì)領(lǐng)域的優(yōu)秀的成熟的編程思想,在PLC程序設(shè)計(jì)中應(yīng)用還是很少。在程序設(shè)計(jì)方面與微型機(jī)比較,PLC程序設(shè)計(jì)市場(chǎng)小且基本上控制程序都是定制的,不可復(fù)用的、開(kāi)發(fā)工具落后(相對(duì)當(dāng)前微型機(jī)的主流開(kāi)發(fā)工具),其次是編程資源少,應(yīng)用范圍小。OOP編程思想應(yīng)用到PLC程序設(shè)計(jì)是一個(gè)新思路,雖然成功的實(shí)例不多(依據(jù)網(wǎng)上百度、雅虎、Google搜索),但是極具推廣價(jià)值。
一,高標(biāo)準(zhǔn)的設(shè)計(jì)目標(biāo)
設(shè)計(jì)目標(biāo)就是:易維護(hù)、易移植、架構(gòu)靈活、各視圖中的概念統(tǒng)一、功能強(qiáng)大的、可復(fù)用的皮帶輸送機(jī)連鎖控制軟件。
A、可復(fù)用:局限性小、適用性強(qiáng)、便于應(yīng)用推廣。所以考慮的情況就要盡可能的全面。功能塊有自定義參數(shù),可適應(yīng)一定彈性的需求變化。
B、魯棒性好:功能塊內(nèi)部設(shè)計(jì)了自診斷子系統(tǒng),保證了安全性和系統(tǒng)健壯性。上位機(jī)組態(tài)設(shè)計(jì)了系統(tǒng)通訊監(jiān)控畫面,實(shí)時(shí)監(jiān)控下位機(jī)的DP網(wǎng)絡(luò)通訊結(jié)點(diǎn)。關(guān)鍵的現(xiàn)場(chǎng)連鎖點(diǎn)信號(hào),全部采用閉點(diǎn)接入。
C、架構(gòu)靈活:可以適應(yīng)不同的皮帶機(jī)運(yùn)輸結(jié)構(gòu)要求。采用“積木”式設(shè)計(jì),可以“搭建”控制程序,構(gòu)建一個(gè)皮帶機(jī)運(yùn)輸控制程序非常簡(jiǎn)單。只要畫出皮帶機(jī)的運(yùn)輸拓?fù)浣Y(jié)構(gòu),依據(jù)該投影即可搭建控制程序。
D、易于維護(hù):依據(jù)“高內(nèi)聚,松耦合”和“概念統(tǒng)一”原則。模塊化開(kāi)發(fā),將控制邏輯全部集成到功能塊內(nèi)部。即使修改設(shè)備控制邏輯,也不會(huì)產(chǎn)生牽一發(fā)而動(dòng)全身的弊端。設(shè)計(jì)概念統(tǒng)一是一個(gè)優(yōu)良設(shè)計(jì)的標(biāo)準(zhǔn)。如果模型不斷出現(xiàn)“特例”的情況,就會(huì)破壞“概念統(tǒng)一”,使系統(tǒng)難以維護(hù)。
E、人機(jī)界面友好:一個(gè)系統(tǒng)從用戶角度來(lái)看,如果不能實(shí)現(xiàn)友好的人機(jī)接口(HMI),一切都是“白費(fèi)”。用戶更關(guān)心他自己的視圖。所以用戶視圖中的系統(tǒng)“概念統(tǒng)一”同樣重要。界面易于操作、系統(tǒng)功能強(qiáng)大,也是重要的設(shè)計(jì)目標(biāo)。
F、軟件功能要求:(分為基本功能和高級(jí)功能)
F1,基本功能:
手動(dòng)模式、自動(dòng)模式;延時(shí)逆起順停、變換料線、斷線上游立即停車、料線互斥、保護(hù)報(bào)警、停機(jī)報(bào)警、預(yù)警鈴聲、趨勢(shì)記錄等。報(bào)警設(shè)置有超流量、跑偏、打滑、撕裂、溜槽堵塞。
一個(gè)系統(tǒng)從用戶角度來(lái)說(shuō),更關(guān)心使用概念統(tǒng)一、易于操作、功能強(qiáng)大。而且可以實(shí)現(xiàn)更高級(jí)的操作,為企業(yè)保護(hù)生產(chǎn)設(shè)備和節(jié)約生產(chǎn)成本。
F2,高級(jí)功能:
F2.1,無(wú)擾動(dòng)變線:料線變換是最常規(guī)的工藝動(dòng)作。有時(shí)只需要在下游變動(dòng)一兩個(gè)設(shè)備,也要把全部公共線設(shè)備停車。大多情況公共線部分占全料線的70%強(qiáng)甚至90%。長(zhǎng)的料線啟動(dòng)一次就是近20分鐘。公共線部分有許多大型皮帶機(jī)都是3電機(jī)拖動(dòng),帶軟起動(dòng)器,啟動(dòng)困難、耗電量巨大、有啟停間隔時(shí)間要求、頻繁啟停還有損設(shè)備壽命。無(wú)擾動(dòng)變線解決了這一問(wèn)題,這種原料場(chǎng)料線控制方式,其他料場(chǎng)未見(jiàn)。
F2.2,動(dòng)態(tài)下游鎖:一般情況下,料線中斷時(shí)是從斷點(diǎn)處的上游設(shè)備,間隔一個(gè)PLC掃描周期,依次停止。如果該料線的設(shè)備很多,且PLC掃描周期很長(zhǎng)(因外部通訊周期的影響),惡果就是很長(zhǎng)時(shí)間才能全線停車。最上游的設(shè)備可能會(huì)有20多秒才停止,造成積料。有自動(dòng)動(dòng)態(tài)下游鎖,可避免這一問(wèn)題。斷線時(shí),全部上游設(shè)備,間隔一個(gè)PLC掃描周期,同時(shí)停止。這是最短的反映時(shí)間(沒(méi)有任何延時(shí)是不可能的,至少一個(gè)PLC掃描周期)。這種動(dòng)態(tài)連鎖是最優(yōu)的,我們成功的實(shí)現(xiàn)了。
F2.3,斷線再續(xù):料線中斷時(shí),一般料場(chǎng)的控制是,料線中斷點(diǎn)處上游立即全部停止,下游是依次延時(shí)停車,且沒(méi)有其他可選方式。再啟動(dòng)該料線,就得全線停車后,再次全部啟動(dòng),浪費(fèi)很大。實(shí)際中往往有一點(diǎn)小事情影響馬上解決,停掉的設(shè)備又馬上重新啟動(dòng)。斷線再續(xù),不必停止下游的全部設(shè)備,處理完故障后只要將停掉一段上游設(shè)備自動(dòng)啟動(dòng),即可恢復(fù)如初。對(duì)于上游段一兩個(gè)設(shè)備停車造成全線停止,斷線再續(xù)功能有極大的好處,保護(hù)設(shè)備、節(jié)約資金。
F2.4料線模式自適應(yīng):料線控制分為主動(dòng)料線和被動(dòng)料線。主動(dòng)料線是通過(guò)HMI實(shí)現(xiàn)料線的人為選取、連鎖切換。它的弊端是必須靠程序員思考復(fù)雜的連鎖互斥關(guān)系,引起設(shè)計(jì)的復(fù)雜度提高(有多少條料線,就得編寫多少連鎖互斥關(guān)系)。復(fù)雜度增加可控性降低,程序員信心下降(這是料場(chǎng)內(nèi)部控制程序的最大弊端)。料線模式自適應(yīng)是,如果現(xiàn)場(chǎng)設(shè)備啟動(dòng)情況恰好是某一條料線,他就自動(dòng)顯示該料線,并按該料線模式執(zhí)行控制和連鎖,無(wú)論有多少種料線組合模式,它全部自適應(yīng)。不必專門設(shè)計(jì)料線控制部分,這正是OOP帶來(lái)的好處。因?yàn)閷?duì)象的屬性和對(duì)象對(duì)它自身的一組操作是封裝在一起的,做為整體處理。就是說(shuō)對(duì)象自身知道什么時(shí)候,該做什么事情。
F2.5,可選料線中斷時(shí)下游不停車或順序延時(shí)停車:一般原料場(chǎng)料線中斷處下游延時(shí)順序停車,不可避免。提供下游不停車選項(xiàng),為用戶快速確定斷點(diǎn)設(shè)備,提供便利;為斷線再續(xù)功能提供服務(wù)。用戶可以靈活的掌握、操控性強(qiáng)。
F2.6,可選多條上游皮帶對(duì)一條下游皮帶連鎖:多條皮帶對(duì)一條皮帶的連鎖,可以提供操作的靈活性。
F2.7,可選直供部分與料場(chǎng)內(nèi)部順序連鎖:料場(chǎng)內(nèi)部直接控制外部料線,在用戶角度看來(lái),形成了一條感覺(jué)上的“整體料線”。
F2.8,可選為料場(chǎng)內(nèi)部發(fā)送模擬連鎖信號(hào):當(dāng)料場(chǎng)內(nèi)部需要一個(gè)外部連鎖信號(hào)才能試車時(shí),外部控制程序可以通過(guò)通訊發(fā)送一個(gè)模擬信號(hào)給場(chǎng)內(nèi)程序。一旦場(chǎng)外設(shè)備真正啟動(dòng)自動(dòng)切換到實(shí)時(shí)信號(hào)傳送,不必認(rèn)為切換,非常人性化的設(shè)計(jì)。
二,UML分析和建模
皮帶輸送機(jī)運(yùn)輸原料的工作過(guò)程,就像水流在河道里的運(yùn)動(dòng)一樣,項(xiàng)目因此得名RIVER(河流)。河流有3種模式,順序(一條河流的不同段)、分支(一條河流分為幾個(gè)支流)、匯聚(幾個(gè)支線河流匯集到一條干線河流)。這和料流的運(yùn)行模式類似。
本來(lái)面向?qū)ο缶幊蘋OP是微型機(jī)程序設(shè)計(jì)領(lǐng)域的思想,它的實(shí)現(xiàn)需要編程工具的支持。分類、繼承、多態(tài)和成熟的設(shè)計(jì)模式是它的最大特點(diǎn),UML語(yǔ)言是它的分析建模工具,且通過(guò)UML建模工具可以由UML圖形直接生成框架代碼。
首先利用面向?qū)ο缶幊蹋∣OP)的思想,把原料場(chǎng)的設(shè)備分為3個(gè)類:皮帶機(jī)類、兩位分料器類、三位分料器類。
以下是使用Microsoft Visio制圖,具體UML靜態(tài)類圖如下:



在類構(gòu)建時(shí),首先建立了皮帶機(jī)基類(帶啟動(dòng)、停止接口遺留到繼承類中實(shí)現(xiàn)多態(tài))、電動(dòng)機(jī)基類、軟啟動(dòng)基類然后通過(guò)繼承綁定實(shí)現(xiàn)具體類組合。他們的具體組合,可以通過(guò)功能塊自定義參數(shù)設(shè)置。
每種類又綁定了具體的結(jié)構(gòu)化數(shù)據(jù)類型,供類操作使用。結(jié)構(gòu)化數(shù)據(jù)類型變量便于實(shí)現(xiàn)編程視圖的概念統(tǒng)一,和以后做各種趨勢(shì)(而功能塊內(nèi)部變量是在堆棧里的,不能直接做趨勢(shì)記錄的)。這樣設(shè)計(jì)好處是概念統(tǒng)一,可以實(shí)現(xiàn)強(qiáng)大的功能,因?yàn)楣δ軌K內(nèi)部的所有操作可以通過(guò)外部變量觸發(fā)。
再使用Visio繪制, UML類活動(dòng)狀態(tài)圖如下:
通用狀態(tài)圖描述了每個(gè)設(shè)備都有的活動(dòng)狀態(tài)行為。它是狀態(tài)轉(zhuǎn)換、自診斷、合理性檢查的依據(jù)。通過(guò)編程實(shí)現(xiàn)上圖,系統(tǒng)增強(qiáng)了健壯性。

兩位分料器活動(dòng)狀態(tài)圖,具體描述了該設(shè)備的狀態(tài)轉(zhuǎn)換過(guò)程和約束條件。
以該圖作為依據(jù),開(kāi)發(fā)了兩位式分料器的合理性檢查、狀態(tài)轉(zhuǎn)換控制程序。
通過(guò)采用UML建模分析技術(shù),程序架構(gòu)更容易把握,加快了系統(tǒng)開(kāi)發(fā)的速度,增強(qiáng)了開(kāi)發(fā)者的自信。即使后來(lái)加入各種功能,我們同樣自信系統(tǒng)的健壯性,這依賴于優(yōu)良的架構(gòu)設(shè)計(jì)。系統(tǒng)功能強(qiáng)大的同時(shí),代碼可控、結(jié)構(gòu)清晰,而且避免了項(xiàng)目需求的膨脹導(dǎo)致系統(tǒng)編碼的混亂和崩潰。哪怕是到達(dá)最后完成時(shí)期,可以自信的說(shuō)程序都在掌控之中。
采用OOP技術(shù)分析,且編寫時(shí)功能塊高度內(nèi)聚,因此不會(huì)出現(xiàn)程序修改時(shí)的“牽一發(fā)而動(dòng)全身”的惡果。這樣成功實(shí)現(xiàn)了易于維護(hù)修改的設(shè)計(jì)要求。
整個(gè)程序的主體就是3大功能塊,即皮帶機(jī)塊、兩位分料器塊、三位分料器塊。料線控制邏輯高度內(nèi)聚在每個(gè)設(shè)備功能塊內(nèi)部,也使得移植該程序非常容易。只要按照現(xiàn)場(chǎng)實(shí)際皮帶機(jī)的運(yùn)輸拓?fù)浣Y(jié)構(gòu)順序搭建,三大功能塊構(gòu)成系統(tǒng)主干投影,料線連鎖的主控制程序就自然形成。所以在編寫程序時(shí)沒(méi)有專門的料線控制功能塊,而是編寫了一個(gè)具有料線信息集中分析顯示和料線互斥的約束塊。
三,具體實(shí)現(xiàn)
具體程序采用分層設(shè)計(jì),共分為3層:

1、輸入預(yù)處理子層(I映射層):
作用是把從輸入通道讀入后的信息,在交給控制邏輯層處理之前,先進(jìn)入輸入預(yù)處理子層進(jìn)行預(yù)先處理。它的意義是實(shí)現(xiàn)統(tǒng)一的接口。比如:設(shè)備就緒信號(hào)在不同的設(shè)備,就緒條件是不同的,通過(guò)預(yù)處理子層后每一個(gè)設(shè)備只有一個(gè)統(tǒng)一的設(shè)備就緒信號(hào),這樣就為控制邏輯層提供了簡(jiǎn)單的概念統(tǒng)一的接口。把復(fù)雜轉(zhuǎn)化為簡(jiǎn)單。
輸入預(yù)處理子層,靠近硬件輸入,處理硬件設(shè)備信息的封裝和轉(zhuǎn)換,為控制邏輯層,統(tǒng)一了接口(Interface),統(tǒng)一了概念。
2、輸出預(yù)處理子層(O映射層):
作用是把控制邏輯層輸出的信息,在寫入硬件通道之前,先進(jìn)入輸出預(yù)處理子層進(jìn)行預(yù)先處理。它的意義是實(shí)現(xiàn)OOP的多態(tài)。
通過(guò)預(yù)處理,將控制邏輯層的統(tǒng)一輸出接口,轉(zhuǎn)化為適應(yīng)設(shè)備多變的細(xì)節(jié),從而實(shí)現(xiàn)了多態(tài)。舉例說(shuō)明:同樣是啟動(dòng)行為,皮帶機(jī)類和分料器類的啟動(dòng)行為是不同的;即使都是皮帶機(jī)類啟動(dòng)、連鎖行為也不相同,因?yàn)橛须姍C(jī)數(shù)和有無(wú)軟啟動(dòng)器的差異,及設(shè)備所在位置的差異等。
輸出預(yù)處理子層,靠近硬件輸出,處理從控制邏輯層到硬件通道的多態(tài)特性。
輸入預(yù)處理子層和輸出預(yù)處理子層,一方面將程序主體與實(shí)際硬件隔離開(kāi)來(lái),從而使程序?qū)τ布囊蕾囆詼p弱,實(shí)現(xiàn)了項(xiàng)目的易于復(fù)用和移植;另一方面它們的行為相反,前者是為了實(shí)現(xiàn)同化,提供統(tǒng)一編程接口;后者是為了異化,實(shí)現(xiàn)不同的行為。I/O映射層,為高度分離主體控制邏輯提供了條件,它的設(shè)計(jì)借鑒bbbbbbs 操作系統(tǒng)的HAL層(硬件抽象層)設(shè)計(jì)。
3、控制邏輯層:
控制邏輯層,因?yàn)橛?/SPAN>I/O映射層的加入,實(shí)現(xiàn)起來(lái)就只是關(guān)注控制邏輯。該層只處理統(tǒng)一的概念,不直接處理硬件信息。既沒(méi)有復(fù)雜設(shè)備細(xì)節(jié)的干擾,又沒(méi)有具體硬件信息的影響,所以邏輯控制高度內(nèi)聚,為實(shí)現(xiàn)復(fù)雜的高級(jí)功能提供了基礎(chǔ)。
具體實(shí)現(xiàn)(略),參見(jiàn)程序。
分層設(shè)計(jì),借鑒了bbbbbbs分層設(shè)計(jì)的思想。高度分離的各層中,某一層的修改不會(huì)傳遞到其他層,所以避免了“牽一發(fā)而動(dòng)全身”的弊端。
具體實(shí)現(xiàn)過(guò)程是通過(guò)中間變量(即結(jié)構(gòu)化變量)和定義接口實(shí)現(xiàn)。
首先把硬件通道輸入值賦給接口變量;或讀入后再加以預(yù)處理,再賦值給接口變量。控制邏輯層的程序中只使用接口變量,這樣就實(shí)現(xiàn)了程序邏輯和硬件的分離。(實(shí)質(zhì)就是模仿函數(shù)傳遞的形式參數(shù)列表)。
使用結(jié)構(gòu)化數(shù)據(jù)給我們帶來(lái)了很大的便利,(實(shí)質(zhì)上此處有面向?qū)ο蠓诸愒O(shè)計(jì)的思想,只是由于工具的限制無(wú)法實(shí)現(xiàn)繼承和多態(tài)特性…..)。
編寫帶自定義參數(shù)的功能塊(如下圖)。

Bel表示皮帶機(jī)

Rt2表示兩位式分料器
程序搭建,示例如下:
首先畫出實(shí)際的帶式輸送機(jī)拓?fù)浣Y(jié)構(gòu):
圖中有四條皮帶對(duì)象S1、S2、S3、S4,一個(gè)分料器對(duì)象F1。

依樣搭建主控制程序(FBD示意圖):

一個(gè)類功能塊代表一個(gè)對(duì)象實(shí)例。
通過(guò)結(jié)構(gòu)變量把各個(gè)功能塊連接起來(lái)就形成控制程序,在ABB的CBF里也可以將對(duì)應(yīng)的功能塊管腳直接連線。ABB的CBF不能象西門子的STEP那樣可以把DB綁定到FC上一次傳遞一個(gè)結(jié)構(gòu)化變量塊給功能塊。CBF的結(jié)構(gòu)化變量不能用一個(gè)功能塊的管腳直接傳遞到功能塊內(nèi)部帶來(lái)的結(jié)果就是我們開(kāi)發(fā)的功能塊實(shí)際的樣子想個(gè)多腳蟲(chóng)子(如下圖)。

Bel表示皮帶機(jī) Rt2表示兩位式分料器 Rt3表示三位式分料器
四,經(jīng)驗(yàn)總結(jié)和推廣意義
OOP成功的應(yīng)用到PLC程序設(shè)計(jì)領(lǐng)域,是剛剛起步,它的意義是為PLC程序設(shè)計(jì)提出一個(gè)實(shí)踐的新思路。它的最大優(yōu)勢(shì)是開(kāi)發(fā)出來(lái)的程序,概念統(tǒng)一、架構(gòu)優(yōu)良、易于維護(hù)、可復(fù)用、程序員對(duì)所開(kāi)發(fā)的項(xiàng)目信心增強(qiáng)。
經(jīng)驗(yàn)總結(jié):
掌握OOP程序設(shè)計(jì)思想有一定的難度,因?yàn)樗枰淖冊(cè)O(shè)計(jì)人員的習(xí)慣性思維模式(正如包頭鋼鐵設(shè)計(jì)研究總院自動(dòng)化所的設(shè)計(jì)人員王工程師,聽(tīng)我們介紹完程序后,他感慨地說(shuō):“你們的程序設(shè)計(jì)概念,顛覆了我的思維,……。”)。因?yàn)槲覀內(nèi)粘A?xí)慣以“面向過(guò)程的模式思維” 做事情,就是一步一步來(lái)做。即使是在微型機(jī)程序設(shè)計(jì)領(lǐng)域,經(jīng)常也會(huì)人有拿著OOP的工具,寫出來(lái)的代碼卻是面向過(guò)程的??梢钥隙ǖ卣f(shuō)現(xiàn)在微型機(jī)程序設(shè)計(jì)領(lǐng)域,優(yōu)秀的具有一定規(guī)模的軟件基本框架都是OOP的,而且必然采用“設(shè)計(jì)模式”。有趣的事實(shí)是,PLC開(kāi)發(fā)工具的研發(fā),都是面向?qū)ο缶幊痰摹?/SPAN>
要求設(shè)計(jì)人員熟悉UML語(yǔ)言和建模工具的使用。因?yàn)镻LC開(kāi)發(fā)工具不支持OOP,更沒(méi)有與之對(duì)應(yīng)的UML建模工具。在微型機(jī)程序設(shè)計(jì)領(lǐng)域,與OOP開(kāi)發(fā)工具配合使用的UML建模工具,可以直接以畫UML圖形建模,然后由建模工具完成從UML圖形到框架代碼的自動(dòng)轉(zhuǎn)換(這就是所謂的“畫圖生成程序”),極大地提高了軟件項(xiàng)目的生產(chǎn)率。而我們只得借助Borland ModuelMaker、Microsoft Visio、IBM Rose這樣的工具來(lái)協(xié)助完成UML模型設(shè)計(jì);依靠大腦來(lái)完成轉(zhuǎn)換代碼框架的工作,其中還得轉(zhuǎn)換PLC程序設(shè)計(jì)工具不支持的那部分特性,所以要求設(shè)計(jì)人員對(duì)UML語(yǔ)言和建模工具比較熟悉。
開(kāi)發(fā)前必須有成熟的、較全面的需求分析和設(shè)計(jì)目標(biāo)。那種邊開(kāi)發(fā)邊加入新的需求會(huì)使系統(tǒng)難于控制,以至徹底不可控,使程序員喪失信心,系統(tǒng)健壯性難以得到保證。最終不得不降低開(kāi)發(fā)目標(biāo)。
接口的設(shè)計(jì)是一個(gè)重點(diǎn),一定要高度重視。修改接口不能避免,但是不能出現(xiàn)反復(fù)修改接口的情況,越到項(xiàng)目的后期修改接口的代價(jià)越高。
目前的主要困難是所有的PLC廠商提供的開(kāi)發(fā)工具都不支持OOP開(kāi)發(fā)。也許將來(lái)會(huì)提供,但是這有待于市場(chǎng)的需求和居于領(lǐng)導(dǎo)地位廠商的決策,以及工控技術(shù)潮流的影響。
推廣意義:
本論文闡述的解決方案,適于在控制類型少,同樣控制類型的數(shù)量又較多的控制系統(tǒng)。使用該方案可以得到非常好的開(kāi)發(fā)效果,實(shí)現(xiàn)較高的開(kāi)發(fā)目標(biāo)。
即使項(xiàng)目的控制類型多,同樣控制類型的數(shù)量少的情況下,如果正確的使用此方案分析開(kāi)發(fā),利用分層設(shè)計(jì)一定可以得到一個(gè)高度內(nèi)聚的、易于維護(hù)的系統(tǒng)。
小的控制系統(tǒng)應(yīng)用此方案是不值當(dāng)?shù)?,原因就是它的“設(shè)計(jì)”成分所占太多(“建狗窩和大廈,是要求不同程度的設(shè)計(jì);一個(gè)優(yōu)秀的項(xiàng)目,要有合理程度的設(shè)計(jì)”)。
從程序設(shè)計(jì)師的視角來(lái)說(shuō),它的最大優(yōu)勢(shì)就是:程序設(shè)計(jì)師在設(shè)計(jì)復(fù)雜系統(tǒng)的時(shí)候,增強(qiáng)了他們對(duì)自己“產(chǎn)品”的信心。
2008年9月17日 于宣鋼煉鐵廠原料場(chǎng)
參考資料:
[1]、《ABB開(kāi)發(fā)手冊(cè)》ABB公司
[2]、《面向?qū)ο蟮姆椒ㄔ砼c實(shí)踐》Ian Graham著 袁兆山等譯 機(jī)械工業(yè)出版社2003年3月第一版
[3]、《深入解析bbbbbbs操作系統(tǒng)》第四版 [美]Mark E.Russinovich、David A.Solomon著潘愛(ài)民譯 機(jī)械工業(yè)出版社2007年4月第一次印刷
[4]、《設(shè)計(jì)模式-可復(fù)用面向?qū)ο筌浖幕A(chǔ)》Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides著 李英軍、馬曉星、蔡敏、劉建中等譯 機(jī)械工業(yè)出版社 2000年9月第一版
[5]、《面向?qū)ο箝_(kāi)發(fā)實(shí)踐之路_Delphi版》李維 著 機(jī)械工業(yè)出版社 2005年4月第一版
[6]、《DFLPHI6企業(yè)級(jí)解決方案及應(yīng)用剖析》劉藝 著 機(jī)械工業(yè)出版社 2002年7月第一版
[7]、《STEP7 V5.3手冊(cè)》西門子公司
[8]、《UML2.0學(xué)習(xí)指南》Russ Miles & Kim Hamilton 著汪青青譯 清華大學(xué)出版社 2007年2月第一版
[9]、《操作系統(tǒng)基礎(chǔ)》第三版屠祁 屠立德 編著 清華大學(xué)出版社 2001年12月第六次印
[10]、《數(shù)據(jù)結(jié)構(gòu) c語(yǔ)言版》嚴(yán)蔚敏 吳偉民 編著 清華大學(xué)出版設(shè) 2002年9月第一版 2005年8月第13次印
本文標(biāo)簽:OOP思想和UML分析技術(shù)在帶式輸送機(jī)控制程序開(kāi)發(fā)中的應(yīng)用
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《OOP思想和UML分析技術(shù)在帶式輸送機(jī)控制程序開(kāi)發(fā)中的應(yīng)用》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“OOP思想和UML分析技術(shù)在帶式輸送機(jī)控制程序開(kāi)發(fā)中的應(yīng)用”的更多資訊
個(gè)人求購(gòu)










