2021年10月17日-20日,2021北京國(guó)際風(fēng)能大會(huì)暨展覽會(huì)(CWP 2021)在北京新國(guó)展隆重召開(kāi)。本屆大會(huì)以“碳中和——風(fēng)電發(fā)展的新機(jī)遇”為主題,歷時(shí)四天,包括開(kāi)幕式、主旨發(fā)言、高峰對(duì)話(huà)、創(chuàng)新劇場(chǎng)以及關(guān)于“國(guó)際成熟風(fēng)電市場(chǎng)發(fā)展動(dòng)態(tài)及投資機(jī)會(huì)”“國(guó)際新興風(fēng)電市場(chǎng)發(fā)展動(dòng)態(tài)及投資機(jī)會(huì)”“風(fēng)電設(shè)備智能運(yùn)維論壇”“碳達(dá)峰碳中和加速能源轉(zhuǎn)型”等不同主題的15個(gè)分論壇。
在20日上午召開(kāi)的風(fēng)電機(jī)組優(yōu)化升級(jí)專(zhuān)題論壇上,三一重能股份有限公司控制軟件工程師席偉川發(fā)表了《需求驅(qū)動(dòng)的風(fēng)機(jī)控制軟件正向設(shè)計(jì)》的主題發(fā)言。
以下為發(fā)言全文:
席偉川:各位領(lǐng)導(dǎo)、專(zhuān)家、同行,大家上午好,我是三一重能的席偉川,主要是從事風(fēng)力發(fā)電機(jī)組主控軟件設(shè)計(jì)的,今天給大家匯報(bào)的主題是需求驅(qū)動(dòng)的風(fēng)機(jī)控制軟件正向設(shè)計(jì),這也是三一重能根據(jù)這么多年來(lái)做風(fēng)機(jī)設(shè)計(jì)的經(jīng)驗(yàn)和總結(jié)。三個(gè)方面,第一個(gè)是背景和意義,第二個(gè)是需求驅(qū)動(dòng)正向設(shè)計(jì),第三個(gè)是案例分享。
大家知道物理系統(tǒng)復(fù)雜度一直在上升,從早期的機(jī)械到機(jī)電一體,到現(xiàn)在嵌入式系統(tǒng),類(lèi)比于風(fēng)機(jī)都是純機(jī)械的,到后來(lái)的槳距,發(fā)電機(jī)不需要太多控制,到現(xiàn)在兆瓦級(jí)的機(jī)組,復(fù)雜度是越來(lái)越高。系統(tǒng)復(fù)雜度的提高帶來(lái)了對(duì)控制的挑戰(zhàn)。
嵌入式系統(tǒng)是專(zhuān)用的計(jì)算機(jī)系統(tǒng),用來(lái)解決復(fù)雜系統(tǒng)的問(wèn)題,現(xiàn)在風(fēng)電行業(yè)用的控制器主要還是像西門(mén)子等大品牌成熟的硬件系統(tǒng),所以我們這方面在硬件上沒(méi)有什么大的問(wèn)題,關(guān)注點(diǎn)還是在應(yīng)用軟件上面。當(dāng)然以后這邊還有一個(gè)控制器的國(guó)產(chǎn)化,這方面還需要行業(yè)內(nèi)再進(jìn)一步的去驗(yàn)證,這個(gè)可能會(huì)引起一個(gè)可靠性的下降,也需要迭代。
嵌入式軟件的特點(diǎn)。嵌入式軟件70%以上的問(wèn)題是來(lái)自于需求分析、架構(gòu)設(shè)計(jì)的階段,這個(gè)是相關(guān)的一些研究得出來(lái)的結(jié)論,第二個(gè)特點(diǎn)這個(gè)問(wèn)題如果暴露的越晚,需要去修改問(wèn)題的代價(jià)就會(huì)更大。就像軟件或者硬件在車(chē)間里發(fā)現(xiàn)的問(wèn)題和到現(xiàn)場(chǎng)發(fā)現(xiàn)的問(wèn)題,和到上風(fēng)機(jī)之后發(fā)現(xiàn)問(wèn)題,付出的代價(jià)是不一樣的。最后軟件修改會(huì)帶來(lái)故障率的增加。
在軟件開(kāi)發(fā)過(guò)程中面臨一些問(wèn)題,一個(gè)是需求一直在變,風(fēng)電行業(yè)相比于其他行業(yè),近幾年的發(fā)展是飛速的,機(jī)型從1.5兆瓦到現(xiàn)在陸上6兆瓦,葉片基本上每年兩代三代在增長(zhǎng),10年前還是77米的葉片,現(xiàn)在已經(jīng)是100多米的葉片。我們的需求是變化很快的,對(duì)交付也帶來(lái)很大的壓迫。還有一個(gè)現(xiàn)場(chǎng)問(wèn)題比較多,大家做運(yùn)維的都知道,風(fēng)機(jī)在運(yùn)行過(guò)程中會(huì)遇到很多問(wèn)題,當(dāng)然有一些是之前知識(shí)局限沒(méi)有想到的,還有一些是想到了,但是在設(shè)計(jì)實(shí)現(xiàn)過(guò)程中帶來(lái)的錯(cuò)誤。基于這些根本原因,還是沒(méi)有滿(mǎn)足客戶(hù)的需求,一個(gè)是我們沒(méi)有認(rèn)真的去分析客戶(hù)到底需要什么,就急忙的去進(jìn)入到細(xì)節(jié),開(kāi)始編程序,開(kāi)發(fā)進(jìn)度也是不容易把握,質(zhì)量也是在開(kāi)發(fā)過(guò)程中不好評(píng)價(jià)、難以掌控。相對(duì)于這些問(wèn)題,應(yīng)對(duì)措施其實(shí)也就是兩方面,一個(gè)是更好的方法和更好的工具,相對(duì)于之前大概都是一種單兵作戰(zhàn)的方式,到現(xiàn)在更需要一種良好的協(xié)同配合的方式。
很多時(shí)候需求不清楚就會(huì)反復(fù)返工,帶來(lái)很大的問(wèn)題。三一重能在行業(yè)內(nèi)干了十多年,積累了一些經(jīng)驗(yàn),提出一個(gè)想法,需求驅(qū)動(dòng)的正向設(shè)計(jì),這是系統(tǒng)開(kāi)發(fā)和控制軟件開(kāi)發(fā)的兩個(gè)流程,核心都是在于是需求驅(qū)動(dòng)的,從上到下,系統(tǒng)、子系統(tǒng)、組件,到左右每一個(gè)部件都有相應(yīng)的等級(jí)驗(yàn)證和測(cè)試。軟件也是這樣,也是需求驅(qū)動(dòng)。需求分析也是非常重要的,首先在做系統(tǒng)需求分析的時(shí)候很容易犯兩個(gè)錯(cuò)誤,一個(gè)是直接深入細(xì)節(jié),相當(dāng)于只能是管中窺豹可見(jiàn)一斑,不能全面把握總體,這個(gè)會(huì)帶來(lái)很大的問(wèn)題。再一個(gè)要相信這個(gè)系統(tǒng)無(wú)論多么復(fù)雜都是可以被說(shuō)明書(shū)來(lái)寫(xiě)明的。再一個(gè)關(guān)注用戶(hù),就是需求的相關(guān)方都有誰(shuí),這塊我們可以想象,做任何一款產(chǎn)品一定要考慮最大的需求一定是客戶(hù),客戶(hù)的需求有很多,產(chǎn)品開(kāi)發(fā)中肯定是以客戶(hù)需求作為主要的,在我們看來(lái)一方面客戶(hù)的需求,一個(gè)是安全,發(fā)電反倒是第二位,安全性在風(fēng)電有很多慘痛的教訓(xùn),不光是風(fēng)電,各行各業(yè)都會(huì)有,我們會(huì)遇到一些飛車(chē)、倒塔、著火等等問(wèn)題。所以在系統(tǒng)設(shè)計(jì)之前我們要做充分的視效分析、可靠性保證。
再一個(gè)業(yè)主對(duì)發(fā)電的需求,這是直接和收入相關(guān)的,像做很多老舊機(jī)組的升級(jí)改造也是這個(gè)道理。由于需求的驅(qū)動(dòng),可以做很多的升級(jí)改造。再一個(gè)就是用戶(hù)對(duì)可靠性,發(fā)電量提升分兩方面,一方面是增功,一方面是可靠性的提高,換言之就是故障率的下降,這方面對(duì)設(shè)備的可靠性帶來(lái)了更多的要求。
另外就是我們?cè)陂_(kāi)發(fā)中有電網(wǎng)的需求,電網(wǎng)更多來(lái)說(shuō)是要求。不光包括簡(jiǎn)單常見(jiàn)的高低穿、電網(wǎng)適應(yīng)性,還有電壓頻率、保護(hù)定值的要求等。相對(duì)應(yīng)的除了電網(wǎng)的標(biāo)準(zhǔn),還有一些國(guó)家一些設(shè)計(jì)標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)也都是在設(shè)計(jì)時(shí)必須要滿(mǎn)足的。除了客戶(hù)、電網(wǎng)等相關(guān)方的約束之外,對(duì)下游也是有責(zé)任的,SCADA、能管、疾控都會(huì)對(duì)控制去提出一些要求。
我們?cè)谧鲂枨蠓治龅臅r(shí)候,要想到各個(gè)方面,不光是內(nèi)部,也有外部,需求分析的要求第一個(gè)要完整,不僅要說(shuō)明正常的時(shí)候做什么,還要說(shuō)在其他情況下做什么。
研制流程比較簡(jiǎn)單,都會(huì)有一個(gè)架構(gòu),軟件架構(gòu)其實(shí)還是兩塊,一個(gè)分層的思想,如果你是一個(gè)公司的CEO或者是領(lǐng)導(dǎo),肯定會(huì)考慮公司的組織架構(gòu),你怎么去分配這些部門(mén)讓這些部門(mén)去協(xié)同工作,達(dá)到一個(gè)最好的效益,一定要加強(qiáng)模塊的內(nèi)距,加上他們之間的耦合。同理,你去做一個(gè)車(chē)間的制造也是這樣,每個(gè)工位怎么安排,工位之間怎么協(xié)同配合,軟件也是這樣,最重要達(dá)到最優(yōu)的配置。
另外軟件研制的流程,一定要突出需求的作用,我們要在需求、設(shè)計(jì)和測(cè)試之間有追蹤關(guān)系,你需求變了,一定要保證它到設(shè)計(jì)、測(cè)試階段要一致,不能領(lǐng)導(dǎo)這邊定了一個(gè)目標(biāo),到下邊又歪了,最終是實(shí)現(xiàn)不了這個(gè)目標(biāo)的。
需求正向設(shè)計(jì)帶來(lái)的優(yōu)勢(shì),首先是從被動(dòng)設(shè)計(jì)到主動(dòng)設(shè)計(jì),把所有的點(diǎn)關(guān)注在需求階段,第二個(gè)從需求驅(qū)動(dòng)它的目標(biāo)是更清晰的,最后以前是基于文檔開(kāi)發(fā)的,現(xiàn)在還是機(jī)遇客戶(hù)需求開(kāi)發(fā),然后建立一個(gè)標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化不管是說(shuō)各個(gè)階段都要有標(biāo)準(zhǔn)動(dòng)作。再一個(gè)通用化,保證和控制器平臺(tái)無(wú)關(guān),最后就是時(shí)間成本,它可以工作在前邊,后面驗(yàn)證會(huì)大大的減少。
最后一個(gè)案例分享,三一重能的重心通過(guò)從代碼轉(zhuǎn)到需求只求帶來(lái)的收益,一個(gè)是開(kāi)發(fā)周期,這個(gè)其實(shí)就是需求的厘清,通過(guò)組件協(xié)同、通用性的平臺(tái),我們可以實(shí)現(xiàn)工廠體制迭代的速度,這分析對(duì)于現(xiàn)場(chǎng)運(yùn)維來(lái)說(shuō)是非常有用的。舉個(gè)例子,風(fēng)機(jī)規(guī)模不是很大,管理這么多的配置有很多的挑戰(zhàn),把這個(gè)做成通用的,在一天兩天就可以把所有的程序都升級(jí)一遍,對(duì)于老舊機(jī)組的改造這也是有很大意義。然后是控制可靠,通過(guò)對(duì)比,之前的軟件和現(xiàn)有的軟件故障率真的是有數(shù)量級(jí)的變化,有三個(gè)點(diǎn),沒(méi)有需求的錯(cuò)誤,消除了后面手工編碼和測(cè)試錯(cuò)誤,測(cè)試的錯(cuò)誤率百分之百,因此時(shí)間關(guān)系就介紹到這兒,希望各位專(zhuān)家批評(píng)指正,謝謝大家。
(根據(jù)演講速記整理,未經(jīng)演講人審核)
評(píng)論