如何系統的從零開始學習PLC?

陞徲裕

如何系統的從零開始學習PLC,我以自身的經歷來說明下,對於剛畢業的同學來說,基礎或者是理論都是有的,缺乏的就是實踐,剛開始工作公司肯定沒有大項目、新項目給你做,一般是拿以前的舊機器進行改造練手,一定要抓住這個機會,這個階段沒有什麼壓力,這裡你可以隨意拆下每個電氣元件單獨進行學習如何控制。本人也是從這個階段走過來的,說實話這個時期很苦或者無奈,沒有人會幫你所有的有關的資料都給自己去查網上找說明書、操作手冊等等,

這裡學到的就是自己的。

PLC是自動化設備開發的核心,是工控中常用控制器,如何系統學習,按照從簡單到難的階段學習,可分為開關量學習、模擬量學習、通訊控制同時需要掌握上位機(人機界面)的設計。

1、開關量

開關量是最簡單的,兩種狀態,ON和OFF,PLC的基本單元就是開關量控制無論是輸入還是輸出。輸入按照開關頻率可分為低頻和高頻輸入開關,低頻開關→各類開關按如鈕、旋鈕、行程開關、接近開關(也可高頻),各種繼電器等,高頻開關就是開關頻率很快如脈衝輸入→編碼器。輸出也一樣分高低頻,低頻的輸出常控制一些開關如中繼、接觸器,高頻輸出一般是高速脈衝。這些東西你要了解和掌握接線方式,有兩線制的、三線制、四線制等等,還要注意類型PNP還是NPN。

2、模擬量

設備中的輸入輸出不僅僅是開關量,還有模擬量信號,比如各類傳感器(位移、溫度、電信號、壓力)輸出是以模擬信號給出的,各種設備的控制需要模擬量控制,如變頻器、整流櫃、壓力閥等。模擬量信號一般由電壓、電流信號,常用的0~10v,0(4)~20ma。這些信號就是各種量的表達,你需要在PLC中進行數據轉換,如變頻器頻率30.00Hz,你不可能直接讓PLC輸出這個頻率值,你得先把它轉換成數字量,數字量經過DA模塊轉換成模擬量才能控制變頻器的。說到這裡,PLC基本單元一般不帶模擬量,需要添加擴展模塊如AD和DA模塊。

3、通訊

當你掌握了PLC的開關量與模擬量控制後,你還需要知道通訊控制,工控的路就是幹到老學到老,不斷學習新的知識,通訊簡單來說就是採用某種通信協議將PLC與設備連接起來,設備的所有信號都能通過PLC發送指令來控制,不需要開關或者模擬量來完成,比如設備的啟停、控制量的大小,數據監控都能通過通訊完成,接線簡單。這裡你需要掌握有關通訊協議、還有設備的功能碼等內容,要有一定的計算機基礎,包括各類數據的轉換。

4、上位機(觸摸屏)

上位機就是你的PLC的狀態顯示和控制,使用上位機可以省去控制面板上的許多按鈕同時也美觀,重要的是與PLC控制的設備,你能在上位機上直接進行控制和設備工藝相關參數的修改,你需掌握上位機的編程,包括界面設計,PLC狀態與數值的設置以配合PLC進行控制。

基本上這四類掌握好後就可以進行自動化設備的開發了,這是個循序漸進的過程,不能著急,要有耐心以及堅持,基本一年左右就能掌握。工控之路你要知道“路漫漫其修遠兮,吾將上下而求索”的精神,祝你成功!


工控人

必備的前提條件

  • 編程需要堅強的毅力和足夠的耐心

有些人把編程看作一項冗長而枯燥的工作;有些人把編程看作一項趣味的智力遊戲。如果你是前者,強烈建議你遠離這份工作。畢竟編程工作是對人的毅力和耐心的挑戰。

  • 編程需要敢於實踐的信心

