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

第二節 S7-200 SMART PLC的編程元件及語言

一、基本數據類型與尋址方式

1 S7-200 SMART PLC的存儲器區域

S7-200 SMART PLC的存儲器分為用戶程序空間、CPU組態空間和數據區空間。

用戶程序空間用于存放用戶程序,存儲器為EEPROM;CPU組態空間用于存放有關PLC配置結構參數,如PLC主機及擴展模塊的I/O配置和編址、配置的PLC站地址、設置的保護口令、停電記憶保持區、軟件濾波功能等,存儲器為EEPROM;數據區空間是用戶程序執行過程中的內部工作區域,該區域存放輸入信號、運算輸出結果、計時值、計數值、高速計數值和模擬量數值等,存儲器為EEPROM和ROM。

數據區空間是S7-200 SMART CPU提供的存儲器的特定區域,數據區空間使CPU的運行更快、更可靠。S7-200 SMART PLC的數據存儲區按存儲器存儲數據的長短可劃分為字節存儲器、字存儲器和雙字存儲器等三類。字節存儲器有七個,如輸入映像寄存器(I)、輸出映像寄存器(Q)、變量存儲器(V)、位存儲器(M)、特殊存儲器(SM)、順序控制繼電器(S)、局部變量存儲器(L);字存儲器有四個,如定時器(T)、計數器(C)、模擬量輸入映像寄存器(AI)和模擬量輸出映像寄存器(AQ);雙字存儲器有兩個,如累加器(AC)和高速計數器(HC)。

用戶對用戶程序空間、CPU組態空間和部分數據區空間進行編輯,編輯后寫入PLC的EEP-ROM。RAM為EEPROM存儲器提供備份存儲區,用于PLC運行時動態使用。RAM由大容量電容做停電保持。

2 數據區空間存儲器的編址方式

在計算機中使用的數據均為二進制數,二進制數的基本單位是一個二進制位,八個二進制位組成一個字節,兩個字節組成一個字,兩個字組成一個雙字。

存儲器由許多存儲單元組成,每個存儲單元都有唯一的地址,可以依據存儲器地址來存取數據。數據區空間存儲器的單位可以是位、字節、字、雙字,編址方式也可以是位編址、字節編址、字編址和雙字編址。

(1)位編址 存儲器標識符+字節地址+位地址,如I0.1、M0.0、Q0.3等。如圖1-17所示,I1.4表示圖中黑色標記的位地址,I是輸入映像寄存器的區域標識符,1是字節地址,4是位號,在字節地址1和位號之間用點號“.”隔開。

圖1-17 位地址I1.4的表達方式

按照這種位編址方式編址的存儲區有輸入映像寄存器(I)、輸出映像寄存器(Q)、位存儲器(M)、特殊存儲器(SM)、局部變量存儲器(L)、變量存儲器(V)和順序控制繼電器(S)。

(2)字節編址、字編址和雙字編址 如圖1-18所示。

圖1-18 字節、字、雙字的編址方式

1)字節編址:存儲器標識符+字節長度(B)+字節號,如IB0、QB0、VB100等。

2)字編址:存儲器標識符+字長度(W)+起始字節號,如VW100表示VB100、VB101這兩個字節組成的字,其中VB100是高有效字節,VB101是低有效字節。

3)雙字編址:存儲器標識符+雙字長度(D)+起始字節號,如VD100表示由VW100、VW102這兩個字組成的雙字或由VB100、VB101、VB102、VB103這4個字節組成的雙字,其中VB100是最高有效字節,VB103是最低有效字節。

按照這種字節、字和雙字編址方式編址的存儲區有輸入映像寄存器(I)、輸出映像寄存器(Q)、位存儲器(M)、特殊存儲器(SM)、局部變量存儲器(L)、變量存儲器(V)、順序控制繼電器(S)、模擬量輸入映像寄存器(AI)和模擬量輸出映像寄存器(AQ)。

(3)其他編址方式 數據區空間存儲器區域中還包括定時器存儲器、計數器存儲器、累加器、高速計數器等,它們是模擬相關的電器元件,編址方式為區域標識符+元件號,例如,T24表示某定時器的地址,T是定時器的區域標識符,24是定時器號。

