這倆問題我今天嘗試用一篇文章講清楚。
先說一個(gè)結(jié)論, 前一個(gè)問題是后一個(gè)問題的基礎(chǔ),沒解決前一個(gè)問題,就不可能實(shí)現(xiàn)后一個(gè)問題。
即要搞PLC編程標(biāo)準(zhǔn)化, 一個(gè)重要的前提是程序中不要用M和T。實(shí)現(xiàn)邏輯的時(shí)候,不要使用全局變量的M和T來作為其中的狀態(tài)傳遞和功能實(shí)現(xiàn)。
M和T的本質(zhì)是全局變量,這是德系PLC中常用的代號(hào),那么換到日系, 會(huì)是D,H等等,以及純標(biāo)簽編程的,就是人為定義的字符。都是全局變量,都在要避免的范圍內(nèi)。
如果程序中用了M和T ,那么這個(gè)程序就只能用于當(dāng)下這個(gè)項(xiàng)目,當(dāng)下這個(gè)PLC模塊私有,就無法重復(fù)使用到以后的項(xiàng)目中,以后的項(xiàng)目中哪怕功能和這里一模一樣, 你也不能直接使用,而是至少要做一些變量的沖突審查。然后3個(gè)4個(gè)…。.100個(gè)項(xiàng)目, 只要需要你重新做程序,而不是直接拿一套現(xiàn)成的程序直接下載就是用的項(xiàng)目,都需要審查,調(diào)試,都需要你細(xì)心不要遺忘。只要遺忘了就要你好看,就會(huì)讓你吃盡苦頭。
所以,這兩個(gè)問題的答案是同一個(gè),即:痛點(diǎn)。
因?yàn)槭褂弥懈杏X到痛了, 不舒服了,所以就要想辦法找到避免痛的方法,而不是一輩子這么忍著,即便痛點(diǎn)苦點(diǎn),也這么一直忍下去。
講一個(gè)親身經(jīng)歷的故事。
大約3-4年前,我一直給做顧問的公司,一個(gè)工程師辭職了,然后新的工程師還沒招上來,他曾經(jīng)干過的項(xiàng)目,已經(jīng)交付運(yùn)行了1-2年的設(shè)備,出問題了??蛻舴从衬骋徊糠止δ懿缓糜?,自動(dòng)運(yùn)行時(shí)設(shè)備亂跳。
這個(gè)項(xiàng)目,這個(gè)類型的設(shè)備工藝 ,是他們公司的傳統(tǒng),其中的主要邏輯, 是我在N年前幫他們做了一個(gè)項(xiàng)目后的樣板,后來的十幾年,他們就一直使用我那套樣板改過來改過去的用,已經(jīng)用到了上百套設(shè)備上面了,所以工程師的能力絕對(duì)不會(huì)有問題,不至于做爛。
因?yàn)槿耸志o張, 老板就求我?guī)兔ε芤惶?,?xiàng)目在天津郊縣,然后我就買了機(jī)票直奔天津,到了機(jī)場直接租了個(gè)車,開過去了。
到了現(xiàn)場,了解了一下具體的功能,故障現(xiàn)象,又問下主事的設(shè)備主管, 這個(gè)功能以前有沒有用過,是否好用?主管回答設(shè)備驗(yàn)收后一直在用其他的模式,唯獨(dú)這個(gè)功能從來沒用過,這是最近生產(chǎn)計(jì)劃改變,才需要用到,然后用了就發(fā)現(xiàn)不能用。
然后我就問,全工在當(dāng)時(shí)調(diào)試的時(shí)候, 這部分功能有沒有驗(yàn)證過?答:好像沒有。
然后我就明白了。因?yàn)檫@部分功能不是主要的功能,就有可能調(diào)試時(shí)沒有注意到里面的變量使用,留下了bug。
打開程序, 找到相關(guān)的程序塊,順著邏輯捋了一下,再查一下變量的交叉引用,很快就找到了一個(gè)使用沖突的M變量。改了一下,再讓客戶開機(jī)驗(yàn)證, 立馬好了。
前后不過半小時(shí)。
然而天色已晚,工廠還在遠(yuǎn)郊區(qū),客戶給我安排了宿舍, 讓我住了一晚,第二天買了機(jī)票回家了。
花費(fèi)兩天時(shí)間,往返機(jī)票費(fèi)租車費(fèi)近2000元, 就解決了一個(gè)M點(diǎn)的疏漏問題。什么叫痛?這就叫痛。
前面的工程師為什么離職?常年出差,常年除了干工程項(xiàng)目,其余的時(shí)間就是天南海北沒完沒了處理這些類似的問題?;旧蟻碚f,一年當(dāng)中,就很少有老老實(shí)實(shí)呆在家里朝九晚五上班的時(shí)間。因?yàn)楣镜倪\(yùn)轉(zhuǎn)離開了你, 所以也不能給你晉升的機(jī)會(huì),所以就只能十幾年幾十年如一日的無限重復(fù)這樣的工作。
換誰誰不痛?如果還不能理解其中痛點(diǎn)的,我們接著往下看。
有人會(huì)質(zhì)疑說,這不就是一個(gè)粗心的問題嗎,只要小心一點(diǎn),仔細(xì)一點(diǎn),現(xiàn)場調(diào)試的時(shí)候別偷懶每一個(gè)功能都顧及到,都測試到,就不會(huì)出這樣的問題了。
我只能說,這樣的想法太幼稚了。客戶生產(chǎn)系統(tǒng)一旦有可能運(yùn)行,就會(huì)全力保障生產(chǎn),就沒有機(jī)會(huì)配合你做全方位調(diào)試。如果要調(diào)試輔助功能?等條件吧, 十天半個(gè)月的,生產(chǎn)有了條件,再給你機(jī)會(huì)試。然后怎么辦,項(xiàng)目正常的調(diào)試也就十天, 你在哪兒再干等10天等條件?像我去天津處理的這個(gè)功能,客戶放了快兩年才用得到,才發(fā)現(xiàn)。你猜他們會(huì)給你機(jī)會(huì)?
完全細(xì)心的人有沒有?有。這位工程師的主管領(lǐng)導(dǎo),我的徒弟。那就是個(gè)非常極度細(xì)心的人,比我要細(xì)心100倍。他做項(xiàng)目的時(shí)候, 每個(gè)項(xiàng)目,每個(gè)點(diǎn)位,他都要重復(fù)4-5遍的審核,校對(duì)。多少次不無得意的跟我吹噓,他干過的項(xiàng)目絕對(duì)穩(wěn)定可靠,很少有離開后再次去第二次的。贏得了客戶極大的信任。
然而這其中的代價(jià)呢,他媳婦時(shí)常抱怨, 為了做項(xiàng)目,他十幾年每天都是熬夜到后半夜1-2點(diǎn)。年紀(jì)雖然還不大,然而十多年前就早就滿頭白發(fā)了。
這苦不苦,痛不痛?
然而痛點(diǎn)結(jié)束了嗎?沒有。
像上面離職的工程師的工作狀態(tài)應(yīng)該是大有人在吧?然后大家工作十幾年如一日,覺得辛苦,就希望老板漲工資,漲一兩次還不行, 最好是年年漲,每年漲一次,翻倍。這種要求非常合理,可以理解。
然而,站在老板角度, 十年前的你和十年后的你,工作內(nèi)容是一樣的, 工作量是一樣的,為公司的貢獻(xiàn)也是一樣的,而十幾年下來,市場形勢可能已經(jīng)逆轉(zhuǎn), 采購成本大幅度提高,項(xiàng)目競爭厲害, 拿到項(xiàng)目的利潤已經(jīng)今非昔比了。簡單說你為公司創(chuàng)造的效益并沒有提高,反而有可能有所減少,十幾年老板肯定已經(jīng)為你漲過幾次工資了,你這兒還獅子大開口,還不滿足, 還繼續(xù)翻倍的要, 老板那兒都想開了你,換個(gè)剛畢業(yè)的年輕人來呢!人家工資要求可沒你那么高。
你可能會(huì)說,切!新畢業(yè)的大學(xué)生啥都不會(huì),怎么能趕上我一個(gè)十幾年工作經(jīng)驗(yàn)的老工程師?然而你好像忘了,十幾年前,你也剛畢業(yè),老板重用你,還不是照樣頂下來干到現(xiàn)在?
更何況,前面的設(shè)備工藝沒那么成熟,現(xiàn)在早成熟的透透的了,根本用不上這樣富有經(jīng)驗(yàn)的頂級(jí)高手了。
所以你如果為工資收入感到痛, 老板同時(shí)還為你收入高,貢獻(xiàn)不匹配也在痛。如果現(xiàn)在還不痛, 那就終有一天被裁員了,才真的感到痛嗎?
要解決最后這個(gè)痛點(diǎn), 可不僅僅是減少bug就夠的。通常在職場上,這唯一的途徑是升職。工作中做出一定的業(yè)績,被領(lǐng)導(dǎo)賞識(shí),然后有機(jī)會(huì)提拔,上升到管理層,就可以極大程度跳離出差長工資低的苦海。然而對(duì)大部分純粹的技術(shù)人員來說,通常不諳人情世故,因而很難有機(jī)會(huì)做管理的。那么唯一的途徑是提高自己的工作效率。
比方說, 如果你是車間的車工, 你原本一小時(shí)能加工10個(gè)零件, 如果你肯動(dòng)腦,善鉆研,設(shè)計(jì)一個(gè)好的工裝,一小時(shí)能加工100個(gè)零件了, 不光自己的效率提高了,別的車工使用了你的工裝后,效率也提高了, 這些所有人的提高的效率,都是你的業(yè)績。 那么公司為你漲工資提待遇是水到渠成的事。
而對(duì)于自動(dòng)化工程師的工作來說,這個(gè)工裝就是程序標(biāo)準(zhǔn)化。而其實(shí)對(duì)于有機(jī)會(huì)升職到管理層的,其最好的業(yè)績也是為公司打造一個(gè)標(biāo)準(zhǔn)化體系。
通過建立公司設(shè)備程序的標(biāo)準(zhǔn)化體系,可以大幅度的提高工作效率,減少出差時(shí)間。
然而很多朋友暫時(shí)還沒有能力建立標(biāo)準(zhǔn)化,有些可能連標(biāo)準(zhǔn)化的意思都不知道。我們所指的PLC編程標(biāo)準(zhǔn)化,不是去跑到PLC廠家為他們制定一套通用的標(biāo)準(zhǔn)化工具,直接嵌入到PLC廠家發(fā)布的軟件系統(tǒng)中, 從而限制PLC的使用者的編程方式, 以逼迫他們不能任性的使用全局變量, 不能寫垃圾程序,沒辦法寫出低效率的程序, 被逼無奈只能設(shè)計(jì)出來高效率的標(biāo)準(zhǔn)化程序。
我們所說的PLC標(biāo)準(zhǔn)化編程方法,是指工程師把PLC作為工具, 在所產(chǎn)出的作品,即你的設(shè)備程序,使用標(biāo)準(zhǔn)化模塊化的方法搭建而成。如何叫做標(biāo)準(zhǔn)化模塊化, 不是你程序中把功能分成了若干個(gè)模塊單元就可以的, 而是這些模塊要能重復(fù)使用。即一旦開發(fā)完成, 在本公司,本行業(yè)將來的大多數(shù)項(xiàng)目中,都可以直接簡單使用。
簡單到什么程度?
簡單到最高極致,完全按照高內(nèi)聚低耦合的目標(biāo),留給組裝環(huán)節(jié)的工作量只剩下簡單耦合, 這種耦合沒有任何技術(shù)含量,任何一個(gè)沒有設(shè)計(jì)基礎(chǔ)的電工,應(yīng)屆畢業(yè)生,辦公室文員,都可以通過30分鐘的培訓(xùn),就可以完成。
那么,在最極致的情況下,一旦對(duì)某個(gè)工藝設(shè)備的邏輯開發(fā)成熟,后面的工程就不再需要工程師到現(xiàn)場出差,現(xiàn)場的安裝工人按照設(shè)計(jì)部門給付的設(shè)計(jì)資料,稍微整理下裝程序即可。下裝后程序邏輯即可可靠運(yùn)行, 不再需要試車, 不再需要現(xiàn)場調(diào)試。
當(dāng)然,上面所述是終極目標(biāo)。在終極目標(biāo)達(dá)到之前,工程師可能還需要偶爾出差,有可能只是為了到場安撫客戶,讓習(xí)慣上看著工程師調(diào)試動(dòng)輒一個(gè)月的客戶心理有些安全感。然而這時(shí)候的出差,對(duì)工程師來說基本上就是商務(wù)旅游了, 沒有什么壓力, 去了以后大部分時(shí)間也就協(xié)調(diào)配合。時(shí)間也極短,原本一個(gè)月兩個(gè)月的調(diào)試時(shí)間, 現(xiàn)在3-5天就完成了。
然后, 原本一個(gè)工程師,一年能干5-6個(gè)項(xiàng)目的, 現(xiàn)在一年干20-30個(gè)也不在話下。而且勞動(dòng)強(qiáng)度還降低了。這種情況下,這樣的高效率,老板如果不給漲工資, 合天理嗎?
標(biāo)準(zhǔn)化編程方法, 其實(shí)不是一種什么思想,他的實(shí)現(xiàn)方法很簡單, 4個(gè)字, 面向?qū)ο?。如果懂的人自然早就已?jīng)懂了。
然而標(biāo)準(zhǔn)化編程,其實(shí)是一種能力。
拿我自己來說, 我在十幾年前就開始研究琢磨標(biāo)準(zhǔn)化編程的方法,然而自己一直沒能全部打通。10年前在S7-300中已經(jīng)做到了程序中不使用M和T,然而系統(tǒng)還是需要長時(shí)間的現(xiàn)場調(diào)試,因?yàn)槭韬鲈斐傻腷ug顯著減少, 返廠次數(shù)少了。然而總體效率提高并不明顯。
這個(gè)時(shí)候我整體技能還不成熟, 同時(shí)也缺少一個(gè)關(guān)鍵點(diǎn)的推力。然后在5年前開始使用S7-1500, V13, V14, V15。到V15的時(shí)候, 突然發(fā)現(xiàn)它可以比以前更好的支持面向?qū)ο罅耍∪缓笕玳_掛一般,除了搞出了S7-1500標(biāo)準(zhǔn)化應(yīng)用, 甚至還倒回去在S7-200 SMART中實(shí)現(xiàn)了標(biāo)準(zhǔn)化架構(gòu)。
按說S7-200的標(biāo)準(zhǔn)化與S7-1500根本沒有關(guān)系。S7-200早就存在了20年,我早用的滾瓜爛熟,為啥之前我搞不出呢, 為啥在S7-300時(shí)搞不出呢?還是自己能力不夠嘛!
我在上一個(gè)公司上班時(shí),公司別的部門成立項(xiàng)目組要搞標(biāo)準(zhǔn)化,那個(gè)時(shí)候公司用的是S7-300。我自己既然沒有這個(gè)能力, 自然也幫不上什么忙。我認(rèn)為搞不出,他們也不相信。然后就由他們自己搞了。
上個(gè)月, 我問了一下以前的那位同事,你們當(dāng)年搞的標(biāo)準(zhǔn)化,怎么樣了?。?/p>
回答說, 搞了一堆函數(shù)庫,但根本沒人用。廢棄。
我說, 這很正常。以我當(dāng)年的認(rèn)知,都自認(rèn)為沒有能力搞成, 我也頂多給公司做個(gè)樣板工程, 給同事們打個(gè)樣,以后同樣工程可以參考而已。你們技術(shù)部都沒有現(xiàn)場調(diào)試經(jīng)驗(yàn)的, 僅憑臨時(shí)學(xué)一下STEP7,不會(huì)的地方還要逐步向我請(qǐng)教的,就能一步到位做出標(biāo)準(zhǔn)化開發(fā)?天方夜譚呢!
所以看出來了吧, 能力以及能力的成長才是第一主要的。
標(biāo)準(zhǔn)化的程序架構(gòu),在整個(gè)行業(yè)前面發(fā)展的40年里, 是從來沒有出現(xiàn)的。所以,所有同行,之前并沒有見過這樣的項(xiàng)目案例,所入門學(xué)習(xí)的參考資料, 全都是過去傳統(tǒng)模式的架構(gòu)。所以自然有很多很多人持懷疑態(tài)度。
懷疑者的心態(tài),我猜有兩種。
第一種,不相信在PLC行業(yè)能做出標(biāo)準(zhǔn)化的程序, 甚至有的人都一直不相信可以做出不使用全局變量的程序。
第二種,相信客觀世界能,但不相信我有這個(gè)能力做出來,或者不相信我所做的標(biāo)準(zhǔn)化程序和他們以往所做的和見到過的程序有什么不一樣。
這兩撥人,總是一副挑戰(zhàn)的心態(tài), 以激將法來問我要程序。說什么你敢拿出個(gè)例子程序來嗎,除非你拿出來給我看了我才相信你。
經(jīng)過本文的分析,大家現(xiàn)在應(yīng)該都明白了吧,標(biāo)準(zhǔn)化是企業(yè)的標(biāo)準(zhǔn)化,是每位自動(dòng)化同行所在的公司的標(biāo)準(zhǔn)化,與PLC廠家沒有任何關(guān)系。企業(yè)是否做到標(biāo)準(zhǔn)化, 與工程師個(gè)人的效率,工作量,出差辛苦程度,薪資水平這些所有加起來的痛點(diǎn)有關(guān)系,而與我并沒有多少直接關(guān)系。
像最開始的故事里, 那位離職的工程師, 在外面飄了2年之后,又回來跟老板聯(lián)系,有意再回公司工作,繼續(xù)出差也愿意。然而被老板很冷淡的拒絕了。他當(dāng)初是和另一個(gè)工程師幾乎同時(shí)辭職的, 現(xiàn)在,這樣的崗位不缺人了。因?yàn)樗麄儗?shí)現(xiàn)了標(biāo)準(zhǔn)化設(shè)計(jì),就那些老是大同小異的重復(fù)性的工程項(xiàng)目,一個(gè)工程師足夠了。有一些小項(xiàng)目,電工在現(xiàn)場也就干了。都不需要工程師去了。
所以,這其中效率提高了多少, 大家都能基本有數(shù)了吧!
編輯:黃飛
評(píng)論
查看更多