官术网_书友最值得收藏!

3.1 PLC的編程語言

3.1.1 PLC編程語言的國際標準

PLC是專為工業控制而開發的裝置,主要使用者是企業電氣技術人員。為了適應他們的傳統習慣和掌握能力,通常PLC不采用計算機編程語言,而采用面向控制過程、面向問題的“自然語言”編程。1993年12月國際電工委員會(IEC)公布了IEC 61131-3可編程邏輯控制器的編程語言標準,規范了可編程控制器的編程語言及其基本元素。自IEC 61131-3正式公布后,它獲得了廣泛的接受和支持:

①國際上各大PLC廠商都宣布其產品符合該標準的規范,在推出其編程軟件新產品時,遵循該標準的各種規定。

②許多稍后推出的DCS產品,或者DCS的更新換代產品,也遵照IEC 61131-3的規范,提供DCS的編程語言。

③以PC為基礎的控制作為一種新興控制技術正在迅速發展,大多數PC控制的軟件開發商都按照IEC 61131-3的編程語言標準規范其軟件產品的特性。

④正因為有了IEC 61131-3,才真正出現了一種開放式的可編程控制器的編程軟件包,它不具體地依賴于特定的PLC硬件產品,這就為PLC的程序在不同機型之間的移植提供了可能。

IEC 61131-3編程語言標準詳細闡述了5種編程語言,如圖3-1所示。具體情況如下:

①梯形圖(Ladder Diagram,LD);

②功能塊圖(Function Block Diagram,FBD);

③指令表(Instruction List,IL);

④結構文本(Structured Text,ST);

⑤順序功能圖(Sequential Function Chart,SFC)。

圖3-1 PLC的編程語言

其中,梯形圖(LD)和功能塊圖(FBD)為圖形語言;指令表(IL)和結構文本(ST)為文字語言;順序功能圖(SFC)是一種結構塊控制流程圖。

3.1.2 梯形圖及其編程規則

梯形圖是PLC編程中使用最多的圖形編程語言,其基本結構形式如圖3-2所示。它是在繼電器控制電路的基礎上演繹出來的,因此分析梯形圖的方法和分析繼電器控制電路的方法非常相似。

圖3-2 梯形圖基本結構形式

(1)梯形圖編程的基本概念

梯形圖通常由觸點、線圈、功能框三個基本編程要素構成。為了進一步了解梯形圖,需要弄清以下幾個基本概念。

①能流 在梯形圖中,為了分析各個元器件輸入輸出關系而引入的一種假象的電流,稱之為能流(Power Flow)。通常認為能流是按從左到右的方向流動,能流不能倒流,這一方向與執行用戶順序時的邏輯運算關系是一致的,如圖3-2所示。在圖3-2中,在X0閉合的前提下,能流有4條路徑,現以其中的2條為例給予說明:一條為觸點X0、X1和線圈Y0構成的電路;另一條為觸點Y0、X1和線圈Y0構成的電路。

利用能流這一概念,可以幫助我們更好地理解和分析梯形圖。能流只能從左向右流動,層次改變只能從上向下。

②母線 梯形圖中兩側垂直的公共線稱之為母線(Bus Bar)。母線可分為左母線和右母線。通常左母線不可省,右母線可省,能流可以看成由左母線流向右母線,如圖3-2所示。

③觸點 觸點表示邏輯輸入條件。觸點閉合表示有“能流”流過,觸點斷開表示無“能流”流過。常用的觸點有常開觸點和常閉觸點2種,如圖3-2所示。

④線圈 線圈表示邏輯輸出結果。若有“能流”流過線圈,線圈吸合,否則斷開。

⑤功能框 代表某種特定的功能?!澳芰鳌蓖ㄟ^功能框時,則執行功能框的功能。功能框代表的功能有多種,如數據傳遞、移位、數據運算等,如圖3-2所示。

(2)軟觸點