3 S7-200 SMART的基本數據類型及基本數制

(1)基本數據類型 在S7-200 SMART PLC的編程語言中,大多數指令要與數據對象一起進行操作。不同的數據對象具有不同的數據類型,不同的數據類型又具有不同的數制和格式選擇。因此,程序中所使用的數據需要指定一種數據類型,而在指定數據類型時,首先要確定數據大小及數據位的結構。S7-200 SMART PLC的基本數據類型及其范圍見表1-1。

表1-1 S7-200 SMART PLC的基本數據類型及其范圍

編程中經常會使用常數,常數數據長度可分為字節、字和雙字。在機器內部的數據都以二進制存儲,但常數的書寫可以用二進制、十進制、十六進制、ASCII碼或浮點數(實數)等多種形式。幾種常數形式說明如下:

1)二進制的書寫格式為“2#二進制數值”,如2#0101 1100 0010 1010;

2)十進制的書寫格式為“十進制數值”,如1052;

3)十六進制的書寫格式為“16#十六進制數值”,如16#8AC6;

4)ASCII碼的書寫格式為“‘ASCII碼文本’”,如‘good bye’;

5)浮點數的書寫格式按IEEE浮點數格式,如I0.5。

(2)PLC中常用數制

1)十進制。十進制是人們日常生活中最熟悉的進位計數制,十進制是一種以10為基數的計數法。在十進制中,數用0、1、2、3、4、5、6、7、8、9這十個符號來描述。計數規則是:逢十進一。

2)二進制。二進制是在計算機系統中采用的進位計數制,二進制是一種以2為基數的計數法,采用0、1兩個數值。計數規則是:逢二進一。在二進制中,用0和1兩個符號來描述,可以表示開關量的兩種不同狀態,如觸點的閉合與斷開,線圈的通電與斷電,指示燈的亮與滅等。在PLC梯形圖中如果某位為1,則表示該位觸點閉合和線圈通電;如果某位為0,則表示該位觸點斷開和線圈斷電;西門子PLC中二進制用前綴2#加數值來表示,如2#0001110就是8位的二進制。

3)八進制。八進制是一種以8為基數的計數法,采用0、1、2、3、4、5、6、7八個數字。計數規則是:逢八進一。在PLC中輸入與輸出的地址編號用八進制數表示,例如I0.0、I0.1…I0.7。

4)十六進制。十六進制是人們在計算機指令代碼和數據的書寫中經常使用的數制,十六進制是一種以16為基數的計數法,采用0、1…9、A、B…F等16個符號來描述。計數規則是:逢十六進一。西門子PLC中十六進制用前綴16#加數值來表示,例如16#0A。

5)BCD碼。BCD碼是用四位二進制數來表示一位十進制數中的0~9這十個數碼,是一種二進制的數字編碼形式,BCD碼和四位自然二進制碼不同的是,它只選用了四位二進制碼中的前十組代碼,即用0000~1001分別代表它所對應的十進制數,余下的六組代碼不用,例如十進制數中“6”的BCD碼是0110。

4 S7-200 SMART CPU模塊操作數的數值范圍

S7-200 SMART CPU模塊操作數的數值范圍見表1-2。

表1-2 S7-200 SMART CPU模塊操作數的數值范圍

二、PLC的編程元件

PLC在其系統軟件的管理下,將用戶程序存儲器(即裝載存儲區)劃分出若干個區,并賦予這些區不同的功能,分別稱為輸入繼電器、輸出繼電器、輔助繼電器、變量繼電器、定時器、計數器、數據寄存器等。

說明:在PLC內部,并不真正存在這些實際的物理器件,與其對應的只是存儲器中的某些存儲單元。

1 輸入繼電器I

輸入繼電器I就是PLC存儲系統中的輸入映像寄存器。它通過輸入繼電器,將PLC的存儲系統與外部輸入端子建立明確的關系,一般按“字節.位”的編址方式來讀取一個繼電器的狀態。

2 輸出繼電器Q

輸出繼電器Q就是PLC存儲系統中的輸出映像寄存器。它通過輸出繼電器,將PLC的存儲系統與外部輸出端子建立明確的關系,一般按“字節.位”的編址方式來讀取一個繼電器的狀態。

