在工業(yè)自動化領(lǐng)域,存在著一種看似普遍的現(xiàn)象:不到 30 人的小型自動化集成公司,工程師們使用著國產(chǎn)低價的 PLC 替代品,卻仍覺得成本壓力巨大,甚至為了節(jié)省開支,不得不退而求其次,選用一些老舊的、功能有限的 PLC 型號??啾频墓こ處焸儯皇帜弥萁z刀調(diào)試設(shè)備,一手對著那界面簡陋、操作不便的編程軟件敲代碼,屏幕上那模糊不清的字體,仿佛在訴說著他們工作環(huán)境的無奈。
他們似乎硬件和軟件知識都懂一些,但水平僅僅停留在能看懂簡單的電氣原理圖,知道傳感器是 NPN 還是 PNP 型,同時只會寫一些老掉牙的梯形圖,代碼風(fēng)格混亂不堪,對于編程軟件彈出的一堆警告視而不見,認為只要沒有錯誤,程序就能正常運行。實際上,在這類以低成本設(shè)備、開發(fā)簡單工業(yè)自動化項目為主的公司里,應(yīng)屆畢業(yè)生在二線城市普遍只能拿到 4-8k 的月薪,而老員工的薪資天花板也并不高。
這類初級工業(yè)自動化編程崗位最大的特點就是軟硬件知識混雜,難以區(qū)分。因為對于他們來說,同時精通硬件電路設(shè)計和復(fù)雜的軟件算法是幾乎不可能的?;蛟S評論區(qū)會有人說自己在學(xué)校參加比賽時是全棧工程師,既能設(shè)計硬件電路,又能編寫控制程序。拜托,那不過是調(diào)用一些現(xiàn)成的庫函數(shù),按照比賽要求簡單地組合起來,連 PLC 的底層運行機制都沒深入了解過,更別提自己設(shè)計和驗證過硬件模塊(哪怕是簡單的繼電器控制電路),就真的以為自己精通軟硬件了?
然而,大公司或者高薪的工業(yè)自動化編程崗位,絕對不是這種刻板印象所能涵蓋的。最典型的就是工業(yè)自動化設(shè)備的原廠。在一款新型 PLC 或者工業(yè)控制器設(shè)計之前,確定采用哪些核心芯片和模塊后,如何進行硬件電路的優(yōu)化設(shè)計,如何編寫高效的測試用例來驗證功能,一般是由專業(yè)的硬件設(shè)計團隊和測試團隊來完成。數(shù)字電路和模擬電路的設(shè)計與調(diào)試,這可不是只學(xué)了點大學(xué)電路知識,沒有實際項目經(jīng)驗的人就能勝任的工作。
然后,在產(chǎn)品投產(chǎn)之前,要進行大量的模擬測試和實際環(huán)境測試。使用專業(yè)的測試平臺,如模擬工業(yè)現(xiàn)場環(huán)境的測試箱等,你總得找到相關(guān)的專業(yè)人員來搭建和調(diào)試這些測試環(huán)境吧?最后,終于輪到工業(yè)自動化編程的核心環(huán)節(jié)了。編寫設(shè)備的底層驅(qū)動程序,開發(fā)與上位機進行通信的接口程序,以及編寫實現(xiàn)各種復(fù)雜工業(yè)控制邏輯的業(yè)務(wù)代碼,這就是高級工業(yè)自動化編程的范疇。
看完這些,是不是感覺工業(yè)自動化編程也不過如此,好像沒什么了不起的,憑什么能拿高薪呢?錯了!首先,這類工業(yè)自動化設(shè)備往往采用了先進的多核處理器架構(gòu),換言之,這款設(shè)備上可能同時運行著不同功能的處理器核心,有的負責(zé)實時控制,有的負責(zé)數(shù)據(jù)處理和通信,它們通過高速總線連接在一起,有的運行在裸機環(huán)境下(沒有操作系統(tǒng),通過簡單的命令行界面進行操作),有的運行在實時操作系統(tǒng)(RTOS)下,有的甚至運行著定制化的 Linux 系統(tǒng)。對于那些對設(shè)備平臺特性不熟悉的工程師,你給他一個 RTOS 下的驅(qū)動程序,可能他幾天都無法成功移植到裸機環(huán)境中。
而且,在技術(shù)實現(xiàn)的深度上也有很大的差異。真的別再認為工業(yè)自動化編程沒有技術(shù)含量了,給你一段在某款特定處理器上實現(xiàn)高速數(shù)據(jù)采集的代碼,麻煩你幫忙移植到另一款不同架構(gòu)的處理器上,要求保證數(shù)據(jù)的準(zhǔn)確性和采集速度,我只能說 90% 以上的普通程序員根本不知道關(guān)鍵點在哪里。當(dāng)你發(fā)現(xiàn)原處理器沒有緩存而新處理器有緩存的時候,問題又來了。如何合理地利用緩存來提高數(shù)據(jù)處理速度,什么時候該刷新緩存,什么時候該使緩存無效,這些都不是簡單地看看文檔就能掌握的。
說到底,我們工業(yè)自動化編程也要處理高性能計算(HPC)的任務(wù)好嗎,都說工業(yè)控制對實時性要求極高,精確到毫秒甚至微秒級別,你工業(yè)自動化編程如果寫不好底層驅(qū)動和控制算法,設(shè)備性能太差一樣要被客戶投訴啊。
很多人都有一個誤區(qū),學(xué)完了 Python 和 C# 這種功能強大、語法優(yōu)美的現(xiàn)代編程語言(豐富的標(biāo)準(zhǔn)庫和各種語法特性 / 語法糖),再來看梯形圖和結(jié)構(gòu)化文本編程,臥槽怎么有這么原始的編程方式,然而花樣多并不意味著好用。以 Python 為例,在工業(yè)自動化的實時控制場景中使用 Python 的多線程你是想讓系統(tǒng)陷入混亂嗎,就算能實現(xiàn)多線程,線程之間的同步和數(shù)據(jù)共享問題也會讓整個系統(tǒng)變得難以維護;大量使用 Python 的第三方庫會導(dǎo)致程序體積龐大,你不怕設(shè)備的存儲空間不夠嗎;而且 Python 在工業(yè)現(xiàn)場的運行效率相對較低,對于對實時性要求極高的工業(yè)控制任務(wù)來說,根本無法滿足需求。
最后,工業(yè)自動化編程要讀的文檔真的又難又復(fù)雜好嗎?最后落腳點確實是編寫控制程序沒錯,但必須要看懂一個章節(jié)幾十頁甚至上百頁的全英文技術(shù)手冊,才知道要配置哪些參數(shù)、如何配置,難點根本不在于這種簡單的編程操作好吧。
這就是工業(yè)自動化設(shè)備原廠的工作內(nèi)容,我并不覺得我在技術(shù)水平上比去互聯(lián)網(wǎng)大廠的同學(xué)低,當(dāng)然薪水也不比他們低,碩士應(yīng)屆純月薪年包 35+,基本上也是大廠開發(fā)的中等水平薪資了。不能拿初級工業(yè)自動化編程崗位去和互聯(lián)網(wǎng)大廠比啊,你怎么不拿西門子、ABB 這些工業(yè)巨頭去和小的自動化集成公司比呢?西門子、ABB 的工業(yè)自動化編程崗位隨便 20k+base 的啊,看你有沒有本事去了。再比如華為的工業(yè)互聯(lián)網(wǎng)部門、富士康的工業(yè)自動化研發(fā)團隊等等也都有大量的高級工業(yè)自動化編程崗位,這些難道都不是高薪嗎?
-
單片機
+關(guān)注
關(guān)注
6067文章
44973瀏覽量
649989 -
嵌入式
+關(guān)注
關(guān)注
5149文章
19651瀏覽量
317148 -
工業(yè)自動化
+關(guān)注
關(guān)注
17文章
2725瀏覽量
68310
發(fā)布評論請先 登錄
愛普生SG-8200CG可編程晶振成為工業(yè)自動化領(lǐng)域的理想選擇

工業(yè)DTU對工業(yè)自動化通信格局的重塑

智能讀碼器:工業(yè)自動化的眼睛與大腦

從“制造”到“智造”:三維掃描自動化智能檢測系統(tǒng)

開源技術(shù)在工業(yè)自動化領(lǐng)域的作用
愛普生可編程晶振SG-8101CE在工業(yè)自動化領(lǐng)域的應(yīng)用

電源技術(shù)在工業(yè)自動化中的應(yīng)用
PLC在工業(yè)自動化的應(yīng)用及解決方案

工業(yè)自動化的發(fā)展歷程與未來趨勢
CAN總線在工業(yè)自動化中的應(yīng)用
PLC控制系統(tǒng)與工業(yè)自動化關(guān)系
中國工業(yè)自動化的現(xiàn)狀和發(fā)展方向
愛普生SG-8101CA可編程晶振應(yīng)用在工業(yè)自動化機器人

評論