国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

萬泉河
WX:ZHO6371995,歡迎+
級別: 略有小成
精華主題: 0
發帖數量: 140 個
工控威望: 265 點
下載積分: 878 分
在線時間: 11(小時)
注冊時間: 2021-06-11
最后登錄: 2025-05-03
查看萬泉河的 主題 / 回貼
樓主  發表于: 2024-06-01 22:43
0531【萬泉河】PLC工程師該有多痛恨垃圾程序?

前天看了一篇公眾號文章,在聲討一套PLC程序



文章的題目:《說PLC標準化編程不重要的,這個程序你接手嗎?》
而我一看, 這只不過是一份比較潦草的垃圾程序,根本與標準化扯不上任何關系呀!這個程序現在看起來使用的變量亂飛,變量的符號名以及程序塊的命名都比較隨性。

然后后面還有人大罵:這是防御性編程,故意為了讓別人看不懂嗎!

說起垃圾程序,我還是比較有經驗的,有一定的發言權。本文就對這個問題分析一下。

不過在開始之前先對垃圾程序的概念做個定義。 與垃圾程序對應的是垃圾食品。很多人對垃圾食品的定義也不清楚。 以為人們丟棄到垃圾桶和下水道里的食物殘渣是垃圾食品。 那些只是垃圾,根本算不上食品。所以也更不是什么垃圾食品了。

通常講的垃圾食品,是那些可以食用,甚至方便可口,令人上癮,偶爾食用也無礙,然而長時間單一食用,會引發身體健康問題的,才是垃圾食品。

現在的大型商超里的餐館,通常會有一些不限量無限次取用的小零食,爆米花,鍋巴,廉價水果,冰淇淋等等,放眼一看,全部都是垃圾食品。

而垃圾程序,首先是可以正常運行的程序。有許多同行經常用好貓壞貓論推導的結論:能讓設備正常運行的程序,就是好程序。  這些僅僅滿足于設備能運行的程序,就是垃圾程序。 可想而知,持有這種觀點的程序員,他們自己的作品,無一例外都是垃圾程序。 即裝載在設備內部的時候,看起來可以設備運行正常。 然而一旦拿出來公開到陽光下,就暴露了原來都是垃圾程序。 如文首截圖的程序一樣。

不過一上來,我先要發表一些觀點來維護垃圾程序。 借用一個為人處世的雞湯邏輯,所有的垃圾程序,無非兩種情況:不在乎和不得已。

先說不在乎。

我們最早玩的PLC都是絕對地址編程,即便有注釋也主要靠變量后面的注釋文本,且不說一些用手操器編程的小型PLC如LOGO等壓根連符號表和注釋都沒有,就靠絕對地址搭出來的梯形圖邏輯,你能非要判定是垃圾程序?人家,或者你自己,分明是不在乎的嘛!

比如我經常用SMART 200演示一段起保停邏輯:

我不相信誰接手不了這樣的垃圾程序,拿到手里或者換自己來做的時候還要另起爐灶自己再做一遍。

有的人會認為,你這樣一臺設備的簡單邏輯這樣做當然正常,但如果一個更復雜的系統,設備數量多了以后還這樣做,是不是就不夠規范了,就太垃圾了?

就憑PLC系統的復雜度,就那么點邏輯,你非要說1套設備與5套設備與80套設備有啥不同?大部分不過是簡單的數量的疊加而已。難度并沒有增加,怎么就接受不了了呢?

比如,一個溫室大棚,用一個小型PLC可以如上簡單控制,如果有1000個大棚,控制方案有可能是同樣型號的PLC用1000臺,也有可能換個方案,用一臺大型PLC實現,然后還有必要用不同的編程規范實現?
分明是不必要的嘛!

而這個大型PLC如果是S7-1500,那么PORTAL中編程的時候,所有的變量都必須有符號名。 即便你不去專門整理符號名,系統也會自動分配一個。 管你用不用看不看,都會有。 那么如果在調試程序過程中根本用不到符號,管它分配的名字是啥樣的呢,只需要關注絕對地址自己就夠用了,那就會出現上面的程序的情況。

所以,從我換位思考的經驗,這種做法完全可以理解。

然后再講不得已。

