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