2015年5月15日 星期五

做一行要入一行

站長欽佩的老前輩 ChamberPlus 一直醇醇告誡站長「做一行要入一行」,無奈站長資質魯鈍,直到這幾年才領悟箇中三昧。

究竟這句話是什麼意思呢?


田野調查


你有沒有走出辦公室,親眼觀察過使用者是如何使用你的產品?

以我們工控這個行業,你有沒有到工廠罰站一整天?實際看看客人是怎麼操你的產品?體驗一下工廠的噪音、溫度、振動、油污?

你有沒有觀察出這個行業的客人真正在意的重點

很多工程師寧可關在辦公室 coding 三天三夜,也不願意面對客戶三小時。這是很可惜的一件事,除了田野調查的重要性外,跟自身更相關的是年歲稍長之後,你會找工作漸漸不能再靠 104 人力銀行,而是靠自身的人脈才能找到好工作。這些客人中可能就有你的貴人,排斥面對客戶等於把機會往外送。

現場主義


以工控這個行業來說,重點之一就是「現場主義」。這也是站長這些年跟著業務東奔西跑得出的心得,很多工程師對現場修改程式是很反感的,理由可能是版本控制、觀感不好、壓力大很緊張...

但是經由多次田野調查發現,這個行業本來就如此。這個行業大多是客製化的產品,而且機台到現場也是要經過多次調校、試車才能正式上線。舉個例子,寫純軟體的人可能從來不知道,不少機台跟地面是否夠平整、水平有關,你不到現場能發現這個問題嗎?你在辦公室要怎麼替這種問題除錯?又工廠往往充斥各種電磁安擾,你不到現場如何做出因應的處理?您在辦公室有辦法事先預料到所有的狀況嗎?

再舉 PLC 程式書寫器這個產品吧,站長初次接觸時也覺得這東西好蠢,為什麼不在辦公室吹冷氣用 PC + 大螢幕寫程式?而硬要用這種難用的東西?


早年筆電還沒有今天那麼普及穩定,而且工廠是個環境極為惡劣的地方,筆電硬碟可能因為振動壞掉,鍵盤可能因為粉塵油污入侵故障,所以不適合用於現場修改程式(當然有錢可以花個10幾萬買軍規筆電)。

您覺得以前的人是笨蛋?不知道 PC/NB 上比較好寫程式好除錯嗎?很多產品出現是有他的原因跟歷史背景的,您有想通過嗎?

重點:
  • 您能不能讓客戶不用停機、拆機器就能輕易更新產品程式?
  • 您有沒有提供方便的除錯界面,讓客人可以很快排除故障?

客製化


工控這個行業就是客製化多,很多人初入這個行業對此很反感。覺得就是要標準品才能大量生產賺錢,客製化又類又麻煩毛一堆。

這個道理你知我知,獨眼龍也知...可是很抱歉的這個行業的不像 PC 隨便去買個 USB 鍵盤滑鼠插上去就能用,就算有類似的產品,價錢也差不多爛掉了

會這樣思考的人,代表您做的田野調查還不夠。工控的終端客戶大約可以分兩種:
  • 工廠生產
  • 機房監控

現代工廠生產的產品少說也有幾百萬種,使用方式也有幾百萬種,您說您會不需要配合修改嗎?再說,也沒有一個 SI 會想讓他們辛苦設計的機台很容易被複製抄襲,動點手腳是必然的。

機房間控也是有各種狀況,監控電信機房跟植物溫室就不一樣,又或者今天客人只需要 4 Analog Input,您的產品只有 8 AI,那您要不要修改賣他?或者乾脆不做這筆生意?

再說,光是工控通訊協定就一堆,除了大家都知道的 Modbus,還有 CC-link、Profibus、Ethernet/IP、EtherCAT、HART...

而且各家 PLC 程式寫法也不相同,雖然說有組織提出 IEC61131-3 想要來個大一統,似乎仍未見成功。原因很簡單,因為大家都有各自的包袱,而且 PLC 一用就只少是 5 年以上(不是 iPhone 6 出了我就把 5 拿去丟了),如果今天支援標準寫法,結果程式行為與原本自訂的不同,那你要怎麼解釋?

想通這點道理,您還會一昧堅持只出標準品嗎?為什麼不調整心態,例如將產品或程式模組化快因應客人的需求快速修改?

再說,如果都出標準品,請問需要那麼多軟硬體人員嗎?搞不好站長也要失業了...

強固性、即時性


自從 Apple 紅了之後就是工程師與設計師災難的開始,一堆人自認為是 Jobs 第二,開始要求產品外觀要像 iPhone、iPad,軟體也要長得像 MacOS。

這種想法真的可以適用於每個行業嗎?前面提過工控產品的使用環境極其惡劣,您的鏡面、髮絲紋什麼一堆的可以在這種環境存活嗎?

工控產品的硬體特性(強固性)沒先滿足,搞這些豈不是本末倒置?哪些是該有的硬體特性呢?至少要包含以下這些吧:
  • 寬溫
  • 防水
  • 耐震
  • 抗電磁干擾
  • 斷電保持
  • 防止人為疏失的安全裝置
請問哪一樣跟鏡面、髮絲紋有關?

又軟體搞一堆酷炫的特效,精美的字型可以增加工人的生產力嗎?而且因為工控的環境容易讓 NB 損壞,通常不會帶著什麼 MacAir 去現場(除非您錢很多),用的機型常常舊舊的,上面還在跑 Windows XP 的人一堆,您把軟體搞得臃種不堪,請問客人跑得動嗎?

而且最終,這也不是客人最在乎的地方,客人可能一時因為您的電子花車目眩神迷,但現實的問題終究會把人拉回正軌。

如果把 PLC 當成一面鏡子,那工控軟件最重要的點是什麼?

那就是「即時性」(Real-Time)

如果您仔細閱讀過 PLC 的手冊,他會把每個指令執行花費的時間、scan time 等清清楚楚的寫在手冊上。另外每個型號能寫的 steps 也有限制,難道是因為廠商小氣不肯多放點空間給客人寫程式嗎?

因為 PLC 做為時序控制的要角,他必需保證在事件發生時能即時處理,否則不只是金錢的損失,甚至可能會弄出人命。

以 PLC 必有的兩大元件:Counter 與 Timer 來看,一個 Counter 一秒鐘計數一千次要保證做到,一個 Timer 固定 10ms 觸發要保證做到,絕不能因為程式寫法不同,使用的 Counter/Timer 多或少產生誤差,程式忽快忽慢,那就是災難的開始!

又就算您是做時間優求比較寬鬆的環境監控,請問你的軟體能從錯誤中恢復嗎?軟件在通訊異常時能否發出警報,線路有何備援機制?

結尾


進入工控這個行業也有 10 年了,一路跌跌撞撞,如果這篇文章能讓這個行業的新手別再犯跟站長一樣的錯誤,那也算是功德一件了!

沒有留言:

張貼留言