從結構上分,PLC分為固定式和組合式(模塊式)兩種。固定式PLC包括CPU板、I/O板、顯示面板、內存塊、電源等,這些元素組合成一個不可拆卸的整體。模塊式PLC包括CPU模塊、I/O模塊、內存、電源模塊、底板或機架,這些模塊可以按照一定規則組合配置。
CPU的構成
CPU是PLC的核心,起神經中樞的作用,每套PLC至少有一個CPU,它按PLC的系統程序賦予的功能接收并存貯用戶程序和數據,用掃描的方式采集由現場輸入裝置送來的狀態或數據,并存入規定的寄存器中,同時,診斷電源和PLC內部電路的工作狀態和編程過程中的語法錯誤等。進入運行后,從用戶程序存貯器中逐條讀取指令,經分析后再按指令規定的任務產生相應的控制信號,去指揮有關的控制電路。
CPU主要由運算器、控制器、寄存器及實現它們之間聯系的數據、控制及狀態總線構成,CPU單元還包括外圍芯片、總線接口及有關電路。內存主要用于存儲程序及數據,是PLC不可缺少的組成單元。
在使用者看來,不必要詳細分析CPU的內部電路,但對各部分的工作機制還是應有足夠的理解。CPU的控制器控制CPU工作,由它讀取指令、解釋指令及執行指令。但工作節奏由震蕩信號控制。運算器用于進行數字或邏輯運算,在控制器指揮下工作。寄存器參與運算,并存儲運算的中間結果,它也是在控制器指揮下工作。
CPU速度和內存容量是PLC的重要參數,它們決定著PLC的工作速度,IO數量及軟件容量等,因此限制著控制規模。
I/O模塊
PLC與電氣回路的接口,是通過輸入輸出部分(I/O)完成的。I/O模塊集成了PLC的I/O電路,其輸入暫存器反映輸入信號狀態,輸出點反映輸出鎖存器狀態。輸入模塊將電信號變換成數字信號進入PLC系統,輸出模塊相反。I/O分為開關量輸入(DI),開關量輸出(DO),模擬量輸入(AI),模擬量輸出(AO)等模塊。
常用的I/O分類如下:
開關量:按電壓水平分,有220VAC、110VAC、24VDC,按隔離方式分,有繼電器隔離和晶體管隔離。
模擬量:按信號類型分,有電流型(4-20mA,0-20mA)、電壓型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。
除了上述通用IO外,還有特殊IO模塊,如熱電阻、熱電偶、脈沖等模塊。
按I/O點數確定模塊規格及數量,I/O模塊可多可少,但其最大數受CPU所能管理的基本配置的能力,即受最大的底板或機架槽數限制。
電源模塊
PLC電源用于為PLC各模塊的集成電路提供工作電源。同時,有的還為輸入電路提供24V的工作電源。電源輸入類型有:交流電源(220VAC或110VAC),直流電源(常用的為24VDC)。
底板或機架
大多數模塊式PLC使用底板或機架,其作用是:電氣上,實現各模塊間的聯系,使CPU能訪問底板上的所有模塊,機械上,實現各模塊間的連接,使各模塊構成一個整體。
可靠性高,抗干擾能力強
高可靠性是電氣控制設備的關鍵性能。PLC由于采用現代大規模集成電路技術,采用嚴格的生產工藝制造,內部電路采取了先進的抗干擾技術,具有很高的可靠性。例如三菱公司生產的F系列PLC平均無故障時間高達30萬小時。一些使用冗余CPU的PLC的平均無故障工作時間則更長。從PLC的機外電路來說,使用PLC構成控制系統,和同等規模的繼電接觸器系統相比,電氣接線及開關接點已減少到數百甚至數千分之一,故障也就大大降低。此外,PLC帶有硬件故障自我檢測功能,出現故障時可及時發出警報信息。在應用軟件中,應用者還可以編入外圍器件的故障自診斷程序,使系統中除PLC以外的電路及設備也獲得故障自診斷保護。這樣,整個系統具有極高的可靠性也就不奇怪了。
配套齊全,功能完善,適用性強
PLC發展到今天,已經形成了大、中、小各種規模的系列化產品。可以用于各種規模的工業控制場合。除了邏輯處理功能以外,現代PLC大多具有完善的數據運算能力,可用于各種數字控制領域。近年來PLC的功能單元大量涌現,使PLC滲透到了位置控制、溫度控制、CNC等各種工業控制中。加上PLC通信能力的增強及人機界面技術的發展,使用PLC組成各種控制系統變得非常容易。
易學易用,深受工程技術人員歡迎
PLC作為通用工業控制計算機,是面向工礦企業的工控設備。它接口容易,編程語言易于為工程技術人員接受。梯形圖語言的圖形符號與表達方式和繼電器電路圖相當接近,只用PLC的少量開關量邏輯控制指令就可以方便地實現繼電器電路的功能。為不熟悉電子電路、不懂計算機原理和匯編語言的人使用計算機從事工業控制打開了方便之門。
系統的設計、建造工作量小,維護方便,容易改造
PLC用存儲邏輯代替接線邏輯,大大減少了控制設備外部的接線,使控制系統設計及建造的周期大為縮短,同時維護也變得容易起來。更重要的是使同一設備經過改變程序改變生產過程成為可能。這很適合多品種、小批量的生產場合。
體積小,重量輕,能耗低
以超小型PLC為例,新近出產的品種底部尺寸小于100mm,重量小于150g,功耗僅數瓦。由于體積小很容易裝入機械內部,是實現機電一體化的理想控制設備。
PLC投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運行期間,PLC的CPU以一定的掃描速度重復執行上述三個階段。
(一) 輸入采樣階段
在輸入采樣階段,PLC以掃描方式依次地讀入所有輸入狀態和數據,并將它們存入I/O映象區中的相應得單元內。輸入采樣結束后,轉入用戶程序執行和輸出刷新階段。在這兩個階段中,即使輸入狀態和數據發生變化,I/O映象區中的相應單元的狀態和數據也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(二) 用戶程序執行階段
在用戶程序執行階段,PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構成的控制線路,并按先左后右、先上后下的順序對由觸點構成的控制線路進行邏輯運算,然后根據邏輯運算的結果,刷新該邏輯線圈在系統RAM存儲區中對應位的狀態;或者刷新該輸出線圈在I/O映象區中對應位的狀態;或者確定是否要執行該梯形圖所規定的特殊功能指令。
即,在用戶程序執行過程中,只有輸入點在I/O映象區內的狀態和數據不會發生變化,而其他輸出點和軟設備在I/O映象區或系統RAM存儲區內的狀態和數據都有可能發生變化,而且排在上面的梯形圖,其程序執行結果會對排在下面的凡是用到這些線圈或數據的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態或數據只能到下一個掃描周期才能對排在其上面的程序起作用。
(三) 輸出刷新階段
當掃描用戶程序結束后,PLC就進入輸出刷新階段。在此期間,CPU按照I/O映象區內對應的狀態和數據刷新所有的輸出鎖存電路,再經輸出電路驅動相應的外設。這時,才是PLC的真正輸出
同樣的若干條梯形圖,其排列次序不同,執行的結果也不同。另外,采用掃描用戶程序的運行結果與繼電器控制裝置的硬邏輯并行運行的結果有所區別。當然,如果掃描周期所占用的時間對整個運行來說可以忽略,那么二者之間就沒有什么區別了。
一般來說,PLC的掃描周期包括自診斷、通訊等,即一個掃描周期等于自診斷、通訊、輸入采樣、用戶程序執行、輸出刷新等所有時間的總和
PLC常用程序設計語言:
在可編程控制器中有多種程序設計語言,它們是梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結構化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設計語言,它通常由一系列指令組成,用這些指令可以完成大多數簡單的控制功能,例如,代替繼電器、計數器、計時器完成順序控制和邏輯控制等,通過擴展或增強指令集,它們也能執行其它的基本操作。功能表圖語言和語句描述語言是高級的程序設計語言,它可根據需要去執行更有效的操作,例如,模擬量的控制,數據的操縱,報表的報印和其他基本程序設計語言無法完成的功能。功能模塊圖語言采用功能模塊圖的形式,通過軟連接的方式完成所要求的控制功能,它不僅在可編程序控制器中得到了廣泛的應用,在集散控制系統的編程和組態時也常常被采用,由于它具有連接方便、操作簡單、易于掌握等特點,為廣大工程設計和應用人員所喜愛。
根據可編程器應用范圍,程序設計語言可以組合使用,常用的程序設計語言是:梯形圖程序設計語言 、 布爾助記符程序設計語言(語句表)、功能表圖程序設計語言 、功能模塊圖程序設計語言、 結構化語句描述程序設計語言、 梯形圖與結構化語句描述程序設計語言、 布爾助記符與功能表圖程序設計語言、 布爾助記符與結構化語句描述程序設計語言。
1、梯形圖(Ladder Diagram)程序設計語言
梯形圖程序設計語言是用梯形圖的圖形符號來描述程序的一種程序設計語言。采用梯形圖程序設計語言,程序采用梯形圖的形式描述。這種程序設計語言采用因果關系來描述事件發生的條件和結果。每個梯級是一個因果關系。在梯級中,描述事件發生的條件表示在左面,事件發生的結果表示在后面。梯形圖程序設計語言是最常用的一種程序設計語言。它來源于繼電器邏輯控制系統的描述。在工業過程控制領域,電氣技術人員對繼電器邏輯控制技術較為熟悉,因此,由這種邏輯控制技術發展而來的梯形圖受到了歡迎,并得到了廣泛的應用。
梯形圖程序設計語言的特點是:
(1)與電氣操作原理圖相對應,具有直觀性和對應性;
(2)與原有繼電器邏輯控制技術相一致,對電氣技術人員來說,易于撐握和學習;
(3)與原有的繼電器邏輯控制技術的不同點是,梯形圖中的能流(Power FLow)不是實際意義的電流,內部的繼電器也不是實際存在的繼電器,因此,應用時,需與原有繼電器邏輯控制技術的有關概念區別對待;
(4)與布爾助記符程序設計語言有一一對應關系,便于相互的轉換和程序的檢查。
2、布爾助記符(Boolean Mnemonic)程序設計語言
布爾助記符程序設計語言是用布爾助記符來描述程序的一種程序設計語言。布爾助記符程序設計語言與計算機中的匯編語言非常相似,采用布爾助記符來表示操作功能。
布爾助記符程序設計語言具有下列特點:
(1)采用助記符來表示操作功能,具有容易記憶,便于撐握的特點;
(2)在編程器的鍵盤上采用助記符表示,具有便于操作的特點,可在無計算機的場合進行編程設計;
(3)與梯形圖有一一對應關系。其特點與梯形圖語言基本類同。
3、功能表圖(Sepuential Function Chart)程序設計語言
功能表圖程序設計語言是用功能表圖來描述程序的一種程序設計語言。它是近年來發展起來的一種程序設計語言。采用功能表圖的描述,控制系統被分為若干個子系統,從功能入手,使系統的操作具有明確的含義,便于設計人員和操作人員設計思想的溝通,便于程序的分工設計和檢查調試。
功能表圖程序設計語言的特點是:
(1)以功能為主線,條理清楚,便于對程序操作的理解和溝通;
(2)對大型的程序,可分工設計,采用較為靈活的程序結構,可節省程序設計時間和調試時間;
(3)常用于系統的規模校大,程序關系較復雜的場合;
(4)只有在活動步的命令和操作被執行,對活動步后的轉換進行掃描,因此,整個程序的掃描時間較其他程序編制的程序掃描時間要大大縮短。
功能表圖來源于佩特利(Petri)網,由于它具有圖形表達方式,能較簡單和清楚地描述并發系統和復雜系統的所有現象,并能對系統中存有的象死鎖、不安全等反常現象進行分析和建模,在模型的基礎上能直接編程,所以,得到了文泛的應用。近幾年推出的可編程控制器和小型集散控制系統中也已提供了采用功能表圖描述語言進行編程的軟件。關于佩特利(Petri)網的一些基本概念,我在以后有機會時再介紹給各位,以有助于對功能表圖的進一步理解。
4、功能模塊圖(Function Block)程序設計語言
功能模塊圖程序設計語言是采用功能模塊來表示模塊所具有的功能,不同的功能模塊有不同的功能。它有若干個輸入端和輸出端,通過軟連接的方式,分別連接到所需的其它端子,完成所需的控制運算或控制功能。功能模塊可以分為不同的類型,在同一種類型中,也可能因功能參數的不同而使功能或應用范圍有所差別,例如,輸入端的數量、輸入信號的類型等的不同使它的使用范圍不同。由于采用軟連接的方式進行功能模塊之間及功能模塊與外部端子的連接,因此控制方案的更改、信號連接的替換等操作可以很方便實現。
功能模塊圖程序設計語言的特點是:
(1)以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易;
(2)功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設計人員的編程和組態,有較好的易操作性;
(3)對控制規模較大、控制關系較復錄的系統,由于控制功能的關系可以較清楚地表達出來,因此,編程和組態時間可以縮短,調試時間也能減少;
(4)由于每種功能模塊需要占用一定的程序內存,對功能模塊的執行需要一定的執行時間,因此,這種設計語言在大中型可編程控制器和集散控制系統的編程和組態中才被采用。
5、結構化語句(Structured Text)描述程序設計語言
結構化語句描述程序設計語言是用結構化的描述語句來描述程序的一種程序設計語言。它是一種類似于高級語言的程序設計語言。在大中型的可編程序控制器系統中,常采用結構化語句描述程序設計語言來描述控制系統中各個變量的關系。它也被用于集散控制系統的編程和組態。
結構化語句描述程序設計語言采用計算機的描述語句來描述系統中各種變量之間的各種運算關系,完成所需的功能或操作。大多數制造廠商采用的語句描述程序設計語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了應用方便,在語句的表達方法及語句的種類等方面都進行了簡化。
結構化程序設計語言具有下列特點:
(1)采用高級語言進行編程,可以完成較復雜的控制運算;
(2)需要有一定的計算機高級程序設計語言的知識和編程技巧,對編程人員的技能要求較高,普通電氣人員無法完成。
(3)直觀性和易操作性等性能較差;
(4)常被用于采用功能模塊等其他語言較難實現的一些控制功能的實施。 部分可編程序控制器的制造廠商為用戶提供了簡單的結構化程序設計語言,它與助記符程序設計語言相似,對程序的步數有一定的限制,同時,提供了與可編程序控制器間的接口或通信連接程序的編制方式,為用戶的應用程序提供了擴展余地。
圖1.1 PLC典型開機流程
輸入刷新--再運行用戶程序--再輸出刷新--再輸入刷新--再運行用戶程序--再輸出刷新……永不停止地循環反復地進行著。
圖1.1所示的流程圖反映的就是上述過程。它也反映了信息的時間關系。
有了上述過程,用PLC實現控制顯然是可能的。因為:有了輸入刷新,可把輸入電路監控得到的輸入信息存入PLC的輸入映射區;經運行用戶程序,輸出映射區將得到變換后的信息;再經輸出刷新,輸出鎖存器將反映輸出映射區的狀態,并通過輸出電路產生相應的輸出。又由于這個過程是永不停止地循環反復地進行著,所以,輸出總是反映輸入的變化的。只是響應的時間上,略有滯后。當然,這個滯后不宜太大,否則,所實現的控制不那么及時,也就失去控制的意義。
為此,PLC的工作速度要快。速度快、執行指令時間短,是PLC實現控制的基礎。事實上,它的速度是很快的,執行一條指令,多的幾微秒、幾十微秒,少的才零點幾,或零點零幾微秒。而且這個速度還在不斷提高中。
圖1.1所示的過程是簡化的過程,實際的PLC工作過程還要復雜些。除了I/O刷新及運行用戶程序,還要做些公共處理工作。
公共處理工作有:循環時間監控、外設服務及通訊處理等。
監控循環時間的目的是避免"死循環",避免程序不能反復不斷地重復執行。辦法是用"看門狗"(Watchingdog)。只要循環超時,它可報警,或作相應處理.
外設服務是讓PLC可接受編程器對它的操作,或通過接口向輸出設備如打印機輸出數據.
通訊處理是實現PLC與PLC,或PLC與計算機,或PLC與其它工業控制裝置或智能部件間信息交換的。這也是增強PLC控制能力的需要。
也就是說,實際的PLC工作過程總是:公共處理--I/O刷新--運行用戶程序--再公共處理--……反復不停地重復著。
可編程控制器實現控制的方式
用這種不斷地重復運行程序實現控制稱掃描方式。是用計算機進行實時控制的一種方式。此外,計算機用于控制還有中斷方式。在中斷方式下,需處理的控制先申請中斷,被響應后正運行的程序停止運行,轉而去處理中斷工作(運行有關中斷服務程序)。待處理完中斷,又返回運行原來程序。哪個控制需要處理,哪個就去申請中斷。哪個不需處理,將不被理睬。顯然,中斷方式與掃描方式是不同的。
在中斷方式下,計算機能得到充分利用,緊急的任務也能得到及時處理。但是,如果同時來了幾個都要處理的任務該怎么辦呢?優先級高的還好辦,低的呢?可能會出現照顧不到之處。所以,中斷方式不大適合于工作現場的日常使用。
但是,PLC在用掃描方式為主的情況下,也不排斥中斷方式。即,大量控制都用掃描方式,個別急需的處理,允許中斷這個掃描運行的程序,轉而去處理它。這樣,可做到所有的控制都能照顧到,個別應急的也能進行處理。
PLC的實際工作過程比這里講的還要復雜一些,分析其基本原理,也還有一些理論問題。有關人員如果能把上面介紹的入出變換、物理實現--信息處理、I/O電路--空間、時間關系--掃描方式并輔以中斷方式,作為一種思路加以研究,弄清了它,也就好理解PLC是怎樣去實現控制的,也就好把握住PLC基本原理的要點了。
|