|
|
三、CASE工具篇 <BR> 在上篇介紹文章中我們介紹了國際自動(dòng)軟件設(shè)計(jì)領(lǐng)域中仿真校驗(yàn)的趨勢(shì),接下來我們來談?wù)凜ASE這個(gè)概念。CASE 是英文 Computer Aided Software Engineering的縮寫,主要是指利用一整套的方法和工具對(duì)系統(tǒng)規(guī)則進(jìn)行建模,并自動(dòng)生成合適的程序。CASE概念在IT界已經(jīng)流行多年,現(xiàn)在已經(jīng)是必不可少的常用手段。而在自控軟件設(shè)計(jì)領(lǐng)域,CASE概念的流行還是最近幾年的事情,但發(fā)展速度之迅速卻是出乎許多人的預(yù)料。由于CASE概念為自控軟件設(shè)計(jì)領(lǐng)域帶來脫胎換骨般的變化,使整個(gè)領(lǐng)域提升至一個(gè)全新的高度,在短短一兩年的時(shí)間內(nèi)就迅速在歐美自控界普及開來。令人遺憾的是在國內(nèi)自控界卻幾乎無人談及,也很少有這方面的介紹文章。 <BR> CASE概念在自控軟件設(shè)計(jì)領(lǐng)域中的應(yīng)用主要還是圍繞著標(biāo)準(zhǔn)V型設(shè)計(jì)流程來展開(見圖)。在設(shè)計(jì)的各個(gè)階段,盡量多的使用計(jì)算機(jī)手段幫助設(shè)計(jì)人員高質(zhì)量地完成設(shè)計(jì),并盡可能地減少需要使用的不同工具或產(chǎn)品種類,減少不同工具之間的數(shù)據(jù)重新捕獲,提高設(shè)計(jì)復(fù)用性,減輕設(shè)計(jì)人員掌握不同工具所需的學(xué)習(xí)量,降低整個(gè)設(shè)計(jì)和運(yùn)營成本。下面,我們就根據(jù)V型圖的設(shè)計(jì)流程,逐一介紹一下CASE概念在自控軟件設(shè)計(jì)領(lǐng)域中的應(yīng)用。 <BR> <br><A HREF="/editor/uploadfiles/learns01/200571811194396382.gif" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/200571811194396382.gif" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A><BR> 1、設(shè)計(jì)規(guī)格說明書:可執(zhí)行的規(guī)格說明書(形式化設(shè)計(jì)) <BR> 自控軟件設(shè)計(jì)的第一步是根據(jù)用戶需求完成設(shè)計(jì)規(guī)格說明書。設(shè)計(jì)說明書是后面所有工作的基礎(chǔ),它的好壞直接影響到整個(gè)設(shè)計(jì)的好壞。目前國內(nèi)普遍使用基于文本的工具編寫(如Word、Excel等)。但是,由于文本語言自身的特點(diǎn),對(duì)于相同的文本每個(gè)人的理解經(jīng)常會(huì)出現(xiàn)差異,基于文本的設(shè)計(jì)說明書不可避免地在用戶和設(shè)計(jì)人員之間造成歧義和誤解。這些錯(cuò)誤往往要到設(shè)計(jì)的最后階段甚至到現(xiàn)場(chǎng)安裝階段才被發(fā)現(xiàn),造成巨大浪費(fèi)并付出重大代價(jià)。因此,如何在設(shè)計(jì)的最初始階段解決所有的歧義,充分和用戶溝通并確保設(shè)計(jì)規(guī)格說明書完全符合用戶需求就顯得極為重要。<BR> 目前國際上的做法是在文本說明書的基礎(chǔ)上,全面使用“可執(zhí)行”的說明書。所謂“可執(zhí)行”,是指在設(shè)計(jì)的最開始階段,設(shè)計(jì)人員通過對(duì)用戶需求的分析,對(duì)系統(tǒng)進(jìn)行高層設(shè)計(jì),使用用戶熟悉的圖形化方法對(duì)系統(tǒng)進(jìn)行分解和形式化建模。這就把基于文本的設(shè)計(jì)規(guī)格說明書可視化,同時(shí)清晰準(zhǔn)確地和客戶溝通。對(duì)現(xiàn)場(chǎng)對(duì)象的形式化建模能夠清除在用戶需求清單中含糊不清的條款,降低在項(xiàng)目后期再對(duì)設(shè)計(jì)進(jìn)行修改的風(fēng)險(xiǎn)。從而在設(shè)計(jì)的開始階段就避免所有的歧義、誤解和含糊不清的地方。這就是可執(zhí)行的規(guī)格說明書,也是目前國際上非常流行的形式化設(shè)計(jì)的一種形式。<BR> <br><A HREF="/editor/uploadfiles/learns01/200571811205812738.gif" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/200571811205812738.gif" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A><BR> 國內(nèi)有些單位也已經(jīng)認(rèn)識(shí)到基于文本的設(shè)計(jì)說明書的缺陷,有時(shí)在和用戶溝通的過程中也會(huì)使用Visio之類的工具畫出高層功能分解,并拿給用戶看。不過,這種做法的缺陷在于,這樣的圖形表示實(shí)際上只是一個(gè)示意性的說明,無法進(jìn)行模塊間連接有效性的檢查。另一方面,這種示意圖在實(shí)際系統(tǒng)實(shí)現(xiàn)時(shí)僅能作為參考,無法與實(shí)現(xiàn)過程緊密結(jié)合并強(qiáng)制地要求實(shí)際實(shí)現(xiàn)與其完全一致,從而大大削弱了其實(shí)際作用。 <BR> <BR> 2、設(shè)計(jì):自頂向下、自底向上的設(shè)計(jì)方法 <BR> 通過對(duì)高層需求的功能性分解,把整個(gè)系統(tǒng)逐步分解為最基本的組件,可以通過圖形化語言描述組件,完成設(shè)計(jì)。這是自頂向下的設(shè)計(jì)方法。 <BR> 另一方面,在系統(tǒng)存在許多有共性或相同的組件,設(shè)計(jì)一個(gè)組件模板,就可以通過復(fù)制生成許多實(shí)例,像搭積木一樣把整個(gè)系統(tǒng)設(shè)計(jì)出來。這是自底向上的設(shè)計(jì)方法。最有效的設(shè)計(jì)工具應(yīng)該支持兩種方法的混合使用。<BR> 每當(dāng)做完一個(gè)組件設(shè)計(jì),應(yīng)該可以很容易地進(jìn)行單元測(cè)試,確保組件的正確。另外,對(duì)由多個(gè)組件組成的復(fù)雜組件,最好能復(fù)用各單元測(cè)試的結(jié)果進(jìn)行集成測(cè)試。<BR> <BR> <br><A HREF="/editor/uploadfiles/learns01/200571811225327977.gif" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/200571811225327977.gif" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A><BR> <BR> 3、自動(dòng)設(shè)計(jì)文檔生成 <BR> 在傳統(tǒng)的自控設(shè)計(jì)中,手工編寫設(shè)計(jì)文檔占去了設(shè)計(jì)人員相當(dāng)多的時(shí)間和精力,是設(shè)計(jì)人員最不愿意做的事情之一。手工編寫設(shè)計(jì)文檔不但費(fèi)時(shí)費(fèi)力,更重要的是,難以保證所編寫的設(shè)計(jì)文檔和設(shè)計(jì)完全符合。對(duì)設(shè)計(jì)的每次更改,都會(huì)帶來設(shè)計(jì)文檔的更改甚至完全重新編寫,浪費(fèi)大量精力和時(shí)間。自動(dòng)設(shè)計(jì)文檔生成工具可以有效地解決這個(gè)難題。設(shè)計(jì)人員需要做的就是點(diǎn)擊一下鼠標(biāo),所有的設(shè)計(jì)都會(huì)自動(dòng)生成文檔,隨時(shí)隨地。小到基本組件,大到整個(gè)系統(tǒng),都可以生成用戶定制的設(shè)計(jì)文檔。當(dāng)設(shè)計(jì)發(fā)生修改時(shí),只需點(diǎn)擊一下鼠標(biāo)就可以輕松地再次生成文檔,并保證生成的設(shè)計(jì)文檔和設(shè)計(jì)是完全一致的,節(jié)省大量編寫文檔的時(shí)間和人力。 <BR> 4、控制代碼自動(dòng)生成 <BR> 隨著控制代碼自動(dòng)生成工具的普及,越來越多的設(shè)計(jì)人員開始放棄手工編寫控制代碼,轉(zhuǎn)向使用自動(dòng)工具。設(shè)計(jì)人員通過系統(tǒng)級(jí)圖形化軟件開發(fā)工具(如使用IEC61131-3語言)對(duì)所開發(fā)的項(xiàng)目進(jìn)行描述,建立整套系統(tǒng)的形式化模型。然后代碼自動(dòng)生成工具就可以根據(jù)該模型生成PLC或C語言的源代碼。自動(dòng)生成代碼能夠大幅提高設(shè)計(jì)品質(zhì):<BR> * 提高代碼質(zhì)量<BR> 。 提高代碼的可復(fù)用性<BR> 。 降低開發(fā)時(shí)間和成本<BR> 。 縮短調(diào)試時(shí)間<BR> * 與設(shè)計(jì)完全吻合。如果設(shè)計(jì)更改,程序代碼保持一致<BR> 。 這是一種充分的、能夠完全被理解的系統(tǒng)設(shè)計(jì)方法,因?yàn)殚_發(fā)者的想法被自動(dòng)地實(shí)現(xiàn)<BR> 。 在集成到目標(biāo)設(shè)備之前允許在一臺(tái)主機(jī)上進(jìn)行仿真,驗(yàn)證更加規(guī)范和全面。 <BR> 5、仿真校驗(yàn) <BR> 這部分內(nèi)容我們已經(jīng)在上一篇文章中詳細(xì)介紹過了,有興趣者請(qǐng)查看“中華工控網(wǎng)”的技術(shù)文摘:<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://m.007sbw.cn/learn/learn_detail.asp?learn_id=862> http://m.007sbw.cn/learn/learn_detail.asp?learn_id=862</a>。 <BR> 6、透明設(shè)計(jì):維護(hù)與升級(jí) <BR> 在目前國內(nèi)傳統(tǒng)的設(shè)計(jì)方法中,自控系統(tǒng)集成商的設(shè)計(jì)對(duì)于最終用戶來說完全是“黑箱”設(shè)計(jì)。工程結(jié)束后,供應(yīng)商留下的設(shè)計(jì)文檔和控制代碼往往令人難以理解,用戶變成了“瞎子”,完全不知道自己的自控系統(tǒng)是如何設(shè)計(jì)和運(yùn)作的。這會(huì)給用戶的系統(tǒng)維護(hù)、系統(tǒng)將來的升級(jí)改造帶來巨大困難!<BR> 這些年國際上普遍使用的是“透明設(shè)計(jì)”理念,自控集成商在設(shè)計(jì)過程中,采用了標(biāo)準(zhǔn)化的CASE工具進(jìn)行設(shè)計(jì),從最開始的設(shè)計(jì)規(guī)格說明書到系統(tǒng)實(shí)施階段全程和用戶溝通,全程對(duì)用戶透明,用戶完全知道是如何設(shè)計(jì)的,這樣對(duì)將來的系統(tǒng)維護(hù)和升級(jí)都極有好處。<BR> <BR> 7、全流程的自控軟件解決方案 <BR> 雖然在每個(gè)設(shè)計(jì)階段都存在著若干CASE工具幫助設(shè)計(jì)人員進(jìn)行設(shè)計(jì),但對(duì)于一個(gè)完整的設(shè)計(jì)流程來說,設(shè)計(jì)人員往往需要掌握和使用多個(gè)工具,這顯然不能令人滿意。一個(gè)全流程的解決方案自然會(huì)成為設(shè)計(jì)人員的最愛。全流程的設(shè)計(jì)工具涵蓋了從設(shè)計(jì)規(guī)格說明書、設(shè)計(jì)、代碼生成、仿真校驗(yàn)、到系統(tǒng)實(shí)施的全部過程,在享用CASE工具帶來的巨大好處的同時(shí),設(shè)計(jì)人員無需在不同的工具間捕獲數(shù)據(jù),無需同時(shí)學(xué)習(xí)掌握多種工具,從而大大降低設(shè)計(jì)成本,提高了設(shè)計(jì)效率。<BR> <BR> 四、總結(jié) <BR> 至此我們簡(jiǎn)要介紹了一些目前國際上流行的自控軟件設(shè)計(jì)的先進(jìn)理念和技術(shù),因?yàn)槠邢蓿荒苌钊脒M(jìn)行探討。大家在讀這篇文章的時(shí)候,可能也在思考我們的差距。是的,差距是顯而易見的,并且軟件設(shè)計(jì)方面的差距導(dǎo)致了我們的控制水平在精度和質(zhì)量等方面都落后于國際先進(jìn)水平。然而,我們也大可不必妄自菲薄。我們擁有一支數(shù)量眾多的高水平自控設(shè)計(jì)人員隊(duì)伍,不但專業(yè)知識(shí)扎實(shí),實(shí)際經(jīng)驗(yàn)豐富,接受新思想的速度也很快。從這幾年自控硬件的飛速發(fā)展就可以略窺一二。中國又是目前世界上最具活力的經(jīng)濟(jì)體,全球的制造中心,成千上萬的新工廠、新生產(chǎn)線每天都在建成,這無疑為自控領(lǐng)域的飛速發(fā)展提供了肥沃的土壤。只要我們堅(jiān)持開放的心態(tài),經(jīng)常了解國外先進(jìn)的理念和技術(shù)并為我所用,趕上并超過國外的日子也就指日可待了。</P><P> 愿這篇簡(jiǎn)短的介紹文章能起到拋磚引玉的作用,為廣大自控從業(yè)人員帶來一點(diǎn)啟示,為我國自控領(lǐng)域的進(jìn)一步發(fā)展盡綿薄之力!</P><P> 歡迎來信探討交流。 Email:hongrong6666@yahoo.com<BR> <BR>
|
|
|