只有不斷地在PLC上運行這些指令,觀察運行的結果,才能弄清PLC指令的作用。很多初學者對PLC一臉的迷茫,往往是出於一種畏懼,擔心損壞設備。而這些畏懼是沒有任何道理的。仔細的閱讀手冊是非常重要的,但是僅靠讀書是成不了一個工程師的。更何況手冊上的內容並非面面俱到。在接觸到那些不熟悉的指令時,可以單獨編一個小程序,讓PLC運行。然後逐個修改條件,觀察運行的結果(MicroWin為用戶提供了非常好的監控手段),反過來再重新理解手冊的描述,這樣就可以非常直觀的理解這些指令的作用和使用方法。不必擔心自己寫的程序會有什麼問題,會影響PLC的正常工作。程序有沒有問題,只有讓PLC運行了才能發現。而發現問題並解決問題就是對自己能力的提高。撇開硬件操作不談,單就軟件來說,我還真沒有遇到過由於軟件問題而損壞PLC的事。在這裡不必擔心繼電器電路接錯線可能造成的後果。所以,大膽的實踐是PLC編程的必由之路。


當然,大膽實踐並不是野蠻操作,而是必須遵循必要的規範。還有一個要注意的,在程序未經可靠性證實之前,千萬不要掛接負載,以免造成不必要的損失。數字量的輸出有LED顯示;而模擬量處理可以採用一些硬件或軟件模擬手段來解決。

  • 編程需要有縝密的邏輯思維

編程本身就是一種邏輯思維過程。在高級語言中,使用最多的是if then else、select這些條件判別語句,這就是邏輯中的因果關係。PLC程序就是由這些因果關係組成的:判別條件是否成立,進而決定執行相應的指令。最初的PLC是用來替代繼電器邏輯電路的,所以繼承了繼電器電路以觸點作為觸發條件的描述方式。在PLC中,以虛擬觸點代替了繼電器的金屬觸點,而繼電器電路所表達的邏輯關係還是被完整的保留下來。即使引入了繼電器電路難以勝任的數值處理過程,PLC從根本上還是在執行一個個因果關係。所以,理順對象的各個事件之間的邏輯關係,是編程之前必須精心做好的準備工作。

  • 不可或缺的相關知識

PLC的程序是直接作用於對象的具體工藝過程,那麼對對象具體工藝過程的理解是非常重要的的。我在與用戶的交流過程中,會用我所掌握的Unit Operation的知識分析用戶的工藝過程,協助用戶整理過程控制中的各個邏輯關係,甚至包括各種儀表、硬件的配置。有兩門知識卻是不可或缺的:一是過程儀表的硬件知識,包括傳感器、變送器(二次儀表)和PLC本身,這是構建控制系統的基礎;二是過程控制理論,包括各種控制模型的原理和應用,其中最重要的是二位調節和PID調節模型。PID調節是目前用得最廣泛的過程控制手段,且變化多端。學習PID最好的方法就是讀書。幾乎所有講解過程控制的書籍都有關於PID的內容,多讀基本相關的書籍對理解PID是很有益處的。

  • 養成良好的編程習慣

每個人編程都會有不同的習慣和特點,不能強求一致。但是一些好的習慣還是應該為大多數人所遵循。一是理順邏輯關係、時序關係,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號表。

PLC編程更接近於單片機,或者說PLC就是模塊化的單片機。因此PLC的很多操作都是直接針對寄存器的,如果在程序中出現不合理的寄存器地址重疊,一定會出現不可預想的後果。編制寄存器符號表不僅可以避免上述問題(MicroWin會有問題提示),而且可以使程序具備更好的可讀性。這和VB中定義變量有異曲同工之處。

