第15講可編程控制器之一 知識點15.1可編程控制器的組成與工作原理 知識點15.2S7‐程序設計基礎 知識點15.3位邏輯指令 知識點15.4定時器指令與計數器指令 知識點15.1可編程控制器的組成與工作原理1PLC 的產生 ?可編程序控制器( Logic )簡稱為PLC 。是專門用于工業控制的計算機。 ?第一臺PLC是1968年DEC根據GM公司的招標要求設計的。是為了“多品種、小批量、不斷翻新汽車的品牌型號”的生產戰略提出的功能。最初的PLC只有邏輯控制功能。 ? 隨著技術的進步,可編程控制器的功能已經超越邏輯控制的 范圍,發展成為具有邏輯控制、過程控制、運動控制、數據 處理及聯網功能的多功能產品。因此名稱改為 (可編程控制器)。為了與PC 區別,簡稱仍然為 PLC 。PLC 的主要用途 (1)開關量的順序控制,取代繼電器-接觸器控制系統。是 PLC 的主要用途。 (2 )過程控制。過程控制是指對溫度、壓力、流量和液位 等連續變化的模擬量進行控制,使用專用的PID模塊和PID指 令來完成。
(3 )運動控制。使用專用的運動控制模塊,可以實現直線 運動、圓周運動,也可以實現多軸控制。22015/6/8PLC控制系統的優點 ?PLC使用軟件編程的方式代替繼電器實現邏輯控制, 與傳統的控制方式比較,接線簡單。 ?具有抗干擾設計,可靠性高,適合工業環境。 ?模塊化組合式結構,可以根據需求組合系統,使用 靈活方便。 ?有多種編程方式,編程簡單,容易學習。 ?具有強大的網絡通訊功能,可以組成工業控制網絡, 是工業自動化的關鍵部件。PLC控制與繼電器-接觸器控制系統的對比 用繼電器‐接觸器控制實現用PLC控制系統實現32015/6/8PLC控制與單片機的對比單片機—— ,μC或(1)具有抗干擾設計,適合工業(1)硬件簡單,如果要用于工現場環境。軟件設計也適合工業業控制目的,需要進行硬件與控制目的。無需添加太多的硬件。軟件開發。(2 )編程語言簡單易學,可以(2 )使用匯編語言或者高級語現場調試。言編程,編程復雜。(3 )針對工業控制,通用性強,(3 )一般都是針對某個設備設容易擴展。計,通用性、兼容性和擴展性差。
PLC 的組成輸出端口輸入端口CPU模塊輸CPU輸入出模模塊存儲器塊~ 輸入公共端口輸出公共端口編程裝置42015/6/8 ?CPU 小型PLC一般用8位、16位處理器或者是單片機做CPU ;中型PLC一般用16位、32位處理器或者單片機做CPU ;大型PLC一般用位片式微處理器做CPU 。CPU 的作用:(1)管理系統(自診斷、信息傳送、時鐘等);(2 )解釋用戶程序,根據用戶程序進行輸入、輸出操作。 ?存儲器 分為系統程序存儲器、工作參數存儲器和用戶程序存儲器。系統程序存儲器工作參數存儲器用戶程序存儲器ROM 系統程序輸入輸出映像寄存器管理程序內部繼電器指令解釋程序RAM 定時器 RAM 用戶程序功能應用程序移位寄存器系統診斷程序變量寄存器… … ?輸入輸出端口PLC輸入端口輸入接口的作用是將輸入端的開關信號或模擬信號轉換成數字信號,送入到PLC 內部。輸入接口通過光電隔離 1M .0 .1 .2 .3 1M .0 .1 .2 .3 的辦法可以消除外界的干擾。當某一路觸點閉合時,有電流流入或流出,通過光電耦合反映到PLC 內I0.1=1I0.1=1部的輸入映像存儲器, (a )24 VDC 輸入(漏型) (b )24 VDC 輸入(源型) 使與對應的寄存器的值為1。
52015/6/8PLC 的輸出端口輸出端口的作用將數字 `信號轉換成開關量,以控制外部設備。PLC 的輸~出分為晶體管輸出、繼電器輸出和可控硅輸出。當輸出映像寄存器的值是11M 1L+ .0 .1 .2。 1L .0 .1 .2時,內部信號通過光電隔離或者繼電器的作用,使對應的輸出端口內部被短路,在外部電源的作用下產生輸出電流,以此控制Q0.1=1外部設備。(a )晶體管輸出(b )繼電器輸出晶體管輸出速度快,比繼電器輸出類型可以使如可以輸出高速脈沖。用直流或者交流電源繼電器輸出速度慢PLC 的工作運行方式——循環掃描I0.0 Q0.1讀輸入( R )寫輸出讀輸入1I0.1 Q0.1( S )1執行程序I0.2 Q0.1 自診斷( R )執行程序1I0.3 Q0.1( S ) 處理通信請求寫輸出1掃描周期與PLC 的速度和程序長短有關。執行程序時按照從左到右,從上到下的順序掃描62015/6/8西門子S7-200 PLC介紹頂端蓋子電源與輸出端CPU 模塊擴展模塊 狀態燈 存儲卡導軌 通訊口PLC與計算機通過PC/PPI通信電纜相連底端蓋子前蓋編程軟件:Step7 (V4)RUN/STOP 開關輸入端子與傳感器電源電位器與擴展連接端S7-200有四種型號的CPU,分別是、、和,不同CPU型號的可擴展性不同,和最多可以擴展7個模塊。
CPU模塊擴展模塊 EM EM標準導軌打開蓋子,連接電纜 EM EM EM EM EM EM /6/8 S7‐200系列PLCS7‐1200系列PLC西門子PLC系列根據I/O 的規模和功能可以將PLC分為小型PLC 、中型PLC和大型PLC 。 小型PLC 256 I/O點以下小型PLC S7‐1500系列PLCS7‐300系列PLC中型PLCS7‐400系列PLC中型~2048 I/O點大型PLC 2048 I/O點以上第15講可編程控制器之一知識點15.2S7-200 PLC程序設計基礎清華大學段玉生82015/6/8PLC編程語言 -3標準試圖對世界范圍的PLC 的編程語言進行標 準化。遵循這些標準的PLC系統可編程序控制器的工作原理是,用戶只需少量的培訓便 能使用不同品牌的PLC 。 國際電工委員會的-3標準規定的PLC的五種編程方式(1)梯形圖( ,LD) ;(2)功能塊圖( block ,FBD) ;(3)指令表( list,STL);(4)順序功能圖( chart,SFC);(5)結構文本( text,ST)。
梯形圖與語句表梯形圖 類似于繼電器接觸器控制系統的梯形電路圖。寄存器 的一位類似一個繼電器(軟繼電器),為這個寄存器寫1,相當于繼電器線圈通電,為寄存器寫0,相當于繼電器線圈失電。讀這個寄存器相當于使用這個軟繼電器的觸點。I0.0I0.0Q0.0( )常開觸點常閉觸點軟繼電器線圈梯形圖:語句表:能流LD I0.1I0.1 I0.2 Q1.1左( )O M0.3母 M0.3AN I0.2線= Q1./6/8功能塊圖順序功能圖將機器的運行過程分成若干個簡單的步,在每個步內完成一定的動作。在某個時 用類似于數字電路門電路間段內某些步是激活的,這些步內的動 的功能模塊表示邏輯關系。作就被執行,不激活的步內的動作就沒有被執行。M0.0 I0.起動Q1.1左限位 M0.3I0.2M0.2裝料,延時功能塊圖2 分延時到M0.3右行 對應的語句表程序:右限位LD I0.1M0,4卸料,延時O M0.32 分延時到AN I0.2= Q1.1M0,5左行左限位 停車可編程序控制器的程序結構 ? 主程序:主程序(OB1 )是程序的主體,每一個項目都必須并且只能有一個主程序。
在主程序中可以調用子程序和中斷程序。 ? 子程序:子程序是一個可選的指令的集合,僅在被其它程序調用時執行。 ? 中斷程序:中斷程序是指令的一個可選集合,中斷程序不是被主程序調用,它們在中斷事件發生時由可編程序控制器的操作系統調用。/6/8STEP-7 內部存儲器 數據在存儲器中存取的方式7 6 5 4 3 2 1 0V0 可以按照位、字節、字和雙V1V2 字存取數據.2V是寄存器的區域名稱 高有效字節低有效字節 SB31 最高有效字節最低有效字節 15/6/8 (1)輸入映象寄存器(I )輸入映象寄存器的標識符為I(I0.0~I15.7 ),在每個掃描周期的開 始,CPU對輸入點進行采樣,并將采樣值存于輸入映象寄存器中。輸入映象寄存器是可編程序控制器接收外部 輸入的數字量信號的窗口。外部輸入電路接通時對應的映像寄存器為 ON (1狀態),否則為OFF(0狀態)。在梯形圖中,可以多次使用輸入位的常開1M I0.0 I0.1 I0.2 I0.3觸點和常閉觸點。
I0.0 I0.1 I0.2 I0.3清華大學段玉生 (2 )輸出映象寄存器(Q )輸出映象寄存器的標示符為Q (Q0.0~Q15.7),在掃描周期的末尾, CPU寫輸出映象寄存器的數據并傳送給輸出模塊,再由后者驅動外部 負載。如果梯形圖中Q0.0寄存器為1,對應的晶體管導通,或繼電器型輸出模塊中 `的常開觸點閉合,輸出有電流,使接在標號為Q0.0 的端子的外部負載工作。1M 1L+ Q0.0 Q0.1 Q0.2Q0.0 Q0.1 Q0./6/8 (3 )變量存儲器(V )在程序執行的過程中存放中間結果的存儲器V(V0.0~5119.7 ),或用來保存與工序或任務有關的其它數據。 (4 )位存儲器(M )位存儲器(M0.0~M31.7 )用來保存控制繼電器的中間操作狀態或其它控制信息,用來組織程序 (做狀態標志位)或做中間繼電器用。雖然名為“位存儲器”,表示按位存取,但是也可以按字節、字或雙字來存取。 (5 )特殊存儲器(SM )標志位特殊存儲器提供大量的狀態信息和控制功能,用于CPU與用戶之間交換信息。SMB0:狀態位 例如SM0.0一直為“1”狀態,SM0.1僅在執行用戶程序的第一個掃描周期為“1”狀態。
SM0.4和SM0.5分別提供周期為1分鐘和1秒的時鐘脈沖。SMB1:狀態位 SM1.0 當執行某指令,結果為1時,此位置1。SM1.1當執行某指令,結果溢出,或有非法數值時,此位置1。… …SMB2:/6/8 (6 )局部存儲器(L )S7-200有64個字節的局部存儲器,其中60個可以作為暫時存儲器,或給子程序傳遞參數。如果用梯形圖編程,編程軟件保留這些局部存儲器的后4個字節。PLC程序中的各POU( Unit,程序組織單元,即主程序、子程序和中斷程序)有自己的局部變量表,局部變量在它被創建的POU 中有效。局部存儲器主要用于子程序中的局部變量。清華大學段玉生 (7 )定時器(T )存儲器定時器相當于繼電器系統中的時間繼電器。S7-200有三種定時器,它們的時基增量(分辨率)分別為1ms、10ms和100ms。定時器的當前值寄存器是16位整數,用于存儲定時器累計的時基增量值。通電延時定時器:定時器的150定時器位當前值小于當設定值時定時當前值T34器位為0。大于等于設定值時,定時器位被置為1,梯T34形圖中對應的定時器的常開150觸點閉合,常閉觸點斷開。
設定值PT定時的時間長度:設定值分辨率定時器的當前值和定時器位都用“T+定時器號”表示,如T34、T35,具體指哪個,由指令決定。如果指令的參數是數值,則指的是定時器的當前值,如果參數需要邏輯量,則指的是定時器位。/6/8 (8 )計數器(C )存儲器 計數器用來累計其計數輸入端脈沖電平由低到高的次數,S7-200提供加計 數器、減計數器和加減計數器。計數器的當前值為16位有符號整數,用來 存放累計的脈沖數(1~32 767 )。計數器位150加計數器:當計數器的當前當前值C33值大于等于設定值時,計數C33器位被置為1。150設定值用計數器地址(C和計數器號,如C20 )來表示當前值和計數器位。帶位操作數的指令存取計數器位,帶字操作數的指令存取當前值。 (9 )順序控制繼電器(SCR)存儲器順序控制繼電器(SCR )用于組織機器的順序操作可編程序控制器的工作原理是,SCR提供控制程序的邏輯分段,用于編寫順序控制系統的控制程序。存儲器范圍:S0.0~S31.7。 其它寄存器模擬量輸入(AI),模擬量輸出(AQ),累加器(AC ),高速計數器(HC )等。/6/8存儲器列表存儲器區域名稱作用輸入映像寄存器I與輸入節點對應輸出映像寄存器Q與輸出節點對應變量存儲器V存儲中間結果位存儲器M中間繼電器標志位寄存器SM交換信息定時器T定時計數器C計數順序控制繼電器S利用順序功能圖編程 其它:模擬量輸入(AI),模擬量輸出(AQ),累加器 ( AC ),高速計數器(HC )等。
PLC程序中的常數十進制常數:20047十六進制常數:16#常數:‘my text’實數或浮點格式: +1.-38(整數)?1.-38 (負數)二進制格式:2#/6/8S7-200的集成I/O和擴展I/O集成I/O CPU上具有的固定I/O擴展I/O 擴展模塊提供的I/O 將擴展模塊連接到CPU 的右側形成I/O鏈。模塊的I/O地址取決于I/O類型 和在I/O鏈中的位置。輸入模塊不會影響輸出模塊的點地址,反之亦然。√ 在擴展鏈中,數字量輸入輸出點地址總是以8位遞增,未能分配的點不再分配給下一個模塊。√ 模擬量擴展模塊以兩字節遞增的方式分配地址。未分配的字節也不能分配給下一個模塊。/4Out8 In4A In/1A Out 8 Out4A In/1A OutI0.0 Q0.0 I2.0 Q2.0 I3.0AIW0 .0 AIW8 .1 Q0.1 I2.1 Q2.1 I3.1AIW2 .1 AIW10 .2 Q0.2 I2.2 Q2.2 I3..2 .3 Q0.3 I2.3 Q2.3 I3..3 .4 Q0.4 I2.4 Q2.4 I3.4Q3.4I0.5 Q0.5 I2.5 Q2.5 I3.5Q3.5I0.6 Q0.6 I2.6 Q2.6 I3.6Q3.6I0.7 Q0.7 I2.7 Q2.7 I3.7Q3.7I1.0 Q1.0I1.1 Q1.1 擴展I/OI1.2 Q1.2I1.3 Q1.3I1.4 Q1.4I1.5 Q1.5I1.6 Q1.6I1.7 Q1.7本地I//6/8第15講可編程控制器之一知識點15.3 位邏輯指令位邏輯指令 位邏輯指令 是對存儲器位進行操作的指令,分為觸點指 令、輸出指令和其他觸點指令,位邏輯指令是PLC 的基本 指令。
梯形圖中的觸點常開觸點常閉觸點I0.0M0.2對應的存儲器為0對應的存儲器為1時觸點斷開,為1時觸點斷開,為0時觸點閉合。時觸點閉合。/6/8觸點指令語句表 LD (Load ,裝載)——開始常開觸點 A (And ,與)—— 串聯常開觸點 O (Or,或)——并聯常開觸點 LDN (Load not ))——開始常閉觸點 AN (And not )—— 串聯常閉觸點 ON (Or not )——并聯常閉觸點 OLD (Or Load,組并聯) ALD (And Load ,組串聯)輸出指令= (輸出)、S(置位)、R(復位)其他位邏輯指令 NOT(取反指令)、EU(正跳變)、 ED(負跳變)、NOP(空操作)/6/8程序舉例梯形圖語句表I0.0 I0.1 I0.3 C5Q0.3LD I0.0( )AN I0.1O I0.2I0.2Q1.4( )A I0.3AN C5I3.4 Q2.6= Q0.3( )= Q1.4AN I3.4= Q2.6堆棧的概念S7-200 PLC有一個9位的邏輯堆棧 (stack ),棧頂用于存儲邏輯運算結果,下面的8位用于存儲中間結果。
堆棧中的數據按照“先進后出”的原則存取。入棧(Load ):LDI0.1出棧 iv0 第1層(棧頂)I0..1I0.1iv0 iv1 第2層 iv2 第3層 iv3 第4層 iv4 第5層 iv5 第6層 iv6 第7層 iv7 第8層 iv8 第9層(棧底)/6/8位邏輯指令的堆棧操作LD I0.0I0.0M0.2Q0.0AN M0.2( )= Q0.0LD I0.0 AN M0.2= Q0.0I0.0·M0.2I0..0S0Q0.=Q0.復制棧頂到Q0. (OR )的堆棧操作ON (OR NOT )的堆棧操作I0.1M0.2I0.1M0.2I0.1S0S0= I0.1S0S0= .1M0..1M0. M0.2ON M0. .1 I0.1LD I0.1LD I0.1ON M0.2O M0.2M0.2 M0./6/8輸出指令與置位復位指令I0.1I0.1 Q0.3LD I0.1 輸出指令: =( ) = Q0.3Q0.3I0.1入棧,再復制棧頂到Q0.3 置位(S) 該指令從指定的位地址開始的N個寄存器都被置位(變 復位(R) 為1)或復位(變為0 )。
LD I0.1當I0.1=1時,將從Q0.3開I0.1 Q0.3S Q0.3,5始的五個位(Q0.3、Q0.4、( S )5Q0.5、Q0.6、Q0.7 )置1。I0.1 Q0.3LD I0.1( S )1SQ0.3,1 I0.1I0.3 Q0.3LD I0.3I0.3( R ) R Q0.3,1Q0.31跳變觸點(EU、ED )和取反(NOT ) 正跳變觸點檢測到一次正跳變(觸點的輸入信號由0變為1)時,或負跳變觸 點檢測到一次負跳變(觸點的輸入信號由1變為0 )時,觸點接通一個掃描周 期。I0.3M1.5LDI0.3I0.3P( )EU一個掃描周期M1.5=M1.5I0.3M3.2LDI0.3M3.2N( )ED=M3.2I0.7M0.3LDI0.7I0.7NOT( )NOT=M0.3M0./6/-程序段的概念 Step7-將程序分成一個一個的程序段( ,網絡),每個程 序段中只能有一個聯通的能流通路。 下邊的兩個程序段之間沒有能流聯系,要分開成兩個程序片。
如果不 按照此原則畫梯形圖,將不能轉換成語句表語句表 OLD (Or Load,組并聯)指令和ALD(And Load ,組串聯)指令LDN I1.4I1.4 I0.3 C24 Q5.3A I0.3( )LD I3.2AN T16I3.2 T16 I1. C24Q3.4ON I1.2ALDO Q3.4= Q5./6/8OLD (Or Load,組并聯)指令和ALD(And Load ,組串聯)指令LDN I1.4I1.4 I0..3AI0.3( )LD I3..2 T16I1. C24Q3.4ONI1..4=Q5..2·.2I1.4·I0. I1. I0. I1. I3.2AN 執行后 (Or Load,組并聯)指令和ALD(And Load ,組串聯)指令LDN I1.4I1.4 I0..3AI0.3( )LD I3..2 T16I1. C24Q3.4ONI1..4=Q5.3S5 C24I1.2S4·S3S4·S3 .4S6 v1iv1 LDN C24 ON I1.2 執行后3iv4執行后 ’X’X’/6/8I1.4 I0.3C24 Q5.3LDN I1.4LDN I1.4( )AI0.3AI0.3I3.2 .2LDI3.2