咱們每個人入門的時候,做的項目,所編制的程序,特別是一些小型項目,都是這樣的做法做出來的。 所有人之間并沒有明顯的區別。 然后你如果看到這樣的程序就痛恨, 那我想問一下每個人自己,當你入行10年后,翻看自己10年前的作品的時候,會對自己痛恨不已嗎?如果覺得自己那個時候剛入門,做事情還沒學會規范,覺得可以諒解。 那么憑什么換個人,自己帶的學生,后輩,做出來與自己水平幾乎相當的程序,就痛恨到咬牙切齒呢?水平所限,能力所限,只能做到這個樣子了嘛!

當然, 如果每個人都有這樣的上進心,都能日三省自己,發現自己技能上的不足,有羞恥心,然后每天學習提高,最終士別三日當刮目相待,自己今日的程序可以比三日前的做法有明顯的提高,自己也有勇氣批判反對自己曾經的做法,那這樣的人,絕對前途無量。

然而怕就怕的是,世間的很多人在這件事上是持有雙重標準的。 罵別人的時候起勁,而對待自己則無比寬容。 別人的程序因為自己讀不懂,就罵是垃圾程序,總能從中挑出來不符合自己習慣的做法,然后就判定對方垃圾。 而如果是自己做的,哪怕是十幾年前做的,因為符合自己一貫的習慣,各種處理方法自己都特別熟悉, 甚至其實十幾年來都沒改進過,都仍然一個套路,但因為對自己要寬容,就能接受。而雙方的程序放到一起, 還不見得誰比誰更優秀,誰比誰更垃圾呢!很有可能是兩個作者交換一下作品,都判對方垃圾。而換個第三者來看,你們倆做的都是垃圾。

所以, 所有痛罵垃圾程序的,通常是因為自己看不懂。 而且,有可能是,通過痛罵對方程序垃圾,而掩蓋自己看不懂對方程序的尷尬。

PLC行業不同于軟件行業,通常一套PLC系統的軟件設計,整個生命周期內,都是一個人足以完成。即從設計到調試到維護,都不需要多人協作。也就是說,通常情況下,不管是符號名還是注釋,都是寫給自己看的。 用自己看得懂的語言,自己習慣的表達方式,只要自己看了曉得怎么回事都足夠了。你沒必要像軟件行業一樣要求自己,所有符號和注釋都要規范英文表達,因為整個項目可能是幾十上百個軟件工程師協作完成,自己所做的只是龐大項目中的一個小模塊,只實現其中的一小點功能,而且實施過程也要經過多道流程,不同的人CODEREVIEW,測試等等。

而PLC系統不管是規模還是復雜度,都差的遠得很,完全不在一個量級。

就像,每個人的內褲都是穿給自己看的,目標對象并不是外人。
而偶爾,一些特殊的原因,比如中途換人,或者設備運行多年之后維護的需要,換了個人接手來解讀原始的程序, 那也只是相當于一不小心看到了別人的隱私部位。別人大或者小,丑或者嫩,你頂多是嘗試理解并適應,然后解決現有的問題。而斷沒有指責的理由。 就像別人扒開了你的內褲,也斷然沒理由罵你小一樣。

叫我說,越是水平高的工程師,對于越低水平的程序,就該有越高的包容度。就好比書法課的老師,那些書法大師們, 在審視剛剛入門的小學生,或者書法水平遠不如自己的新手的作品的時候,斷沒有開罵的理由的。 你頂多是可以在比較中獲取一些內心的優越感。

站的境界越高,俯視的視角看下來,對方的一些幼稚的蹩腳的處理方法你縱然有可能會心一笑,但更應該是諒解他這樣做的原因。 而不是陰謀論的以為對方這樣做的做法是為了背刺自己。想想看,對方做程序的時候,以及現場調試的時候,針對的是現場出現的問題,目的是能讓設備盡早運轉,自己好盡早結束出差回家。連設備能否運轉正常都還搞不定呢!哪有額外的心思對付你。

何況,那個時候你還不存在呢!你接手到這個程序,通常都是很長時間以后了, 甚至5年10年20年,先預設了一個自己的位置,然后猜測對方某些做法是針對你的,這個陰謀論的回路是不是也太長了點?所以,通常不管是罵對方垃圾程序還是罵對方預設陰謀,其實都是等同于在承認自己的水平不如對方。

