PLC程式設計入門【梯形圖】 - IT閱讀
文章推薦指數: 80 %
摘要: 梯形圖(LAD)是PLC程式設計的最佳視覺化語言,它看起來非常類似於繼電器電路圖,因此如果你對繼電器控制和電子電路有所瞭解的話,那麼學起來 ...
科技
PLC程式設計入門【梯形圖】
軟體開發·
發表2018-12-1023:24:36
摘要:
梯形圖(LAD)是PLC程式設計的最佳視覺化語言,它看起來非常類似於繼電器電路圖,因此如果你對繼電器控制和電子電路有所瞭解的話,那麼學起來會非常容易!
在這個教程中,我們將學習關於使用梯形圖進行PLC程式設計的有關知識。
現在,讓我們開始吧!
什麼是梯形圖
梯形圖是一種PLC程式...
梯形圖(LAD)是PLC程式設計的最佳視覺化語言,它看起來非常類似於繼電器電路圖,因此如果你對繼電器控制和電子電路有所瞭解的話,那麼學起來會非常容易!
在這個教程中,我們將學習關於使用梯形圖進行PLC程式設計的有關知識。
現在,讓我們開始吧!
什麼是梯形圖
梯形圖是一種PLC程式語言,也被稱為梯形邏輯(LadderLogic)。
之所以稱為梯形圖,是因為這種程式由一條條水平線構成,看起來很像梯子。
梯形圖是為電氣工程師發明的,它是一種圖形化的程式語言,這意味著程式設計的過程不是採用文字,而是組合各種不同的圖形符號,由於目標使用者是電氣工程師,因此採用的符號非常類似於電路符號,以便於電氣工程師理解。
梯形圖主要用於位邏輯操作,其規範有PLCOpen負責制定,因此梯形圖是標準化的PLC程式語言,該標準為IEC61131-3。
如何閱讀梯形圖
梯形圖和電路圖的一個區別在於編制繪製方法不同。
梯形圖通常從左到右、從上到下編制,原因在於:
1.更容易讀圖
我們的眼睛自然地從左向右讀圖,然後繼續到下一行,就像你閱讀的時候一樣。
2.易於在計算機上編制
當在計算機上編制梯形圖時,你可以一次編制一行。
當繪製出越來越多的行時,它們將疊加在一起,看起來就像一個梯子。
檢視一個行數眾多的梯形圖的最佳方式,就是沿著螢幕上下滾動。
3.執行的順序
最後一個原因在執行的順序,也就是PLC執行梯形圖的先後順序,更確切的說,就是梯形圖中的指令如何依次執行:PLC總是從梯形圖頂部開始,然後依次向下執行。
梯形圖看起來非常像電路圖。
大多數人也是這樣開始學習編制梯形邏輯圖的。
但是還是有一些不同之處,主要的差異在於:
PLC每次執行梯形圖的一行,然後才繼續下一行
電氣系統則是許多回路同時啟用
瞭解了這些關鍵的區別,現在讓我們開始學習梯形邏輯。
梯形圖基礎
建立梯形圖時,你首先看到的就是兩條豎線,就是在這兩條豎線之間進行梯形圖的編制,其中每一條水平線被稱為一個Rung(橫線):
梯形邏輯符號就放置在這些水平線上,正如你在上圖中看到的,我在每一個水平線上標記了數字,以便於理解PLC是如何執行梯形邏輯的。
你可能聽說過PLC掃描時間或掃描週期,簡單地說,PLC首先掃描其輸入,然後執行程式,最後設定輸出。
但是PLC如何執行我們的梯形邏輯?
一次一條水平線。
這可能是梯形邏輯的最重要的一條規則:PLC一次只能執行一條水平線,然後才是下一條。
實際上,PLC只能一次執行一個邏輯符號。
編寫梯形邏輯
梯形邏輯中的每個符號都是一個指令,初看起來這相當令人困惑。
但是別擔心,我將用簡單的例子加以解釋。
讓我給你一個簡單的例項,在這個例子當中將引入兩個梯形邏輯符號。
那麼,這些符號或指令到底是什麼?
它們是基本的邏輯指令,讓你可以建立一小段邏輯,也就是你的PLC程式。
如果你仔細看下面的示例,可以看到兩個指令(符號):
閉路檢查指令
第一個指令被稱為閉路檢查,指令的符號看起來是這樣:
這是一個條件指令,意思是說這個指令用來檢查某個條件是否滿足,例如檢查某個資料位是否處於ON的狀態。
閉路檢查指令用來檢查某個地址的特定位,在上圖中指的是一個數字輸入的特定位,它也可以是記憶體位,甚至是輸出位。
閉路檢查指令也被稱為常開指令,基本上它類似於電路中的常開觸點,因此可以對應於一個點動開關。
需要指出的是,每個閉路檢查指令必須要設定PLC中的一個地址。
輸入和輸出都是PLC中的記憶體點位。
在上面的示例中,閉路判斷指令設定地址I0.0作為條件,這個地址屬於PLC的第一個輸入。
其工作原理如下:
當PLC掃描週期開始,PLC將首先檢查所有輸入的狀態,然後將輸入狀態(0或1)寫入記憶體中,如果輸入是LOW,那麼對應的記憶體位置位0,如果輸入是HIGH,則對應的記憶體位置為1.
輸出線圈指令
每個指令本身在PLC記憶體中也有個位置,PLC會將指令的結果存入。
要了解PLC使用結果做什麼,讓我們看下一個指令:
輸出線圈指令用來開啟或關閉一個數據位。
正如你看到的,該符號位於水平線的右側,意思是(同一水平線上)之前的指令作為該指令的條件。
在我們的示例中,之前的指令就是閉路檢查指令。
讓我們檢查下該指令的最終結果,來了解其工作過程:
PLC掃描|輸入->I0位元組
程式執行|I0.0->Xic結果
在上面的動畫中,你會看到PLC首先掃描所有的輸入,並將輸入狀態存入記憶體。
一個記憶體位元組是彼此相鄰的8位。
一旦PLC儲存了所有輸入的狀態,程式將開始執行。
第一個要執行的指令是閉路檢查指令,該指令的結果與記憶體位狀態一致——這也是該指令被稱為常開指令的原因——在正常狀態(記憶體位為0),觸點將保持常開,結果將為0,但是如果記憶體位為1,觸點將閉合,結果也變為1。
最後,讓我們看這條線的輸出:
XiC結果->輸出線圈
輸出線圈->輸出位元組
現在,輸出線圈指令使用了前序指令的結果作為條件。
這被稱為RLO(邏輯操作結果)。
邏輯操作結果儲存在PLC記憶體中的特定位置。
在西門子S7系列PLC中,這個位置被稱為狀態字。
在PLC術語中,一個WORD是16位,或2個位元組。
輸出線圈指令很簡單,它只是將其結果設定為與條件相同的值。
在PLC中所有的數字輸出也對映到記憶體地址。
我們將其稱為輸出位,因此地址Q0對應Q0.0-Q0.7.輸出線圈指令的結果將被寫入記憶體位Q0.0。
當PLC執行完整個程式,它將設定輸出。
每個輸出被設定為與輸出記憶體位一致的狀態。
掃描週期這個概念非常重要,當你在編制梯形邏輯時一定要記住。
否則你的程式可能會有奇怪的行為。
我們將在下一個示例中展示這一點,同時引入3個新的梯形邏輯指令。
輸出鎖存
在前面的示例中,我們學會了如何讀取數字輸入的狀態,並將數字輸出設定為同樣的狀態。
需要指出數字輸入是一個暫態按鈕,因為它內部有個彈簧,這意味著按鈕只有在你一直按下時才會保持啟用。
上面的梯形圖可以正常工作,不過你可能注意到,只有輸入啟用時輸出才會啟用。
因此你不得不用手指一直按住按鈕,才能讓輸出保持啟用。
但是想一下,如果輸出控制的是一個通風系統裡的風機,那麼要求操作員一直按著按鈕就很不合理了。
我們需要一個辦法來保持輸出啟用,即使操作員已經釋放了按鈕。
在梯形邏輯中,有兩種辦法實現這一點:
如果你熟悉電路,就會發現這很類似,這杯稱為鎖存(Latching)或者自我保持(selfholding)。
這個名稱揭示了其工作原理:線圈簡單的維持自己前一個掃描週期的狀態。
讓我們單步分析一下:
當PLC第一次執行這個梯形邏輯程式時(按下按鈕時),輸出將被啟用,就像前一個例子一樣。
有趣的事情發生在後續執行邏輯的時候。
因為這是一個暫態按鈕,它不會一直啟用。
依賴於PLC程式的執行總時長,按鈕可能在第二次、第三次或第四次執行時不再啟用。
讓我們進入按鈕釋放之後的第一個掃描週期。
輸出還處於啟用狀態,因為上一個掃描週期按鈕被按下。
這時PLC將再次讀取輸入並存入對應的記憶體位。
記憶體位I0.0”這次將存入“0”。
因此I0.0的閉路判斷指令結果為false或“0”。
但是你可以看到,還有另一個並行的閉路判斷指令,不過該指令的條件是輸出記憶體位,因此其結果為true或“1”,因為這是輸出還處於啟用狀態。
只要輸出記憶體位是“1”,輸出就會啟用,它就像自己的條件一樣。
自保持指令與其他指令並聯的原因在於構造一個OR條件,在這個示例當中,I0.0或Q0.0中的一個為true都會啟用輸出。
開路檢查指令
你剛學習瞭如何編制一個有用的PLC梯形圖程式。
一個啟用輸出的按鈕。
在我們的示例中,這個可能是連線到一個風機的觸點,輸出可以自保持。
但是這個程式有個問題,怎麼關掉風機?
我們希望能夠再次關掉風機。
最簡單的方法是新增一個停機按鈕,該按鈕將連線到PLC的第二個輸入,因此其記憶體地址為I0.1。
問題是,我們為停機按鈕使用什麼指令?更重要的,我們應當將其放在梯形圖的哪裡?
第一個問題的答案是另一個梯形邏輯指令:開路檢查指令,它看起來如下:
這個指令和閉路檢查指令的工作方式恰恰相反,其結果是條件的反轉。
這意味著,如果條件為“0”,那麼結果為“1”,反之亦然。
如果你考慮一下,就會發現這恰恰就是我們希望停機按鈕做的事情。
要關閉輸出線圈,我們必須給出條件“0”。
現在是第二個問題,在哪裡放置這個指令?
我們需要將其放在自鎖指令之後,或者說,串聯起來。
否則當停機按鈕按下時,還是會輸出“1”。
現在,梯形邏輯如下:
你可以看到開路檢查指令將其條件的反轉結果傳遞給輸出線圈。
要再次啟用輸出,就需要再次按下啟動按鈕。
在上面的示例中,我使用了一個開路判斷指令作為停機按鈕。
這不是好的實踐!
我們最終遵循最佳實踐,修改後的梯形圖如下:
雖然我們修改了指令,梯形圖的執行沒有變化,這是因為我們同樣修改了物理停機按鈕的工作方式。
原文:ofollow,noindex">LadderLogicTutorialforBeginners
匯智網翻譯整理,轉載請標明出處。
來源:學習軟體程式設計
您可能也會喜歡…
JAVANIO程式設計入門(二)
java程式設計入門4異常處理
java程式設計入門6java語言基礎與流程控制
Python程式設計入門——基礎語法詳解(經典)
TensorFlowProbability概率程式設計入門級實操教程
程式設計正規化——函數語言程式設計入門
面向聰明小白的程式設計入門教程照貓畫貓(Part3)
面向聰明小白的程式設計入門教程開始敲程式碼(Part4)
面向聰明小白的程式設計入門教程深入Qt(Part6)
面向聰明小白的程式設計入門教程做點有意思的東西(Part7)
贊助商廣告
上一則正面開孔全面屏、背面三攝像頭,三星釋出GalaxyA8s|鈦快訊
下一則開箱評測:2018新款AppleWatch磁力充電基座(A2086)
南方都市報
首款搭載華為鴻蒙作業系統產品釋出
2019-08-1107:04:50
有道熱點
摩拜第一,4家企業退出或整改,北京如何給共享單車打分?
2019-08-1107:04:03
有道熱點
事關8000萬人!馬雲的相互寶分攤費為何增長到1.48元?最新迴應來了
2019-08-1107:03:59
真相君
董明珠不服輸,贏雷軍10億賭約,還不放棄做手機正研發5G手機
2019-08-1107:02:45
真相君
失望於美國?華為或將放棄等待安卓,“鴻蒙”手機將於這時問世?
2019-08-1107:02:31
每日經濟新聞
重新評估網際網路巨頭:究竟是中國崛起的奠基石還是埋藏危機的落井石?
2019-08-1106:15:59
千龍網
首款搭載鴻蒙產品“榮耀智慧屏”釋出
2019-08-1101:12:27
參考訊息
華為告訴你,六年後我們的世界會變成什麼樣——
2019-08-1100:37:23
搜狐焦點廣州站
傳郭臺銘610億增城專案將易主當地宣傳部迴應:專案正常推進
2019-08-1100:03:44
新京報
鴻蒙系統面世華為:並非做另一個安卓
2019-08-1000:33:30
新京報
“鴻蒙”面世
2019-08-1000:32:27
環球網
社評:鴻蒙,中國高科技突圍的英勇帶動點
2019-08-1000:17:12
環球網
華為開發者大會開幕:鴻蒙OS、EMUI10.0等悉數亮相
2019-08-1000:10:55
央視財經
App收集隱私將有“國標”!個人資訊有望不再“裸奔”!
2019-08-1000:10:32
新策展資訊圈
能源需求側綜合管理
2019-08-1000:03:28
Android
WEB開發
其它
0.0010669231414795
延伸文章資訊
- 1自動控制教學-PLC教學,伺服馬達教學 - 台灣電驛科技
講師產業經驗豐富,曾任國立科大、國家職訓中心講師,科技公司講師及顧問,從事自動化產業近20年,領域涵蓋plc程式設計、人機介面設計、電路設計、運動控制、機器手臂 ...
- 2PLC程式設計入門【梯形圖】 - IT閱讀
摘要: 梯形圖(LAD)是PLC程式設計的最佳視覺化語言,它看起來非常類似於繼電器電路圖,因此如果你對繼電器控制和電子電路有所瞭解的話,那麼學起來 ...
- 3三菱PLC 基本指令介紹
三菱PLC 基本指令介紹. FX2N 系列可程式控制器,提供了所謂的基本指令、步進階梯圖指令和應用. 指令,本章主要介紹基本指令的用法,基本指令如表5-1 所示:.
- 4PLC自動化教學中心
專長:三菱/基恩斯/台達PLC可程式設計/ 歐美系列奇異/安川單軸控制器程式設計. ◇專長:各大廠牌人機介面設計/研華SCADA圖控設計. ◇專長:C#.C++/MSSQL/MYSQL/ASP.
- 5第1 章:PLC 階梯圖程式基本原理及簡碼指令之轉譯法則
本章將介紹PLC 階梯圖程式之基本原理, 以及將階梯圖程式轉換成簡碼指令. ( Mnemonic)之轉譯法則。 1.1 階梯圖工作原理. 階梯圖為二次世界大戰期間所發展出來之自動控制 ...