3 變量寄存器V

S7-200 SMART PLC中有大量的變量寄存器,用于模擬量控制、數據運算、參數設置及存放程序執行過程中控制邏輯操作的中間結果。其數量與CPU型號有關。

4 輔助繼電器M

輔助繼電器M的功能與傳統的繼電器控制電路中的中間繼電器相同,它借助于輔助繼電器的編程,可使輸入/輸出之間建立復雜的邏輯關系和聯鎖關系,以滿足不同的控制要求。

5 特殊繼電器SM

特殊繼電器SM用來存儲系統的狀態變量及有關的控制參數和信息。用戶可以通過特殊繼電器向PLC反映對操作的特殊要求以及溝通PLC與被控對象之間的信息,PLC通過特殊繼電器為用戶提供一些特殊的控制功能和系統信息。

例如:

SM0.0:運行監控,PLC在運行狀態時,SM0.0總為ON。

SM0.1:初始脈沖,PLC由STOP轉為RUN時,一個掃描周期為ON。

SM0.3:PLC上電進入運行狀態時,一個掃描周期為ON。

SM0.4:分時鐘脈沖,占空比為50%,周期為1min的脈沖串。

SM0.5:秒時鐘脈沖,占空比為50%,周期為1s的脈沖串。

SM0.6:掃描時鐘,一個周期為ON,下個周期為OFF,交替循環。

SMB28和SMB29:分別對應模擬電位器0和1的當前值,數值范圍為0~255。

6 定時器T

定時器T是PLC的重要的編程元件,它的作用與繼電器控制電路中的時間繼電器基本相似,用來實現按照時間原則進行控制的目的。定時器的設定值通過程序預先輸入,當滿足定時器的工作條件時,定時器開始定時,當前值從0開始增加;當達到設定值時定時器動作,其動合觸點和動斷觸點動作。表1-3為定時器的精度及編號。

表1-3 定時器的精度及編號

7 計數器C

計數器C的作用是對編程元件狀態脈沖的上升進行積累計數,從而實現計數操作。當條件滿足時,計數器開始計數,當前值達到設定值后,計數器的動合觸點和動斷觸點動作,實現計數操作。

S7-200 SMART PLC中計數器的數量為256個,范圍為C0~C255。它分為三種類型,即遞增計數、遞減計數和增/減計數。

8 狀態(順序控制)繼電器S

狀態繼電器S又稱狀態元件,是使用步進控制指令編程時的重要編程元件,用來組織機器操作或進入等效程序段工步,以實現順序控制和步進控制。順序控制繼電器用于順序功能圖法編程。每一個狀態繼電器可以用來代表控制狀態中的一個步序(能為編程提供方便),可以按位、字節、字或雙字來存取S位。S7-200 SMART PLC提供了256個狀態繼電器,編址范圍為S0.0~S15.7。

三、PLC的編程語言

PLC為用戶提供了完整的編程語言,以適應編制用戶程序的需要。PLC提供的編程語言通常有梯形圖(LAD)、指令表(ST)、順序功能流程圖(SFC)和功能塊圖(FBD)等幾種,下面以S7-200 SMART PLC為例加以介紹。

1 梯形圖

梯形圖(LAD)是國內使用得最多的圖形編程語言,被稱為PLC的第一編程語言。它沿用了電氣工程師熟悉的傳統繼電器控制電路圖的形式和概念,其基本控制思想與繼電器控制電路圖很相似,只是在使用符號和表達方式上有一定區別。圖1-19所示為一個典型的梯形圖。

圖1-19 PLC梯形圖

梯形圖是由兩條母線(左右兩條垂直的線)和兩母線之間的邏輯觸點和線圈按一定結構形式連接起來的類似于梯子的圖形(梯形圖常被稱為電路或程序,梯形圖的設計稱為編程)。梯形圖直觀易懂,很容易掌握,為了更好地理解梯形圖,這里把PLC與繼電器控制電路相對比做介紹,重點理解幾個與梯形圖相關的概念。

表1-4給出了PLC與繼電器控制電路的電氣符號對照關系。

表1-4 PLC與繼電器控制電路中的電氣符號對照關系