PLC梯形圖中的某些編程元件沿用了繼電器這一名稱,如輸入繼電器、輸出繼電器、內部輔助繼電器等,但是它們不是真實的物理繼電器,而是一些存儲單元,每個軟繼電器的觸點與PLC存儲器中映像寄存器的一個存儲單元相對應,所以這些觸點稱為軟觸點。這些軟觸點的“1”或“0”狀態代表著相應繼電器觸點或線圈的接通或斷開。而且對于PLC內部的軟觸點,該存儲單元如果為“1”狀態,則表示梯形圖中對應軟繼電器的線圈通電,其常開觸點()接通,常閉觸點()斷開。在繼電器控制系統的接線中,觸點的數目是有限的,而PLC內部的軟觸點的數目和使用次數是沒有限制的,用戶可以根據控制現場的具體要求在梯形圖程序中多次使用同一軟觸點。觸點與線圈在梯形圖程序與動態檢測中所代表的意義如表3-1所示。

表3-1 梯形圖程序中觸點與線圈所代表的意義

(3)梯形圖設計規則

①由于梯形圖中的線圈和觸點均為“軟繼電器”,因此同一標號的觸點可以反復使用,次數不限,這也是PLC區別于傳統控制的一大優點。

②每個梯形圖由多層邏輯行(梯級)組成,每層邏輯行起始于左母線,經過觸點的各種連接,最后結束于線圈,不能將觸點繪制在線圈的右側,只能在觸點的右側接線圈。每一邏輯行實際代表一個邏輯方程。

③梯形圖中的“輸入觸點”僅受外部信號控制,而不能由內部繼電器的線圈將其接通或斷開,即線圈不能直接與左母線相連接。所以在梯形圖中只能出現“輸入觸點”,而不可能出現“輸入繼電器的線圈”。

④在多個串聯回路相并聯時,應將觸點最多的那個串聯回路放在梯形圖的最上面。在多個并聯回路相串聯時,應將觸點最多的并聯回路放在梯形圖的最左面。這種安排所編制的程序簡潔明了,指令較少。

⑤觸點應繪制在水平線上,不能繪制在垂直分支上。被繪制在垂直線上的觸點,難以正確識別它與其他觸點間的關系,也難以判斷通過觸點對輸出線圈的控制方向。因此梯形圖的書寫順序是自左至右、自上至下,CPU也按此順序執行程序。

⑥梯形圖中的觸點可以任意串聯、并聯,但輸出線圈只能并聯,不能串聯。

3.1.3 指令表

指令表(語句表)是一種類似于微機匯編語言的文本語言,指令表表達式與梯形圖有一一對應的關系。每一條指令表指令都包含操作碼和操作數兩部分,其中操作碼表示操作功能(例如LD、OR、ANI、OUT等),操作數表示指定的存儲器的地址,操作數一般由標識符和地址碼組成(例如X001、X002、M0、Y000等),如圖3-3所示。

圖3-3 指令表的構成圖

3.1.4 順序功能圖

順序功能圖(狀態轉移圖)是一種圖形語言,主要用來描述開關量順序控制系統,根據它可以很容易繪制出順序控制梯形圖程序,如圖3-4所示。它是一種較新的編程方法,主要由步、有向連線、轉換條件和動作等要素組成。在順序程序的編寫時,往往根據輸出量的狀態將一個完整的控制過程劃分為若干個階段,每個階段就稱為步,步與步之間有轉換條件,且步與步之間有不同的動作。當上一步被執行時,滿足轉換條件立即跳到下一步,同時上一步停止。在編寫順序控制程序時,往往先畫出順序功能圖,然后再根據順序功能圖寫出梯形圖,經過這一過程后使程序的編寫大大簡化。

圖3-4 順序功能圖

主站蜘蛛池模板: 太谷县| 吴旗县| 白银市| 灌南县| 滨州市| 武隆县| 汉源县| 云阳县| 宁陵县| 贵港市| 上林县| 南阳市| 兰考县| 潮州市| 霍邱县| 阜南县| 金华市| 霸州市| 兴义市| 黄浦区| 无锡市| 定结县| 连江县| 湖北省| 广水市| 东光县| 罗江县| 东辽县| 张家界市| 宝鸡市| 大埔区| 泗洪县| 梅州市| 神木县| 清水河县| 堆龙德庆县| 金华市| 东方市| 英吉沙县| 林甸县| 高州市|