- PLC編程入門及工程實例
- 張應龍
- 1752字
- 2019-01-03 00:13:12
1.4 PLC的編程語言
1.4.1 PLC的軟件組成
PLC的軟件由系統程序和用戶程序組成。
系統程序是由PLC制造廠商設計編寫的,并存入PLC的系統存儲器中,用戶不能直接讀寫與更改。系統程序一般包括系統診斷程序、輸入處理程序、編譯程序、信息傳送程序、監控程序等。
PLC的用戶程序是用戶利用PLC編程語言,按照不同的控制要求編制不同的控制任務用戶程序,相當于設計和改變繼電-接觸器控制的“硬接線”控制線路,只不過這里采用了“軟繼電器”等邏輯部件“軟接線”來實現輸入信號與輸出被控對象之間的邏輯關系,這就是PLC的“可編程序”。程序既可由編程器方便地送入PLC內部存儲器中,也能方便地讀出、檢查和修改。
在PLC的應用中,最重要的是用PLC的編程語言來編寫用戶程序,以實現控制目的。由于PLC是專門為工業控制而開發的裝置,其主要使用者是廣大電氣技術人員,為了滿足他們的傳統習慣和掌握能力,PLC的主要編程語言采用比計算機語言相對簡單、易懂、形象的專用語言。
PLC各廠家的編程語言、指令的條數和表達方式有較大區別。為電子技術制定全球性標準的世界性組織IEC(國際電工委員會)于1994年5月公布了PLC標準(IEC 61131),其第3部分是PLC的編程語言標準。目前已有越來越多的PLC廠家提供符合ⅢC 61131-3標準的產品。IEC 61131-3標準中定義了梯形圖LAD(Ladder Diagram)、指令表STL(Statement List)、順序功能圖SFC(Sequential Function Chart)、功能塊圖FBD(Functional Block Diagram)和結構文本ST(Structured Text)5種PLC編程語言。
其中,梯形圖和功能塊圖為圖形語言,指令表和結構文本為文字語言,順序功能圖是一種結構塊控制程序流程圖。
梯形圖編程語言形象直觀,類似電氣控制系統中繼電器-接觸器控制電路圖,邏輯關系明顯;指令表編程語言雖然不如梯形圖編程語言直觀,但鍵入方便;順序功能圖編程語言是一種較新的編程方法,適合于步進控制。
1.4.2 梯形圖(LAD)編程語言
梯形圖編程語言習慣上稱作“梯形圖”,它是在繼電器-接觸器控制系統中常用的接觸器、繼電器邏輯控制基礎上演變而來的。PLC梯形圖與繼電器-接觸器控制系統電路圖相呼應,在基本思想上是一致的,只是在表達方式、器件符號上有一定區別,如圖1-9所示。PLC梯形圖使用其內部的“軟元件”通過軟件程序來實現。

圖1-9 三相異步電動機的PLC控制
梯形圖按“從左到右、自上而下”的順序排列,最左邊的豎線稱為“起始母線”或“左母線”,然后按一定的控制要求和規則連接各個“軟觸點”,最后以繼電器“軟線圈”結束,稱為一個“邏輯行”或一個“梯級”,一般在最右邊還加上一條豎線,這一豎線被稱為“右母線”。通常一個梯形圖中有若干邏輯行或梯級,形似梯子,如圖1-9(c)所示,梯形圖由此得名。其主要特點是形象直觀、實用方便、修改靈活,深受技術人員歡迎,是目前使用最多的一種PLC編程語言,因此又被稱為“用戶第一語言”。
PLC的梯形圖是形象化的編程語言,雖然其基本思想與繼電器-接觸器控制系統電路圖相似,但PLC梯形圖左右兩側的母線不接任何電源。梯形圖中并沒有真實的物理電流流動,而僅僅是概念上的“電流”,或稱之為假想電流。把PLC梯形圖中左邊母線假想為電源線,右母線假想為電源地線,假想電流只能“從左向右”流動,層次只能“先上后下”。這里引入假想電流僅僅用于幫助理解梯形圖各個輸出點的動作,實際上并不存在這種電流。
1.4.3 指令表(STL)編程語言
指令表編程語言又稱為助記符語言,是PLC最基礎的編程語言。它類似于計算機中的匯編語言,采用一些容易記憶的助記符來表示PLC的某種操作,也是由操作符和操作數兩部分組成,但比匯編語言更直觀易懂。
操作符用助記符表示,如“LD”表示“取”、“OR”表示“或”、“AND”表示“與”等,用來執行要實現的功能,告訴CPU該進行什么操作,如邏輯運算的“與”、“或”、“非”,算術運算的“加”、“減”、“乘”、“除”,時間或條件控制中的“定時”、“計數”、“移位”等操作。
操作數表示被操作的對象或目標。
表1-1是與圖1-9(c)所示梯形圖相應的指令表。
表1-1 與圖1-9(c)所示梯形圖相應的指令表

不同廠家的PLC指令表使用的助記符并不相同,用戶必須先弄清楚PLC的型號及內部元件編號、使用范圍和每一條助記符的使用方法。
1.4.4 順序功能圖(SFC)編程語言
順序功能圖編程語言是一種較新的編程方法,目前國際電工委員會(IEC)正在著力發展這種新的編程標準。它是用像控制系統流程圖一樣的功能圖表達一個順序控制過程。不同廠家的PLC對這種編程語言所用的符號和名稱也不一樣。
- 精通JavaScript+jQuery:100%動態網頁設計密碼
- 軟件項目管理(第2版)
- LabVIEW Graphical Programming Cookbook
- C++面向對象程序設計(微課版)
- oreilly精品圖書:軟件開發者路線圖叢書(共8冊)
- Building Mapping Applications with QGIS
- C語言程序設計
- 持續集成與持續交付實戰:用Jenkins、Travis CI和CircleCI構建和發布大規模高質量軟件
- App Inventor少兒趣味編程動手做
- Machine Learning for OpenCV
- Mastering Embedded Linux Programming
- 視窗軟件設計和開發自動化:可視化D++語言
- 軟硬件綜合系統軟件需求建模及可靠性綜合試驗、分析、評價技術
- Mastering ASP.NET Web API
- 谷歌JAX深度學習從零開始學