2016年結
半年的時間,從零開始做點膠機軟件的開發,沒有現成的架構可以用,就連相關業務知識也沒有。唯獨可以參考的是“勁拓”的一份點膠機說明書。由於本人能力有限,前兩個月幾乎可以說殫精竭慮,每天都生活在緊張和焦慮中。而公司沒人做過“標準設備”,很多事情都是以“非標”的思維在評估這件事情,工作量以及復雜程度跟所用到的軸的數量是成正比的。據結構的人反應,只用到3個軸的桌面點膠機,據負責人說兩個月完成所有功能是沒有任何問題的!確實,如果不考慮以下問題的話:
1、“超出視野”的問題。
2、點膠工藝,為適應不同場合、不同膠水,把一條點膠軌跡分成7個部分處理。
3、CAD導入功能(光這一個模塊,如果沒有開源庫或其他資源的話,粗略的估算也需要兩個月的時間)。
4、陣列、填充。
5、點膠閥/噴射閥支持。
6、測高儀支持。
隨著開發的進行,他似乎也意識到了要在兩個月做出來是不可能的。於是在結構那邊催著要出機的情況下不得不考慮外購點膠軟件的方式。此事給我的感覺是,一個項目的前期工作(如相關配件的選型、需求分析、工作量評估等)做得不到位,會給後續的工作帶來很被動的局面!其實這也正應和了軟件開發的時間分配問題,需求分析、架構設計、詳細設計等前期工作應該占據大頭,這些工作做好了,後續的編碼應該是水到渠成的。當然這裏必須貫徹Scrum,以多次叠代修正誤差和需求變化。
部門相關建議:
1、由於視覺部分使用的是Omron的系統,我們的軟件無法獲取實時圖像。現在的做法是通過讀取文件的方式顯示到我們的軟件上,圖像顯示有滯後現象,對繪制點膠軌跡和定位移動造成不便。
曾多次跟Omron的人提過,要求開放接口傳輸實時圖像,他們皆以“標準軟件,不提供定制功能”為由拒絕。其實從一開始我就不贊成使用Omron的系統,原因如下:
一、Omron的視覺功能確實很多,光說明書就有上千頁。但點膠軟件只用到一個功能,就是“模板匹配”,這項功能是可以用Halcon實現的, 指紋識別用的就是Halcon實現的。
二、當初考慮使用Omron無非是想拿過來直接使用,加快開發速度。但熟悉他們的軟件使用,以及與他們的軟件通信也一樣耗費了很多時間。 況且由於使用他們的軟件而帶來的弊端以及成本的增加毫無疑問是要考慮的。當然弊端是事前無法預料的。
建議後續在完善、穩定已有軟件的基礎上,改用Basler相機+Halcon的方式實現軟件的模板匹配模塊。
2、專案這邊的開發基本上都是一個人負責一個項目,也就是說需求分析、設計、編碼、測試都是一個人做。人都會有局限性,如果沒有集思廣益,做出好軟件的可能性會大受影響。就點膠軟件來說,圖形學的算法用到很多,畢竟不是學這個專業的。例如:如果想要把填充功能做得更好(比如多邊形填充、螺旋形填充)這個方面我已經感覺有點吃力了!希望後續這些方面有所改善。
公司相關建議:
權力、責任、義務明晰,分工明確是一個企業是否成熟(不是規模大)的一個很重要的標誌!從我入職半年來的體會來看,感覺公司在某些細節上是有待改善的。尤其明顯的地方有兩個方面,一是質檢環節,二是流程管控。下面是我在工作中的一些感想,在這裏只是以小見大,提供一些讓公司往更好方向發展的參考。未必都對,希望有則改之,無則加勉!
1、采購的光源控制器、激光測高儀沒有完備的資料,如使用說明書、通訊協議和demo程序等。對控制軟件的開發造成不便。用的時候不知道去哪裏找,問了一圈,無果!只能打電話給供應商。激光測高儀前後共 聯系了對方的3個人才把問題解決,因為賣東西給我們的很有可能只是中間的經銷商,而不是廠家直銷。此事至少反應出兩個問題,一:如果沒有配套的資料,采購所購配件無疑是殘缺品!這與采購的職責是違背的。二:既然是殘缺品,那麽IQC就沒有理由收貨。既然收貨了,要麽說明沒有IQC環節,要麽說明IQC不明悉職責。
2、裝配不知是否有質檢環節,或者說不知道質檢是否全程參與。在線點膠機的開合軸前後高低問題、左右喇叭口問題,以及展會後撞變形問題,都是在調試軟件的時候發現的。
3、PM是否有做到流程管控,物料催促等不得而知!從我負責的桌上型和在線點膠機這兩款設備來看,幾乎沒見PM過問過。倒是業務時不時來催著出機。由於軟件是最後一環,機械、電氣的任何改動都會影響軟件。 而業務視乎並不關心這些!
展望:
我們都知道,一個不好的,不順暢的流程,不可能有一個好的結果!成熟的軟件公司基本上都在推行CMMI或敏捷開發,因為開發流程的規範化,模式化是軟件開發從粗放式、作坊式開發向成熟邁進的必由之路,更是我等“碼農”的福音!部門正在推行的Scrum開發模式以及Confluence相關的交流、分享平臺是我夢寐以求的。相信隨著大家對它的熟悉以及整個流程的逐漸推行,以前那種單兵作戰,單打獨鬥的方式終會成為歷史!
2016年結