(1)軟繼電器(即映像寄存器) PLC梯形圖中的某些編程元件沿用了繼電器這一名稱,如輸入繼電器、輸出繼電器、內部輔助繼電器等,但是它們不是真實的物理繼電器,而是一些存儲單元(軟繼電器),每一個軟繼電器與PLC存儲器中映像寄存器的一個存儲單元相對應。該存儲單元如果為“1”狀態,則表示梯形圖中對應軟繼電器的線圈“通電”,其常開觸點接通,常閉觸點斷開,稱這種狀態是該軟繼電器的“1”或“ON”狀態。如果該存儲單元為“0”狀態,則對應軟繼電器的線圈和觸點的狀態與上述相反,稱該軟繼電器為“0”或“OFF”狀態。使用中也常將這些“軟繼電器”稱為編程元件。

(2)能流 當觸點接通時,有一個假想的“概念電流”或“能流”從左向右流動,這一方向與執行用戶程序時的邏輯運算的順序是一致的。能流只能從左向右流動。利用能流這一概念,可以幫助人們更好地理解和分析梯形圖。

(3)母線 梯形圖兩側的垂直公共線稱為母線。在分析梯形圖的邏輯關系時,為了借用繼電器電路圖的分析方法,可以想象左右兩側母線(左母線和右母線)之間有一個左正右負的直流電源電壓,母線之間有“能流”從左向右流動。右母線可以不畫出。

(4)梯形圖的邏輯運算 根據梯形圖中各觸點的狀態和邏輯關系,求出與圖中各線圈對應的編程元件的狀態,稱為梯形圖的邏輯運算。梯形圖中邏輯運算是按從左至右、從上到下的順序進行的。運算的結果馬上可以被后面的邏輯運算所利用。邏輯運算是根據輸入映像寄存器中的值,而不是根據運算瞬時外部輸入觸點的狀態來進行的。

2 指令表

指令表(ST)編程語言類似于計算機中的助記符語言,它是PLC最基礎的編程語言。所謂指令表編程,是用一個或幾個容易記憶的字符來代表PLC的某種操作功能。圖1-20所示為一個簡單的PLC程序,圖1-20a是梯形圖程序,圖1-20b是相應的指令表。一般來說,指令表編程適合于熟悉PLC和有經驗的程序員使用。

圖1-20 一個簡單的PLC程序

3 順序功能流程圖

順序功能流程圖(SFC)編程是一種圖形化的編程方法,亦稱功能圖,如圖1-21所示。使用它可以對具有并行、選擇等復雜結構的系統進行編程,許多PLC都提供了用于SFC編程的指令。目前,國際電工委員會(IEC)也正在實施并發展這種語言的編程標準。

圖1-21 順序功能流程圖

4 功能塊圖

S7-200 SMART PLC專門提供了功能塊圖(FBD)編程語言,利用FBD可以查看到像普通邏輯門圖形的邏輯盒指令。它沒有梯形圖編程器中的觸點和線圈,但有與之等價的指令,這些指令是作為盒指令出現的,程序邏輯由這些盒指令之間的連接決定。也就是說,一個指令(如AND盒)的輸出可以用來允許另一條指令(如定時器),這樣可以建立所需要的控制邏輯。這樣的連接思想可以解決范圍廣泛的邏輯問題。FBD編程語言有利于程序流的跟蹤,但在目前使用較少。圖1-22所示為FBD的一個簡單實例。

圖1-22 功能塊圖

主站蜘蛛池模板: 中江县| 长治县| 绥棱县| 三原县| 吉木乃县| 寿阳县| 宿迁市| 新巴尔虎右旗| 滕州市| 湘潭县| 蒙阴县| 鄂托克前旗| 张家川| 庄河市| 昌邑市| 天祝| 响水县| 旬阳县| 灵寿县| 义乌市| 密山市| 肥西县| 锡林浩特市| 綦江县| 蕉岭县| 彩票| 新蔡县| 广东省| 龙南县| 绵阳市| 南岸区| 桂林市| 清镇市| 重庆市| 沽源县| 泗洪县| 万全县| 弥渡县| 个旧市| 天等县| 桓台县|