VB編程中關注的是事件,不強調主程序和子程序的觀念,因為VB主程序的工作是由PC的操作系統完成的。PLC則不然。PLC程序是以主程序為主幹的,CPU不斷的循環執行主程序,只有觸發條件成立時才會調用子程序或中斷程序。即子程序和中斷程序所執行的任務不是全時需要的。如果把這些任務都放在主程序中會無端增加主程序的工作量,降低程序的效率。這點和單片機的編程思路是一致的。子程序的使用可以使整個程序的邏輯更清晰。而且子程序可以分開編寫、調試,最後“安裝”到主程序上。這樣你可以一個一個解決問題。

PLC編程,無論是LAD,抑或STL,都不如VB那麼直觀、有趣,更不如CAD那麼形象。但比單片機的彙編語言的可視性強多了。對於初學者,LAD(梯形圖)的編程相對直觀,更容易上手。

最後,PLC提供了豐富的指令、模塊,比單片機方便了很多。但是初學者編程時應儘量先使用簡單的指令達到目的。具備了一定經驗後,應該考慮掌握複雜指令的應用,以及程序的優化。

學習PLC密決

1.不要看到別人的回覆第一句話就說:給個代碼吧!你應該想想為什麼。當你自己想出來再參考別人的提示,你就知道自己和別人思路的差異。

2.多看相關書籍。

3.學習新的開發軟件時,一定要看幫助手冊。

4.不要蜻蜓點水,得過且過,細微之處往往體現實力。

5.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡。

6.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看。別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍。

7.多實踐,調試,去寫去調,只用軟件模擬,是永遠成不了高手的。

8.保存好你做過的所有的源程序、原理圖等----那是你最好的積累之一。

9.多利用互聯網。

10.多去相關論壇看帖子。

如何學習PLC

弄通有關PLC程序設計理論是重要的。沒有這方面的理論準備或指導,僅靠在實踐中摸索,簡單的問題還好辦。複雜的就不好辦了。

但是,編程的具體實踐,以及在這個實踐中得來的知識或技能,即經驗,也是重要的。沒有經驗,僅有理論,既無法深刻理解理論,又無法靈活應用理論。

  • 經驗積累

經驗有別人的,也有自己的,都很重要。前者要靠細心學習,後者要靠用心積累,都要在一定的時間與必要的精力。

別人的經驗有上了書的或登載在雜誌上的。有的是細心學習別人的,但多數是我自己的經驗。還有就是同事的經驗,也是值得學習。自己的經驗則是最重要的。要在自己的實踐中,積累自己的經驗。同時,最好在學別人的經驗時,也能親自作些測試,能使自己也有類似的經歷,進而把這些經驗變成自己的。這也是自己經驗的重要積累。

還有一些失敗的經驗,這往往是不會公開的,但這些經驗也要學習,也要積累。

經驗的積累要用自己的腦記,更要用電腦記。最好作些分類,建立一個自用的程序庫,以便於隨時引用。

  • 經驗昇華

經驗還有待昇華。昇華有三個層次:

  1. 最低的層次就是建立一個典型的程序庫,供今後再用。若程序複雜,還可建一些功能塊,或子程序,以便以後引用。
  2. 其次,要總結出有效算法。如單按鈕起停程序庫等。
  3. 最高層次的昇華是把經驗上升到理論的高度,為豐富PLC程序設計理論作貢獻。

隨著PLC使用的普及與提高,是會有越來越多從經驗中昇華出來的,而又能用以指導實踐的PLC編程理論的。

  • 經驗應用

經驗積累、經驗昇華都是為了應用。經驗應用有三方面:

  1. 用作工程設計模板。設計新系統時,選用一個或幾個與現設計工程類似的,已取得成功的工程,作樣板進行設計。這既可減輕設計的工作量,又增加設計的成功率。這也是信息可重用的一大好處。


  2. 用作程序設計參考。在無成功的工程可作樣板時,在新設計的邏輯中,仍有相當一部分控制邏輯,可採用或借用已有典型邏輯,這也可減少設計的工作量,增加設計的成功率。

  3. 用作算法設計參考。在既無樣板可參照,又無典型可採用時,還可運用過去的一些成功的算法。

