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

1.2 PLC的組成與工作原理

1.2.1 PLC的基本組成

從圖1-6可以看出,PLC內部主要由中央處理器(CPU)、存儲器、輸入接口、輸出接口、通信接口和拓展接口等組成。

1.中央處理器

中央處理器由控制器、運算器和寄存器組成,這些電路都集成在一個芯片內。CPU通過數據總線、地址總線和控制總線與存儲單元、輸入輸出接口電路相連接。與一般計算機一樣,CPU是PLC的核心,它按PLC中系統程序賦予的功能指揮PLC有條不紊地進行工作。用戶程序和數據事先存入存儲器中,當PLC處于運行方式時,CPU按循環掃描方式執行用戶程序。

圖1-6 PLC的結構組成

2.存儲器

存儲器用于完成系統診斷、命令解釋、功能子程序調用管理、邏輯運算、通信及各種參數設定等功能。

3.輸入接口

輸入接口用來進行輸入信號的隔離濾波及電平轉換;輸入單元接口是PLC獲取控制現場信號的輸入通道。輸入接口電路由濾波電路、光電隔離電路和輸入內部電路組成,如圖1-7所示。

圖1-7 輸入接口電路

4.輸出接口

輸出接口用來對PLC的輸出進行放大及電平轉換,驅動控制對象。輸出接口電路由輸出鎖存器、電平轉換電路及輸出功率放大電路組成。PLC功率輸出電路有3種形式:繼電器輸出、晶體管輸出和晶閘管輸出,如圖1-8所示。

5.通信接口

每個S7-300/400 PLC均支持MPI協議。不必添加CP(通信處理器)便可將S7設備連接至MPI網絡,如圖1-9所示。

圖1-8 PLC功率輸出電路

a)繼電器輸出型 b)晶體管輸出型 c)晶閘管輸出型

圖1-9 MPI網絡

1.2.2 PLC的工作原理

PLC系統通電后,首先進行內部處理,包括:①系統的初始化,如設置堆棧指針,工作單元清零,初始化編程接口,設置工作標志及工作指針等;②工作狀態選擇,如編程狀態、運動狀態等。PLC系統工作過程對用戶編程來說影響不大,但是PLC在運行用戶程序時的工作過程對于用戶編程者來說關系密切,務必引起用戶編程人員注意。

嚴格地講,一個掃描周期主要包括:為保障系統正常運行的公共操作占用時間,系統與外界交換信息占用時間及執行用戶程序占用時間三部分,如圖1-10所示。對于用戶編程者來說,沒有必要詳細了解PLC系統的動作過程,但務必了解PLC在運行狀態執行用戶指令的動作過程。

PLC在運行狀態執行用戶指令的動作過程可分為3個時間段。第一階段是輸入信號采樣階段;第二階段是用戶指令執行階段;第三階段是結果輸出階段。

圖1-10 PLC典型的掃描周期

輸入信號采樣階段又叫輸入刷新(I刷新)階段,PLC以掃描方式順序讀入外面信號的輸入狀態(接通或斷開狀態),并將此狀態輸入到輸入映像存儲器中,PLC工作在輸入刷新階段,只允許PLC接受輸入口的狀態信息,PLC的第二、第三階段的動作處于屏蔽狀態。

用戶指令執行階段:PLC執行用戶程序總是根據梯形圖的順序先左后右,從上到下地對每條指令進行讀取及解釋,并送至輸入映像存儲器和輸出映像存儲器中讀取輸入和輸出的狀態,結合原來的各軟元件的數據及狀態進行邏輯運算,運算出每條指令的結果,并馬上把結果存入相應的寄存器(如果是輸出Q的狀態就暫存在輸出映像存儲器)中,然后再執行下一條指令,直至“END”。在進行用戶程序執行階段,PLC的第一階段和第三階段動作是處于屏蔽狀態的,即在此時,PLC的輸入口信息即使變化,輸入數據寄存器的內容也不會改變,輸出鎖存器的動作也不會改變。