建議同行們以后少罵別人的垃圾程序,即便真的垃圾程序, 也不要罵。

有人會說了, 你萬老師不也經常指責這個那個程序是垃圾程序嗎?沒錯,但我只是客觀評價,我絕不痛恨,絕不會對對方恨鐵不成鋼,也絕不會動輒懷疑對方是故意埋坑。 我更多的是理解對方的做法,那是他當時的技能水平所決定的,即,要么是不在乎,要么就是不得已。

也包括我自己10多年前做的程序做法,我現在也都深知那里面有多垃圾。 但我不會對自己有多痛恨。我只是原諒自己當時的技能水平不夠而已。同時也慶幸自己一直在學習,一直在進步,慶幸自己找到了不再寫垃圾程序的技能方法,而且還可以傳授給更多的其他人。

原文作者質問的這樣的程序誰愿意接的問題,其實答案很顯然。 你只要從事這個行業,只要接手別人的遺留工作或者是維護項目, 就不可避免要遇到自己不習慣的垃圾程序。 接不接的原因只在于自己有能力搞懂或者沒能力搞懂。除此之外沒有別的選擇了。 你斷沒有可能站在自己的立場上,要求原始設計者,在10年前就按照你的審美觀和規范,來完成整個項目,以適應今天的你來接手。這有點時空穿越。

很多煙臺方法的學員,自從學習了煙臺方法之后,眼光變刁鉆了,放眼看去包括自己曾經做過的程序,全都是垃圾程序。 然后很多同行也以為我非常痛恨垃圾程序。 其實遠非如此。相反的是,我反而更愿意挑戰垃圾程序。經常有一些改造項目或者修復漏洞的項目需求,對方會希望我給全盤否定,用煙臺方法重寫。而我主張的是,如果要用煙臺方法重寫,就要關注這個設備還有多少后續同樣的類型,即我做下來的代碼庫,還有多少重復使用的機會。 如果根本沒有,根本就是當下這一條產線要恢復運行或者增加功能的需求,我是不會同意整體重寫的,我情愿去理解原有程序基礎上修復漏洞和增加功能。

我曾經有寫過一篇文章,【萬泉河】PLC垃圾程序解讀賞析(一)
https://mp.weixin.qq.com/s/hKVMzzr8YbQZ3AXxEkyUNg
這篇文章是5年前寫的了, 未發在這個公眾號,也未統計在338篇技術文章目錄里。 肯定還有很多這樣的文章被遺漏了。 歡迎大家發現并提醒我。

在那篇文章里,我批評了西門子官方幫助文件中的例子程序。 而其實我一直想分享的是一套我曾經經手的一套昆騰PLC的程序。那是我心目中的NO2的垃圾程序,NO1的更早,更找不到了。 而這套NO2今天終于找到了。 是用CONCEPT 2.6寫的,有興趣的讀者可以對本文打賞10元后跟我私信索取。

那個程序有多垃圾,我只講述一個槽點讓大家感受一下,里面有整數的比較,要判斷千位的數字相等,然而作者不會使用整數相等指令,活生生用8421碼做了逐位比較,而且程序中多處比較,就這部分的代碼就有好幾百句。 沒有子程序,全部都是代碼平鋪的。

讀那套程序,我掙了6萬元。 真的只是讀。 原本項目改造后系統不能正常運行了。以為需要修改程序的,但我通讀了之后,找到了方法,在其上位機組態王的界面中做了些參數設定就搞定了。那個昆騰的CPU叫一個討厭,雖然有3個通訊口,但只有一個RS232口可用,組態王和編程電腦只能有一個在線。而程序功能必須通過組態王來控制,所以我先是讀了10天搞不定,后來回家后找朋友借了套有以太網口的PLC,監控配合,很快找到了原因。