經驗是寶貴的,但是經驗特別是個人經驗,總是有限的。所以,經驗的應用也還要與編程理論相結合。

  • 收集資料

在收集資料時不僅要收集程序還要收集程序所附帶的工藝流程及I/O分配表。

  • 程序分類。在收集到前人的程序後,首先加以分類。以不同品牌的程序分類——再以不同功能細分。


  • 選擇程序加以理解。分類完成後就是慢慢的“消化”程序了。首先選擇自己熟悉的PLC程序或是自己將要用到的程序樣例下手,這樣理解起來比較容易。
  • 對於有工藝流程及I/O分配表的程序進行理解。
  1. 瞭解程序的工藝流程。

  2. I/O分配。把I/O分配表中的說明加在程序的註釋中。

  3. 理解中間位。在程序設計時肯定會用到諸多的中間位做轉接,然後搞清楚每一步或每一網絡所對應的中間位的功能,在程序中加以註釋。

  4. 理解定時器。程序中定時器的功能要清楚,特別是有時間日期控制的,定時器的功能是比較重要的。其意義也要記錄下來。


  5. 理解計數器。

  6. 理解陌生指令。在“消化”別人程序的過程中,不勉會看到一些自己沒用過或不熟悉的指令,這也是自己要重點理解的對象,要準備一份電子指令手冊隨時查找,並在程序中記錄。

  • 對於沒有任何說明的程序進行理解。

  1. 指令應用。對此類程序主要是注意程序中的指令應用。把指令截取下來,以指令名稱為為文件名另存在文件夾中。

  2. 分系統另存。對於能理解並能整理成系統程序加以另存,比如說程序中的時間系統、PID系統等等的程序。

  3. 所有的PLC指令都是大同小異的,當以後工作中能應用到的部分可以就地取材,舉一反三。

更重要的是要了解設備的工藝,只有熟悉了產品和掌握了程序的基本編寫方法,才能得心應手。

PLC基礎學習方法

學習PLC入門方法其實主要是兩點,1.選擇一個PLC,2邊學邊練。

  • 問題提出。

可編程控制器技術最主要是應用於自動化控制工程中,如何綜合地運用前面學過知識點,根據實際工程要求合理組合成控制系統,

在此介紹組成可編程控制器控制系統的一般方法。

  • 可編程控制器控制系統設計的基本步驟


系統設計的主要內容

  1. 擬定控制系統設計的技術條件。技術條件一般以設計任務書的形式來確定,它是整個設計的依據;

  2. 選擇電氣傳動形式和電動機、電磁閥等執行機構;

  3. 選定PLC的型號;

  4. 編制PLC的輸入/輸出分配表或繪製輸入/輸出端子接線圖;

  5. 根據系統設計的要求編寫軟件規格說明書,然後再用相應的編程語言(常用梯形圖)進行程序設計;

  6. 瞭解並遵循用戶認知心理學,重視人機界面的設計,增強人與機器之間的友善關係;


  7. 設計操作檯、電氣櫃及非標準電器元部件;

  8. 編寫設計說明書和使用說明書;

根據具體任務,上述內容可適當調整。

系統設計的基本步驟

1.深入瞭解和分析被控對象的工藝條件和控制要求

  • 被控對象就是受控的機械、電氣設備、生產線或生產過程。

  • 控制要求主要指控制的基本方式、應完成的動作、自動工作循環的組成、必要的保護和聯鎖等。對較複雜的控制系統,還可將控制任務分成幾個獨立部分,這種可化繁為簡,有利於編程和調試。

2.確定I/O設備

  • 根據被控對象對PLC;;

  • 控制系統的功能要求,確定系統所需的用戶輸入、輸出設備。常用的輸入設備有按鈕、選擇開關、行程開關、傳感器等,常用的輸出設備有繼電器、接觸器、指示燈、電磁閥等。