結果輸出階段也叫輸出刷新(Q刷新)階段,當PLC指令執行階段完成后,輸出映像存儲器的狀態將成批輸出到輸出鎖存寄存器中,輸出鎖存寄存器對應著PLC硬件的物理輸出點,這時才是PLC的實際輸出。在Q刷新時,PLC對第一階段和第二階段是處于屏蔽狀態的。

輸入刷新、程序執行及輸出刷新構成PLC用戶程序的一個掃描周期。PLC內部設置了監視定時器(平時說的看門狗),用來監視每個掃描周期是否超出規定的時間,一旦超過,PLC就停止運行,從而避免了由于PLC內部CPU出現故障使程序運行進入死循環。

1.2.3 PLC的編程語言

1.梯形圖Ladder DiagramLAD

梯形圖是使用最多的PLC編程語言,如圖1-11所示。因與繼電器電路很相似,具有直觀易懂的特點,很容易被熟悉繼電器控制的電氣人員所掌握,特別適合于數字量邏輯控制。

圖1-11 梯形圖程序

2.語句表Statement ListSTL

語句表是類似于計算機匯編語言的一種文本編程語言,如圖1-12所示,由多條語句組成一個程序段。語句表適合于經驗豐富的程序員使用,可以實現某些梯形圖不能實現的功能。

圖1-12 語句表程序

3.功能塊圖Function Block DiagramFBD

功能塊圖類似于用布爾代數的圖形邏輯符號來表示控制邏輯,如圖1-13所示,一些復雜的功能用指令框表示,適合有數字電路基礎的編程人員使用。功能塊圖在國內很少有人使用。

圖1-13 功能塊程序

4.順序功能圖Sequential Function ChartSFC

順序功能圖用來編寫順序控制的程序,如圖1-14所示。編寫時,工藝過程被劃分為若干個順序出現的步,每步中包括控制輸出的動作,從一步到另一步的轉換由轉換條件來控制,特別適合于生產制造過程。

西門子STEP7中的該編程語言是S7 Graph。

5.結構化文本Structured TextST

結構化文本是為IEC61131-3標準創建的一種專用的高級編程語言,如圖1-15所示。與梯形圖相比,它可以實現復雜的數學運算,編寫的程序非常簡潔和緊湊。

圖1-14 S7 Graph程序

圖1-15 S7 SCL程序

STEP7中該編程語言是S7結構化控制語言(Structured Control Language,SCL),編程結構和C語言、Pascal語言相似,特別適合于習慣使用高級語言編程的人使用。

1.2.4 S7-300/400 PLC的存儲區

西門子S7-300/400 PLC的存儲區可以分為裝載存儲區、工作存儲區和系統存儲區。

1.裝載存儲器

裝載存儲器用于保存不包含符號地址和注釋的用戶程序和系統數據(組態、連接和模塊參數等)。有的CPU集成裝載存儲器,有的可以用微存儲器卡(Multi-Media Card,MMC)來擴展,CPU 31xC的用戶程序只能裝入插入式的MMC。斷電時數據保存在MMC存儲器中,數據塊的內容基本上永久保留。下載程序時,用戶程序被下載到CPU的裝載存儲器,CPU把可執行部分復制到工作存儲器,符號表和注釋保存在編程設備中。

2.工作存儲器

它是集成的RAM存儲器,用于存儲用戶程序和數據,包括組織塊、功能、功能塊、數據塊。為了保證程序執行的快速性和不過多占用工作存儲器,只有與程序執行有關的塊才會被裝入工作存儲器。復位CPU的存儲器時,工作存儲器中數據會被清除,但程序不會被刪除。

3.系統存儲器

系統存儲器是CPU為用戶運行程序提供的存儲區。系統存儲器被劃分成多個地址區,常用的存儲區有過程映像輸入區(I)、過程映像輸出區(Q)、外部設備輸入區(PI)、外部設備輸出區(PQ)、位存儲區(M)、定時器(T)、計時器(C)、數據塊寄存器(DB/DI)、本地數據寄存器(L)、累加器(ACCU)、地址寄存器(AR)和狀態字寄存器等。