那套系統時間久遠,原本應該用16DI和16DO模塊分別7-8塊,就可以實現的,但為了省卡件,柜內用了復雜的繼電器邏輯,最終只用了1塊16DI和1塊16DO。卡件上面省了些錢,但給后來的維護帶來了無窮的后患。 那個電廠后來又有一次改造,還有人又再次聯系到我,希望這部分我能幫忙處理,我直接建議他們,把柜子全毀了重新做吧!十多萬就能搞定。而如果非要我再來解讀這套程序,即便不包含任何硬件,我開價至少要30萬,因為實在太頭疼了。這電廠為啥又來找到我,可能他們這個系統上線十多年,遇到的設備商工程師無數,也就我一個人真的給讀懂了。

前天,有人咨詢要購買煙臺方法的培訓項目, 其實是一套標準架構開發的樣板示范項目,對方問,如果不滿意是否可以退貨?

我直接拒絕:那不行。 軟件產品,不能以買家主觀的滿意為標準。 否則任何人只要鐵定不滿意,那豈不是就可以白嫖了?

你可以來評判,我給的樣例項目有多少垃圾的地方,有多少地方的處理方法,不如你掌握的方法或者你所見過的別人的處理方法更高效更簡潔,我自己寫文章所講述的不用M和T,不用UDT, 不用交叉索引等各種技能,有沒有真的實現。

如果我所言為虛,直接收集證據法庭上告我好了。 6000元已經值得立案了。

曾經在工控論壇,有一個嘴硬的家伙不服, 我給他開出的條件,他所熟悉日系的不管三菱還是OMRON的PLC,  5萬塊的賭注,他給我一套PLC程序,我給翻譯移植到不用MT,后來那家伙慫了,不敢再應戰了。
總的來說,煙臺方法的程序,就有這個底氣評價為最不垃圾的程序。 不管誰來評判, 你,我,或者任何第三方。 所以才敢賣出這樣的行業第一高價。

https://mp.weixin.qq.com/s/pLWMc5LgEkY1dAFoQ44YRw



zxblzf
級別: 正式會員
精華主題: 0
發帖數量: 54 個
工控威望: 63 點
下載積分: 321 分
在線時間: 9(小時)
注冊時間: 2024-06-19
最后登錄: 2025-04-22
查看zxblzf的 主題 / 回貼
1樓  發表于: 2024-07-01 10:15
萬大師威武!

