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