一、必備的前提條件
1、編程需要堅(jiān)強(qiáng)的毅力和足夠的耐心
人各有所長(zhǎng),
新人學(xué)PLC編程的心得體會(huì)
。有些人把編程看作一項(xiàng)冗長(zhǎng)而枯燥的工作;有些人把編程看作一項(xiàng)趣味的智力游戲。如果你是前者,強(qiáng)烈建議你遠(yuǎn)離這份工作。畢竟編程工作是對(duì)人的毅力和耐心的挑戰(zhàn)。我所在實(shí)驗(yàn)室中,很多學(xué)生看到我編程序就會(huì)驚訝于我面對(duì)這一堆堆符號(hào)所表現(xiàn)出的專(zhuān)注。其實(shí),這是興趣使然。興趣使我具備了足夠的毅力和耐心。經(jīng)過(guò)無(wú)數(shù)次失敗后,當(dāng)看到一個(gè)個(gè)符號(hào)按我的思路整齊的排列,PLC按我的要求有條不紊的運(yùn)行時(shí),興趣得到了極大的滿(mǎn)足,如同打通了一個(gè)游戲的關(guān)口。所以,我告訴這些學(xué)生:你們看到的是一堆枯燥怪異的符號(hào),我看到的卻是一群熱情奔放的舞者,而我則是她們的導(dǎo)演。
2、編程需要敢于實(shí)踐的信心
我曾經(jīng)教過(guò)一個(gè)學(xué)生學(xué)AutoCAD,我對(duì)她的唯一要求就是實(shí)踐。我告訴她:你隨便怎么操作,大不了一張圖重畫(huà);最壞的結(jié)果是系統(tǒng)崩潰,沒(méi)關(guān)系,系統(tǒng)重做,再來(lái);只要電腦沒(méi)被砸了,怎么都行。兩年后,我再看到她做的CAD圖紙,也自嘆不如。
同樣道理,只有不斷地在PLC上運(yùn)行這些指令,觀察運(yùn)行的結(jié)果,才能弄清PLC指令的作用。很多初學(xué)者對(duì)PLC一臉的迷茫,往往是出于一種畏懼,擔(dān)心損壞設(shè)備。而這些畏懼是沒(méi)有任何道理的。仔細(xì)的閱讀手冊(cè)是非常重要的,但是僅靠讀書(shū)是成不了一個(gè)工程師的。更何況手冊(cè)上的內(nèi)容并非面面俱到。我在接觸到那些不熟悉的指令時(shí),喜歡單獨(dú)編一個(gè)小程序,讓PLC運(yùn)行。然后逐個(gè)修改條件,觀察運(yùn)行的結(jié)果(MicroWin為用戶(hù)提供了非常好的監(jiān)控手段),反過(guò)來(lái)再重新理解手冊(cè)的描述,這樣就可以非常直觀的理解這些指令的作用和使用方法。不必?fù)?dān)心自己寫(xiě)的程序會(huì)有什么問(wèn)題,會(huì)影響PLC的正常工作。程序有沒(méi)有問(wèn)題,只有讓PLC運(yùn)行了才能發(fā)現(xiàn)。而發(fā)現(xiàn)問(wèn)題并解決問(wèn)題就是對(duì)自己能力的提高。撇開(kāi)硬件操作不談,單就軟件來(lái)說(shuō),我還真沒(méi)有遇到過(guò)由于軟件問(wèn)題而損壞PLC的事。在這里不必?fù)?dān)心繼電器電路接錯(cuò)線可能造成的后果。所以,大膽的實(shí)踐是PLC編程的必由之路。
當(dāng)然,大膽實(shí)踐并不是野蠻操作,而是必須遵循必要的規(guī)范。還有一個(gè)要注意的,在程序未經(jīng)可靠性證實(shí)之前,千萬(wàn)不要掛接負(fù)載,以免造成不必要的損失。數(shù)字量的輸出有LED顯示;而模擬量處理可以采用一些硬件或軟件模擬手段來(lái)解決。
3、編程需要有縝密的邏輯思維
編程本身就是一種邏輯思維過(guò)程。在高級(jí)語(yǔ)言中,使用最多的是if then else、select這些條件判別語(yǔ)句,這就是邏輯中的因果關(guān)系。PLC程序就是由這些因果關(guān)系組成的:判別條件是否成立,進(jìn)而決定執(zhí)行相應(yīng)的指令。最初的PLC是用來(lái)替代繼電器邏輯電路的,所以繼承了繼電器電路以觸點(diǎn)作為觸發(fā)條件的描述方式。在PLC中,以虛擬觸點(diǎn)代替了繼電器的金屬觸點(diǎn),而繼電器電路所表達(dá)的邏輯關(guān)系還是被完整的保留下來(lái)。即使引入了繼電器電路難以勝任的數(shù)值處理過(guò)程,PLC從根本上還是在執(zhí)行一個(gè)個(gè)因果關(guān)系。所以,理順對(duì)象的各個(gè)事件之間的邏輯關(guān)系,是編程之前必須精心做好的準(zhǔn)備工作。我在接到一項(xiàng)任務(wù)后,第一件事就是整理出一份邏輯關(guān)系圖,與用戶(hù)反復(fù)商討,取得用戶(hù)的認(rèn)可,然后才真正進(jìn)入程序的編寫(xiě)過(guò)程。
4、不可或缺的相關(guān)知識(shí)
PLC的程序是直接作用于對(duì)象的具體工藝過(guò)程,那么對(duì)對(duì)象具體工藝過(guò)程的理解是非常重要的的。我在與用戶(hù)的交流過(guò)程中,會(huì)用我所掌握的Unit Operation的知識(shí)分析用戶(hù)的工藝過(guò)程,協(xié)助用戶(hù)整理過(guò)程控制中的各個(gè)邏輯關(guān)系,甚至包括各種儀表、硬件的配置。這得益于我原本所學(xué)的專(zhuān)業(yè)。當(dāng)然,不能要求所有搞PLC程序的工程師都有我這樣的經(jīng)歷。但是有兩門(mén)知識(shí)卻是不可或缺的:一是過(guò)程儀表的硬件知識(shí),包括傳感器、變送器(二次儀表)和PLC本身,這是構(gòu)建控制系統(tǒng)的基礎(chǔ);二是過(guò)程控制理論,包括各種控制模型的原理和應(yīng)用,其中最重要的是二位調(diào)節(jié)和PID調(diào)節(jié)模型。PID調(diào)節(jié)是目前用得最廣泛的過(guò)程控制手段,且變化多端。學(xué)習(xí)PID最好的方法就是讀書(shū)。幾乎所有講解過(guò)程控制的書(shū)籍都有關(guān)于PID的內(nèi)容,多讀基本相關(guān)的書(shū)籍對(duì)理解PID是很有益處的。我發(fā)現(xiàn)不少網(wǎng)友在進(jìn)入PLC領(lǐng)域時(shí),缺乏這些相關(guān)知識(shí)。這并不可怕;可怕的是當(dāng)事者不能靜下心來(lái)彌補(bǔ)知識(shí)的缺陷。我們不要怪罪學(xué)校沒(méi)有教授這些內(nèi)容,而是要注重自己如何去學(xué)習(xí)這些知識(shí)。工作中遇到的許多問(wèn)題是學(xué)校里沒(méi)講過(guò)的,這不能成為我們拒絕工作的理由,而應(yīng)該以積極的態(tài)度去應(yīng)對(duì)這些問(wèn)題。我的體會(huì)是,為了解決工作中的問(wèn)題而學(xué)習(xí)的知識(shí),比課堂上學(xué)的東西更容易記住。
5、養(yǎng)成良好的編程習(xí)慣
每個(gè)人編程都會(huì)有不同的習(xí)慣和特點(diǎn),不能強(qiáng)求一致。但是一些好的習(xí)慣還是應(yīng)該為大多數(shù)人所遵循。一是理順邏輯關(guān)系、時(shí)序關(guān)系,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號(hào)表。
PLC編程更接近于單片機(jī),或者說(shuō)PLC就是模塊化的單片機(jī)。因此PLC的很多操作都是直接針對(duì)寄存器的,如果在程序中出現(xiàn)不合理的寄存器地址重疊,一定會(huì)出現(xiàn)不可預(yù)想的后果。編制寄存器符號(hào)表不僅可以避免上述問(wèn)題(MicroWin會(huì)有問(wèn)題提示),而且可以使程序具備更好的可讀性。這和VB中定義變量有異曲同工之處。
VB編程中關(guān)注的是事件,不強(qiáng)調(diào)主程序和子程序的觀念,因?yàn)閂B主程序的工作是由PC的操作系統(tǒng)完成的。PLC則不然。PLC程序是以主程序?yàn)橹鞲傻模珻PU不斷的循環(huán)執(zhí)行主程序,只有觸發(fā)條件成立時(shí)才會(huì)調(diào)用子程序或中斷程序。即子程序和中斷程序所執(zhí)行的任務(wù)不是全時(shí)需要的。如果把這些任務(wù)都放在主程序中會(huì)無(wú)端增加主程序的工作量,降低程序的效率。這點(diǎn)和單片機(jī)的編程思路是一致的。子程序的使用可以使整個(gè)程序的邏輯更清晰。而且子程序可以分開(kāi)編寫(xiě)、調(diào)試,最后“安裝”到主程序上。這樣你可以一個(gè)一個(gè)解決問(wèn)題。
PLC編程,無(wú)論是LAD,抑或STL,都不如VB那么直觀、有趣,更不如CAD那么形象。但比單片機(jī)的匯編語(yǔ)言的可視性強(qiáng)多了。對(duì)于初學(xué)者,LAD(梯形圖)的編程相對(duì)直觀,更容易上手。
最后,PLC提供了豐富的指令、模塊,比單片機(jī)方便了很多。但是初學(xué)者編程時(shí)應(yīng)盡量先使用簡(jiǎn)單的指令達(dá)到目的。盡管看上去有點(diǎn)土,卻不失為一個(gè)入門(mén)的好途徑,且對(duì)你理解那些較為復(fù)雜的指令會(huì)有幫助。具備了一定經(jīng)驗(yàn)后,應(yīng)該考慮掌握復(fù)雜指令的應(yīng)用,以及程序的優(yōu)化。
二、學(xué)習(xí)PLC密決
1.不要看到別人的回復(fù)第一句話(huà)就說(shuō):給個(gè)代碼吧!你應(yīng)該想想為什么。當(dāng)你自己想出來(lái)再參考別人的提示,你就知道自己和別人思路的差異。
2.別小家子氣,買(mǎi)本書(shū)幾十塊都舍不得,你還學(xué)個(gè)P。為了省錢(qián)看電子書(shū),浪費(fèi)的時(shí)間絕對(duì)超過(guò)書(shū)的價(jià)值。當(dāng)然如果查資料,只能看PDF。
3.學(xué)習(xí)新的開(kāi)發(fā)軟件時(shí),一定要看幫助手冊(cè)。買(mǎi)的書(shū)不夠全面。剛接觸一個(gè)軟件,什么都不懂,就盲目的問(wèn)東問(wèn)西,讓人看起來(lái)很幼稚。
4.不要蜻蜓點(diǎn)水,得過(guò)且過(guò),細(xì)微之處往往體現(xiàn)實(shí)力。
5.把時(shí)髦的技術(shù)掛在嘴邊,還不如把過(guò)時(shí)的技術(shù)記在心里。
6.看得懂的書(shū),請(qǐng)仔細(xì)看;看不懂的書(shū),請(qǐng)硬著頭皮看。別指望看第一遍書(shū)就能記住和掌握什么——請(qǐng)看第二遍、第三遍。
7.多實(shí)踐,調(diào)試,去寫(xiě)去調(diào),只用軟件模擬,是永遠(yuǎn)成不了高手的。8.保存好你做過(guò)的所有的源程序、原理圖等----那是你最好的積累之一。
9.對(duì)于網(wǎng)絡(luò),還是希望大家能多利用一下,很多問(wèn)題不是非要到論壇來(lái)問(wèn)的,首先你要學(xué)會(huì)自己找答案,比如google、百度都是很好的搜索引擎,你只要輸入關(guān)鍵字就能找到很多相關(guān)資料,別老是等待別人給你希望,的出你平時(shí)一定也很懶!
10 到一個(gè)論壇,你學(xué)會(huì)去看以前的帖子,不要什么都不看就發(fā)帖子問(wèn),也許你的問(wèn)題早就有人問(wèn)過(guò)了,你再問(wèn),別人已經(jīng)不想再重復(fù)了,做為初學(xué)者,誰(shuí)也不希望自己的帖子沒(méi)人回的。
11,論壇論壇,就是大家討論的地方,總期望有高手總無(wú)償指點(diǎn)你,除非他是你親戚!討論者,起碼是水平相當(dāng)?shù)牟庞杏懻摰恼f(shuō)法,如果水平真差距太遠(yuǎn)了,連基本操作都需要?jiǎng)e人給解答,誰(shuí)還跟你討論呢。
三、如何學(xué)習(xí)PLC
弄通有關(guān)PLC程序設(shè)計(jì)理論是重要的。沒(méi)有這方面的理論準(zhǔn)備或指導(dǎo),僅靠在實(shí)踐中摸索,簡(jiǎn)單的問(wèn)題還好辦。復(fù)雜的就不好辦了。不僅無(wú)從下手,而且花了很多時(shí)間與精力,也難編出效率較高、質(zhì)量也較高的程序,常常是事倍功半。
但是,編程的具體實(shí)踐,以及在這個(gè)實(shí)踐中得來(lái)的知識(shí)或技能,即經(jīng)驗(yàn),也是重要的。沒(méi)有經(jīng)驗(yàn),僅有理論,既無(wú)法深刻理解理論,又無(wú)法靈活應(yīng)用理論。這正如學(xué)數(shù)學(xué),如僅了解一些定理或記住一些公式,沒(méi)有作相應(yīng)的練習(xí),肯定是學(xué)不好的。更不用說(shuō),任何理論也都只是經(jīng)驗(yàn)的總結(jié),歸根到底也都有是來(lái)自實(shí)踐。
1、經(jīng)驗(yàn)積累
經(jīng)驗(yàn)有別人的,也有自己的,都很重要。前者要靠細(xì)心學(xué)習(xí),后者要靠用心積累,都要在一定的時(shí)間與必要的精力。
別人的經(jīng)驗(yàn)有上了書(shū)的或登載在雜志上的。有的是細(xì)心學(xué)習(xí)別人的,但多數(shù)是我自己的經(jīng)驗(yàn)。所有的例子都經(jīng)我測(cè)試過(guò),都經(jīng)實(shí)踐證明是可行的。我想,別的書(shū)本或雜志上介紹的也會(huì)是這樣的。所以學(xué)習(xí)這樣楊功的經(jīng)驗(yàn)是必要的。
還有就是你同事的經(jīng)驗(yàn),也是值得學(xué)習(xí)。這種經(jīng)驗(yàn)離你很“近”,很易借鑒。
自己的經(jīng)驗(yàn)則是最重要的。要在自己的實(shí)踐中,積累自己的經(jīng)驗(yàn)。同時(shí),最好在學(xué)別人的經(jīng)驗(yàn)時(shí),也能親自作些測(cè)試,能使自己也有類(lèi)似的經(jīng)歷,進(jìn)而把這些經(jīng)驗(yàn)變成自己的。這也是自己經(jīng)驗(yàn)的重要積累。
還有一些失敗的經(jīng)驗(yàn),這往往是不會(huì)公開(kāi)的,但這些經(jīng)驗(yàn)也要學(xué)習(xí),也要積累。
經(jīng)驗(yàn)的積累要用自己的腦記,更要用電腦記。最好作些分類(lèi),建立一個(gè)自用的程序庫(kù),以便于隨時(shí)引用。
2、經(jīng)驗(yàn)升華
經(jīng)驗(yàn)還有待升華。升華有三個(gè)層次:
最低的層次就是建立一個(gè)典型的程序庫(kù),供今后再用。若程序復(fù)雜,還可建一些功能塊,或子程序,以便以后引用。
其次,要總結(jié)出有效算法。如單按鈕起停程序庫(kù)等。
最高層次的升華是把經(jīng)驗(yàn)上升到理論的高度,為豐富PLC程序設(shè)計(jì)理論作貢獻(xiàn)。我想,隨著PLC使用的普及與提高,是會(huì)有越來(lái)越多從經(jīng)驗(yàn)中升華出來(lái)的,而又能用以指導(dǎo)實(shí)踐的PLC編程理論的。
3、經(jīng)驗(yàn)應(yīng)用
經(jīng)驗(yàn)積累、經(jīng)驗(yàn)升華都是為了應(yīng)用。經(jīng)驗(yàn)應(yīng)用有三方面:
1)用作工程設(shè)計(jì)模板。設(shè)計(jì)新系統(tǒng)時(shí),選用一個(gè)或幾個(gè)與現(xiàn)設(shè)計(jì)工程類(lèi)似的,已取得成功的工程,作樣板進(jìn)行設(shè)計(jì)。這既可減輕設(shè)計(jì)的工作量,又增加設(shè)計(jì)的成功率。這也是信息可重用的一大好處。
2)用作程序設(shè)計(jì)參考。在無(wú)成功的工程可作樣板時(shí),在新設(shè)計(jì)的邏輯中,仍有相當(dāng)一部分控制邏輯,可采用或借用已有典型邏輯,這也可減少設(shè)計(jì)的工作量,增加設(shè)計(jì)的成功率。
3)用作算法設(shè)計(jì)參考。在既無(wú)樣板可參照,又無(wú)典型可采用時(shí),還可運(yùn)用過(guò)去的一些成功的算法。
經(jīng)驗(yàn)是寶貴的,但是經(jīng)驗(yàn)特別是個(gè)人經(jīng)驗(yàn),總是有限的。所以,經(jīng)驗(yàn)的應(yīng)用也還要與編程理論相結(jié)合。
四、如何學(xué)習(xí)別人的PLC程序
1 收集資料,
心得體會(huì)《新人學(xué)PLC編程的心得體會(huì)》(http://www.unjs.com)。在收集資料時(shí)不僅要收集程序還要收集程序所附帶的工藝流程及I/O分配表。
2 程序分類(lèi)。在收集到前人的程序后,首先加以分類(lèi)。以不同品牌的程序分類(lèi)——再以不同功能細(xì)分。
3 選擇程序加以理解。分類(lèi)完成后就是慢慢的“消化”程序了。首先選擇自己熟悉的PLC程序或是自己將要用到的程序樣例下手,這樣理解起來(lái)比較容易。
4 對(duì)于有工藝流程及I/O分配表的程序進(jìn)行理解。
1) 了解程序的工藝流程。
2) I/O分配。把I/O分配表中的說(shuō)明加在程序的注釋中。
3) 理解中間位。在程序設(shè)計(jì)時(shí)肯定會(huì)用到諸多的中間位做轉(zhuǎn)接,然后搞清楚每一步或每一網(wǎng)絡(luò)所對(duì)應(yīng)的中間位的功能,在程序中加以注釋。
4) 理解定時(shí)器。程序中定時(shí)器的功能要清楚,特別是有時(shí)間日期控制的,定時(shí)器的功能是比較重要的。其意義也要記錄下來(lái)。
5) 理解計(jì)數(shù)器。
6) 理解陌生指令。在“消化”別人程序的過(guò)程中,不勉會(huì)看到一些自己沒(méi)用過(guò)或不熟悉的指令,這也是自己要重點(diǎn)理解的對(duì)象,要準(zhǔn)備一份電子指令手冊(cè)隨時(shí)查找,并在程序中記錄。這才是自己要學(xué)習(xí)與進(jìn)步的地方。
5、 對(duì)于沒(méi)有任何說(shuō)明的程序進(jìn)行理解。
1) 指令應(yīng)用。對(duì)此類(lèi)程序主要是注意程序中的指令應(yīng)用。把指令截取下來(lái),以指令名稱(chēng)為為文件名另存在文件夾中。
2) 分系統(tǒng)另存。對(duì)于能理解并能整理成系統(tǒng)程序加以另存,比如說(shuō)程序中的時(shí)間系統(tǒng)、PID系統(tǒng)等等的程序。
3) 所有的PLC指令都是大同小異的,當(dāng)以后工作中能應(yīng)用到的部分可以就地取材,舉一反三。
更重要的是要了解設(shè)備的工藝,只有熟悉了產(chǎn)品和掌握了程序的基本編寫(xiě)方法,才能得心應(yīng)手。
五、PLC基礎(chǔ)學(xué)習(xí)方法論談
學(xué)習(xí)PLC入門(mén)方法其實(shí)主要是兩點(diǎn),1.選擇一個(gè)PLC(購(gòu)買(mǎi)西門(mén)子S7 200\300 PLC請(qǐng)選擇中華自動(dòng)化網(wǎng)上商城PLC專(zhuān)欄), 2邊學(xué)邊練
(一)、問(wèn)題提出。
可編程控制器技術(shù)最主要是應(yīng)用于自動(dòng)化控制工程中,如何綜合地運(yùn)用前面學(xué)過(guò)知識(shí)點(diǎn),根據(jù)實(shí)際工程要求合理組合成控制系統(tǒng),
在此介紹組成可編程控制器控制系統(tǒng)的一般方法。
(二)、可編程控制器控制系統(tǒng)設(shè)計(jì)的基本步驟
1 .系統(tǒng)設(shè)計(jì)的主要內(nèi)容
( 1 )擬定控制系統(tǒng)設(shè)計(jì)的技術(shù)條件。技術(shù)條件一般以設(shè)計(jì)任務(wù)書(shū)的形式來(lái)確定,它是整個(gè)設(shè)計(jì)的依據(jù);
( 2 )選擇電氣傳動(dòng)形式和電動(dòng)機(jī)、電磁閥等執(zhí)行機(jī)構(gòu);
( 3 )選定 PLC 的型號(hào);
( 4 )編制 PLC 的輸入 / 輸出分配表或繪制輸入 / 輸出端子接線圖;
( 5 )根據(jù)系統(tǒng)設(shè)計(jì)的要求編寫(xiě)軟件規(guī)格說(shuō)明書(shū),然后再用相應(yīng)的編程語(yǔ)言(常用梯形圖)進(jìn)行程序設(shè)計(jì);
( 6 )了解并遵循用戶(hù)認(rèn)知心理學(xué),重視人機(jī)界面的設(shè)計(jì),增強(qiáng)人與機(jī)器之間的友善關(guān)系;
( 7 )設(shè)計(jì)操作臺(tái)、電氣柜及非標(biāo)準(zhǔn)電器元部件;
( 8 )編寫(xiě)設(shè)計(jì)說(shuō)明書(shū)和使用說(shuō)明書(shū);
根據(jù)具體任務(wù),上述內(nèi)容可適當(dāng)調(diào)整。
2 . 系統(tǒng)設(shè)計(jì)的基本步驟
( 1 )深入了解和分析被控對(duì)象的工藝條件和控制要求
a .被控對(duì)象就是受控的機(jī)械、電氣設(shè)備、生產(chǎn)線或生產(chǎn)過(guò)程。
b
.控制要求主要指控制的基本方式、應(yīng)完成的動(dòng)作、自動(dòng)工作循環(huán)的組成、必要的保護(hù)和聯(lián)鎖等。對(duì)較復(fù)雜的控制系統(tǒng),還可將控制任務(wù)分成幾個(gè)獨(dú)立部分,這種可化繁為簡(jiǎn),有利于編程和調(diào)試。
( 2 )確定 I/O 設(shè)備
根據(jù)被控對(duì)象對(duì) PLC
控制系統(tǒng)的功能要求,確定系統(tǒng)所需的用戶(hù)輸入、輸出設(shè)備。常用的輸入設(shè)備有按鈕、選擇開(kāi)關(guān)、行程開(kāi)關(guān)、傳感器等,常用的輸出設(shè)備有繼電器、接觸器、指示燈、電磁閥等。
( 3 )選擇合適的 PLC 類(lèi)型
根據(jù)已確定的用戶(hù) I/O 設(shè)備,統(tǒng)計(jì)所需的輸入信號(hào)和輸出信號(hào)的點(diǎn)數(shù),選擇合適的 PLC 類(lèi)型,包括機(jī)型的選擇、容量的選擇、 I/O
模塊的選擇、電源模塊的選擇等。
( 4 )分配 I/O 點(diǎn)
分配 PLC 的輸入輸出點(diǎn),編制出輸入 / 輸出分配表或者畫(huà)出輸入 / 輸出端子的接線圖。接著九可以進(jìn)行 PLC
程序設(shè)計(jì),同時(shí)可進(jìn)行控制柜或操作臺(tái)的設(shè)計(jì)和現(xiàn)場(chǎng)施工。
( 5 )設(shè)計(jì)應(yīng)用系統(tǒng)梯形圖程序
根據(jù)工作功能圖表或狀態(tài)流程圖等設(shè)計(jì)出梯形圖即編程。這一步是整個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)的最核心工作,也是比較困難的一步,要設(shè)計(jì)好梯形圖,首先要十分熟悉控制要求,同時(shí)還要有一定的電氣設(shè)計(jì)的實(shí)踐經(jīng)驗(yàn)。
( 6 )將程序輸入 PLC
當(dāng)使用簡(jiǎn)易編程器將程序輸入 PLC時(shí),需要先將梯形圖轉(zhuǎn)換成指令助記符,以便輸入。當(dāng)使用可編程序控制器的輔助編程軟件在計(jì)算機(jī)上編程時(shí),可通過(guò)上下位機(jī)的連接電纜將程序下載到
PLC 中去。
( 7 )進(jìn)行軟件測(cè)試
程序輸入 PLC 后,應(yīng)先進(jìn)行測(cè)試工作。因?yàn)樵诔绦蛟O(shè)計(jì)過(guò)程中,難免會(huì)有疏漏的地方。因此在將PLC連接到現(xiàn)場(chǎng)設(shè)備上去之前,必需進(jìn)行軟件測(cè)試,以排除程序中的錯(cuò)誤,同時(shí)也為整體調(diào)試打好基礎(chǔ),縮短整體調(diào)試的周期。
( 8 )應(yīng)用系統(tǒng)整體調(diào)試
在 PLC
軟硬件設(shè)計(jì)和控制柜及現(xiàn)場(chǎng)施工完成后,就可以進(jìn)行整個(gè)系統(tǒng)的聯(lián)機(jī)調(diào)試,如果控制系統(tǒng)是由幾個(gè)部分組成,則應(yīng)先作局部調(diào)試,然后再進(jìn)行整體調(diào)試;如果控制程序的步序較多,則可先進(jìn)行分段調(diào)試,然后再連接起來(lái)總調(diào)。調(diào)試中發(fā)現(xiàn)的問(wèn)題,要逐一排除,直至調(diào)試成功。
( 9 )編制技術(shù)文件
系統(tǒng)技術(shù)文件包括說(shuō)明書(shū)、電氣原理圖、電器布置圖、電氣元件明細(xì)表、 PLC梯形圖。
(三)、 PLC 硬件系統(tǒng)設(shè)計(jì)
1 . PLC 型號(hào)的選擇
在作出系統(tǒng)控制方案的決策之前,要詳細(xì)了解被控對(duì)象的控制要求,從而決定是否選用 PLC進(jìn)行控制。
在控制系統(tǒng)邏輯關(guān)系較復(fù)雜(需要大量中間繼電器、時(shí)間繼電器、計(jì)數(shù)器等)、工藝流程和產(chǎn)品改型較頻繁、需要進(jìn)行數(shù)據(jù)處理和信息管理(有數(shù)據(jù)運(yùn)算、模擬量的控制、PID 調(diào)節(jié)等)、系統(tǒng)要求有較高的可靠性和穩(wěn)定性、準(zhǔn)備實(shí)現(xiàn)工廠自動(dòng)化聯(lián)網(wǎng)等情況下,使用 PLC 控制是很必要的。
目前,國(guó)內(nèi)外眾多的生產(chǎn)廠家提供了多種系列功能各異的 PLC產(chǎn)品,使用戶(hù)眼花繚亂、無(wú)所適從。所以全面權(quán)衡利弊、合理地選擇機(jī)型才能達(dá)到經(jīng)濟(jì)實(shí)用的目的。一般選擇機(jī)型要以滿(mǎn)足系統(tǒng)功能需要為宗旨,不要盲目貪大求全,以免造成投資和設(shè)備資源的浪費(fèi)。機(jī)型的選擇可從以下幾個(gè)方面來(lái)考慮。
( 1 )對(duì)輸入 / 輸出點(diǎn)的選擇
盲目選擇點(diǎn)數(shù)多的機(jī)型會(huì)造成一定浪費(fèi)。
要先弄清除控制系統(tǒng)的 I/O 總點(diǎn)數(shù),再按實(shí)際所需總點(diǎn)數(shù)的 15 ~ 20 %留出備用量(為系統(tǒng)的改造等留有余地)后確定所需 PLC
的點(diǎn)數(shù)。
另外要注意,一些高密度輸入點(diǎn)的模塊對(duì)同時(shí)接通的輸入點(diǎn)數(shù)有限制,一般同時(shí)接通的輸入點(diǎn)不得超過(guò)總輸入點(diǎn)的 60 %; PLC
每個(gè)輸出點(diǎn)的驅(qū)動(dòng)能力( A/ 點(diǎn))也是有限的,有的 PLC 其每點(diǎn)輸出電流的大小還隨所加負(fù)載電壓的不同而異;一般 PLC
的允許輸出電流隨環(huán)境溫度的升高而有所降低等。在選型時(shí)要考慮這些問(wèn)題。
PLC 的輸出點(diǎn)可分為共點(diǎn)式、分組式和隔離式幾種接法。隔離式的各組輸出點(diǎn)之間可以采用不同的電壓種類(lèi)和電壓等級(jí),但這種 PLC
平均每點(diǎn)的價(jià)格較高。如果輸出信號(hào)之間不需要隔離,則應(yīng)選擇前兩種輸出方式的 PLC 。
( 2 )對(duì)存儲(chǔ)容量的選擇
對(duì)用戶(hù)存儲(chǔ)容量只能作粗略的估算。在僅對(duì)開(kāi)關(guān)量進(jìn)行控制的系統(tǒng)中,可以用輸入總點(diǎn)數(shù)乘 10 字 / 點(diǎn)+輸出總點(diǎn)數(shù)乘 5 字 /
點(diǎn)來(lái)估算;計(jì)數(shù)器 / 定時(shí)器按( 3 ~ 5 )字 / 個(gè)估算;有運(yùn)算處理時(shí)按( 5 ~ 10 )字 / 量估算;在有模擬量輸入 /
輸出的系統(tǒng)中,可以按每輸入 / (或輸出)一路模擬量約需( 80 ~ 100 )字左右的存儲(chǔ)容量來(lái)估算;有通信處理時(shí)按每個(gè)接口 200
字以上的數(shù)量粗略估算。最后,一般按估算容量的 50 ~ 100 %留有裕量。對(duì)缺乏經(jīng)驗(yàn)的設(shè)計(jì)者,選擇容量時(shí)留有裕量要大些。
( 3 )對(duì) I/O 響應(yīng)時(shí)間的選擇
PLC 的 I/O 響應(yīng)時(shí)間包括輸入電路延遲、輸出電路延遲和掃描工作方式引起的時(shí)間延遲(一般在 2 ~ 3
個(gè)掃描周期)等。對(duì)開(kāi)關(guān)量控制的系統(tǒng), PLC 和 I/O 響應(yīng)時(shí)間一般都能滿(mǎn)足實(shí)際工程的要求,可不必考慮 I/O
響應(yīng)問(wèn)題。但對(duì)模擬量控制的系統(tǒng)、特別是閉環(huán)系統(tǒng)就要考慮這個(gè)問(wèn)題。
( 4 )根據(jù)輸出負(fù)載的特點(diǎn)選型
不同的負(fù)載對(duì) PLC
的輸出方式有相應(yīng)的要求。例如,頻繁通斷的感性負(fù)載,應(yīng)選擇晶體管或晶閘管輸出型的,而不應(yīng)選用繼電器輸出型的。但繼電器輸出型的 PLC
有許多優(yōu)點(diǎn),如導(dǎo)通壓降小,有隔離作用,價(jià)格相對(duì)較便宜,承受瞬時(shí)過(guò)電壓和過(guò)電流的能力較強(qiáng),其負(fù)載電壓靈活(可交流、可直流)且電壓等級(jí)范圍大等。所以動(dòng)作不頻繁的交、直流負(fù)載可以選擇繼電器輸出型的
PLC 。
( 5 )對(duì)在線和離線編程的選擇
離線編程示指主機(jī)和編程器共用一個(gè) CPU ,通過(guò)編程器的方式選擇開(kāi)關(guān)來(lái)選擇 PLC 的編程、監(jiān)控和運(yùn)行工作狀態(tài)。編程狀態(tài)時(shí), CPU
只為編程器服務(wù),而不對(duì)現(xiàn)場(chǎng)進(jìn)行控制。專(zhuān)用編程器編程屬于這種情況。在線編程是指主機(jī)和編程器各有一個(gè) CPU ,主機(jī)的 CPU
完成對(duì)現(xiàn)場(chǎng)的控制,在每一個(gè)掃描周期末尾與編程器通信,編程器把修改的程序發(fā)給主機(jī),在下一個(gè)掃描周期主機(jī)將按新的程序?qū)ΜF(xiàn)場(chǎng)進(jìn)行控制。計(jì)算機(jī)輔助編程既能實(shí)現(xiàn)離線編程,也能實(shí)現(xiàn)在線編程。在線編程需購(gòu)置計(jì)算機(jī),并配置編程軟件。采用哪種編程方法應(yīng)根據(jù)需要決定。
( 6 )據(jù)是否聯(lián)網(wǎng)通信選型
若 PLC 控制的系統(tǒng)需要聯(lián)入工廠自動(dòng)化網(wǎng)絡(luò),則 PLC 需要有通信聯(lián)網(wǎng)功能,即要求 PLC 應(yīng)具有連接其他 PLC 、上位計(jì)算機(jī)及
CRT 等的接口。大、中型機(jī)都有通信功能,目前大部分小型機(jī)也具有通信功能。
( 7 )對(duì) PLC 結(jié)構(gòu)形式的選擇
在相同功能和相同 I/O
點(diǎn)數(shù)據(jù)的情況下,整體式比模塊式價(jià)格低。但模塊式具有功能擴(kuò)展靈活,維修方便(換模塊),容易判斷故障等優(yōu)點(diǎn),要按實(shí)際需要選擇 PLC
的結(jié)構(gòu)形式。
2 .分配輸入 / 輸出點(diǎn)
一般輸入點(diǎn)和輸入信號(hào)、輸出點(diǎn)和輸出控制是一一對(duì)應(yīng)的。
分配好后,按系統(tǒng)配置的通道與接點(diǎn)號(hào),分配給每一個(gè)輸入信號(hào)和輸出信號(hào),即進(jìn)行編號(hào)。
在個(gè)別情況下,也有兩個(gè)信號(hào)用一個(gè)輸入點(diǎn)的,那樣就應(yīng)在接入輸入點(diǎn)前,按邏輯關(guān)系接好線(如兩個(gè)觸點(diǎn)先串聯(lián)或并聯(lián)),然后再接到輸入點(diǎn)。
( 1 )確定 I/O 通道范圍
不同型號(hào)的 PLC ,其輸入 / 輸出通道的范圍是不一樣的,應(yīng)根據(jù)所選 PLC
型號(hào),查閱相應(yīng)的編程手冊(cè),決不可“張冠李戴”。必須參閱有關(guān)操作手冊(cè)。
( 2 )部輔助繼電器
內(nèi)部輔助繼電器不對(duì)外輸出,不能直接連接外部器件,而是在控制其他繼電器、定時(shí)器 / 計(jì)數(shù)器時(shí)作數(shù)據(jù)存儲(chǔ)或數(shù)據(jù)處理用。
從功能上講,內(nèi)部輔助繼電器相當(dāng)于傳統(tǒng)電控柜中的中間繼電器。
未分配模塊的輸入 / 輸出繼電器區(qū)以及未使用 1 : 1
鏈接時(shí)的鏈接繼電器區(qū)等均可作為內(nèi)部輔助繼電器使用。根據(jù)程序設(shè)計(jì)的需要,應(yīng)合理安排 PLC 的內(nèi)部輔助繼電器。