主站蜘蛛池模板: 免费无码a片一区二三区_黄视频网站大全_久久福利视频免费观看_国产网站精品_免费看内射乌克兰女_日产精品99久久久久久_国产高清国产精品国产专区_久久mv成人精品亚洲动漫 | 阿娇囗交全套码在线观看_国语精品91自产拍在线观看二区_国产又粗又猛又黄又爽无遮_中国1级毛片_久久久久久AV无码免费看大片_少妇裸体性生交_理论片自拍_特黄做受又粗又长又大又硬 | 百合AV无码专区亚洲AV极速版_国产视频网爆门福利观看_日韩美女中文字幕_97caoporn国产免费人人_久久精品1区2区_日韩国产变态另类欧美_日韩av网址一卡二卡_伊人网狠狠干 | 久久99精品久久_66亚洲丁香婷婷综合久久_日本精品久久久久中文字幕乱中年_少妇无码AV无码专区_男女啪啪永久免费观看网站_国产精品久久久久野外_欧美国产韩a在线视频_天海翼一区二区三区高清在线 | 超碰在线97中文字幕_天天草夜夜草_亚洲精品久久久久久久久久久久_四韩色情无码一区二区三区_国产精品久久久久久久7777_欧美国产日韩在线三区_7777偷窥盗摄视频_97在线视频免费 | 春雨影视剧在线播放免费观看_国产成人精品亚洲777人妖_亚洲第一大片_女人扒开下面无遮挡免费_亚洲精品理论片_亚洲妇女熟BBW_日日做夜夜做_麻豆传媒在线观看视频 | 91在线区_bxbx成人精品一区二区三区_性色国产_777奇米四色成人影视色区_国产激情一区二区三区在线观看_日日操夜夜操狠狠操_全部免费特黄特色大片看片_富女玩鸭子一级毛片 | 97色伦图片_美女被男人桶到爽免费网站_瑟瑟激情_国产欧亚州美日韩综合区_精品亚洲网站_亚洲youwu永久无码精品_欧美黑人又粗又大XXXX_91视频区 | www.日韩av_日韩日日操_国产免费又色又爽又黄又猛小说_日本在线一级_亚洲国产一区二区a毛片_亚洲成人综合视频_国产成人av三级在线播放_免费在线观看www | 青青草99啪国产免费_欧美与欧洲交xxxx免费观看_亚洲欧美日韩v在线观看不卡_成人91污污污在线观看_亚洲永久免费网站_亚洲视频一区二区三区_日韩在线视频在线观看_亚洲国产精品精华液网站 | 中文无码热在线视频_美景之屋3在线观看_wwww.xxxx免费_国产精品青草综合久久久久99_久久亚洲粉嫩高潮的18p_国产香蕉久久_欧美精品在线播放_国产福利姬精品福利资源网址 | 宅男噜噜99国产精品麻豆精品_午夜时刻免费实验区观看_思思久久96热在精品国产_青青草成人网_在线免费av网_国产精品视频97_三级激情视频_五月丁香国产在线视频 | 狠狠爱亚洲五月婷婷av_毛茸茸性XXXX毛茸茸毛茸茸_午夜精品久久久99热福利_国产日韩高清一区二区三区在线_一区二区麻豆_性无码免费一区二区三区屯线_免费观看9x视频网站在线观看_私人成片免费观看 | 国产精品久久久久久2021_91久久老司机福利精品网_亚洲色大成网站WWW永久在线观看_特黄熟妇丰满人妻无码_999久久久精品视频_无码AV永久免费专区麻豆_欧美激情一区二区三区成人_亚洲人成人天堂 | 久久久久无码国产精品一区_日本有色视频_久久666_久久在线免费观看_欧美精品一区二区三_国产精品呻吟_狠狠综合网_欧美色欧美亚洲高清在线视频 | 天天操导航_久久国内精品自在自线图片_av夜色_啪啪自拍视频_日韩在线精品中文字幕一区二区_亚洲精品久久一区二区三区_CHINASEX喷水VIDEOS中国少妇_久草视频网址 | 国产成人一区二区三区影院动漫_国产成人在线视频免费观看_久久99女女久久99久久_www.久久爱.com狼人_国产又爽又刺激的视频_日韩中文在线观看_天天草天天爱_狠狠爱天天操 | 国产一区二区在线免费播放_一本一道VS无码中文字幕_色欲av亚洲一区无码少妇_懂色av噜噜一区二区三区av88_久久是精品_亚洲精品国产精品乱码在线观看_国产乱码在线精品可播放_在线观看国产精品普通话对白精品 | 日韩欧美在线视频播放_日韩的一区二区_亚洲综合AV在线在线播放_久久久精品三级_大地资源网高清免费观看_wwwav国产_成人av免费网址_边摸边吃奶边做爽动态 | 国色天香2019中文字幕在线观看_亚洲AV无码传区国产乱码O_97在线免费公开视频_熟女无套高潮内谢吼叫_国产精品嫩草影院入口一二三_国产亚洲欧美日韩精品一区二区三区_乱色欧美激情亚洲欧美激情_四虎在线免费观看视频 | 色婷婷av777_三级成网站_天无日天天操天天干_亚洲日本va一区二区三区_中文在线中文资源不卡无_亚洲av熟妇在线观看_欧美精品久久久久久久久_在线观看私人黄 | 色噜噜久久综合伊人一本_伊人久久丁香色婷婷啪啪_久久狠狠爱亚洲综合影院_日韩一级免费观看_日本内射FREERAPE视频_国产欧美一区二区精品秋霞影院_亚洲一区国产二区_中文字幕一二三综合a | 欧美精品高潮在线视频导航_亚洲女人av久久天堂_特a级黄色片_狠狠色噜噜狠狠狠狠7777米奇_亚洲xx网_国产日韩一区在线精品_国产精品同性女性_午夜经典 | 国产高清av免费观看_久久一区二区三区欧美_国产一区二区三区久久久久久_婷婷成人综合网_成人插入视频_成人做爰视频WWW免费看网站_欧美69视频_少妇AB又爽又紧无码网站 | 麻豆影视视频高清在线观看_亚洲蜜桃网_色爱综合_XXXXBBBB欧美_全球诡异时代动漫免费观看_欧美第7页_视频在线一区二区三区_欧美XXXX做受欧美Gay | 亚洲九九精品_国产不卡视频一区二区三区_久操视频免费看_热99久久精品_婷婷久久精品一区二区_日本免费人成在线观看_xxxx免费_国产成人一区二区三区在线视频 | 玖玖色在线观看_久久久国产精品黄毛片_日韩人妻无码潮喷中文视频_日本一区二区三区四区不卡视频_青青操国产_一级看片免费视频_夜夜激情网_凸凹隐藏撒尿xxxx偷拍 | 啪啪免费网站_婷婷色婷婷开心五月_亚洲人久久久_午夜香蕉成视频人网站_亚洲一线产区二线产区区别在_国产成人综合亚洲看片_成人性色生活片免费看_亚洲国产欧美人成 | 奇米成人_日韩第八页_免费一级做a爰片性视频_国产91极品_亚洲女初尝黑人巨高清_国产免费av网址_九色成人搞黄网站_亚洲熟妇AV一区二区三区宅男 | 激情信封_第一色综合_国产首页视频一区二区_99精品久久久久久久久久综合_国产午夜性春猛交xxxx公交车_国产成人在线网站_91成人免费无码成人影院日韩_性av网址 | 日韩美a一级毛片国产_91视频官网_JAPAN少妇洗澡VIDEOS_黄色一级视频在线观看_天天干天天操天天搞_亚洲成a人蜜臀av在线播放_777奇米888色狠狠俺也去_99久久精品毛片免费播放高清 | 超碰CAO已满18进入离开官网_欧美久久网_GOGO全球人体高清大胆亚洲AV_亚洲精品无码久久千人斩探花_九色综合九色综合色鬼_亚洲日韩乱码中文无码蜜桃臀网站_国产精品久久久99_亚洲区日韩精品中文字幕 | 国产精品久久久久久2021_91久久老司机福利精品网_亚洲色大成网站WWW永久在线观看_特黄熟妇丰满人妻无码_999久久久精品视频_无码AV永久免费专区麻豆_欧美激情一区二区三区成人_亚洲人成人天堂 | 国产福利精品视频_91素人在线_国产欧美另类久久久精品丝瓜_日韩精品一区二区av_XX性欧美肥妇精品久久久久久_老司机深夜18禁污污网站_伊人色综_99国产精品免费视频 | 中文字字幕在线观看_国产亚洲欧美日韩在线爱豆_色就是色亚洲色图_国产裸体歌舞一区二区_无限在线看免费视频大全_艳妇臀荡乳欲伦交换在线播放_一二三四区在线播放_视色视频在线观看 | 啪啪影视_一日本道A高清免费播放_亚洲三级久久久_一级毛片毛片_99久久久久久国产精品_欧美在线视频日韩_亚洲国产一区二区三区波多野结衣_精品三区 | 午夜精品久久久内射近拍高清_三级久久久久久久久高潮_在线免费观看av网址_免费国产在线观看_日本熟妇中文字幕三级_国产免费让你躁在线视频_奇米视频888_麻豆午夜影院 | 免费无码a片一区二三区_黄视频网站大全_久久福利视频免费观看_国产网站精品_免费看内射乌克兰女_日产精品99久久久久久_国产高清国产精品国产专区_久久mv成人精品亚洲动漫 | 国产成人亚综合精品首页_国产午夜精品久久久久久久久久_亚洲资源在线_99视频精品视频高清免费_亚洲精品成人无码视频在线_精品一区二区三区波多野结衣_亚洲?V无码专区在线观看成人_永久免费av网站 | 久久99精品久久久66_毛片性做爰aaaaa_中国产一级毛片_日日操夜夜添_九九热线视频精品99_日韩视频一级_黄色国产在线_日本xxxx10 | 国产真实乱全部视频_在线男人天堂网_超级av在线天堂东京热_ww久久综合久中文字幕_成人黄色一区二区_国产av午夜精品一区二区三_sdde在线播放一区二区_成全免费在线看片 中文人字幕第三页_无码纯肉视频在线观看_99re国产在线播放_日本欧美高清全视频_日韩七区_亚洲第一最快AV网站_中日韩欧美风情视频_欧美成人一区二 |