3.選擇合適的PLC類型

根據已確定的用戶I/O設備,統計所需的輸入信號和輸出信號的點數,選擇合適的PLC類型,包括機型的選擇、容量的選擇、I/O模塊的選擇、電源模塊的選擇等。

4.分配I/O點

分配PLC的輸入輸出點,編制出輸入/輸出分配表或者畫出輸入/輸出端子的接線圖。接著九可以進行PLC程序設計,同時可進行控制櫃或操作檯的設計和現場施工。

5.設計應用系統梯形圖程序

根據工作功能圖表或狀態流程圖等設計出梯形圖即編程。這一步是整個應用系統設計的最核心工作,也是比較困難的一步,要設計好梯形圖,首先要十分熟悉控制要求,同時還要有一定的電氣設計的實踐經驗。

6.將程序輸入PLC

當使用簡易編程器將程序輸入PLC時,需要先將梯形圖轉換成指令助記符,以便輸入。當使用可編程序控制器的輔助編程軟件在計算機上編程時,可通過上下位機的連接電纜將程序下載到PLC中去。

7.進行軟件測試

程序輸入PLC後,應先進行測試工作。因為在程序設計過程中,難免會有疏漏的地方。因此在將PLC連接到現場設備上去之前,必需進行軟件測試,以排除程序中的錯誤,同時也為整體調試打好基礎,縮短整體調試的週期。

8.應用系統整體調試

在PLC軟硬件設計和控制櫃及現場施工完成後,就可以進行整個系統的聯機調試,如果控制系統是由幾個部分組成,則應先作局部調試,然後再進行整體調試;如果控制程序的步序較多,則可先進行分段調試,然後再連接起來總調。調試中發現的問題,要逐一排除,直至調試成功。

9.編制技術文件

系統技術文件包括說明書、電氣原理圖、電器佈置圖、電氣元件明細表、PLC梯形圖。

PLC 硬件系統設計

1.PLC型號的選擇

在作出系統控制方案的決策之前,要詳細瞭解被控對象的控制要求,從而決定是否選用 PLC進行控制。

在控制系統邏輯關係較複雜(需要大量中間繼電器、時間繼電器、計數器等)、工藝流程和產品改型較頻繁、需要進行數據處理和信息管理(有數據運算、模擬量的控制、PID 調節等)、系統要求有較高的可靠性和穩定性、準備實現工廠自動化聯網等情況下,使用 PLC 控制是很必要的。

目前,國內外眾多的生產廠家提供了多種系列功能各異的PLC產品,使用戶眼花繚亂、無所適從。所以全面權衡利弊、合理地選擇機型才能達到經濟實用的目的。一般選擇機型要以滿足系統功能需要為宗旨,不要盲目貪大求全,以免造成投資和設備資源的浪費。機型的選擇可從以下幾個方面來考慮。

  • 對輸入/輸出點的選擇

盲目選擇點數多的機型會造成一定浪費。要先弄清除控制系統的I/O總點數,再按實際所需總點數的15~20%留出備用量(為系統的改造等留有餘地)後確定所需PLC的點數。

另外要注意,一些高密度輸入點的模塊對同時接通的輸入點數有限制,一般同時接通的輸入點不得超過總輸入點的60%;PLC。

每個輸出點的驅動能力(A/ 點)也是有限的,有的PLC其每點輸出電流的大小還隨所加負載電壓的不同而異;一般PLC的允許輸出電流隨環境溫度的升高而有所降低等。在選型時要考慮這些問題。

PLC的輸出點可分為共點式、分組式和隔離式幾種接法。隔離式的各組輸出點之間可以採用不同的電壓種類和電壓等級,但這種PLC平均每點的價格較高。如果輸出信號之間不需要隔離,則應選擇前兩種輸出方式的PLC。

  • 對存儲容量的選擇


