plc編程學(xué)習(xí)要注意的地方
2020-05-04
plc編程,無論是lad,抑或stl,都不如vb那么直觀、有趣,更不如cad那么形象。但比單片機(jī)的的可視性強(qiáng)多了。對于初學(xué)者,lad(梯形圖)的編程相對直觀,更容易上手。
1.不可或缺的相關(guān)知識
c的程序是直接作用于對象的具體工藝過程,那么對對象具體工藝過程的理解是非常重要的的。我在與用戶的交流過程中,會用我所掌握的unitoperation的知識分析用戶的工藝過程,協(xié)助用戶整理過程控制中的各個邏輯關(guān)系,甚至包括各種儀表、硬件的配置。這得益于我原本所學(xué)的專業(yè)。當(dāng)然,不能要求所有搞plc程序的工程師都有我這樣的經(jīng)歷。但是有兩門知識卻是不可或缺的:一是過程儀表的硬件知識,包括、變送器(二次儀表)和plc本身,這是構(gòu)建控制系統(tǒng)的基礎(chǔ);二是過程控制理論,包括各種控制模型的原理和應(yīng)用,其中最重要的是二位調(diào)節(jié)和pid調(diào)節(jié)模型。pid調(diào)節(jié)是目前用得最廣泛的過程控制手段,且變化多端。學(xué)習(xí)pid最好的方法就是讀書。幾乎所有講解過程控制的書籍都有關(guān)于pid的內(nèi)容,多讀基本相關(guān)的書籍對理解pid是很有益處的。我發(fā)現(xiàn)不少網(wǎng)友在進(jìn)入plc領(lǐng)域時,缺乏這些相關(guān)知識。這并不可怕;可怕的是當(dāng)事者不能靜下心來彌補(bǔ)知識的缺陷。我們不要怪罪學(xué)校沒有教授這些內(nèi)容,而是要注重自己如何去學(xué)習(xí)這些知識。工作中遇到的許多問題是學(xué)校里沒講過的,這不能成為我們拒絕工作的理由,而應(yīng)該以積極的態(tài)度去應(yīng)對這些問題。我的體會是,為了解決工作中的問題而學(xué)習(xí)的知識,比課堂上學(xué)的東西更容易記住。
2.編程需要敢于實踐的信心
不斷地在plc上運(yùn)行這些指令,觀察運(yùn)行的結(jié)果,才能弄清plc指令的作用。很多初學(xué)者對plc一臉的迷茫,往往是出于一種畏懼,擔(dān)心損壞設(shè)備。而這些畏懼是沒有任何道理的。仔細(xì)的閱讀手冊是非常重要的,但是僅靠讀書是成不了一個工程師的。更何況手冊上的內(nèi)容并非面面俱到。我在接觸到那些不熟悉的指令時,喜歡單獨(dú)編一個小程序,讓plc運(yùn)行。然后逐個修改條件,觀察運(yùn)行的結(jié)果(microwin為用戶提供了非常好的監(jiān)控手段),反過來再重新理解手冊的描述,這樣就可以非常直觀的理解這些指令的作用和使用方法。不必?fù)?dān)心自己寫的程序會有什么問題,會影響plc的正常工作。程序有沒有問題,只有讓plc運(yùn)行了才能發(fā)現(xiàn)。而發(fā)現(xiàn)問題并解決問題就是對自己能力的提高。
3.養(yǎng)成良好的編程習(xí)慣
每個人編程都會有不同的習(xí)慣和特點(diǎn),不能強(qiáng)求一致。但是一些好的習(xí)慣還是應(yīng)該為大多數(shù)人所遵循。一是理順邏輯關(guān)系、時序關(guān)系,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號表。
plc編程更接近于,或者說plc就是模塊化的單片機(jī)。因此plc的很多操作都是直接針對寄存器的,如果在程序中出現(xiàn)不合理的寄存器地址重疊,一定會出現(xiàn)不可預(yù)想的后果。編制寄存器符號表不僅可以避免上述問題(microwin會有問題提示),而且可以使程序具備更好的可讀性。這和vb中定義變量有異曲同工之處。
最后,plc提供了豐富的指令、模塊,比單片機(jī)方便了很多。但是初學(xué)者編程時應(yīng)盡量先使用簡單的指令達(dá)到目的。盡管看上去有點(diǎn)土,卻不失為一個入門的好途徑,且對你理解那些較為復(fù)雜的指令會有幫助。具備了一定經(jīng)驗后,應(yīng)該考慮掌握復(fù)雜指令的應(yīng)用,以及程序的優(yōu)化。