1)過程映像輸入區(I)又稱輸入繼電器區,在每個掃描周期開始時,CPU將輸入模塊外部端子的狀態讀入過程映像輸入區,該過程稱為輸入刷新。在執行程序階段,CPU不理會新狀態值,直到下一個掃描周期開始才讀入新狀態值。

2)過程映像輸出區(Q)又稱輸出繼電器區,在執行程序階段,產生的各種輸出值不是馬上送往輸出模塊,而是先保存在過程映像輸出區,等程序執行結束后,CPU馬上將過程映像輸出區的這些輸出值送往輸出模塊,使之從輸出端子產生輸出,該過程稱為輸出刷新。

3)對外部輸入/輸出設備進行訪問,除了可以通過映像區外,還可以通過外部設備輸入/輸出區(PI/PQ)直接進行訪問。但通過外部設備輸入/輸出區訪問時,只能是按照字節、字、雙字來存取。由于過程映像區在CPU模塊中,所以訪問過程映像區要比外部設備輸入/輸出區速度快得多。

4)位存儲區(M)又稱輔助繼電器,輔助繼電器可分為普通型和保持型,普通型繼電器在CPU處于停止狀態時,其狀態全部復位。保持型繼電器在CPU處于停止狀態時,其狀態保持停止前的狀態。輔助繼電器通常用來保存中間結果。

5)定時器(T)相當于繼電器控制系統中的時間繼電器。定時器是由位和字組成的復合存儲單元,定時器用字單元存儲定時時間值,用位單元存儲定時器的觸點狀態。

西門子S7-300/400 PLC的S5定時器有5種,分別是脈沖定時器(SPULSE)、擴展脈沖定時器(SPEXT)、接通延時S5定時器(SODT)、保持型接通延時S5定時器(SODTS)和斷開延時定時器(SOFFDT)。定時器有普通型用途和保持型之分,通過STEP7編程軟件可以把普通型定義為保持型,或者將保持型定義為普通型。

6)計數器(C)用于計算計數脈沖上升沿的次數,計數器是由位和字組成的復合存儲單元,計數器用字單元存儲當前計數值,用位單元存儲計數器的觸點狀態。

S7-300/400 PLC的計數器有3種,分別是加計數器、減計數器和加減計數器。

7)數據塊可分為共享數據塊(DB)和背景數據塊(DI),共享數據塊用來存放數據,和位存儲區使用方法類似,唯一不同的是數據塊的存儲空間很大。背景數據塊直接分配給函數塊,作為函數塊的靜態變量。數據塊相當于S7-200/200 SMART PLC中的V區,不同的是共享數據塊相當于程序當中直接使用的V區,背景數據塊相當于在一些高級功能配置中進行存儲器分配時用到的V區,例如S7-200 SMART在做GET/PUT通信時要分配50個字節的V區地址,如圖1-16所示。

圖1-16 存儲器分配地址

8)本地數據寄存器(L)用于存儲邏輯塊(OB、FB和FC)中使用的臨時數據。

9)累加器(ACCU)是用于處理字節、字或雙字的寄存器,語句表程序中最為常用。S7-300 PLC有ACC1和ACC2兩個累加器,S7-400 PLC有ACC1、ACC2、ACC3和ACC4四個累加器。累加器為32位,可以按字節、字或雙字來存取,在按字節或字來存取時,數據都存放于累加器的低端,即以右端對齊為原則。

10)地址寄存器(AR):西門子S7-300/400 PLC中有兩個地址寄存器,分別是ARI和AR2,使用地址寄存器可以對各個存儲區的存儲單元進行寄存器尋址,地址存儲器的內容加上偏移量形成指針。

11)狀態字寄存器用于存儲CPU執行指令后的狀態,狀態字寄存器是一個16位寄存器,但它只用到了低9位(高7位未定義),狀態字寄存器各位的功能如圖1-17所示。狀態字寄存器的某些位用于判斷某些指令是否執行和以什么樣的方式執行,執行指令時可能改變狀態中的某些位。

圖1-17 狀態字寄存器各位的功能

狀態字寄存器的第0位為首次檢測位(FC)。CPU對梯形圖的第一條指令進行檢查,稱為首次檢查。首次檢查位在開始執行首次檢查時總是為0,在邏輯串指令執行過程中首次檢查位總是為1,邏輯執行完后會將首次檢查位清零。首次檢查的結果保存在RLO位(第1位),首次檢查后的RLO位狀態稱為首次檢查結果。

狀態字寄存器的第1位為邏輯結果狀態位(RLO)。當CPU執行邏輯指令或比較指令時,執行的結果保存在RLO位,如果RLO=1,表示有能流流到運算點;如果RLO=0,則表示無能流流到運算點。

狀態字寄存器的第2位為狀態位(STA)。執行位邏輯指令時,STA位值總是與該位的值一致。

狀態字寄存器的第3位為或位(OR)。在先邏輯“與”后邏輯“或”的邏輯運算中,OR位暫時保存邏輯“與”的操作結果,以便進行后面的邏輯“或”運算,在執行其他指令時,OR位會被清零。

狀態字寄存器的第4位為溢出位(OV)。在執行算術運算或浮點數比較指令時,如果出現錯誤(如溢出、非法操作和不規范的格式),溢出位被置1,后面的同類指令執行結果正常時,該位會清零。

狀態字寄存器的第5位稱為溢出狀態保持位(OS)。溢出存儲位是與OV位一起被置位的,而且在更新算術指令之后,它能夠保持這種狀態,也就是說,它的狀態不會由于下一個算術指令的結果而改變。這樣,即使是在程序的后面部分,也還有機會判斷數字區域是否溢出或者指令是否含有無效實數。OS位只有通過如下命令進行復位:JOS(若OS=1,則跳轉)命令、塊調用命令和塊結束命令。

狀態字寄存器的第6、7位為組合狀態位(CC0、CC1)。這兩位以狀態組合的形式反映了累加器1在CPU執行數學運算函數指令的結果、比較指令的結果,字邏輯指令的結果,移位指令或循環移位指令移出位的狀態。

狀態字寄存器的第8位為二進制結果位(BR)。它將字處理程序與位處理聯系起來,在一段既有位操作又有字操作的程序中,用于表示字邏輯是否正確。將BR位加入程序后,無論字操作結果如何,都不會造成二進制邏輯鏈中斷。在梯形圖的方塊指令中,BR位與ENO位(使能輸出位)有對應關系,用于表明方塊指令是否被正確執行:如果執行出現了錯誤,BR位為0,ENO位也為0;如果功能被正確執行,BR位為1,ENO位也為1。在用戶編寫的FB/FC程序中,應該對BR位進行管理,函數塊正確執行后,使BR位為1,否則使其為0。使用SAVE指令將RLO存入BR中,從而達到管理BR位目的。

S7-300/400的S5定時器和計數器數量取決于PLC的型號,越是高級的型號支持得越多,低級的型號相對支持得少。

當普通的定時器或計數器不夠用時,也可以使用IEC定時器和IEC計數器,IEC定時器和計數器分別是:加計數器CTU、減計數器CTD、加減計數器CTUD、脈沖定時器TP、通電延時定時器TON和斷電延時定時器TOF。IEC定時器和計時器在使用數量上沒有限制。

主站蜘蛛池模板: 苍山县| 桑日县| 昌平区| 大港区| 彭山县| 灵丘县| 思南县| 八宿县| 霍州市| 天等县| 嘉鱼县| 万盛区| 赞皇县| 黄梅县| 黄陵县| 成安县| 黄平县| 岑巩县| 东方市| 北碚区| 东安县| 凌海市| 迭部县| 谢通门县| 弥勒县| 吐鲁番市| 垫江县| 四平市| 阿图什市| 天峨县| 上思县| 什邡市| 鄂尔多斯市| 浑源县| 梓潼县| 娄烦县| 巩义市| 紫云| 吉首市| 清涧县| 灵丘县|