對用戶存儲容量只能作粗略的估算。在僅對開關量進行控制的系統中,可以用輸入總點數乘10字/點+輸出總點數乘5字/點來估算;計數器/定時器按(3~5)字/個估算;有運算處理時按(5~10)字/量估算;在有模擬量輸入/輸出的系統中,可以按每輸入/(或輸出)一路模擬量約需(80~100)字左右的存儲容量來估算;有通信處理時按每個接口 200字以上的數量粗略估算。最後,一般按估算容量的50~100%留有裕量。對缺乏經驗的設計者,選擇容量時留有裕量要大些。

  • 對I/O響應時間的選擇

PLC的I/O響應時間包括輸入電路延遲、輸出電路延遲和掃描工作方式引起的時間延遲(一般在2~3個掃描週期)等。對開關量控制的系統,PLC和I/O響應時間一般都能滿足實際工程的要求,可不必考慮 I/O響應問題。但對模擬量控制的系統、特別是閉環系統就要考慮這個問題。

  • 根據輸出負載的特點選型


不同的負載對PLC的輸出方式有相應的要求。例如,頻繁通斷的感性負載,應選擇晶體管或晶閘管輸出型的,而不應選用繼電器輸出型的。但繼電器輸出型的PLC有許多優點,如導通壓降小,有隔離作用,價格相對較便宜,承受瞬時過電壓和過電流的能力較強,其負載電壓靈活(可交流、可直流)且電壓等級範圍大等。所以動作不頻繁的交、直流負載可以選擇繼電器輸出型的PLC。

  • 對在線和離線編程的選擇

離線編程示指主機和編程器共用一個CPU,通過編程器的方式選擇開關來選擇PLC的編程、監控和運行工作狀態。編程狀態時,CPU只為編程器服務,而不對現場進行控制。專用編程器編程屬於這種情況。在線編程是指主機和編程器各有一個CPU,主機的CPU完成對現場的控制,在每一個掃描週期末尾與編程器通信,編程器把修改的程序發給主機,在下一個掃描週期主機將按新的程序對現場進行控制。計算機輔助編程既能實現離線編程,也能實現在線編程。在線編程需購置計算機,並配置編程軟件。採用哪種編程方法應根據需要決定。

  • 據是否聯網通信選型

若PLC控制的系統需要聯入工廠自動化網絡,則PLC需要有通信聯網功能,即要求PLC應具有連接其他PLC、上位計算機及CRT等的接口。大、中型機都有通信功能,目前大部分小型機也具有通信功能。

  • 對PLC結構形式的選擇

在相同功能和相同I/O點數據的情況下,整體式比模塊式價格低。但模塊式具有功能擴展靈活,維修方便(換模塊),容易判斷故障等優點,要按實際需要選擇PLC的結構形式。

2 .分配輸入/輸出點

一般輸入點和輸入信號、輸出點和輸出控制是一一對應的。分配好後,按系統配置的通道與接點號,分配給每一個輸入信號和輸出信號,即進行編號。

在個別情況下,也有兩個信號用一個輸入點的,那樣就應在接入輸入點前,按邏輯關係接好線(如兩個觸點先串聯或並聯),然後再接到輸入點。

  • 確定I/O通道範圍

不同型號的PLC,其輸入/輸出通道的範圍是不一樣的,應根據所選PLC型號,查閱相應的編程手冊,決不可“張冠李戴”。必須參閱有關操作手冊。

  • 部輔助繼電器

內部輔助繼電器不對外輸出,不能直接連接外部器件,而是在控制其他繼電器、定時器/計數器時作數據存儲或數據處理用。從功能上講,內部輔助繼電器相當於傳統電控櫃中的中間繼電器。未分配模塊的輸入/輸出繼電器區以及未使用1:1。鏈接時的鏈接繼電器區等均可作為內部輔助繼電器使用。根據程序設計的需要,應合理安排PLC的內部輔助繼電器。

(整理自互聯網)


分享到:


相關文章: