|
作為一個好的自動化工程師,會編寫程序是一項必備的技能。在工控這個行業(yè)里工作這么多年,對于編程也有了自己的一份認識和一些想法,在這里就分享出來供大家學(xué)習(xí)交流。
對于程序編寫每個人都有自己的風(fēng)格,但是其中心思想是不變的——分清條件之間的因果關(guān)系。這就需要對工藝要求書的詳細解讀,首先確定好輸出,在其基礎(chǔ)上分析出它的啟動條件和停止條件分別是什么,再根據(jù)“起、保、停”電路依次添加條件就可以了。
這種方法是根據(jù)繼電器電路圖演變的,可以編寫比較簡單的數(shù)字量控制系統(tǒng)的梯形圖,即在一些典型電路的基礎(chǔ)上,根據(jù)被控對象系統(tǒng)的要求,在其中間加一點指令和觸點,通過不斷的修改來完善梯形圖。理解了這個你就邁進了編程的大門,但是還遠遠達不到可以獨立編寫項目的水平。
上面提到的只是編程的思路,而在工作中編程就不只是簡單的套條件了。一個好的程序是在確保功能運行可靠以及相同硬件條件的前提下編寫完成的。而且在現(xiàn)場編程必須滿足以下幾項。
第一:容錯性,可靠性,即無論在什么情況下,也能保證安全運行,例如:1、運行中突然停電時;2、不按常規(guī)操作時;3、超出常規(guī)的運行位置時(極限);4、某一零部件損壞時 。
第二:設(shè)備運行的流暢性和操作人員的控制方便性。
第三:程序的可讀性。如果只做過價值數(shù)萬,不超過100點的系統(tǒng)。也就是小系統(tǒng)或?qū)S性O(shè)備那就是不可能(或不大可能)向客戶開放程序,如果是這樣的封閉系統(tǒng)的話程序可以隨意的編寫,只要滿足第一、二要求就可以了。
而一個數(shù)千,上萬點的系統(tǒng),如果沒有可讀性,對于客戶簡直就是災(zāi)難!你見到過一個系統(tǒng)持續(xù)的維護10年嗎,你覺得這10年來都是那個編寫程序的人在維護嗎?你覺得這個系統(tǒng)10年來都保持毫無變化嗎?所以程序的可讀性,不管是自動化行業(yè),還是軟件行業(yè),都一樣適用,
對于客戶來說,如果他們自己能夠看懂程序,能夠獨立完成普通的維護工作,那不正說明這是一個好程序嗎?反觀,如果程序中使用了太多的編程技巧,比如把匯編語言的習(xí)慣帶入PLC項目,結(jié)果真的有點讓人崩潰。比如匯編語言中經(jīng)常用到跳轉(zhuǎn)指令,移位乘法指令等這會給程序編寫帶來方便,有時是不得以而為之。但你可以想象一點,如果PLC項目中也使用這樣的編程方式,你讓半桶水的維護人員怎么看懂。
在實際中一些大的項目就不是一個人可以編寫的了,這就需要一個團隊的合作 ,可讀性在這里就顯的非常重要了。所以我經(jīng)常對身邊的同事強調(diào):你寫的程序不是給自己欣賞的,而是要拿給別人看的。哪怕用到一些高級的技巧時,也要用文字詳細的說明。
對應(yīng)以上的要求可以總結(jié)為:
面向設(shè)備,反應(yīng)要快。 面向操作者,控制要簡便。 面向維護人員,程序要易懂。 面向制造商,成本要低。 面向開發(fā)者,需要模塊化。 如果你編寫的程序滿足以上的要求時,那我就很高興的告訴你“月薪萬元在向你招手”。所以一個好的編程思想和技巧的運用是學(xué)習(xí)PLC的基石。
首先對于學(xué)習(xí)PLC我們不要有畏懼感。PLC是一個面向工業(yè)級控制的一個產(chǎn)品,只要是應(yīng)用級的產(chǎn)品都會考慮到產(chǎn)品使用的簡易程度。哪怕是難以理解的部分也會做成向?qū)Щ蚰K化供大家方便的使用。就像Word、ppt一樣,我們只要簡單的了解一下就可以上手編輯了,但其中的技巧、內(nèi)容也是足夠編一套書。
當(dāng)我們看到所謂的Word、ppt使用秘籍后,在以后的文檔編輯中使用,從而加快編寫的效率和文檔的質(zhì)量。再讓我們回過頭看看PLC的程序的編寫,剛開始我們以“啟、保、停”為模板編寫一下小的程序。再慢慢的看一些其他人的程序,來分析他的思路和技巧,慢慢的你就會成為編程高手。
當(dāng)初我也是這么一步一步的走過來的,看別人的程序然后不斷的總結(jié)和實踐。當(dāng)編程的思想有了,指令運用的小技巧就是這么積累的。所以我就有到處逛論壇的習(xí)慣,看到好的文章就會隨手的收藏起來。有空的時候翻出來實踐一下,這樣成長的速度是很快的。
在網(wǎng)上看到一些好的文章我會轉(zhuǎn)載過來,供大家學(xué)習(xí)交流之用。剛開始我會發(fā)一些簡單的案例出來,懂的人不要笑。那些復(fù)雜的程序都是由這些基礎(chǔ)的程序組成而來的。
|
|